다음을 통해 공유


서비스 지향 솔루션의 패턴 번역

이 섹션에서는 솔루션이 패턴 다이어그램을 BizTalk Server 아티팩트로 변환하는 방법에 대해 설명합니다.

서비스 지향 솔루션 패턴

연결 및 완결성 조건

패턴을 BizTalk Server 구성 요소로 변환할 때는 어떤 작업을 먼저 수행해도 큰 문제가 없지만, 구성 요소 간의 연결이 구성 요소의 인프라로 사용되기 때문에 먼저 구성 요소를 연결하는 것이 좋습니다. 또한 집계 패턴의 경우에는 해당 패턴에 필요한 모든 정보가 포함되어 있음을 알려 주는 항목을 고려해야 합니다. 이 항목은 다른 구성 요소에 대한 패턴의 연결 및 패턴 디자인에 모두 영향을 줍니다.

솔루션에서는 편리하고 일관성 있는 사용 방식을 제공해야 합니다. 서비스 인터페이스는 다른 응용 프로그램이 솔루션을 사용할 수 있는 방식을 지정합니다. 솔루션은 IBM WebSphere MQ를 사용하는 기존 응용 프로그램과 통신해야 하므로, IBM WebSphere MQ를 서비스 인터페이스의 일부분으로 포함해야 합니다. 그러나 최신 응용 프로그램의 경우에는 웹 서비스 인터페이스를 선택하면 됩니다. 웹 서비스 인터페이스를 사용하는 경우 다른 응용 프로그램에서 서비스를 최대한으로 유연하게 사용할 수 있습니다. 여기서는 BizTalk Server의 유연성을 통해 이중 서비스 인터페이스를 지정할 수 있습니다. 오케스트레이션을 웹 서비스로 노출하는 방법에 대한 자세한 내용은 웹 서비스에 오케스트레이션을 매핑하는 방법을 참조하세요.

기타 연결로는 서비스 인터페이스와 받는 사람 목록 간의 연결, 받는 사람 목록과 백 엔드 응용 프로그램 간의 연결, 그리고 백 엔드 응용 프로그램, 집계 및 서비스 인터페이스 간의 연결이 있습니다.

받는 사람 목록에 대한 연결이 동기적이면 솔루션은 받는 사람 목록에 대한 모든 메시지가 송수신되는지를 확인하기 위해 상관 관계를 사용할 필요가 없습니다. 백 엔드 응용 프로그램과 집계 간의 연결도 같은 이유로 동기적일 수 있습니다. 집계는 세 백 엔드 응용 프로그램 모두에서 응답을 받아야 쿼리 응답을 완료할 수 있습니다. 동기 연결이 적절하게 사용되고 솔루션이 간단하게 유지되도록 응답 시간은 짧아야 합니다.

집계 패턴에는 보통 완결성 조건이 있습니다. 예를 들어 백 엔드 서버가 여러 개이고 응답 시간이 느린 경우에는 지정된 기간 내에 응답을 최소 하나 이상 받는 것이 완결성 조건일 수 있습니다. 이 서비스 지향 솔루션에서는 최종 메시지를 생성하려면 세 응답이 모두 필요합니다. 따라서 여기서 완결성 조건은 세 응답을 모두 받는 것입니다.

참고

IBM WebSphere MQ를 통해 요청을 수신할 때 솔루션은 MQMD_MsgId 값을 응답 메시지의 MQMD_CorrelId 복사하여 상관 관계 식별자를 추가합니다. 이 작업은 경합 상태 발생 가능성을 방지하기 위해 요청-회신에서 MQSeries 어댑터를 사용하는 표준 방식의 일부입니다. 자세한 내용은 Request-Reply를 사용하여 메시지 상관 관계를 참조하세요.

오케스트레이션 경계 결정

솔루션은 IBM WebSphere MQ 큐의 요청과 웹 서비스 인터페이스를 통한 요청을 모두 허용해야 합니다. 서비스 인터페이스, IBM WebSphere MQ 입력, 그리고 대량 처리 작업을 각각 다른 오케스트레이션에 배치하면 외부 통신이 처리 작업과 분리된 상태로 유지됩니다.

구성 요소를 오케스트레이션 셰이프로 변환

셰이프로 변환할 패턴은 최종 솔루션에서는 단일 오케스트레이션이 됩니다. BizTalk Server에서는 MessageBox 등록을 만드는 등 다양한 방식으로 내용 기준 라우터를 만들 수 있습니다. 솔루션에서 라우팅은 MessageBox 등록을 사용합니다. 식 셰이프는 메시지에 필수 필드의 값이 포함되어 있는지 여부를 평가하고, 판단 셰이프는 식 셰이프의 변수 집합을 평가한 다음 오케스트레이션을 통해 경로를 선택합니다.

CustomerService 오케스트레이션은 병렬 셰이프를 사용하여 백 엔드 애플리케이션에 메시지를 보내고 동시에 응답을 받습니다. 즉, 한 응용 프로그램이 완료될 때까지 기다렸다가 다음 요청을 할 필요가 없습니다. 응용 프로그램 수가 자주 변경되거나 응용 프로그램 연결이 안정적이지 못한 경우에는 오케스트레이션이 패턴을 다르게 변환해야 합니다.

솔루션에서 집계는 세 응답 메시지의 요소를 결합해야 합니다. 병렬 셰이프를 사용하면 백 엔드 시스템과의 통신이 병렬로 진행됩니다. 또한 이 셰이프는 모든 응답을 받거나 시간이 초과될 때까지는 종료되지 않으므로 집계는 항상 작업 진행이 가능한 시기를 알 수 있습니다. 오케스트레이션은 세 백 엔드 응답 메시지와 원본 요청 메시지의 요소를 응답 메시지의 요소로 매핑하는 변환 셰이프를 사용합니다.

참고

백 엔드 시스템과의 통신도 시간이 초과할 수 있습니다. 범위 셰이프에 Receive 셰이프를 묶고 scope Timeout 속성을 설정하여 제한 시간을 설정할 수 있습니다.

오케스트레이션 셰이프의 전체 목록은 오케스트레이션 셰이프를 참조하세요.

참고 항목

서비스 지향 솔루션의 패턴
서비스 지향 솔루션의 구성 요소