Introduction

This chapter describes the basic concept of ProFrame in terms of development.

1. Development Concept

ProFrame is a framework for online and batch service development. Since it provides common structure and development implementation, the development of flexible service with extended functions is enabled. The service developed with ProFrame can maintain stable system performance and allow easy maintenance.

ProFrame provides a GUI tool, ProFrame C Studio (hereafter Studio) that offers an integrated development environment where developers easily implement business logic. Studio allows developers to develop a business-logic-centered service flow with the Enterprise Module Bus (EMB) technology.

2. Development Characteristics

ProFrame can be divided into developer and framework areas.

figure1 1
ProFrame - Developer and Framework Areas

In ProFrame Business Layer (developer area), developers implement only pure application logic. ProFrame Infra Layer (framework area) provides developers with functions for system reliability, middleware, transaction management, and interface handling as abstract API.

The following are each area’s characteristics.

  • Developer area (ProFrame Business Layer)

    • Pure application logic implementation

    • Template support for each transaction type

    • System resource access by using API

  • Framework area (ProFrame Infra Layer)

    • Memory leak management

    • Transaction commit and rollback

    • Core interface handling

figure1 2
ProFrame Architecture

ProFrame architecture is divided into 3 tiers (business, channel, and data tiers) as shown in ProFrame Architecture. Since the business tier is separated from the channel and data tiers, developers can develop an application by taking into account only business logic. In addition, the business tier’s separated 3 layers (business rule service, common service, and framework service layers) support standard and easy development.

This guide does not cover ProFrame architecture in detail and describes only development-related items.

Based on the ProFrame architecture, developers play the following roles in software design and development stages.

  • Design stage

    By using EMB technology for design, developers design new online or batch service by composing and assembling modules for each application unit.

  • Development stage

    By using EMB technology for coding, developers develop new online or batch service by developing modules for each application unit and assembling them.

    In addition, ProFrame maintains the consistency of source code in the development stage and uses the Java-style Hungarian notation for easy maintenance. The input and output modules, application modules, and data processing modules developed in this way can be combined and integrated for reuse.

The following shows the development implementation area centered process of application development.

figure1 3
ProFrame Runtime Architecture
  • Developer implementation area

    Developers implement business logic by using EMB Designer embedded in Studio.

  • Input processing area

    ProFrame engine area in charge of processing input and output conversion of services. It transfers input information such as transactions' basic information setting, common parameter loading, input message logging, and message header structure conversion.

  • Transaction control area

    ProFrame engine area in charge of controlling transactions, processing flows, transaction availability, suspension, and access permission.

  • Center-cut processing area

    ProFrame engine area provided to process online service in batch or parallel.

  • System common area

    API area provided to applications for ProFrame engine’s performance, reliability, and error handling.

  • Data access area

    ProFrame engine area in charge of handling runtime database interfaces by using DBIO modules added by a developer.

  • Post-processing area

    ProFrame engine area provided to process separated informational data almost in real time and ensure transaction integrity. Informational data is separated from transactions and used to increase the response speed of online transactions.