WEB 통신
본 부록에서는 OpenFrame GW에서 AAD(AIM Application Director)를 지원하기 위한 OpenFrame GW RMI 서버의 구조와 특징에 대해 기술한다.
1. 개요
OpenFrame GW RMI 서버는 Interstage의 AAD라는 모듈을 대체하기 위한 기능으로 Java의 RMI 통신 방식으로 기존에 AAD와 주고 받던 데이터를 RMI 서버가 받아 AIM의 WEBAIM 서비스와 주고 받는 역할을 수행한다.
2. 구조
OpenFrame GW는 WAS 위의 웹 서버로 구현되는데, OpenFrame GW의 RMI 서버는 OpenFrame GW 처럼 별도의 제품이 아닌 GW 내부에 포함되어 있는 기능이다.
OpenFrame GW는 기존처럼 TN3270E 애뮬레이터와 웹 브라우저에서 들어오는 데이터를 입력받아 OpenFrame으로 전송해주는 기능을 하고 있고, 추가로 RMI 서버가 동작하여 WEBON RMI 클라이언트에서 들어오는 데이터를 OpenFrame AIM의 WEBAIM 서비스로 전달해준다.
-
WAS(Web Application Server)
OpenFrame GW는 WAS(JEUS) 위에서 동작한다.
-
DB
현재 접속된 터미널, VTAM 정보 및 Online Region 정보를 저장한다. 추가로 RMI로 들어온 클라이언트 정보들도 저장한다.
-
CLH
Tmax의 클라이언트 핸들러이다. 클라이언트와 서버 사이를 중계하며 서비스를 제공하는 업무처리 서버에 서비스를 요청하고, 서버에 대한 연결 및 관리를 한다. tpcall과 같은 함수를 통해 들어오는 클라이언트의 요청을 해당 서버에게 전달한다.
-
REGION
애플리케이션 프로그램을 실행시키며 CLH를 통하여 OpenFrame GW와 통신한다.
-
WEBON RMI Client
WEBON은 후지생명의 Interstage 위에 올라가 있는 EJB로 작성된 모듈이다. 해당 모듈의 RMI 클라이언트가 OpenFrame GW RMI 서버와 통신을 수행한다.
3. 동작과정
아래의 그림은 WEBON RMI 클라이언트에서 RMI 서버로 로그온하여 Online Region의 WEBAIM 서비스와 트랜잭션을 수행하는 동작과정을 설명한다(현재는 Online Region으로 AIM만 지원하고 있다).
-
WEBON 모듈이 비즈니스 로직을 수행하다가 기존의 AAD와 통신하던 로직을 만난 경우 RMI 서버로 데이터를 전송한다.
-
RMI 서버는 해당 연결을 수락한 후 DB에 접근하여 RMI Client A의 정합성을 체크한 후 LOGON을 허용한다.
-
RMI 서버는 Online Region으로 ofgw.properties에 설정된 smqn 이름과 procedure 이름을 사용하여 전달받은 데이터와 함께 트랜잭션을 전달하고, 실행 결과를 받는다.
-
OpenFrame Online Region과의 트랜잭션이 종료된 후 RMI 서버는 DB에 접근하여 RMI Client A에 대한 로그온 정보를 삭제한다.
-
OpenFrame Online Region에서 받은 데이터를 RMI Client A에게 전달한 후 RMI Client A와의 연결을 종료한다.