소개

본 장에서는 OpenFrame OSI(Online Server type I) 시스템과 그 구성 요소에 대해 소개하고 전체 구조에 대해 설명한다.

1. OSI 시스템 기본개념

OpenFrame OSI(이하 OSI)는 리호스팅 솔루션인 OpenFrame을 구성하는 여러 제품들 중 하나로 메인프레임에서 운영되는 Online 업무를 오픈 시스템(UNIX)에서 운영할 수 있게 해준다.

일반적으로 기존 메인프레임에서 운영 중이던 업무 시스템을 오픈 시스템으로의 전환을 고려할 때 다음과 같은 이슈가 있을 수 있다.

  • 기존 메인프레임의 성능 및 안전성을 어떻게 제공하는가?

  • 얼마나 쉽게 전환할 수 있는가?

OSI는 TP-Monitor Tmax 제품과 마이그레이션 툴을 기반으로 위 두 가지 이슈를 해결한다.

OSI는 성능 및 안전성 문제를 해결하기 위하여 오픈 시스템에서 안정성 및 성능이 검증된 TP-Monitor인 Tmax 엔진을 기반으로 한다. 그렇기 때문에 OSI는 아래와 같은 Tmax의 특장점을 포함한다.

  • 편리한 프로세스 관리

    OSI에서 사용자가 생성한 프로세스들은 Tmax에 의하여 기동부터 종료까지 관리되고 Tmax가 제공하는 다양한 모니터링 정보를 사용하므로 프로세스를 편리하게 관리할 수 있다.

  • 대용량 트랜잭션 지원

    Tmax는 대용량 트랜잭션의 처리를 위해 스케줄링 및 서비스큐 관리 기능을 내부에 포함하고 있다.

    Tmax는 오픈 환경의 미션 크리티컬한 업무를 수행해야 하는 시스템에 적합하다. Tmax를 기반으로 한 OSI 역시 대용량의 트랜잭션을 안정적으로 지원하고 있다.

  • 오픈 환경에서의 자유로운 연동

    연동 이슈는 IBM 메인프레임 환경에서 오픈 시스템 환경으로 리호스팅 직후에 바로 직면하게 되는 중요한 이슈는 아니다. 그러나 운영 중인 시스템을 확장하거나 다른 시스템과 연동해야 하는 상황은 자주 발생한다. 이러한 경우에 Tmax는 다른 X/Open DTP 모델을 준수하는 Tuxedo와 같은 상용 TP-Monitor와 자연스럽게 연동되므로 OSI는 기타 다른 리호스팅 솔루션과 비교하여 뛰어난 장점을 갖는다.

    Tmax의 이러한 장점은 OSI로 작성된 업무 시스템의 확장을 용이하게 한다. 또한 TmaxSoft의 Web Application Server인 JEUS 등의 연동을 통해 웹 환경과도 자연스럽게 연동할 수 있는 장점을 가지고 있다.

OSI는 사용자 프로그램들과 그에 필요한 각종 리소스들을 간단한 마이그레이션 작업으로 메인프레임에서 운영되던 업무를 오픈 시스템에서도 그대로 사용할 수 있도록 여러가지 툴을 제공한다. 또한 메인프레임의 IMS/DC의 MPP(Message Processing Program), BMP(Batch Message Processing)에서 운영 중인 사용자의 프로그램을 OSI에서 그대로 운영할 수 있도록 DL/I와 동일한 인터페이스를 제공한다.

OSI 시스템의 MPP, BMP에 대한 자세한 내용은 OSI 사용자 서버(Dependent Region)를 참고한다.

2. OSI 시스템 구성 요소

OSI는 크게 OSI 시스템의 중요한 기능을 담당하는 OSI 시스템 서버(스케줄 서버, 커맨드 서버와 같은 시스템 서버들)와 사용자 애플리케이션을 실행하는 OSI 사용자 서버(MPP, BMP 서버와 같은 사용자 서버들)로 구성되어 있다.

  • OSI 시스템 서버(Control Region)

    OSI 시스템을 운영하는 데 필요한 시스템 모듈이다.

    OSI 시스템 서버들의 기능은 메시지 스케줄링, Message Queue 관리, MFS 를 통한 메시지 변환, DB 연동, 시스템 및 사용자 커맨드 처리 와 같은 시스템 운영에 필요한 것들이다.

  • OSI 사용자 서버(Dependent Region)

    사용자 애플리케이션 프로그램을 실행하기 위해 사용자가 직접 프로세스(Tmax 서버 형태)를 JCL을 통해 기동하거나 "/START REGION" 명령을 통해 기동한다.

    1. MPP 서버는 고정된 서버 이름(OSIMPPSVR)으로 제공되고 있으며, BMP 서버는 osibmpsv 라는 모듈이 제공되고 있다.

    2. 현재 버전부터 TN3270 게이트웨이는 OSI에서 제공하지 않고, OpenFrame GW 제품으로 대체된다. 기존에 지원하였던 모든 기능을 동일하게 제공하고 있으며, 자세한 내용은 OpenFrame GW "운영자 안내서"를 참고한다.

