OpenFrame 구성

본 장에서는 OpenFrame의 아키텍처와 구성요소에 대해 기술한다.

1. OpenFrame 아키텍처

OpenFrame은 Mainframe 환경의 업무 시스템을 오픈 환경 플랫폼으로 전환하여 운용할 수 있도록 해주는 리호스팅 솔루션이다. 전환하려는 업무 애플리케이션의 성격에 따라 Online 업무와 Batch 업무로 구분이 된다. 전환 대상 업무에 맞추어 OpenFrame 솔루션도 Online 제품(OpenFrame AIM)과 Batch 제품(OpenFrame Batch XSP 혹은 MSP)으로 구분되어 제공된다.

OpenFrame을 적용하면 Mainframe 시스템에서 요구하는 애플리케이션과 기존 데이터를 UNIX 환경에서 운용할 수 있다. 또한 엔터프라이즈 미들웨어인 TP-Monitor Tmax, 웹 서버, WAS, Batch 솔루션, 프레임워크, APM, 보안, 그리고 스토리지 기술 등의 진보한 기술들과 서로 연동하여 사용할 수 있도록 설계되었다.

다음은 OpenFrame의 구성을 도식화한 그림이다.

figure 3 1 fujitsu
OpenFrame 구성도

2. OpenFrame의 구성 요소

OpenFrame MSP(XSP)는 Base, Batch, TACF, AIM, NDB와 OpenFrame GW, OpenFrame Manager로 구성된다.

2.1. OpenFrame Base

OpenFrame Base는 OpenFrame AIM과 OpenFrame Batch에서 공통으로 사용되는 모듈과 기반이 되는 서비스를 하나의 패키지로 묶은 제품이다. 따라서 Base 시스템은 Online 업무, Batch 업무에 상관없이 기본적으로 설치가 되어야 한다.

OpenFrame Base는 기존의 Mainframe OS 레벨의 자원과 서비스에 대응하는 기능을 제공하는 시스템이다. 특히, UNIX 시스템에는 존재하지 않지만 리호스팅 전반에 걸쳐 필요한 Mainframe 시스템의 독창적인 개념을 UNIX 시스템에서 구현하고 있다. 이는 OpenFrame AIM, Batch와 같은 서브 제품들의 공통 기반으로 사용되고 있으며 상호 연동에 중요한 역할을 한다.

Base 시스템은 Tmax 엔진, 데이터셋, 코드 페이지, 콘솔로 구성된다.

  • Tmax 엔진

    Tmax는 분산 환경 시스템에서 다른 기종 컴퓨터 간의 트랜잭션 처리를 보장하면서 부하를 분산시키고 에러가 발생할 때 적절한 조치를 담당하는 TP-Monitor 제품이다. 주요 기능은 프로세스 관리, 트랜잭션 관리, 부하 조절 및 장애 대책이다.

    OpenFrame 솔루션은 Tmax 엔진을 기반으로 개발되어 멀티 노드 클러스터링, 로드 밸런싱 및 Fail-Over 특성을 물려받아, 기존의 Mainframe에서 제공하던 고가용성과 안전성을 사용자에게 보장한다.

  • 데이터셋

    Mainframe에서는 OS 레벨에서 레코드 I/O 및 트랜잭션을 지원하는 다양한 종류의 데이터셋을 사용할 수 있다. 반면에 UNIX 파일 시스템에서는 기본적인 Block 단위의 Read/Write 기능만을 제공한다.

    Base 시스템에서는 자체적으로 보유하고 있는 관계형 데이터베이스 기술을 응용하여, Mainframe에서 제공하는 데이터셋 기능을 오픈 환경에서 제공하기 위해 데이터셋 모듈과 서비스를 제공한다.

  • 코드 페이지

    일반적으로 Mainframe에 저장된 사용자 데이터는 EBCDIC(JEF) 코드 셋에 따라 저장되어 있다. 하지만 OpenFrame 솔루션은 오픈 환경의 표준인 ASCII(Shift-JIS) 코드 셋에 따라서 사용자 데이터를 저장한다.

    따라서 Mainframe의 데이터를 오픈 환경으로 이관하는 경우나 반대로 Mainframe과의 업무 연동을 위해 오픈 환경에서 Mainframe으로 데이터를 전송할 때, 문자 코드의 변환이 필요하며 코드 변환에 사용되는 Mapping 테이블인 코드 페이지를 관리해야 한다.

  • 콘솔

    시스템 콘솔 혹은 콘솔은 시스템 커널에서 시스템 관리자에게 메시지를 출력하고, 시스템 관리자가 시스템을 관리하는 명령을 입력할 수 있도록 해주는 화면과 키보드를 의미한다. Mainframe 관리자는 제공된 콘솔을 사용해서 시스템을 관리하고 운영한다.

    하지만 일부 Mainframe 시스템에서는 시스템 콘솔을 Mainframe 시스템을 관리하는 용도로만 사용하는 것이 아니라, 특정 업무 애플리케이션이 실행될 때 실시간으로 필요한 데이터를 애플리케이션에 직접 입력할 수 있는 창구 역할도 담당한다. OpenFrame에는 이러한 Mainframe의 콘솔 기능을 제공하기 위해 가상의 콘솔 인터페이스를 제공한다.

