개요

본 장에서는 OpenFrame OSC를 소개하고 OpenFrame을 구성하는 시스템 중 하나인 OSC 시스템의 특징, 구조를 설명한다.

1. OpenFrame OSC 소개

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

일반적으로 기존 제품에서 운영 중이던 Online 업무 시스템을 오픈 시스템으로 전환하려 고려할 때 다음과 같은 이슈가 제기된다.

  • 기존 Mainframe 상의 기능, 성능 및 안전성을 어떻게 제공하는가?

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

OSC는 Mainframe CICS에서 제공하는 기능과 동일한 기능을 그대로 제공한다. 성능 및 안전성 문제를 해결하기 위하여 오픈 시스템에서 안정성 및 성능이 검증된 TP-Monitor인 Tmax 엔진을 기반으로 동작한다.

Tmax 엔진을 기반으로 하는 OSC는 아래와 같은 Tmax의 특장점을 포함한다.

  • 편리한 프로세스 관리

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

  • 대용량 트랜잭션 지원

    Tmax는 대용량 트랜잭션의 처리를 위해 스케줄링 및 서비스큐 관리 기능을 내부에 포함하고 있다. Tmax는 오픈 환경의 미션 크리티컬한 업무를 수행해야 하는 시스템에 적합하다. Tmax를 기반으로 한 OSC 역시 대용량의 트랜잭션을 안정적으로 지원하고 있다.

  • 부하분산 및 장애극복(Fail-over) 지원

    IBM Mainframe 머신에 비해 오픈 시스템의 머신은 일반적으로 작은 편이다. IBM Mainframe의 업무를 오픈 시스템으로 전환할 때는 보통 2대 이상의 머신으로 하드웨어를 구성하게 된다.

    2대 이상의 하드웨어에 업무를 구성하는 경우 머신 간 부하분산 및 머신 장애에 대한 대책이 중요한 이슈가 된다. OSC에서는 Tmax가 부하분산 및 장애극복(Fail-over)에 대한 대책을 지원하므로, 하드웨어 레벨의 문제에 대한 해결책을 제시한다.

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

    연동 이슈는 IBM Mainframe 환경에서 오픈 시스템 환경으로 리호스팅 직후에 바로 직면하는 중요한 이슈는 아니다. 그러나 운영 중인 시스템을 확장하거나 다른 시스템과 연동해야 하는 상황은 자주 발생한다. 이러한 경우에 Tmax는 다른 X/Open DTP 모델을 준수하는 Tuxedo 같은 상용 TP-Monitor와 자연스럽게 연동되므로 OSC는 기타 다른 리호스팅 솔루션과 비교하여 뛰어난 장점을 갖는다. Tmax의 이러한 장점은 OSC로 작성된 업무 시스템의 확장을 용이하게 한다. 또한 TmaxSoft의 WAS(Web Application Server)인 JEUS 등의 연동을 통해 웹 환경과도 자연스럽게 연동할 수 있는 장점을 가지고 있다. Tmax를 기반으로 한 OSC는 대용량, 고속처리가 필요한 대형 Online 업무 시스템의 리호스팅이 가능하다.

OSC는 기존 CICS에서 수행되던 트랜잭션 서비스들을 UNIX와 같은 개방형 환경에서 동일 또는 유사하게 제공할 뿐만 아니라, 기존 환경에서 개발된 각종 업무 프로그램들이 개방형 환경에서도 업무 로직 및 코드 수정없이 그대로 운영될 수 있도록 한다. OSC는 마이그레이션을 용이하게 하기 위해 IBM Mainframe CICS에서 운영되던 업무를 그대로 적용할 수 있는 인터페이스를 제공하고 있다. 기존 CICS에서 개발된 사용자 프로그램에 사용하는 EXEC CICS, EXEC DLI 구문 및 CBLTDLI 함수가 동일하게 제공된다.

