Sun Cluster 개발자 지원 패키지(SUNWscdev)에서는 데이터 서비스 메소드를 코딩하기 위한 다음 두 집합의 인터페이스를 제공합니다.
libscha.so 라이브러리에 있는 낮은 수준의 루틴 집합인 자원 관리 API (RMAPI)
RMAPI의 기능을 캡슐화하고 다른 추가 기능을 제공하는 libdsdev.so 라이브러리에 있는 보다 높은 수준의 기능 집합인 데이터 서비스 개발 라이브러리(DSDL)
그리고 데이터 서비스 작성을 자동화하는 도구인 SunPlex Agent Builder도 Sun Cluster 개발자 지원 패키지에 포함되어 있습니다.
데이터 서비스를 개발하기 위해 권장되는 방법은 다음과 같습니다.
C 쉘 또는 Korn 쉘로 코드화할 것인지 결정합니다. Korn 쉘을 사용할 경우 C 인터페이스만 제공하는 DSDL을 사용할 수 없습니다.
Agent Builder를 실행하고, 요청된 입력을 지정하며, 소스 코드와 실행 가능 코드를 포함하는 데이터 서비스, RTR 파일 및 패키지를 생성합니다.
생성된 데이터 서비스에 사용자 정의가 필요한 경우 생성된 소스 파일에 DSDL 코드를 추가할 수 있습니다. Agent Builder는 사용자 고유 코드를 추가할 수 있는 소스 파일의 특정 위치를 주석과 함께 표시합니다.
코드에 대상 응용 프로그램을 지원하기 위한 추가 사용자 정의가 필요할 경우 기존 소스 코드에 RMAPI 기능을 추가할 수 있습니다.
실제로는 여러 가지 방법으로 데이터 서비스를 만들 수 있습니다. 예를 들어, 사용자 코드를 Agent Builder에서 생성한 코드의 특정 위치에 추가하는 대신 생성된 메소드 중 하나 또는 생성된 모니터 프로그램을 DSDL이나 RMAPI 기능을 사용하여 직접 작성한 프로그램으로 전부 바꿀 수 있습니다. 그러나 처리 방식과는 무관하게 대부분의 경우 다음과 같은 이유로 인해 Agent Builder로 시작하는 것이 좋습니다.
일반적으로 Agent Builder에서 생성한 코드는 여러 데이터 서비스에서 테스트되었습니다.
Agent Builder에서는 RTR 파일, 작성 파일, 자원의 패키지 및 데이터 서비스용 기타 지원 파일을 생성합니다. 데이터 서비스 코드를 사용하지 않더라도 이러한 기타 파일을 사용하면 많은 양의 작업을 줄일 수 있습니다.
생성된 코드를 수정할 수 있습니다.
C 함수 집합과 스크립트에서 사용할 명령 집합을 제공하는 RMAPI와는 달리 DSDL에서는 C 함수 인터페이스만 제공합니다. 따라서 Agent Builder에 Korn 쉘(ksh) 출력을 지정한 경우 DSDL ksh 명령이 없기 때문에 생성된 소스 코드에서 RMAPI를 호출합니다.