2.2. OpenFrame Batch

OpenFrame Batch는 리호스팅 솔루션인 OpenFrame을 구성하는 여러 제품들 중 하나로 Mainframe에서 구동하던 Batch 작업을 JCL이나 업무 로직 또는 데이터를 최소한으로 수정하여 저비용의 개방형 환경에서 운영할 수 있게 하는 제품이다.

OpenFrame Batch의 특징은 다음과 같다.

  • JCL과 Batch 애플리케이션의 코드 수정 불필요

    고객의 업무 로직을 변경하지 않고 Mainframe에서 실행되던 업무 프로그램을 그대로 오픈 시스템 환경에서 구동할 수 있다. JCL이나 업무 프로그램을 변경없이 사용할 수 있으므로 프로그램 재개발로 인한 위험 부담을 줄일 수 있다.

    OpenFrame Batch for XSP의 경우 XSP JCL을 지원하며 OpenFrame Batch for MSP는 MSP JCL을 지원한다.

  • 다양한 UNIX 애플리케이션과의 연동 및 확장 용이

    UNIX 시스템에서 제공하는 다양한 애플리케이션 사용으로 새로운 Batch 작업 개발이 쉽다.

  • 여러 대의 UNIX 서버를 1개의 Batch 시스템처럼 사용하여 분산 처리 환경 구축 가능

    Batch 작업 증가로 인해 발생한 부하를 Tmax를 통해 분산시키거나 물리적인 서버 증설로 부하를 분산함으로써 문제를 해결한다.

    TP-Monitor인 Tmax를 기반 시스템으로 하여 개발된 OpenFrame은 데이터베이스 장애와 하드웨어 장애 등의 문제가 발생해도 탁월한 fail-over 기능으로 Batch 작업을 수행하는데 영향을 받지 않는다. Tmax 서버의 자동 감시를 통해 자동 복구 기능을 제공한다.

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

    실제 전환 업무를 처리할 때 필요한 다양한 유틸리티 및 툴 지원과 유틸리티 개발을 위한 라이브러리를 제공한다. 기존 XSP나 MSP JCL에서 사용되던 여러 가지 유틸리티 프로그램을 Batch 환경에서 실행할 수 있다.

다음은 OpenFrame Batch 시스템의 구성을 도식화한 그림이다.

figure 3 5 fujitsu
OpenFrame Batch 시스템 구성도

OpenFrame Batch의 구성 요소는 다음과 같다.

  • TJES

    Mainframe의 JES에 대응하는 OpenFrame 시스템의 Batch JOB 관리 시스템이다. JCL을 통해 사용자로부터 JOB을 받아들이고, 이를 시스템의 자원상황에 맞추어 스케줄링 한 후 RUNNER를 통해 수행하고, JOB의 수행 결과를 프린트하고 조회하는 등 OpenFrame에서 일어나는 JOB에 관한 모든 수행을 관장한다.

  • UTILITY

    기존의 Mainframe에서 제공되었던 데이터셋 조작관련 유틸리티는 오픈 환경에서도 동일하게 제공하고 있으며, 이외에 Mainframe에서 사용되었던 3rd-Party 유틸리티도 기존과 동일하게 사용할 수 있도록 인터페이스를 제공하고 있다.

    JCL의 PGM에 기술되는 유틸리티는 해당 JOB을 전송했을 때 실제 Batch 작업을 실행하는 프로그램 요소이며, 기능에 따라 다양한 유틸리티를 제공한다.

  • TOOL

    Mainframe에서 사용되던 데이터셋이나 데이터베이스 등을 마이그레이션하는 과정에서나 OpenFrame 시스템을 운영하는 데 필요한 다양한 기능을 제공한다.

2.3. OpenFrame TACF

Mainframe의 RACF에 대응되는 제품으로 OpenFrame에서 인증 및 리소스에 대한 접근을 제어한다.

OpenFrame TACF의 특징은 다음과 같다.

  • 사용자 인증

    OpenFrame 시스템에 접근하는 사용자에 대해 적절한 사용자인지를 확인하는 과정으로 사용자 ID와 비밀번호를 필요로 하며, 인증에 실패한 사용자는 시스템과 시스템에서 제공하는 리소스에 접속할 수 없다.

  • 리소스 접근제어

    리소스 접근 리스트에 따라 사용자별로 특정 리소스에 대한 접근을 제어한다.

  • 리소스 접근에 대한 기록

    시스템 접속시간, 접근횟수, 접근한 리소스에 대한 통계정보를 기록하여 시스템 관리자가 각종 리소스 통계와 리소스의 보안 노출 정도를 확인할 수 있다.

