제1장 소개

내용 목차

1.1. 프로그램 흐름
1.1.1. TCS
1.1.2. POD
1.1.3. UCS
1.2. UCS와 RDP
1.2.1. UCS
1.2.2. RDP

본 장에서는 UCS의 개요 및 함수에 대해 설명한다.

UCS(User Control Server)란, 프로그램의 처리 흐름을 미들웨어에서 제어하지 않고, 사용자가 직접 제어할 수 있는 Tmax 고유의 프로그램 형태이다. 이를 이용한 프로그램과 프로세스를 각각 UCS 프로그램 및 UCS 프로세스라고 한다. 클라이언트의 요청(이벤트)에 의해서만 작업을 수행하는 기존의 방식으로도 작업을 수행할 뿐만 아니라, 서버 프로세스(UCS 프로세스)가 능동적으로 이벤트를 발생시켜 작업을 수행할 수 있다.

클라이언트의 요청이 없어도 정보 전달이 필요한 업무(증권 시세 정보, notify 등), 작업 스케줄링 업무 및 대외기관과의 연동 업무 등에 UCS가 사용되고 있다.

UCS의 필요성

UCS는 말 그대로 사용자가 제어할 수 있는 서버이다. 기존에 데몬 형태로 기동되어 수행했던 특정 시간에 작업수행, 다른 대외기관과의 연동 작업, 클라이언트로의 정보전달 등을 UCS 형태로 작성할 수 있다. 이렇게 작성된 프로그램의 프로세스들은 모두 Tmax 관할이 되어 별도의 프로세스 관리(비정상 종료의 경우 재기동 등)가 필요없다.

다음은 UCS가 사용되는 경우이다.

  • 정보를 변경하면 접속된 클라이언트(특정 클라이언트나 모든 클라이언트)에게 알려주는 형태의 업무

    • 업무사례 1

      증권 업무에서 시시각각 변하는 시세 정보를 클라이언트의 요청이 없이도 전달하여, 클라이언트가 보다 빠르고 정확한 데이터를 받을 수 있다.

    • 업무사례 2

      소프트웨어 장애나 작업 일정에 대한 통보, 기타 공지 사항 등을 관리자나 개발자 또는 사용자에게 통지할 수 있다.

    • 업무사례 3

      은행 업무에서 환거래가 발생한 경우 직접 해당 클라이언트에게 통보하거나 자동화기기의 상태를 특정 클라이언트(자동화기기 관리자)에게 알려줄 수 있다.

  • 작업 스케줄링 형태의 업무

    • 업무사례

      특정 시간에 배치 작업을 수행하거나 기타 스케줄링이 필요한 업무에 사용할 수 있다.

  • 대외 연동 업무

    • 업무사례

      대외기관과의 연동 업무를 구현할 때 보다 효율적이고 간단한 프로그램 구조를 제공한다. 비동기 형태의 거래흐름, 데이터의 도착 유무를 체크하기 위한 looping(이하 루핑)이 없어지므로, 프로그램을 간편하게 작성할 수 있을 뿐만 아니라 CPU의 자원을 절약할 수 있다. 또한 다양한 형태의 업무를 UCS 타입으로 구현할 수 있다. 따라서 개발자가 UCS 프로그램의 처리 흐름을 정확히 이해하고 사용하면 업무를 구현할 때 유용하게 사용할 수 있다.