WebSphere Enterprise Service Bus, 버전 6.2.0 운영 체제: AIX, HP-UX, i5/OS, Linux, Solaris, Windows


분리 모듈 및 대상 개요

모듈을 개발할 때, 여러 개의 모듈이 사용할 수 있는 서비스를 구별할 수 있습니다. 이러한 방법으로 서비스를 활용하면 개발 주기와 비용을 최소화할 수 있습니다. 여러 모듈에 의해서 사용되는 서비스가 있다면, 호출 모듈을 대상에서 분리하십시오. 그럴 경우에 대상이 업그레이드되면, 새로운 서비스로의 전환이 호출 모듈에 대해서 투명하도록 합니다. 이 주제는 단순 호출 모델과 분리 호출 모델을 대조하여 설명하며 분리를 유용하게 사용할 수 있는 예제를 제공합니다. 특정 예제를 설명하는 경우, 이 예제가 대상에서 모듈을 분리하는 유일한 방법은 아닙니다.

단순 호출 모델

모듈을 개발할 때, 다른 모듈에 있는 서비스를 사용하는 경우도 있습니다. 이렇게 하려면 해당 서비스를 모듈로 가져온 다음 서비스를 호출하면 됩니다. 가져온 서비스는 관리 콘솔의 서비스를 바인딩하거나 WebSphere® Integration Developer에서 다른 모듈이 내보낸 서비스로 "연결"됩니다. 단순 호출 모델은 이 모델을 설명합니다.

그림 1. 단순 호출 모델MyModule은 서비스 ServiceA를 호출합니다. 이 호출은 ServiceA에 있는 내보낸 인터페이스에 연결된 MyModule의 가
져온 인터페이스를 가리킵니다.

분리 호출 모델

호출 모듈을 호출 대상으로부터 분리하여 모듈 호출을 중지하지 않고 호출의 대상을 변경할 수 있습니다. 이렇게 하면 모듈을 변경하지는 않지만 다운스트림 대상을 변경하기 때문에 대상을 변경하는 경우, 모듈이 처리를 계속할 수 있도록 합니다. 응용프로그램 분리 예는 모듈 호출의 상태에 영향을 받지 않고 분리가 어떻게 대상을 변경하는지에 대한 예를 보여줍니다.

응용프로그램 분리 예

단순 호출 모델을 사용하면 같은 서비스를 호출하는 여러 개의 모듈은 여러 개의 응용프로그램이 하나의 서비스를 호출하는 경우와 비슷하게 됩니다. ModA, ModB 및 ModC는 모두 CalculateFinalCost를 호출합니다.

그림 2. 여러 개의 응용프로그램이 하나의 서비스를 호출이 그림은 직접 CalculateFinalCost를 호출하는 여러 개의 모듈을 표시합니다.
CalculateFinalCost에서 제공되는 서비스는 이 서비스를 사용하는 모든 모듈에서 새로운 비용이 반영되도록 갱신되어야 합니다. 개발 팀은 이 변경사항을 통합하기 위해 새로운 서비스인 UpdatedCalculateFinal을 테스트하고 빌드합니다. 이제 새로운 서비스를 프로덕션으로 가져올 준비가 되었습니다. 분리를 사용하지 않는 경우, UpdateCalculateFinal을 호출하려면 CalculateFinalCost를 호출하는 모든 모듈을 갱신해야 합니다. 분리를 사용하는 경우에는 버퍼 모듈을 대상으로 연결하는 바인딩을 변경하기만 하면 됩니다.
주: 이렇게 서비스를 변경하면 필요할 수 있는 다른 모듈에 원래의 서비스를 제공하는 것을 계속할 수 있습니다.

분리를 사용하는 경우, 응용프로그램과 대상(UpdateCalculateFinal을 호출하는 분리 호출 모델 참조) 사이에 버퍼 모듈을 작성합니다.

그림 3. UpdateCalculateFinal을 호출하는 분리 호출 모델세 개의 모듈이 CalculateFinalCost를 호출합니다.
응용프로그램 ActualMod에서 CalculateFinalCost를 가리키는 응용프로그램 BufferMod에서 호출을
분석합니다.

호출 모듈이 변경되지 않는 이러한 모델의 경우, 가져온 버퍼 모듈에서 대상(UpdatedCalculateFinal을 호출하는 분리 호출 모델 참조)으로 변경해야 합니다.

그림 4. UpdatedCalculateFinal을 호출하는 분리 호출 모델이 그림은 UpdateFinalCost를 가리키는 BufferMod의 CalculateFinalCost로부터 바인딩하는 이전 그림과 비슷합니다.

버퍼 모듈이 동시에 대상을 호출하는 경우, 버퍼 모듈을 다시 시작할 때(중개 모듈 또는 비즈니스 모듈의 서비스) 새 대상으로부터 원래 응용프로그램으로 그 결과가 리턴됩니다. 버퍼 모듈이 대상을 비동기적으로 호출하는 경우, 다음 호출의 새 대상으로부터 원래 응용프로그램으로 그 결과가 리턴됩니다.


concept 개념 주제

이용약관 | 피드백


시간소인 아이콘 마지막 갱신 날짜: 2010년 7월 7일 수요일


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.doc/doc/cdev_ovwisolatingapplsandtargs.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
이 Information Center는 Eclipse 기술을 기반으로 합니다(http://www.eclipse.org 웹 사이트 참조).