최적화된 로컬 어댑터 기본 API를 사용하여 외부 주소
공간을 CICS®용 WebSphere Application
Server에 연결하고 Application Server에 배치된 EJB(Enterprise JavaBeans) 애플리케이션을
호출하려면 이 태스크를 사용하십시오.
시작하기 전에
WebSphere® Application Server 디먼 그룹이
레지스터 요청이 발생하는 동일한 z/OS 이미지에서 활성화되어
있어야 합니다.
CICS(Customer Information Control
System)에서 실행할 때에는, CICS와 WebSphere Application Server를
연결하기 전에 최적화된 로컬 어댑터
태스크 관련 사용자 종료(TRUE) 프로그램이 활성화되어 있어야 합니다.
트랜잭션으로 TRUE 프로그램을 활성화하는
방법에 대한 정보는 클라이언트 환경에 BBOC, BBO$, BBO# 트랜잭션 설치 주제 및 WebSphere Application Server 트랜잭션 BBOC,
BBO$, BBO# 주제의 내용을
참조하십시오. z/OS 일괄처리 및 USS(UNIX Systems Services)에서
실행하는 프로그램의 경우에는 TRUE 프로그램을 활성화할
필요가 없습니다. 레지스터에 대한 호출,
BBOA1REG API로 현재 주소 공간이 이미 등록되어 대상 WebSphere Application Server 디먼 그룹에 바인드되었는지
확인하십시오.
이 태스크 정보
어댑터 API는 외부 기본 언어 프로그램에서 Stateless 세션 Bean을
호출하고 응답을 검색합니다. 이는 응답 영역 최대 길이가
미리 알려지지 않고 더 많은 유연성을 원하는 이용자에 사용하도록
디자인되었습니다.
프로시저
- Cobol, PL/I, C/C++, 어셈블러 프로그램과 같은 클라이언트
주소 공간 기본 언어 애플리케이션은 BBOA1CNG 연결
가져오기 API를 호출하고 레지스터 호출에 사용한 레지스터 이름을 전달합니다. 이후의 모든 API 호출에 사용해야 하는 연결 핸들이
리턴됩니다.
- 클라이언트 애플리케이션은 매개변수를 모으고 호출하려는
엔터프라이즈 Bean에 대한 JNDI(Java Naming
and Directory Interface) 홈 인터페이스 경로 이름으로
대상 서비스 이름을 지정한 후 BBOA1SRQ 요청 전송 API를
호출합니다. 그러면 WebSphere Application Server 제어 리젼에 연결된 후
전달된 JNDI 홈 인터페이스가 작성 메소드를 실행하는
WML(Workload Manager) 파생 하위 리젼으로 연결됩니다. 사전 설정된
메소드, execute가 있으며 바이트 배열 매개변수와 함께 호출됩니다.
비동기 매개변수가 지정되고
1로 설정된 경우 다시 호출자에게 즉시 제어가 리턴됩니다.
비동기 매개변수가 0(영)으로 설정될 때에는
API가 ResponseLength 매개변수에 응답 길이와 리턴값을
리턴합니다.
- WebSphere Application Server 하위에서
대상 Bean의 실행 메소드가 비즈니스 로직을 호출합니다. 이제 대상 Bean의 실행 메소드는
응답 데이터를 다시 기본 언어 호출자에게 직렬화된 바이트 배열로 리턴하기 전에
필요한 비즈니스 로직을 호출할 수 있습니다.
- 0(영) 리턴 코드 및 이유 코드는
클라이언트 API Send_Request를 큐에 넣었음을 표시합니다. 비동기
매개변수가 0(영)으로 설정된 경우
ResponseLength 매개변수에 응답 길이가 리턴값과 함께 제공됩니다. 비동기
매개변수가 1로 설정된 경우에는
응답이 준비되지 않았을 수 있으며 응답이 도착했는지 여부 및 길이 응답을
판별하기 위해 BBOA1RCL Receive_RespLen API를 호출해야 합니다.
- 비동기 Send_Request 호출의 경우 클라이언트 애플리케이션은
BBOA1RCL Receive_RespLen API를 비동기 0|1 호출로
호출합니다. 비동기 0(영) 호출은
응답이 수신될 때까지 어댑터 API가 스레드를 차단해야 함을 표시합니다. 비동기
1 호출은 응답의 도착 여부와 상관 없이
어댑터 API가 즉시 리턴함을 나타냅니다.
- 0(영) 리턴 코드 및 이유 코드는
Receive_RespLen 클라이언트 API 호출이 정상적으로 완료되었음을
나타냅니다. 비동기 매개변수가
1로 설정된 경우 ResponseLength 및
모든 0xFF의 리턴값은 전달된 연결에서 아직 응답이 수신되지 않았음을
표시합니다. 이는 요청을 보내고
응답을 수신할 방식에 대한 더 많은 제어를 클라이언트 애플리케이션에 제공합니다.
클라이언트는 전송 요청을 그룹화하여
연결 그룹을 통해 순서대로 전송한 후 응답을 위해 이 연결을 주기적으로
폴링할 수 있습니다. Send_Request를
비동기 1 호출로 처리 중인 연결은 관련 Receive_RespLen and Get_Data
API 호출이 처리될 때까지 동일한 연결에 대한 또 다른
Send_Request를 전달할 수 없습니다.
중요사항: 비동기
매개변수를 1로 설정한 채
이 API를 비동기식으로 사용하고 전송 요청을 그룹화하여 동시에 이를 처리하는 작업은
비트랜잭션으로 구성된 연결에서만 수행할 수
있습니다. 예를 들어,
CICS를 사용할 때 작업 단위(UOW)를 RRS 복구 단위에 맞추려 하며
CICS 하의 동기점을 WebSphere Application Server에
전파해야 하는 경우 현재 CICS 태스크의 특정 WebSphere 서버에 대한
연결은 하나만 가능합니다. 이 요청은
어댑터가 동일한 CICS 태스크의 같은 서버에 대한 둘 이상의 연결에서
커미트를 전파하지 않음을 나타내는 경고 리턴 코드를 수신합니다.
- 클라이언트 애플리케이션 Receive_RespLen API가 리턴한
응답 길이를 사용하여 응답 데이터를 보유할 충분한 영역이 있는지 확인하고,
BBOA1GET Get Data API 호출을 사용하여 응답 데이터를
버퍼로 복사합니다.
- 클라이언트 애플리케이션은 연결을 릴리스할 준비가 될 때까지
동일한 연결 핸들을 사용하여 이 과정을
반복합니다. 연결이 릴리스되면
BBOA1CNR Connection_Release가 호출됩니다. 연결 핸들을
연결 가져오기 API 호출에 보유하고 다시 사용하려면
먼저 릴리스해야 합니다.
결과
클라이언트가 최적화된 로컬 어댑터 API를 사용하여
WebSphere Application Server에서
Statsless 세션 Bean을 호출했습니다.