3. OSI 시스템 전체 구조

일반적으로 실제적인 업무 프로그램이 운영되기 위해서 시스템 서버 차원과 사용자 서버 차원에서 업무 프로그램의 운영 기반이 제공되어야 한다. 이러한 운영 기반을 위한 OSI 구조는 다음과 같다.

figure 1 1
OSI 시스템 구조

시스템 서버(Control Region)는 OSI 시스템 모듈에 해당하는 영역으로, OSI 시스템 자체에서 애플리케이션 서버 및 업무 프로그램을 동작시키기 위해 필요로 하는 서버를 포함한 각종 설정이 포함되어 있다. 사용자 서버(Dependent Region)는 OSI 사용자 모듈에 해당하는 영역으로 OSI 시스템에서 제공하는 애플리케이션 서버인 MPP와 BMP로 구분한다. osiomsvr(Online Manager) 서버는 시스템 서버와 사용자 서버를 활성화하기 위해 필요하며, 그 밖에 OSI 시스템에는 시스템 엔진 영역인 Online Core(Tmax)가 포함된다.

3.1. OSI 시스템 서버(Control Region)

OSI 시스템 서버(Control Region)에는 스케줄 서버(osisschd)와 커맨드 서버(osicmdsv) 두 가지 서버가 존재한다. 이 두 개의 서버는 Tmax UCS 서버 타입으로 제공되고 있다.

  • 스케줄 서버(osisschd)

    요청 받은 메시지의 유효성 판단(유효한 메시지인지를 판단)과 함께 메시지 저장(백업) 및 전달(포워딩)을 동시에 하고 있다. 현재 버전에서 스케줄 서버는 유효한 메시지인지를 판단한 이후에 해당 목적지로 전달만하는 역할을 수행한다. 터미널(화면)로부터 온 메시지의 경우에는 MFS를 통한 데이터 변환이 이루어진 후 MPP 서버로 보내주게 된다.

    구분 설명

    메시지 저장 및 전달

    요청받는 메시지를 메시지 큐(Message Queue 이하 MQ) 테이블에 백업하고 목적지의 타입(커맨드, 트랜잭션 등)에 따라서 적절하게 메시지를 MPP 또는 커맨드 서버, OpenFrame GW에 접속되어 있는 에뮬레이터로 포워딩한다.

    MFS 변환

    MPP와 TN3270 에뮬레이터(중간에 OpenFrame GW가 있음) 사이에서 화면 정보와 애플리케이션에서 정의한 데이터 포맷을 일치시켜주고, 서로 다른 코드 페이지(ASCII와 EBCDIC)로 된 데이터를 중간에서 변환해주는 역할을 한다.

  • 커맨드 서버(osicmdsv)

    OSI 시스템 운영에 필요한 모든 명령어를 처리한다. 명령어는 터미널, imscmd 툴, DL/I CMD call 등을 통해 입력할 수 있다. 명령어 처리 결과는 ${OPENFRAME_HOME}/log/cmd/imscmd_{DATE}.log에 기록된다.

    커맨드 서버에서 처리하는 명령어에 대한 자세한 내용은 OpenFrame OSI "명령어 참조 안내서"를 참고한다.

3.2. OSI 사용자 서버(Dependent Region)

OSI에서 기본적으로 제공하는 시스템 모듈 외에 사용자가 작성한 업무 프로그램을 실제로 운영하기 위해서 사용자는 시스템 설정 단계에서 이를 담당할 서버 모듈을 직접 준비해야 한다. 사용자가 준비해야 하는 서버 모듈은 개념적으로 IMS/DC의 OSI 사용자 서버(Dependent Region)에 해당하는 영역을 의미한다. 일반적으로 IBM 메인프레임에서 운영하던 Dependent Region 하나당 최소 하나씩 사용자 모듈을 준비한다.

다음은 OSI를 운영에 사용되는 사용자 서버이다.

구분 설명

MPP 사용자 서버

