Sun Cluster 開發者支援套件 (SUNWscdev) 提供了兩組介面用於編碼資料服務方法:
資源管理 API (RMAPI),一組低層級常式 (位於 libscha.so 程式庫中)
資料服務開發程式庫 (DSDL),一組較高層級函式 (位於 libdsdev.so 程式庫中),它們封裝了 RMAPI 的功能性,並提供了一些其他功能性
Sun Cluster 開發者支援套件還包括 SunPlex Agent Builder,一個自動化資料服務建立的工具。
決定是在 C shell 還是在 Korn shell 中編碼。 如果您決定使用 Korn shell,則無法使用 DSDL,因為 DSDL 僅提供 C 介面。
執行 Agent Builder,指定要求的輸入,產生資料服務。該資料服務包括來源代碼和可執行程式碼、一個 RTR 檔案和一個套件。
如果產生的資料服務需要自訂,您可以將 DSDL 程式碼加入至產生的來源檔案中。 Agent Builder 透過註釋指示來源檔案中可自行加入程式碼的特定位置。
如果程式碼需要進一步的自訂才能支援目標應用程式,您可以將 RMAPI 函式加入現有來源代碼中。
實際上,您可採用很多方法來建立資料服務。 例如,您可以使用透過 DSDL 或 RMAPI 函式從頭撰寫的程式,完全取代產生的方法之一或產生的監視程式,而不是自行將程式碼加入至 Agent Builder 所產生程式碼的特定位置。 但是,不管您採用何種模式,幾乎在所有情況下,以 Agent Builder 開始都是有道理的,其原因如下:
Agent Builder 產生的程式碼雖然本質上一般,但已在許多資料服務中經過測試。
Agent Builder 產生一個 RTR 檔案、一個 make 程式檔案、一個資源套件以及資料服務的其他支援檔案。 即使您不使用任何資料服務程式碼,使用其他這些檔案也能節省您相當的工作量。
您可以修改產生的程式碼。
與 RMAPI (提供一組 C 函式和一組在程序檔中使用的指令) 不同,DSDL 僅提供一個 C 函式介面。 因此,如果您在 Agent Builder 中指定 Korn shell (ksh) 輸出,則產生的來源代碼將向 RMAPI 發出呼叫,這是因為沒有 DSDL ksh 指令。