이 외의 OSC 시스템 특징은 다음과 같다.

  • 각 서버 프로세스는 최적의 환경 하에서 업무 처리

    • OSC 애플리케이션 서버는 하나 이상의 프로세스로 구성된다. 따라서 클라이언트로부터 다수의 트랜잭션 요청을 받았을 때 프로세스 스케줄링 기능을 통해 최적의 업무 환경에서 트랜잭션 요청을 처리한다.

    • 업무 부하에 맞춰 자동으로 서버 프로세스 개수를 제어하여 효율적인 분산 처리가 가능하다.

  • 업무 요청에 대해 동시에 병렬적인 트랜잭션 처리 가능

    • 설정 파일, RTSD(Run-Time System Definition) 등의 기능으로 동일한 애플리케이션 서버의 모든 프로세스들이 동시에 같은 리소스 서비스를 제공할 수 있다.

    • 하나의 애플리케이션 서버와 보조 서버들은 Mainframe CICS에 있는 하나의 Region에 Mapping되어 둘 이상의 프로세스들로 구성되어 있더라도 동일한 설정, 리소스 설정 및 리소스 정의들을 내부적으로 관리한다.

  • CICS 업무 프로그램들이 업무 로직에 대한 변환없이 OSC 애플리케이션 서버에 그대로 적용되어 작동 가능

    • OSC는 기존 CICS 시스템에서 제공되던 리소스 서비스들을 Mainframe subsystem에 대응되는 OpenFrame 제품을 통해 동일 또는 유사하게 서비스를 제공한다.

    • CICS에서 제공하는 리소스를 변경없이 마이그레이션할 수 있어, 사용자는 기존에 작성한 사용자 업무 프로그램들을 간단한 마이그레이션 작업만으로도 오픈 시스템에서도 사용할 수 있다.

      다음은 OSC 시스템이 제공하는 서비스 목록이다.

      • Abend support

      • Authentication/Authorization through TACF

      • Channel command

      • Environment services

      • Exception support

      • File control through TSAM

      • Interval control

      • Journaling

      • Mapping Support

      • Named counter server

      • Program control

      • Security

      • Spool interface through TJES

      • Syncpoint

      • Storage Control

      • Task control

      • Temporary storage control

      • Terminal control

      • Transient data control

  • 각종 툴 및 유틸리티를 이용하여 편리한 시스템 관리 기능 제공

    • SysMaster 제품과 연계하여 서버 프로세스 상태 조회, 서비스 건수, 서비스 처리 시간 등의 모니터링이 가능하다.

    • TP-Monitor 시스템 관리 유틸리티인 tmadmin 프로그램들을 함께 활용할 수 있다.

      tmadmin은 TmaxSoft의 TP-Monitor인 Tmax의 유틸리티이다.

  • OpenFrame Manager의 [OSC] 메뉴를 통해 사용자 편의성을 갖춘 GUI 환경 제공

    • OSC 시스템 로그 조회, 서비 리소스 정의에 대한 생성, 조회 및 수정이 가능하다.

    • OSC 서버 상태 또는 서버 정보 및 동적 터미널 정보 등 동적인 시스템의 상태 조회 서비스 기능을 제공한다.

    • 기존 Mainframe CICS Supplied Transaction에 대응되는 기능들을 GUI 환경에서 제공한다.

2. OSC 시스템 구조

다음은 OSC 시스템의 구조이다. OSC 시스템은 전체적인 OSC 시스템 운영을 위한 OSC 시스템 서버와 OSC Region을 구성하는 애플리케이션 서버, 보조 서버, OpenFrame GW로 구성된다. OSC 애플리케이션 서버와 그 보조 서버는 기존 CICS에서 하나의 Region에 해당한다.

figure 1 1
OSC 시스템 구조

2.1. OSC 시스템 서버

OSC에서 제공하는 시스템 서버는 다음과 같다.

시스템 서버 설명

OSCMGR

OSC 전체 Region의 관리자 역할을 하는 서버이다. Region 기동, 종료, SPI, TX_TIME 시간 설정 관련 기능을 제공한다.

OSCSCSVR

시간 조건이 설정된 트랜잭션을 스케줄링하는 서버이다. 애플리케이션 서버와 내부 프로토콜을 사용하여 통신한다.

OSCDFSVR

OSC 애플리케이션 서버들의 EDF 기능을 관장하는 서버이다. OSC 애플리케이션 서버 및 OpenFrame Manager 제품과 통신한다.

OSCMCSVR

OSC 애플리케이션 서버들의 모니터링을 관장하는 서버이다.

OSCNCSVR

Named Counter를 처리하는 서버로 내부적으로 UNIX 파일 시스템을 사용한다. OSC 애플리케이션 서버와 내부 프로토콜을 사용하여 통신한다.

OSCJCSVR

OSC JOURNALMODEL의 TYPE MVS를 지원하기 위한 서버이다.

OSCMNSVR

OSC 시스템의 서버 프로세스들에 대한 모니터링을 위한 추가 서버이다. 서버 프로세스를 모니터링하지 않는 경우 설정하지 않아도 시스템의 동작에 영향이 없다.