IMS/DC에서 MPP Region에 대응되는 부분으로, OSI에서는 메시지의 class 단위로 MPP 서버를 운영한다. 즉, 기존 IMS/DC에서 운영 중이던 MPP Region당 최대 1:4 대응되는 서버이다.

BMP 사용자 서버

IMS/DC의 BMP Region에서 동작하는 사용자 프로그램이 운영될 수 있도록 하는 서버이다.

사용자 서버를 준비하는 과정은 JCL을 사용하여 직접 기동하거나 OSI 명령어를 사용하여 기동할 수 있다. 이와 관련된 사용자 서버 환경설정에 대한 자세한 내용은 사용자 서버 설정을 참고한다.

3.3. OSIOMSVR

OSIOMSVR는 OSI 시스템 서버와 MPP 사용자 서버를 기동 및 종료를 담당하는 서버이다. JCL 혹은 "/START REGION" 명령을 수행하면, OSIOMSVR는 내부적으로 기동에 필요한 리전 정보들을 DB에 저장 후 tmboot를 이용하여 서버들을 기동한다. 반대로 "/STOP REGION" 혹은 "/CHECKPOINT FREEZE" 명령을 수행하면, OSIOMSVR는 내부적으로 DB에서 리전 정보들을 지우고 tmdown을 이용하여 서버들을 종료한다.

OSIOMSVR는 Region을 띄우기 전에 반드시 기동되어 있어야 하며, osiboot 혹은 osidown 툴을 사용하여 OpenFrame Core(Tmax/Base/Batch) 서버와 함께 기동 및 종료할 수 있다.

BMP 사용자 서버는 OSIOMSVR를 거치지 않고 직접 기동/종료한다.

3.4. OSI OTMA 서버

IBM MQ 제품과 연동 및 OTMA 기능을 제공하는 서버이다. MQ 기능은 별도의 설정으로 사용 여부를 지정할 수 있으며, 사용하지 않아도 시스템의 동작에는 영향이 없도록 하고 있다.

다음은 OTMA 서버에서 사용하고 있는 MQI(MQ Interface)이다.

이름 설명

MQCONN

IBM MQ의 큐 관리자에 연결한다.

MQOPEN

오브젝트에 대한 접근을 활성화한다.

MQGET

MQOPEN을 통해 열린 로컬 큐로부터 메시지를 가져온다.

MQPUT

MQOPEN을 통해 열린 로컬 큐로 메시지를 보낸다.

MQCLOSE

오브젝트에 대한 접근을 비활성화한다.

MQDISC

IBM MQ의 큐 관리자와의 연결을 끊는다.

OTMA 서버의 IBM MQ 기능을 사용하기 위한 설정 및 사용법에 대한 자세한 내용은 OpenFrame OSI "환경설정 안내서"를 참고한다.

3.5. OpenFrame Gateway

OpenFrame Gateway(이하 OpenFrame GW)는 OSI 시스템 서버(Control Region)와 TN3270 / TN3270E 에뮬레이터나 웹 브라우저를 통해 접속하는 터미널 사이에 위치하며, OSI 시스템 서버(Control Region)에게 트랜잭션 요청 등을 수행하는 서버이다. 터미널의 접속 정보와 시스템 서버(Control Region)의 정보를 관리하며, VTAM(Virtual Terminal Access Method) Gateway라고도 한다.

다음은 OpenFrame GW의 주요 기능이다.

  • TN3270 프로토콜 지원

  • APPLID 정보 관리(APPLID(Application Identifier)는 OpenFrame GW에 접속하는 터미널 및 OSI 시스템 서버(Control Region)를 의미한다.)

  • IP-LU 매핑 기능 지원

OpenFrame GW의 설정, 기능 및 사용법에 대한 자세한 내용은 OpenFrame GW "운영자 안내서"를 참고한다.

3.6. OpenFrame OSC

OpenFrame OSC(이하 OSC)는 메인프레임 리호스팅 솔루션인 OpenFrame을 구성하는 여러 제품들 중 하나로 CICS에서 운영되는 Online 업무를 간단한 전환 절차를 통해 오픈 시스템에서 운영할 수 있게 하는 제품이다.

OSC의 CICS SEND, CICS RECEIVE 커맨드를 통해 OSI와 통신이 가능하며 OSC에서 보낸 메시지는 스케줄 서버(osisschd)로 전달된다.

OpenFrame OSC의 설정, 기능 및 사용법에 대한 자세한 내용은 OpenFrame OSC "운영자 안내서"를 참고한다.