Share via


Service Broker 개발자의 책임

응용 프로그램 개발자는 Service Broker 응용 프로그램을 설계하고 프로그래밍이 필요한 요소를 만듭니다. 또한 시스템 관리자는 Service Broker를 구성하고 관리합니다. 개발자와 관리자는 특정 환경 및 비즈니스 용도에 가장 적합하게 시스템이 개발되고 관리될 수 있도록 시스템 계획 시 협력해야 합니다.

개별 응용 프로그램 만들기와 관련된 태스크는 응용 프로그램의 요구 사항에 따라 달라집니다. Service Broker 응용 프로그램 개발을 위한 일반적인 태스크 시퀀스는 다음과 같습니다.

  1. 응용 프로그램을 계획합니다. 응용 프로그램이 수행해야 하는 태스크의 개요를 만듭니다. 각 태스크 중 발생하는 대화에 대해 설명합니다. 어떤 끝점이 어떤 정보를 어떤 순서로 제공해야 합니까? 발생해야 하는 처리는 무엇입니까? 대화에 할당되어야 하는 우선 순위는 무엇입니까? 모든 이후 정보는 이러한 개요에 따라 달라집니다.

  2. 각 대화에 있는 각 메시지의 형식 및 구조를 결정합니다. 메시지에 대한 예상 교환 시퀀스를 계획하고 대화의 각 참가자가 예기치 않은 순서로 전송되는 오류 및 메시지에 응답하는 방식을 계획합니다.

  3. 대화에서 XML 메시지를 사용하는 경우 각 XML 메시지에 대한 스키마를 만듭니다. 개발, 테스트 및 문제 해결 중에 스키마를 사용합니다. 서비스가 프로덕션 환경에 있으면 성능을 향상시키기 위해 메시지 유형에서 스키마 유효성 검사를 제거할 수 있습니다.

  4. 각 대화의 각 메시지에 대한 메시지 유형을 만듭니다.

  5. 각 대화에 대한 계약을 만듭니다. 계약은 대화의 각 끝점에 사용될 수 있는 메시지 유형을 식별합니다.

  6. 응용 프로그램에서 받을 메시지를 저장할 큐를 만듭니다.

  7. 계약에 의해 정의되고 사용자가 만든 저장 프로시저에 의해 구현되는 기능을 노출할 서비스를 만듭니다. 서비스를 만들 때는 해당 서비스를 이전 단계에서 만든 큐와 연결합니다. 이 작업을 수행하면 해당 서비스로 주소가 지정되어 도착하는 모든 메시지가 식별된 큐에 배치됨을 Service Broker에 알리게 됩니다.

  8. 1단계에서 수립한 우선 순위 계획을 검토합니다. 기본값 이외의 우선 순위 수준을 사용하도록 설계된 모든 대화 끝점을 포괄하는 대화 우선 순위를 만듭니다. 메시지가 데이터베이스에서 전송될 때 우선 순위 수준을 사용해야 하는 경우 해당 데이터베이스의 HONOR_BROKER_PRIORITY 옵션이 ON으로 설정되어 있는지 확인합니다.

  9. 1단계에서 식별한 예상 메시지 교환 패턴 및 처리 요구 사항을 구현하는 응용 프로그램을 만듭니다. 응용 프로그램이 내부 활성화를 사용하는 경우 해당 응용 프로그램은 저장 프로시저입니다.

  10. 응용 프로그램이 내부 활성화를 사용하는 경우 활성화를 사용하도록 큐를 변경합니다. 8단계에서 만든 저장 프로시저를 활성화 저장 프로시저로 지정합니다.

  11. 방금 만든 서비스를 사용하는 서비스를 식별합니다. 이러한 서비스 중 로컬 SQL Server 인스턴스 외부에 존재하는 서비스가 있는 경우 해당 서비스에 대한 경로를 만듭니다.

  12. 이전 단계에서 식별한 원격 서비스를 검토하고 해당 서비스와의 통신에 필요한 보안 요구 사항을 확인합니다. 필요한 경우 인증서를 만들어 이러한 요구 사항을 적용한 다음 해당 인증서에 대한 데이터베이스 사용자를 만듭니다. 인증서를 이러한 로그인과 연결합니다. 다른 서비스의 관리자 또는 개발자가 이 서비스에 대한 트래픽에 대해 대화 보안을 사용하려면 원격 서비스 바인딩을 만들어야 합니다.

  13. 개발 및 테스트 중에는 응용 프로그램에서 해당 응용 프로그램이 프로덕션 환경에서 사용할 사용자 이름을 사용하지만 이러한 사용자 이름을 개발 및 테스트 환경에서만 사용되는 인증서와 연결하면 편리한 경우가 많습니다. 응용 프로그램이 프로덕션 환경으로 이동되면 프로덕션 환경용으로 만들어진 인증서를 사용합니다. 다른 인증서를 사용하면 개발 환경과 프로덕션 환경 간 보안을 계속 유지하면서 응용 프로그램 개발에 기울이는 노력을 줄일 수 있습니다.