OpenFrame TACF는 Tmax 클라이언트/서버 형태 및 API 라이브러리로 구성되어 있다.

다음은 OpenFrame TACF 동작과정에 대한 설명이다.

figure 3 4
OpenFrame TACF 동작과정

Resource Manager에게 특정 자원에 대한 접근이 이루어지면 Resource Manager는 해당 접근권한을 TACF Server에게 요청하게 되고 TACF Server는 정의된 접근권한을 TACF Database에서 검색하여 해당 접근요청에 대한 가불을 Resource Manager에게 돌려준다. 따라서 개별적인 자원접근에 대한 통합적인 관리를 하게 된다.

2.4. OpenFrame AIM

OpenFrame AIM은 OpenFrame의 Online에서 제공하는 시스템 타입 중에서 Fujitsu AIM 환경을 리호스팅하기 위한 시스템이다. 트랜잭션 처리 미들웨어인 Tmax 기반 위에서 운영되므로, AIM 시스템을 이해하기 위해서는 Tmax 제품에 대한 이해도 함께 수행되어야 한다.

OpenFrame AIM 시스템은 기존 Fujitsu AIM에서 수행되던 트랜잭션 서비스들을 UNIX와 같은 개방형 환경에서 동일 또는 유사하게 제공한다. 이와 더불어, 기존 환경에서 개발된 각종 업무 프로그램들이 개방형 환경에서도 업무 로직 및 코드 수정없이 그대로 운영될 수 있도록 한다.

다음은 OpenFrame AIM의 개념을 기반으로 한 시스템의 특징이다.

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

    OpenFrame AIM의 애플리케이션 서버는 하나 이상의 프로세스로 구성된다. 따라서 클라이언트로부터 다수의 트랜잭션 요청을 받았을 때 프로세스 스케줄링 기능을 통해 최적의 업무 환경에서 트랜잭션 요청을 처리한다. 업무 부하에 맞춰 자동으로 서버 프로세스 개수를 제어하여 효율적인 분산 처리가 가능하다.

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

    설정 파일, RTSD(Run-Time System Definition) 등의 기능으로 동일한 애플리케이션 서버의 모든 프로세스들이 동시에 같은 리소스 서비스 제공이 가능하다. 하나의 애플리케이션 서버는 Mainframe AIM에 있는 하나의 JOB에 매핑된다.

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

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

    OpenFrame AIM 시스템은 기존 AIM에서 개발된 사용자 프로그램에 사용할 수 있도록 응용 프로그램 인터페이스를 제공한다. 또한 기존 AIM 시스템의 구축에 사용했던 ADL 문등의 리소스를 변경없이 마이그레이션 할 수 있어 사용자는 기존에 작성한 사용자 업무 프로그램들을 간단한 마이그레이션 작업만으로도 오픈 시스템에서도 사용할 수 있다.

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

    TP-Monitor 시스템 관리 유틸리티 프로그램들을 함께 활용할 수 있다. 자사의 APM 제품인 SysMaster 제품과 연계하여 서버 프로세스 상태 조회, 서비스 건수, 서비스 처리 시간 등의 모니터링이 가능하다.

    OpenFrame AIM의 시스템 로그 조회, 서비스 리소스 정의에 대한 생성, 조회 및 수정이 가능하다. 또한, OpenFrame AIM 서버의 상태, 각종 설정 정보, 연결되어 있는 터미널에 대한 정보를 포함하는 시스템 상태 조회 서비스 기능을 제공한다. 기존 Mainframe에서 AIM 시스템을 운용에 사용되던 커맨드나 콘솔 기반의 기능을 GUI 환경에서 제공한다.

다음은 OpenFrame AIM 시스템의 구성을 도식화한 그림이다.

figure 3 3 aim
OpenFrame AIM 시스템 구성

OpenFrame AIM 시스템은 다음과 같이 구성된다. OpenFrame AIM에서 트랜잭션의 요청은 TN3270 에뮬레이터를 통해서 가능하다.

구분 설명

OpenFrame GW

외부 단말(Workstation)의 접속과 메시지 송수신을 담당하는 모듈이다.

AIMOMSVR

애플리케이션의 상태 조작 및 관리하는 서버 프로세스이다.

AIMDCMS

단말 혹은 애플리케이션 간의 메시지 큐잉과 송수신을 관리하는 서버 프로세스이다.

AIMAPSVR

