소개

본 장에서는 ProFrame를 이용하여 온라인 프로그램을 작성하기 앞서 고려해야 할 대상이나 서비스 모듈에 대해 설명한다.

1. 개요

온라인 프로그램은 고객, 텔러, ATM 등의 MCA(Multi-Channel Architecture) 시스템이나 EAI(Enterprise Application Integration) 시스템에서 각 단위 시스템에 의해 실행되며 독립적인 트랜잭션을 가지는 프로그램이다. 온라인 프로그램은 모든 트랜잭션에 대하여 이미지 로그와 업무 로그를 남기는 특징이 있다.

  • MCA(Multi-Channel Architecture)

    다양한 채널을 통합하는 인터페이스를 이용하여 하나의 전체 시스템으로 만들어주는 구조이다.

  • EAI(Enterprise Application Integration)

    기업 내 상호연관되는 모든 애플리케이션을 유기적으로 연동하여 필요한 정보를 중앙 집중적으로 통합하고 관리 및 사용할 수 있는 환경이다.

온라인 프로그램을 작성하기 위해 대상을 선정할 때 다음의 사항을 고려해야 한다.

  • 기능 중심 및 단품성

    기능 중심으로 대상을 선정해야 하고 단품성을 지녀야 한다. 여기서 단품성이란 고유 기능을 가진 최소단위를 뜻한다.

  • 독립적인 트랜잭션

    독립적인 트랜잭션으로 인식되어야 하는 경우에 작성한다. 즉, 별도의 업무로그를 남겨야 할 때 작성한다.

  • 트랜잭션 분리

    트랜잭션을 분리할 필요가 있는 경우에 작성한다.

2. 서비스 모듈

ProFrame에서 온라인 프로그램은 서비스 모듈 형태로 작성된다. 서비스 모듈은 다른 모듈과 연동할 때 호출 대상이 되는 프로그램이다.

다음은 서비스 모듈의 특징이다.

  • TP-Monitor의 서비스와 동일하다.

  • 온라인 트랜잭션 처리를 위한 비즈니스 단위이다.

  • 업무 선후처리 모듈을 가진다. 서비스 모듈과 업무 선후처리에서는 CommBuff를 읽고 쓸 수 있다.

  • 거래코드별 서비스 모듈은 하나로 한다.

  • 입출력 구조체를 하나씩 지정할 수 있다.

  • 채널 또는 단위 시스템에서 직접 호출되는 프로그램이다.

3. 서비스 모듈의 단품성

단품성은 고유기능을 가진 최소 단위를 말한다. 서비스 모듈이 단품성을 가질수록 모듈의 재사용성이 증가된다. 복합적인 기능이 추가된 모듈을 사용하는 개발자는 모듈의 기능들을 정확히 이해해야 하므로 모듈의 재사용성과 프로그램의 오류 발생률이 높아진다. 즉, 입금 서비스는 입금 기능만 가져야 하고 출금 서비스는 출금 기능만 가져야 한다.

예를 들어 입금과 출금기능을 동시에 가지고 있는 서비스 모듈은 입금 서비스와 출금 서비스가 연동하는 별도의 새로운 서비스로 작성해야 한다.

4. 서비스 모듈과 타 모듈과의 호출 관계

서비스 모듈은 시작 노드이며 모든 트랜잭션은 서비스 모듈을 통하여 시작하고 종료한다. 반면 Business 모듈, Virtual 모듈, DBIO 모듈 등은 말단 노드(leaf node)이기 때문에 이와 같은 모듈에서 서비스 모듈을 호출하는 것은 바람직하지 않다. 이러한 경우 모듈의 재사용성을 떨어뜨리는 부작용이 발생한다.

EMB Designer에서 EMB 모듈의 설계 단위가 되는 각 모듈과 함수에 대한 내용은 ProFrame EMB 개발 안내서를 참고한다.

다음은 서비스 모듈과 다른 모듈 간의 호출 관계에 대한 설명이다.

  • Business 모듈

    비즈니스 모듈은 비즈니스 로직을 담고 있는 모듈이다. 모든 모듈 호출이 가능하나 비즈니스 모듈에서 직접 서비스 모듈 호출은 불가능하다.

  • Inner 모듈(이하 IM), Loop 모듈(이하 LM)

    edge 역할을 수행하며 노드와 노드 사이를 연결하는 모듈이다. 이 모듈은 모든 모듈을 호출할 수 있다.

  • Virtual 모듈(이하 VM), Virtual Function(이하 VF), DBIO 모듈

    말단 노드의 역할을 수행하는 모듈이다. 따라서 다른 모듈을 호출할 수 없다.