2.2. OSC 사용자 서버

OSC에서 제공하는 사용자 서버는 다음과 같다. 사용자가 해당 기능이 필요한 경우 설정하여 사용한다.

사용자 서버 설명

OSCMQSVR

IBM Websphere MQ 제품과 연계하여, OSC 트랜잭션을 위한 Queue Trigger Monitor 기능을 제공하는 사용자 추가 서버이다. Queue Trigger Monitor 기능을 사용하지 않는 경우 설정하지 않아도 시스템의 동작에 영향이 없다.

2.3. OSC Region

OSC Region은 CICS Region에 해당하는 독립적인 개체이다. 각 Region은 서로 다른 설정과 서로 다른 리소스 정의를 바탕으로 사용자 트랜잭션 서비스들을 제공한다. Region마다 설정 파일이 따로 존재하고, 리소스 정의는 OSC SD 테이블을 이용해 관리한다.

OSC 시스템은 하나 이상의 애플리케이션 서버 프로세스들과 보조 서버들로 하나의 Region을 구성한다.

OSC 애플리케이션 서버를 다수의 서버 프로세스로 설정하는 경우 각 프로세스는 동일한 프로그램의 복사본을 동적으로 로드하여 동시에 같은 또는 다른 트랜잭션 서비스를 제공한다. OSC 애플리케이션 서버는 멀티 태스킹(multi-tasking)이 가능하다. 다수의 서버 프로세스가 동일한 서비스를 제공하기 위해서는 같은 리소스 정의를 사용해야 한다. 모든 프로세스는 동일한 설정과 리소스 정의를 참조한다. 엔진 및 서버 설정 파일은 엔진이 기동할 때 시스템 자체에서 내부적으로 동적 복사본을 지니고 있어, 기동 시간에 상관없이 모든 서버 프로세스들을 동일한 설정으로 서비스를 제공한다. 리소스 정의 참조는 지정된 RTSD(Run-Time System Definition) DB 테이블에 리소스 정의를 저장하고 이에 접근하여 가능하다.

보조 서버

OSC Region은 트랜잭션 서비스를 담당하는 애플리케이션 서버 프로세스 외에 보조적으로 다양한 기능을 지원하는 서버들이 추가적으로 제공된다.

사용자 서버 설명

OSCTLSVR

OSC TDQ Log 서버로 로그 타입의 TDQ를 처리하는 서버이다. UNIX 파일 시스템을 내부적으로 접근하며, 성능 향상을 위해 내부 버퍼링 구조를 갖고 있다. OSC 애플리케이션 서버와 TCP/IP 프로토콜을 사용하여 통신한다.

애플리케이션 서버에서 로그 타입 TDQ를 사용하지 않는 경우 설정할 필요가 없다.

OSCOSSVR

OpenFrame Manager 서버로 OpenFrame Manager에 다양한 서비스를 제공하기 위한 서버이다. OpenFrame Manager를 사용하는 경우 필수적으로 설정해야 한다.

리소스 매니저

애플리케이션 서버 프로세스는 업무 프로그램에 다양한 서비스를 제공하기 위하여 다양한 리소스들을 제공한다. 이러한 리소스를 관리하는 리소스 매니저들이 제공된다.

리소스 매니저들의 역할은 지원하는 기능의 특성에 따라 다음과 같이 구분할 수 있다.

  • 서비스 관리 리소스 매니저

    OSC 서버의 다양한 서비스를 관리한다.

    리소스 매니저명 설명

    Program Control

    프로그램 실행을 담당한다.

    Task Control

    태스크 간의 연결을 담당한다.

    Interval Control

    시간과 관련된 작업을 담당한다.

    Storage

    동적 메모리 할당 및 반환 처리를 담당한다.

    TACF

    보안을 담당한다.

    TSQ

    임시 저장 큐를 관리한다.

    TDQ

    데이터 전송 큐를 관리한다.

    Journal Control

    저널 관리를 담당한다.

  • 데이터 관리 리소스 매니저

    데이터 저장 및 조회 등을 관리한다.

    리소스 매니저명 설명

    File Control

    TSAM 데이터셋 접근을 관리한다.

    DL/I control

    IMS/DB 접근을 관리한다.

    NCS

    Named Counter 서버 접근을 관리한다.

  • 데이터 통신 리소스 매니저

    터미널이나 다른 시스템과의 통신을 관리한다.

    리소스 매니저명 설명

    Terminal

    터미널 연결 및 관리를 담당한다.

    Mapping Support

    Map 변환 처리를 담당한다.

    Spool

    TJES 시스템의 인터페이스 역할을 담당한다.