사용자가 작성한 애플리케이션을 실행 및 관리하는 서버 프로세스이다.

2.5. OpenFrame NDB

OpenFrame NDB는 Fujitsu Mainframe의 AIM/DB 제품에 대응되는 TmaxSoft의 OpenFrame 제품으로 사용하기 위해서는 시스템적으로 몇 가지 준비사항이 필요하다.

다음은 OpenFrame NDB의 주요 구성요소에 대한 설명이다.

figure ndb
OpenFrame NDB 구조도
  • OpenFrame NDB Nucleus

    OpenFrame NDB의 중심이 되는 영역이다. 입력 받은 ADL을 분석하거나 NDB 데이터를 처리하고 관련 메모리 버퍼 및 저장 공간 등을 관리하는 기능을 담당한다.

  • 인터페이스

    Fujitsu AIM/DB와 동일한 인터페이스를 제공하여 COBOL, PL/I, C 등의 기존 프로그램을 그대로 사용할 수 있도록 한다.

  • 스키마 정보

    OpenFrame NDB에서 ndbadlgen 툴을 이용하여 스키마의 정보를 토대로 OpenFrame NDB 메타 테이블에 저장하게 된다. ndbadlgen 툴에 대한 자세한 설명은 OpenFrame NDB "툴 참조 안내서"를 참고한다.

2.6. OpenFrame GW

OpenFrame GW는 Mainframe 리호스팅 솔루션인 OpenFrame을 구성하는 여러 제품들 중 하나로 다수의 3270 터미널을 실시간으로 관리 및 모니터링 해주고, 온라인 제품들(OSC, IPF, AIM)과 터미널 사이에서 데이터 처리, 트랜잭션, 터미널 관리를 한다.

OpenFrame GW는 WAS 위의 웹 서버로 구현되며, DB(Tibero)에는 현재 접속된 터미널, 기동되어 있는 Online Region들의 정보가 저장된다.

OpenFrame GW는 다음과 같은 서비스를 제공한다.

  • 애플리케이션 프로그램과 터미널 사이의 연결을 관리

  • 애플리케이션 프로그램과 터미널 간에 데이터 전송

  • 애플리케이션 프로그램 간의 터미널 공유

  • 터미널 접속을 위한 LU 이름 자동할당

  • 네트워크 작업을 감시 및 관리

  • 웹 브라우저를 활용하여 3270 애뮬레이터 제공

OpenFrame GW의 특징은 다음과 같다.

  • 터미널의 시작과 종료 및 접근 제어

    애플리케이션 프로그램을 통하여 터미널의 연결을 종료할 수 있으며 설정에 따라 터미널에 연결할 수 있다. 할당된 리소스에 따라 터미널의 연결을 제어한다.

  • 웹 터미널 사용

    OpenFrame GW에서 사용자에게 웹 터미널을 제공하며, 사용자는 웹 터미널을 통해서 OpenFrame GW 내부적으로 3270 데이터 프로토콜을 유지하며 3270 프로토콜 애뮬레이터와 동일하게 사용 가능하다.

  • DB를 통한 리소스 공유

    사용 가능한 애플리케이션 서버와 이와 관련된 리소스들을 DB를 통하여 공유한다.

figure 3 6
OpenFrame GW 구성도

OpenFrame GW의 특징과 각 서버에 대한 자세한 내용은 OpenFrame GW “운영자 안내서”를 참고한다.

2.7. OpenFrame Manager

OpenFrame Manager는 OpenFrame에서 일어나는 전반적인 작업들에 대한 개발, 제어, 관리, 분석을 담당한다. OpenFrame Manager는 웹 기반의 클라이언트와 Java로 개발된 서버로 구성된다.

Base, Batch, TACF, Online 제품들(OSC, IPF, AIM)에 대한 전반적인 제어와 관리, 모니터링을 담당하는 Common Manager, Batch Manager, TACF Manager, Online Manager으로 구성된다.

OpenFrame Manager의 특징은 다음과 같다.

  • OpenFrame을 위한 사용자 인터페이스

    OpenFrame을 운영하는 데 필요한 전반적인 사용자 인터페이스를 제공하기 위한 툴로 Web기반의 UI를 제공한다. 사용자는 UNIX 운영체제 또는 OpenFrame 시스템에 대한 충분한 이해없이도 사용자 입장에서 설계된 GUI 화면을 통해 친숙한 환경을 경험할 수 있다.

  • TACF 인증

    설정 파일의 인증 타입을 TACF로 설정할 경우 OpenFrame 자체 인증 시스템인 TACF와 연동하여 인증 기능을 사용할 수 있다. 이 경우 TACF 매니저를 통하여 개별 리소스에 대해 사용자마다 서로 다른 인증 권한을 등록할 수 있으므로 사용자에 맞게 권한을 제어할 수 있다.