이 기사에서는 z/OS용 WebSphere Extended Deployment V6.0.1의 파티셔닝 기능(WPF) 프로그래밍 패턴에 대해 설명합니다.
IIOP(WPF-WLM Internet Inter-ORB Protocol) 라우팅은 z/OS용 WebSphere Extended Deployment V6.0.1에서 지원되지 않으므로, 응용프로그램은 JMS(Java Message Service) 기술 또는 기타 메커니즘을 사용하여 파티션 라우팅을 처리해야 합니다.
Java Message Service (JMS) 기반의 라우팅 메커니즘이 다음 그림에 설명되어 있습니다. 두 개의 요청 즉 request 1과 request 2가 표시됩니다. 각 요청은 파티션 라우팅을 위해 지정된 JMS 주제/대기열로 이동해야 합니다. JMS 주제/대기열은 요청 처리를 준비하고 라우팅 응답을 위해 지정된 JMS 주제/대기열로 응답을 전송하는 대상 파티션으로 요청을 전달해야 합니다. 실행 단계는 동일하지만 시스템 위치, 서버 성능 및 네트워크 설정을 포함하여 실행에 대한 많은 요소가 있으므로 요청 실행 순서는 동일한 것으로 보증할 수 없습니다.
request 1 (1-1.3) 및 request 2 (2-2.3)에 대한 요청 라우트는 다음 그래프에 표시되며 이로 인해 Appclient에서 응답 (3)을 수신하게 됩니다.
다음 단계에서는 요청 1의 라우트에 대해 설명합니다. 요청 2 및 기타 요청의 경우 이와 동일한 라우트를 수행합니다. 각 요청 실행은 서로 독립적이며 이들이 도달하는 순서도 보장할 수 없습니다.
ClusterMember에 있는 응용프로그램 파티션은 서로 연결되어 (AsyncBean을 사용하여) 항상 해당 JMS 주제/대기열을 청취합니다. 예를 들어 파티션 1(P1)에서 응용프로그램 파티션은 새 메시지가 해당 JMS 주제/대기열에 도달할 때마다 JMS 메시지를 수신합니다.
표준 WPF 사용 가능한 응용프로그램과 같이 PartitionHandlerLocal 인터페이스를 구현하는 파티션된 Stateless 세션 Bean(PSSB)이 있습니다. PartitionHandlerLocal 인터페이스의 partitionLoadEvent(String partitionName) 및 partitionUnloadEvent(String partitionName) 메소드는 파티션을 JMS 주제/대기열에 바인드 및 바인드 해제하는 지점입니다.
partitionLoadEvent(String partitionName) - 이는 전달된 partitionName과 동일한 이름의 파티션이 이 시스템에서 활성화되었음을 의미합니다. partitionName 파티션에 지정된 JMS 주제/대기열로 바인드되는 파티션 작업자 스레드를 시작하거나 구동합니다(또는 AsyncBean 작업자 스레드를 사용할 수 있습니다). 해당 partitionUnloadEvent가 발생할 때 이를 중지 또는 제거하기 위해 파티션 작업자 스레드에 대한 참조를 유지해야 합니다.
partitionUnloadEvent(String partitionName) - 이는 전달된 partitionName과 동일한 이름의 파티션이 이 시스템에서 비활성화되었음을 의미합니다. 파티션 작업자 스레드는 partitionName 파티션에 지정된 JMS주제/대기열에서 바인드 해제되고 해당 파티션 작업자 스레드를 중지하거나 제거합니다.
Related concepts
WPF에서의 z/OS 제한사항