리소스를 관리하는 리소스 매니저는 공유 라이브러리 형태로 사용자에게 제공된다. 리소스 매니저는 애플리케이션 서버 프로세스의 바이너리가 생성될 때 동적으로 링크된다. 애플리케이션 서버를 생성할 때 자동으로 링크가 되므로 사용자가 관여하지 않아도 된다. 사용자는 업무 프로그램에서 EXEC CICS 또는 EXEC DLI 명령어를 통하여 리소스를 활용할 수 있다.

각 리소스 및 리소스 매니저에 대한 자세한 내용은 OpenFrame OSC "개발자 안내서”를 참고한다.

2.4. OSC Region 연결

OSC Region으로의 접속은 TN3270 / TN3270E 에뮬레이터와 EXCI 클라이언트를 통해서 가능하다.

구분 설명

TN3270 / TN3270E 에뮬레이터

PC(Personal Computer)에서 IBM 3270 터미널을 에뮬레이션하는 프로그램으로 이를 통하여 OSC Region에 접속하여 업무를 수행할 수 있다.

먼저 OpenFrame GW로 접속한 다음, 'LOGON APPLID(Region명)' 명령어를 입력하여 특정 OSC Region에 접속한다.

EXCI 클라이언트

OpenFrame Batch 프로그램에서 OSC 시스템에 접근하는 방법으로 EXCI 프로그래밍 인터페이스를 사용한다.

2.5. OpenFrame Gateway

TN3270 / TN3270E 에뮬레이터나 웹 브라우저를 통해 접속하는 터미널 관리, OSC 애플리케이션 서버에게 트랜잭션 요청 등을 수행하는 서버이다.

OpenFrame Gateway에 대한 자세한 내용은 OpenFrame GW "운영자 안내서”를 참고한다.

3. OSC 기동 및 종료

OSC 기동 및 종료는 OpenFrame 시스템 서버를 기동/종료하는 단계와 OSC 시스템 서버 및 OSC Region을 기동/종료하는 단계로 나누어진다. 각 단계별 상세한 설명은 OSC 기동 및 종료를 참고한다.

3.1. 기동

OSC 기동은 OpenFrame 시스템 서버를 기동하는 단계와 OSC 시스템 서버 및 사용자 서버를 기동하고, 마지막으로 각 OSC Region을 기동하는 단계로 나뉜다.

  1. OpenFrame 시스템 서버 기동

    OpenFrame 시스템 서버를 설정 파일(ofsys.seq)에 따라 순차적으로 기동한다.

  2. OSC 시스템 서버, OSC 사용자 서버 기동

    OSC 시스템 서버을 기동하고 설정 파일(ofosc.seq)에 따라 OSC 사용자 서버를 순차적으로 기동한다.

  3. OSC Region 기동

    먼저 OSC Region을 위한 공유 메모리 및 디렉터리, 파일 등의 리소스를 생성하는 준비 단계를 거친 후 OSC Region 서버를 기동한다. OSC Region 기동 과정에서 PLT(Program List Table)에 등록된 기동 후처리 프로그램을 수행한다. 초기화 프로그램 수행이 끝나면 OSC Region의 기동이 완료된다.

3.2. 종료

OSC 종료는 OSC 각 Region 종료 단계, OSC 사용자 서버 및 OSC 시스템 서버를 종료하는 단계와 OpenFrame 시스템 서버를 종료하는 단계로 나뉜다.

  1. OSC Region 종료

    먼저 해당 OSC Region의 PLT(Program List Table)에 등록된 종료 선처리 프로그램을 수행한다. OSC Region 서버를 종료한 다음 OSC Region이 사용한 공유 메모리 및 디렉터리, 파일 등의 리소스를 삭제하여 OSC Region을 종료한다.

  2. OSC 사용자 서버 및 OSC 시스템 서버 종료

    설정 파일(ofosc.seq)에 따라 기동한 순서의 역으로 OSC 사용자 서버를 종료하고, OSC 시스템 서버를 종료한다.

  3. OpenFrame 시스템 서버 종료

    OpenFrame 시스템 서버를 설정 파일(ofsys.seq)에 따라 기동한 순서의 역으로 종료한다.