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


서비스 메시지 오브젝트

서비스 메시지 오브젝트(SMO)는 서비스 사이에 교환되는 메시지 처리 및 조작을 위한 추상 레이어를 제공합니다.

SMO 모델

중개 기본은 메시지를 SMO로서 처리합니다. SMO는 확장 서비스 데이터 오브젝트(SDO)이며, SMO 모델은 SDO DataObjects를 사용하여 메시지를 표시하기 위한 패턴입니다. SMO에는 다음 데이터 그룹의 표시가 들어 있습니다.
  • 메시지와 연관된 헤더 정보. 예를 들어, 메시지가 JMS API를 사용하여 전달된 경우 JMS(Java™ Message Service) 헤더 또는 메시지가 WebSphere® MQ에서 온 경우 MQ 헤더
  • 메시지 본문: 메시지 페이로드. 메시지 페이로드는 서비스 엔드포인트 사이에 교환되는 응용프로그램 데이터입니다.
  • 메시지 첨부.
  • 컨텍스트 정보(메시지 페이로드 이외의 데이터).

이 모든 정보는 SDO DataObjects로서 처리되며 SMO의 전체 구조를 지정하는 스키마 선언이 있습니다. 스키마는 WebSphere Integration Developer에서 생성됩니다.

SMO 컨텐츠

모든 SMO는 동일한 기본 구조를 갖습니다. 구조는 ServiceMessageObject라는 루트 데이터 오브젝트로 구성되어 있으며 이 구조에는 헤더, 본문, 첨부 및 컨텍스트 데이터를 나타내는 기타 데이터 오브젝트가 있습니다. 헤더, 본문 및 컨텍스트의 정확한 구조는 통합 개발 시 중개 플로우를 정의하는 방법에 따라 다릅니다. 중개 플로우는 런타임 시 서비스 사이를 중개하는 데 사용됩니다.

SMO 헤더에는 특정 내보내기 또는 가져오기 바인딩에서 생성되는 정보가 들어 있습니다(바인딩은 메시지 형식과 프로토콜 세부사항을 지정함). 메시지는 많은 소스에서 올 수 있으므로, SMO가 여러 가지 종류의 메시지 헤더를 운반할 수 있어야 합니다. 처리되는 메시지 헤더의 종류는 다음과 같습니다.
  • 웹 서비스 메시지 헤더
  • SCA(Service Component Architecture) 메시지 헤더
  • JMS(Java Message Service) 메시지 헤더
  • WebSphere MQ 메시지 헤더
  • WebSphere Adapters 메시지 헤더

일반적으로 응용프로그램 데이터를 보유하는 SM0 본문의 구조는 중개 플로우를 구성할 때 지정하는 WSDL(Web Service Description Language) 메시지로 판별합니다.

SOAP 메시지에 참조되지 않은 첨부가 있는 경우 SMO 첨부 요소에 저장됩니다. 참조되지 않은 첨부는 SOAP/HTTP 메시지에 포함된 MIME 파트이며 첨부는 WSDL portType에 정의되어 있지 않습니다.
주: 모듈 바인딩이 다음 유형 중 하나인 경우 SOAP 첨부를 보내거나 받을 수만 있습니다. JAX-WS를 사용하는 웹 서비스 바인딩 SOAP 1.1/HTTP, JAX-WS를 사용하는 웹 서비스 바인딩 SOAP 1.2/HTTP 또는 SCA 바인딩.

SMO 컨텍스트 오브젝트는 사용자 정의 또는 시스템 정의됩니다. 사용자 정의 컨텍스트 오브젝트를 사용하여 중개 기본이 나중에 플로우에서 사용할 수 있는 특성을 저장합니다. 비즈니스 오브젝트에서 사용자 정의 컨텍스트 오브젝트의 구조를 정의하고 요청 플로우의 입력 노드에서 해당 비즈니스 오브젝트를 사용합니다. 상관 컨텍스트, 임시 컨텍스트 및 공유 컨텍스트가 사용자 정의 컨텍스트 오브젝트입니다.

그림 1. SMO 구조 개요. ServiceMessageObject의 컨텍스트, 헤더, 본문 및 첨부
ServiceMessageObject에는 컨텍스트(한 번 발생), 헤더(한 번
발생), 본문(발생하지 않거나 한 번 발생) 및 첨부(발생하지 않거나
여러 번 발생)가 있습니다.

SMO는 메시지 헤더, 메시지 페이로드, 메시지 첨부 및 메시지 컨텍스트에 액세스하고 수정하는 인터페이스를 제공합니다.

런타임이 SMO를 사용하는 방법

런타임은 상호작용 엔드포인트 사이에서 이동하는 메시지에 조작됩니다. 런타임은 중개 플로우가 메시지를 처리하는 데 사용하는 SMO 오브젝트를 작성합니다.

중개 플로우를 작성할 때 WebSphere Integration Developer가 각 터미널의 메시지 본문 유형(입력, 출력 또는 실패) 및 선택적으로 컨텍스트 정보 유형을 지정합니다. 런타임은 이 정보를 사용하여 지정된 유형의 SMO 오브젝트로 메시지를 변환합니다.

동적 라우팅을 제공하기 위해 WSRR(WebSphere Service Registry and Repository) 또는 데이터베이스를 사용하여 상호작용 엔드포인트를 찾아볼 수 있습니다. WSRR 조회 또는 데이터베이스 찾아보기 결과는 런타임이 동적 엔드포인트를 처리할 SMO의 특정 위치에 저장할 수 있습니다.


concept 개념 주제

이용약관 | 피드백


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


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