소개
본 장에서는 외부에서 OSC 애플리케이션 서버에 있는 프로그램인 OpenFrame CTG를 실행하는 방법에 대해서 기술한다.
1. 개요
OpenFrame/OSC는 OpenFrame CTG(CICS Transaction Gateway)를 사용해서 외부에서 OSC 애플리케이션 서버에서 관리하는 프로그램을 실행할 수 있다.
OpenFrame CTG는 OpenFrame의 트랜잭션을 호출할 수 있는 API(External Call Interface, ECI)를 제공한다. ECI를 이용하여 OpenFrame에서 지원하지 않는 외부 응용프로그램이 OpenFrame의 OSC Region의 리소스로 등록된 프로그램(COBOL, PL/I)을 호출한다.
본 절에서는 JCA 방식의 OpenFrame CTG의 동작 과정과 환경설정에 대해서 설명한다. JCA 방식 OpenFrame CTG는 J2EE의 JCA(J2EE Connector Architecture) 스펙에서 리소스 어댑터 역할을 하는 라이브러리 패키지이다.
2. 동작 과정
다음은 OpenFrame CTG를 사용해서 애플리케이션과 OSC Region 간의 데이터 처리를 하는 과정에 대한 설명이다.
-
WAS(Web Application Server) 위에서 실행되는 Java 애플리케이션 프로그램에서 ECI 인터페이스를 통하여 OIVPECIT 프로그램 실행을 요청한다.
-
OFCTG를 사용하기 위해 웹 애플케이션 서버 제공 업체의 고유 설정과 JCA에서 정의한 설정을 한다. 자세한 내용은 리소스 어댑터 구성을 참고한다.
-
요청을 받은 OSC Region에서는 CPMI 디폴트 트랜잭션을 실행시킨다.
-
트랜잭션에 해당하는 DFHMIRS 프로그램이 실행된다.
-
DFHMIRS는 요청받은 OIVPECIT를 LINK로 호출하고 COMMAREA를 전달한다.
-
OIVPECIT 프로그램은 데이터베이스에 접근하여 필요한 데이터를 가져온다.
-
해당 데이터를 COMMAREA에 설정하고 리턴하면 클라이언트에게 COMMAREA 데이터 및 리턴값을 전달한다.
3. 리소스 어댑터 구성
OpenFrame CTG를 이용하기 위해서 사용자는 우선 리소스 어댑터를 구성해야 한다. 리소스 어댑터에는 웹 애플리케이션 서버 제공 업체의 고유 설정과 JCA에서 정의한 설정을 해야 한다.
com.tmax.ofctg.connector.cics 패키지 클래스를 이용하는 경우에는 리소스 어댑터에 설정 가능한 이름과 타입을 ra.xml 파일에 설정해야 한다. ra.xml 설정 예제는 리소스 어댑터 설정 파일을 참고한다.
다음은 각 설정 항목과 타입에 대한 설명이다.
Property Name | Property Type | Property Value |
---|---|---|
backup |
java.lang.String |
OSC 서버의 백업 호스트 주소를 설정한다. |
backup_port |
java.lang.Integer |
OSC 서버의 백업 호스트에 대한 포트 번호를 설정한다. support_xa 항목을 true로 설정하는 경우에는 반드시 OSC의 Tmax 환경설정에 정의된 JEUSGW 포트를 지정해야 한다. |
connectionName |
java.lang.String |
커넥션에 부여된 이름을 설정한다. 이름은 로깅 등 내부적으로 사용된다. |
connectionTimeout |
java.lang.Integer |
OSC 서버에 접속시 최대 연결 대기 시간을 설정한다. (단위: 초) |
encryption |
java.lang.Boolean |
암호화 여부를 지정한다. 현재 XA를 사용하기 위해 JEUSGW와 통신하는 경우에는 지원하지 않는다. TmaxPort로 연결하는 경우에만 사용할 수 있으며, 이 경우에는 support_xa를 false로 지정해야 한다. |
headerType |
java.lang.String |
OpenFrame CTG가 OSC 서버와 통신할 때 사용하는 프로토콜을 지정한다. 현재는 "extendedV4"만 지원한다. |
host |
java.lang.String |
OSC 서버의 호스트 주소를 설정한다. |
host_port |
java.lang.Integer |
OSC 서버의 호스트에 대한 포트 번호를 설정한다. support_xa 항목을 true로 설정하는 경우에는 반드시 OSC의 Tmax환경설정에 정의된 JEUSGW 포트를 지정해야 한다. |
logBufSize |
java.lang.Integer |
OpenFrame CTG가 로그를 기록할 때 사용하는 버퍼의 크기이다. 로그가 지정한 크기 이상 저장되면 파일에 기록된다. (기본값: 512bytes) |
logDir |
java.lang.String |
OpenFrame CTG가 생성하는 로그파일이 저장되는 경로를 지정한다. |
logFile |
java.lang.String |
OpenFrame CTG가 생성하는 로그파일의 이름을 지정한다. |
logFileFormat |
java.lang.String |
OpenFrame CTG가 생성하는 로그파일의 이름 뒤에 붙는 날짜 형식을 지정한다. (기본값: "MMddyyyy") |
logLevel |
java.lang.String |
OpenFrame CTG가 로그를 기록할 때 사용하는 로그레벨을 지정한다.
|
logValidDays |
java.lang.Integer |
1을 지정한다. |
regionName |
java.lang.String |
접속할 Region 이름을 설정한다. |
support_xa |
java.lang.Boolean |
XA 지원 여부를 설정한다. true 또는 false 둘 중 하나의 값을 지정한다. |
tpTimeout |
java.lang.Integer |
요청에 대한 응답 대기시간을 설정한다. (미지정 시 기본값: 60초) |
txHelperClassName |
java.lang.String |
TransactionManager를 반환해주는 Transaction Helper Class의 이름을 설정한다. XA를 지원하는 경우에는 getConnection() 시점에 지정한 이름을 가진 클래스의 TransactionManager에 XAResource를 포함(enlist)시킨다. 현재는 지정된 Helper Class에서 getTransactionManager() 메소드를 호출한다. |
xidMapperFile |
java.lang.String |
OpenFrame CTG가 사용하는 XidMapperFile의 이름을 설정한다. 파일은 WAS의 TransactionManager에서 제공하는 XID 정보와 OSC에서 사용하는 XID 정보에 대한 Mapping 및 Decision 정보를 기록하는 용도로 사용된다. |
xidMapperPath |
java.lang.String |
XidMapperFile의 파일 경로를 설정한다. |
4. OSC 서버 Tmax 환경설정
JCA를 이용하여 글로벌 트랜잭션을 사용하기 위해서는 OSC 서버의 Tmax 환경설정 파일에 다음 설정을 해야 한다.
*GATEWAY JEUSGW GWTYPE = JEUS, PORTNO = 9000, DIRECTION=IN, NODENAME = NODE1, CLOPT ="-r -h 4 -D 7 -o $(SVR)$(CDATE).out -e $(SVR)$(CDATE).err", CPC = 2
항목 | 설명 |
---|---|
GWTYPE |
반드시 'JEUS’를 지정한다. 리모트 시스템을 WAS(Web Application Server)로 지정한다. JEUS 이외에 Oracle WebLogic, IBM WebSphere 등의 환경에서 사용할 경우에도 'JEUS' 를 지정해야 사용 가능하다. |
PORTNO |
해당 게이트웨이가 사용하는 Listen 포트 번호이다. |
DIRECTION |
해당 게이트웨이와 연결되는 WAS 사이에 요청에 대한 방향을 지정한다. 현재는 "IN"으로 지정하면 들어오는 요청만 처리가 가능하다. |
NODENAME |
해당 게이트웨이가 실행될 노드명을 지정하는 항목이다. Tmax 환경설정의 NODE 절에 등록된 이름을 지정한다. |
MAXINRGW |
해당 게이트웨이로 접속할 수 있는 채널의 최대 개수를 지정한다. (기본값: 32, 최대 128개까지 지정 가능) |
CLOPT |
해당 게이트웨이가 사용하는 옵션이다.
|
CPC |
해당 게이트웨이와 CLH 사이의 병렬 통신 채널 수를 지정하는 항목이다. 처리량이 많고 서비스의 소요 시간이 길 경우 다중 채널을 두어 병렬 통신으로 처리하여 처리 속도를 증가시키도록 한다. |
Tmax 환경설정 파일에 대한 자세한 설명은 "Tmax Administration Guide"의 "3.2 기본 환경설정"을 참고한다. |