메시지를 변환하려면 비즈니스 오브젝트 맵 중개 기본을 사용하십시오. 비즈니스 오브젝트 맵을 사용하여 메시지 변환을 그래픽으로 정의할 수 있습니다.
비즈니스 오브젝트 맵 중개 기본은 하나의 입력 터미널(in), 하나의 출력 터미널(out) 및 실패 터미널(fail)을 갖습니다. in 터미널은 메시지를 승인하도록 연결되고 다른 터미널은 메시지를 전달하도록 연결됩니다. 입력 메시지가 변환을 트리거하고 변환이 성공하는 경우 out 터미널이 수정된 메시지를 전달시킵니다. 변환 중에 예외가 발생하는 경우 fail 터미널은 failInfo 요소에 들어 있는 모든 예외 정보와 함께 원래 메시지를 전달시킵니다.
비즈니스 오브젝트 맵 중개 기본을 작성할 때 WebSphere® Integration Developer를 사용하여 특성 보기의 세부사항 탭에서 새 비즈니스 오브젝트 맵을 작성할 수 있습니다. 또는 기존 비즈니스 오브젝트 맵을 찾아보고 적합한 맵을 선택할 수 있습니다.
비즈니스 오브젝트 맵을 작성할 때 메시지 루트(XPath 1.0 표현식)를 지정하며, 이는 중개 플로우의 경우 서비스 메시지 오브젝트(SMO)의 다음 위치를 참조할 수 있습니다. /, /headers, /context 또는 /body. 메시지 루트는 변환 루트를 지정하며 입력 메시지와 출력 메시지 모두에 적용됩니다. 메시지 루트가 /인 경우 변환이 전체 SMO에 적용됩니다.
비즈니스 오브젝트 맵 편집기는 맵핑 유형이라고도 부르는 다음 변환 유형을 지원합니다.
변환(맵핑) 유형 | 설명 |
---|---|
이동 | 소스 필드의 값을 대상 필드로 복사합니다. 예를 들어, 입력 비즈니스 오브젝트에서 출력 비즈니스 오브젝트로 고객 이름을 복사하십시오. |
추출 | 소스 필드에서 값의 일부를 추출하여 대상 필드에 지정합니다. 소스 필드의 값은 문자열이어야 합니다. 예를 들어, 입력 비즈니스 오브젝트에서 출력 비즈니스 오브젝트로 주소 파트를 복사하십시오. 추출 변환은 Java™의 String.substring() 메소드와 비슷합니다. |
결합 | 둘 이상의 소스 필드의 값을 결합하고 결합된 값을 대상 필드에 지정합니다. 결합 변환의 대상은 문자열이어야 합니다. 예를 들어, 입력 비즈니스 오브젝트에서 이름 John과 성 Smith를 결합하여 출력 비즈니스 오브젝트에 John Smith라는 이름을 작성하십시오. |
서브맵 | 서브맵을 사용하여 복잡한 유형(비즈니스 오브젝트) 사이에 맵핑할 수 있습니다. 비즈니스 오브젝트 맵의 입력 및 출력은 서브맵 변환의 소스 및 대상과 동일한 유형이어야 합니다. 서브맵을 사용하여 맵핑 정의를 다시 사용할 수 있습니다. 서브맵 변환으로 이전에 정의된 맵을 사용하여 메시지의 두 파트 사이의 변환을 수행합니다. 소스 또는 대상이 약형 요소인 경우에도 서브맵 변환을 사용할 수 있습니다. |
사용자 정의 | 입력 및 출력 맵핑을 위한 논리를 지정하는 Java 코드를 제공합니다. |
지정 | 대상 필드에 상수 값을 지정합니다. 지정 변환은 대상 필드를 갖지만 소스 필드는 갖지 않습니다. |
관계 | 관계 관리를 수행합니다. 관계는 둘 이상의 비즈니스 오브젝트의 데이터 사이에 연관을 작성합니다. 입력 및 출력 비즈니스 오브젝트의 필드가 속성이 다르게 표시되는 동등한 데이터를 포함할 때 변환 단계가 관계를 사용할 수 있습니다. 새 관계 마법사인 WebSphere Integration Developer를 사용하여 관계를 작성할 수 있으며, 기존 관계를 다시 사용할 수 있습니다. 관계 변환의 소스 및 대상은 복합 유형(비즈니스 오브젝트)이어야 합니다. |
사용자 정의 지정 | 대상 필드에 지정하는 값을 결정하는 Java 코드를 제공합니다. 사용자 정의 지정 변환은 대상 필드를 갖지만 소스 필드는 갖지 않습니다. |
사용자 정의 콜아웃 | 소스 필드의 값으로 사용자 정의 로직에 사용되는 Java 코드를 제공합니다. 사용자 정의 콜아웃 변환은 다른 변환을 실행하기 전에 초기화에 유용할 수 있습니다. 사용자 정의 콜아웃 변환은 소스 필드를 갖지만 대상 필드는 갖지 않습니다. |
이동 변환은 기본 유형 소스 필드의 값을 기본 유형 대상 필드에 복사합니다. 한 기본 유형 필드를 다른 기본 유형 필드에 맵핑할 수 있습니다. 그러나 데이터를 변환할 수 없는 경우 런타임 시 예외가 수신됩니다. 예를 들어, 문자열 123A가 int에 맵핑되는 경우, 런타임 시 서버 로그에서 예외를 볼 수 있습니다. 이동 변환을 사용하여 복합 유형(비즈니스 오브젝트)을 맵핑할 수 없습니다. 비즈니스 오브젝트 사이에 맵핑하려면 서브맵이 필요합니다.
사용자 정의 변환을 사용하여 고유한 변환 논리를 제공할 수 있습니다. 사용자 정의 변환은 Java 코드를 사용합니다. 소스 필드와 대상 필드가 있는 경우 사용자 정의 변환을 사용합니다. 소스 필드가 없는 경우 Java 코드를 사용하여 지정할 값을 결정한다는 점을 제외하면 지정 변환과 비슷한 사용자 정의 지정 변환을 사용할 수 있습니다. 설정할 대상 필드가 없는 경우 사용자 정의 콜아웃 변환을 사용하여 Java 코드를 호출할 수 있습니다. Java 코드는 다른 변환이 실행되기 전에 값을 초기화할 수 있습니다.
경우에 따라 소스 또는 대상이 불완전하게 입력된 경우에도 이동, 서브맵 및 사용자 정의 변환을 사용할 수 있습니다. 둘 이상의 데이터 요소 유형을 포함할 수 있는 경우, 필드는 약형입니다. 예를 들어, 소스 또는 대상 요소의 유형이 anyType인 경우 서브맵을 사용할 수 있습니다. 하지만, 소스 데이터가 대상 데이터와 호환되지 않는 경우, 런타임 시 예외가 발생합니다. 자세한 정보는 WebSphere Integration Developer의 약형 컨텐츠로 맵핑주제를 참조하십시오.
데이터베이스 찾아보기 중개 기본이 호출되기 전후에 데이터를 조작해야 하는 경우 비즈니스 오브젝트 맵 중개 기본이 유용할 수 있습니다.
XSLT 중개 기본 또는 비즈니스 오브젝트 맵 중개 기본을 사용하여 메시지를 변환할 수 있습니다. 중요한 차이점은 XSLT 기본은 스타일시트를 사용하여 XML로 변환을 수행하는 반면 비즈니스 오브젝트 맵 기본은 서비스 데이터 오브젝트(SDO)를 사용하여 비즈니스 오브젝트에 변환을 수행한다는 점입니다. 기존 XSL 스타일시트가 있는 경우 XSLT 기본에서 다시 사용할 수 있으며, 기존 비즈니스 오브젝트 맵이 있는 경우 비즈니스 오브젝트 맵 기본에서 다시 사용할 수 있습니다. 일부 종류의 변환은 XSL로 수행하기가 더 쉬우며, 다른 변환은 비즈니스 오브젝트 맵을 사용합니다.
특성 | 유효값 | 기본값 |
---|---|---|
루트 | 문자열: 변환 루트를 표시하는 XPath 표현식 | /body |
맵핑 파일 | 문자열 |
비즈니스 오브젝트 맵 중개 기본을 사용할 때 다음을 고려하십시오.