시스템 디자인 또는 모듈 개발 시 때때로 호출 중인 외부 서비스 및 모듈 간에 중간 모듈을 두어 이점을 얻을 수 있습니다. SCA 바인딩을 사용하는 경우에는 여기에 설명된 접근 방식만을 사용할 수 있습니다.
중간 모듈을 사용해 얻는 이점 중 하나는 사용자 응용프로그램에서 호출하는 응용프로그램 또는 외부 서비스를 중단 없이 변경할 수 있다는 점입니다. 이 예제에서는 웹 서비스 가져오기를 사용하여 개념을 표시합니다.
아래 첫 번째 그림은 직접 연결을 통해 원격 서비스를 호출하는 가져오기가 있는 모듈 A를 표시합니다. 모듈 A로 다른 원격 서비스를 호출하려는 경우, 로직을 갱신해야 합니다. 그런 다음, 이전 버전 모듈을 중지하고 서버에서 설치 제거해야 합니다. 모듈의 새 버전을 설치하고 시작할 수 있습니다. 이 과정에서 모듈 A에 대한 서비스가 중단됩니다.
응용프로그램의 중간 모듈을 사용하여 SCA 바인딩으로 모듈 A에 연결하면 더 많은 융통성을 가지게 됩니다. 아래 그림에서 해당 구성을 표시합니다. 모듈 A에는 가져오기가 있어 중개 모듈 즉 모듈 B 또는 중간 모듈 내보내기에 연결됩니다. 모듈에는 일치하는 인터페이스가 있어야 합니다. 이 주제에서 설명하는 시나리오에는 SCA 바인딩이 있어야 합니다. 모듈 B에서 서비스를 호출합니다. 모듈 B는 Facade이며 모듈 A는 실제 비즈니스 로직을 포함합니다.
다이어그램도 다른 서비스인 원격 웹 서비스 2를 표시합니다. 이 서비스 사용을 위해 WebSphere 테스트 환경을 사용하여 모듈 C 및 해당 웹 서비스 가져오기를 빌드하고 테스트했습니다.
새 모듈을 배치할 준비가 되면, 모듈 A의 SCA 가져오기를 WebSpher Process Server 관리 콘솔을 사용하여 이전 대상 모듈(모듈 B)에서 새 모듈(모듈 C)의 SCA 내보내기까지 위치시켜 갱신된 서비스로 매끄럽게 상태 전이합니다. 아래 그림은 새 배치를 표시합니다. 이 방법을 통해 서비스 중지 없이 응용프로그램을 갱신할 수 있습니다.
위의 패턴을 외부 내보내기에도 사용할 수 있습니다. 예를 들어, 모듈은 웹 서비스 내보내기를 통해 서비스를 노출할 수 있습니다. 일반적으로 모듈 로직을 갱신해야할 경우, 서비스가 중단될 수 있습니다. 그러나 웹 서비스 내보내기에 Facade 모듈을 사용하면 서비스 중단 없이 비즈니스 로직을 갱신할 수 있습니다.
이 디자인 원리는 WebSphere Process Server에 대한 문서에 자세히 설명되어 있으며, 모듈 및 대상 분리 및 대상 변경에 대해서는 지시사항을 참조하십시오.