![[z/OS]](../images/ngzos.gif)
OTMA를 통해 최적화된 로컬 어댑터를 사용하여 기존 IMS 트랜잭션 호출
MPP(Message Processing Programs) 또는 IFP(fast path programs)로 실행되는 기존의 변경되지 않은 IMS™ 트랜잭션은 OTMA C/I(Open Transaction Manager Access Callable Interface) 지원을 통해 WebSphere® Application Server for z/OS® 최적화된 로컬 어댑터로 호출할 수 있습니다. 이 지원은 IMS OTMA C/I를 사용하는 최적화된 로컬 어댑터로 소개되는 새 기본 모듈 세트입니다.
WebSphere Application Server for z/OS에서 배치되는 애플리케이션은 기존의 IMS 트랜잭션을 호출하고 ola.rar 파일을 사용하여 OTMA C/I 인터페이스 모듈에 도달해야 합니다. 이는 애플리케이션이 대상 IMS 시스템 이름 및 연관된 OTMA XCF 정보를 제공하도록 하는 새 연결 팩토리 속성이 몇 개 있습니다. 또한, 애플리케이션이 교환에 사용되는 동기화 레벨을 설정하도록 하는 속성도 추가되었습니다. 이 매개변수에 대한 자세한 정보는 최적화된 로컬 어댑터에 대한 연결 팩토리 고려사항 주제를 참조하십시오.
IMS 글로벌 트랜잭션은 버전 8.5.0.2 이상에서 지원됩니다. WebSphere Application Server가 포함된 글로벌 트랜잭션에서 커미트 조정자로 실행하는 OTMA 지원을 통해 WOLA를 사용하여 기존 IMS 애플리케이션을 호출하는 애플리케이션은 동일한 글로벌 트랜잭션 컨텍스트에 IMS 트랜잭션을 포함할 수 있습니다.
이 지원에 대한 자세한 정보는 글로벌 트랜잭션 - IMS 애플리케이션을 호출하는 WebSphere 글로벌 트랜잭션 절을 참조하십시오.
메시지 형식 요구사항
버전 8에서 다중 세그먼트 메시지 지원 이전에는 요청 및 응답 메시지는 단일 세그먼트로 최대 전송 및 수신 세그먼트 크기가 메시지 헤더를 포함하여 32760바이트를 초과할 수 없었습니다.
<----------------- HEADER ----------------> <------ DATA ------>
LL + ZZ + IMS Transaction Name + Message request data
(2 bytes) | (2 bytes) | (8 bytes) | (up to 32744 bytes)
메시지의 트랜잭션 이름은 OTMA C/I 호출에 사용되며 IMS MPR 또는 빠른 경로 종속 리젼에서 정의 및 도달 가능한 트랜잭션이어야 합니다.
<----- HEADER -----> <------------------ DATA ----------------->
LLLL + Message response data
(4 bytes) | (up to 32756 bytes)
Rational® Application Developer의 CICS/IMS Java™ 데이터 바인딩 마법사는 Java 오브젝트와 2진 형식의 데이터 맵핑을 처리하는 데 사용할 수 있는
setter 및 getter 메소드가 포함된 헬퍼 클래스 작성에 사용됩니다. 이 데이터 맵핑은 WebSphere Application
Server에서 IMS로 전송되는 메시지와 응답 데이터 모두에 적용됩니다. 다중 세그먼트 메시지 지원
IMS 다중 세그먼트 메시지는 요청 메시지에 대해 이전의 32733바이트 및 응답 메시지에 대해 32756바이트보다 큰 요청 및 응답 메시지를 지원합니다. 그렇지만 단일 세그먼트는 메시지 헤더를 포함하여 32768바이트보다 클 수 없습니다.
- OTMAMaxSegments
OTMAMaxSegments는 현재 연결에서 전송 및 수신 IMS 메시지에 대해 지원되는 가장 큰 세그먼트 수를 나타냅니다. 값이 지정되지 않으면 기본값은 1입니다.
- OTMAMaxRecvSize
OTMAMaxRecvSize는 IMS에서 OTMA 지원을 통해 WebSphere 최적화된 로컬 어댑터로 리턴 가능한 가장 큰 가능 메시지를 나타냅니다. 값이 지정되지 않으면 기본값은 32768입니다.
글로벌 트랜잭션 - 애플리케이션을 호출하는 WebSphere 애플리케이션
- OTMA를 사용하도록 구성된 연결을 사용하는 애플리케이션 및 RRSTransactional 관리 연결 팩토리 속성이 True(또는 1)로 설정되어야 합니다. RRSTransactional 속성은 True(또는 1)로 설정하면 연결에 대해 RRS 트랜잭션을 사용할 수 있습니다.
- ola_rrs_context_propagate_otma 환경 변수가 포함된 WebSphere Application Server for z/OS 서버가 설치되고 True(또는 1)로 설정됩니다.
- IMS 환경은 RRS=YES로 구성되어 실행 중입니다.
임의의 이 구성 설정을 구현해야 하는 경우 WebSphere Application Server로 글로벌 트랜잭션에서 실행 중인 애플리케이션이 IMS에서 실행 중인 애플리케이션으로 조정된 트랜잭션 컨텍스트를 포함하기 전에 WebSphere Application Server for z/OS 서버 및 IMS 환경을 다시 시작해야 합니다.
다중 세그먼트 메시지에 대한 메시지 형식 요구사항
다중 세그먼트 메시지의 경우 기본값은 WebSphere 최적화된 로컬 어댑터에서 IMS로의 요청에 대해 LLZZ입니다. IMS에서 WebSphere Application Server로의 응답에 대한 기본값 LLLL+message 데이터는 동일하게 유지됩니다.
이 기본값 변경을 허용하는 이 지원에 대해 메소드가 제공됩니다. setOTMARequestLLZZ() 및 setOTMARequestLLLL() 메소드는 WebSphere Application Server에서 IMS로의 메시지 요청에 대해 길이 접두부 스타일을 설정하는 기능을 제공합니다. 메소드 setOTMAResponseLLZZ() 및 setOTMAResponseLLLL()은 메시지 접두부 스타일을 메시지 응답에 대해 LLZZ 또는 LLLL로 설정하는 기능을 제공합니다. 다음 예는 WebSphere Application Server의 애플리케이션에서 IMS로의 호출에 대한 예상 메시지 형식입니다.
<----------------- HEADER ------------------>
LL + ZZ + IMS Transaction Name +
(2 bytes) | (2 bytes) | (8 bytes)
<-------------------------- DATA SEGMENT 1 ---------------------->
Message segment 1 data
(up to 32756 bytes)
<-------------------------- DATA SEGMENT 2 ---------------------->
+ LL + ZZ + Message segment 1 data
(2 bytes) | (2 bytes) | (up to 32764 bytes)
…
<-------------------------- DATA SEGMENT N ---------------------->
+ LL + ZZ + Message segment N data
(2 bytes) | (2 bytes) | (up to 32764 bytes)
<----------------- HEADER ------------------>
LLLLZZ + IMS Transaction Name +
(6 bytes) | (8 bytes)
<-------------------------- DATA SEGMENT 1 ---------------------->
Message segment 1 data
(up to 32754 bytes)
<-------------------------- DATA SEGMENT 2 ---------------------->
+ LLLLZZ + Message segment 1 data
(6 bytes) | (up to 32762 bytes)
…
<-------------------------- DATA SEGMENT N ---------------------->
+ LLLLZZ + Message segment 1 data
(6 bytes) | (up to 32762 bytes)
<----- HEADER -----> <----------- DATA SEGMENY 1 ------------>
+ LL + ZZ + Message segment 1 data
(2 bytes) | (2 bytes) | (up to 32764 bytes)
<-------------------------- DATA SEGMENT 2 ---------------------->
+ LL + ZZ + Message segment 2 data
(2 bytes) | (2 bytes) | (up to 32764 bytes)
…
<-------------------------- DATA SEGMENT N ---------------------->
+ LL + ZZ + Message segment N data
(2 bytes) | (2 bytes) | (up to 32764 bytes)
-- HEADER --> <----------- DATA SEGMENT 1 ------------>
+ LLLLZZ + Message segment 1 data
(6 bytes) | (up to 32762 bytes)
<-------------------------- DATA SEGMENT 2 ---------------------->
+ LLLLZZ + Message segment 2 data
(6 bytes) | (up to 32762 bytes)
…
<-------------------------- DATA SEGMENT N ---------------------->
+ LLLLZZ + Message segment N data
(6 bytes) | (up to 32762 bytes)