Chapter 2. Introduction to ProFrame

Table of Contents

2.1. Overview
2.2. Architecture
2.2.1. Channel Tier
2.2.2. Business Tier
2.2.3. Data Tier
2.3. Components

This chapter describes about ProFrame and its architecture and components.

2.1. Overview

ProFrame is an integrated application framework that improves business application process, allows rapid IT implementation, and provides management plans in order to quickly realize enterprise strategies for Real-Time Enterprise (RTE) and Virtual Enterprise. RTE means a company that maximizes its competitiveness by processing internal or external processes in real time.

ProFrame redefines the nature and role of information systems from multiple project implementation experiences and software engineering perspectives, and designs IT architectures more flexible and agile. In addition, it ensures the consistency of distributed data by providing a rule-based software factory to maximize development productivity and enables effective IT environment realization and real-time change through innovation in system monitoring and deployment management.

Design Idea

ProFrame is a robust framework that guarantees reliability, high performance, and flexibility that are essential for large-scale IT environments.

  • Reliability

    • Architecture based on proven TP monitor

      • Secures reliability with the take-over function when there is a TP Monitor issue.

      • Applies a layered application architecture for each function and improves system operation stability through transaction flow control.

      • Uses an architecture based on the TP monitor that is proven in various enterprise IT environments.

    • Reliable application framework

    • Failure-prevention framework service

      • Develops stable applications with resource management such as memory and database cursors.

      • Prevents memory errors by forbidding the use of pointers in business module.

      • Detects the use of forbidden functions.

  • High performance

    • Efficient database access

      • DBIO provides various management functions for DBAs to detect SQL dictionaries that affect performance.

      • Since DBIO creates source code using the embedded SQL provided by a DBMS vendor, it guarantees high processing performance.

    • Simple structure using minimized resources

      • Has embedded functions that minimize network and disk I/O.

      • Minimizes memory usage by building an entire program as shared objects. Each shared object can be called with Dlcall, which allows service-level management.

      • Eliminates repetitive database access by using standardized CommBuff.

    • Efficient batch processing structure

      • Processes multi-node for online batch.

      • Guarantees rapid response to online service through post-processing flow control according to online transaction frequency.

      • Improves batch transaction performance through the efficient online batch processing structure.

    • Non-blocking interface structure

      • Has an architecture that provides high performance with minimal resources by implementing internal and external system interfaces with non-blocking structure.

      • Prevents core server blocking through asynchronous integration with external systems.

  • Flexibility

    • EMB-based flow-oriented application development

      • Separates application process flows from business logic.

      • Increases business visibility through flow-based design.

      • Minimizes hard coding.

      • Maximizes reuse of modules.

    • Flexible operation and management

      • Flexibly responds to changes in business requirements by designing common application functions as modules.

      • Improves management flexibility with complex transaction control.

      • Secures independence of applications' underlying infra by processing functions related to EDW, 24/7 non-stop service, and transaction control in the framework.

    • Rule-based flexible and rapid application logic development

      • Independently maintains business logic registered in a rule regardless of changes in underlying infra.

      • Guarantees stability of source code that is automatically generated by rules.

      • Improves development productivity because only pure business logic is developed.

    • Infra-independent application logic structure

      • Uses ProMapper, which handles input/output of various channels as parameters based on rules. Therefore, when adding a new transaction channel, you can only override the input/output without modifying the existing program.

      • Automatically adds or removes data-tier logic through DBIO without affecting applications.

      • Enhances the independence of applications by providing various control functions at the framework level.

    • Parallel implementation of projects through multi-project function

      • In ProFrame, you can develop applications for multiple projects by using the project delimiter of metadata for logical separation.

      • Provides the independence of an execution environment because runtime can be set for each project.

    • Separation of development area and operation image

      • Provides a structure where you can separately manage a development area (workspace) and an operation image (release-image).

      • Can move resources of development and operation configurations through check-in and check-out.

      • Provides flexible simulation that can call the production version of resources in the call relationship with resources under development.

Characteristics

ProFrame has the following characteristics.

  • High performance and reliability

    ProFrame provides an architecture for system construction that supports efficient resource use and scalability with high performance, reliability, and availability.

    ProFrame provides various technologies to ensure high performance. It uses Dlcall (Dynamic Library Call), the module calling method, to guarantee high performance and minimized overhead by converting Source-Gen message structure using ProMapper. TCache architecture improves performance and enables information synchronization by supporting fast access to frequently used data. In addition, it is possible to prevent excessive memory access and leaks with the Memory Manager, which prevents low performance and memory leaks due to excessive use of memory.

    Hot deploy supported by ProFrame enables 24/7 uninterrupted service by applying the changed module in real time without server interruption. The central control for enterprise-wide applications not only prevents system failures and provides a stable service environment but also supports efficient resource management.

  • EMB for Intra-SOA

    ProFrame provides Enterprise Module Bus (EMB) architecture in the development environment, which enables programming various types of modules without coding. This allows the reuse of unit modules and has the idea of ​​SOA because it is possible to develop a new service by assembling and disassembling modules. In addition, it improves the efficiency of system construction and further development through standardization.

  • Business-oriented architecture

    Next-generation IT systems aim for business competitiveness by focusing resources on business productivity rather than systems. ProFrame provides systemic functions such as TP monitor, transaction processing, interface processing, and automatic batch processing as common modules, so that developers can concentrate and implement only business logic that is specific to the business. In addition, even in the case of developing a business module, it can be freely implemented or changed only by assembling and disassembling modules in a UI environment where the company can apply its requirements to the system. ProFrame enhances a company's business capabilities through rapid system application, launch, and agile response to changes.

  • Next-generation Integrated Platform

    Companies build next-generation systems to flexibly respond to the changing business environment and strengthen their business competitiveness. The development idea of ​​ProFrame's agility, flexibility and scalability is based on these key next-generation requirements. ProFrame allows to implement various and complex technologies in a single application through the integrated development and operation environment. It also provides a next-generation integrated platform by integrating different technologies.

Adoption Benefits

The following are the benefits of adopting ProFrame.

  • Flexible response to internal and external environments and technological changes

    Flexibly responds to paradigm shifts in IT technology with a future-oriented architecture that embraces the idea of ​​next-generation logical architecture.

  • Easy development, management, and maintenance and cost reduction

    Supports efficient and intuitive development, management, and maintenance, which dramatically decreases IT maintenance cost.

  • Reliable applications based on a proven framework

    Guarantees reliability with a framework proven in many core systems.

  • IT Total Cost of Ownership (TCO) reduction

    Decreases the number of program source files by eliminating duplicated and system-level source code, and increases efficiency of management through a standard operating environment.

  • Enterprise agility

    The development speed of a company's new product or service is directly related to the company's competitiveness and sales, and this is a strategic factor that increases the success rate of the product. ProFrame's development and production speed allows more focus and time investment on customers and markets rather than software development.

2.2. Architecture

ProFrame consists of the following 3 tiers.

  • Channel tier for input/output data processing

  • Data tier for data storage and management

  • Business tier for business logic processing

[Figure 2.1] ProFrame Architecture

ProFrame Architecture

Since the business rule service and common service layers in the business tier are separated from data processing, it is possible to develop a system by considering only business logic. In addition, business rule service, common service, and framework server layers are separated in the business tier, which supports standard and simple development.

2.2.1. Channel Tier

The channel tier converts various input data to a structure available in the business tier, or it converts and maps results of the business tier to output data. Its GUI-based mapper, ProMapper, supports visibility of data processing and flexible changes.

The channel tier's ProMapper converts information sent by various sources to a data with a format available in a service. It also converts and maps service results to data that can be output in various channels.

[Figure 2.2] ProMapper Architecture

ProMapper Architecture

As shown in the previous figure, ProMapper creates structures by separating input and output, so that its header files are included in program source and the files' input and output structures can be defined as macros that can be easily used in services and business modules.

ProMapper provides the following.

  • Single view in business logic

  • Business tier's input value conversion and transaction logging

  • Input/output data formatting and conversion

  • ProMapper editor embedded in ProFrame Studio

2.2.2. Business Tier

The business tier provides a modular structure with common components between system and application layers. Developers can complete an application by additionally developing only business-specific modules. The business tier includes guidelines for environment and procedure standard guidelines for development and application programming guidelines.

ProFrame provides a development framework for developers to implement only pure business logic. System pre and post processing and application common pre and post processing can be designed and developed with common standards.

[Figure 2.3] Application Processing Flow

Application Processing Flow

The following describes each area of service frame module in the application processing flow.

  • System pre and post processing

    Controls applications' transaction flow and performs the following.

    • Checks transaction validity to determine whether to enable or disable the transaction.

    • Initializes and loads information to use for transactions.

    • Records application results to a transaction statistics file.

  • Application pre and post processing

    Allocates CommBuff to share application common data and performs the following.

    • Allocates shared data to each team.

    • Checks validity for each application type.

    • Processes common applications when the application group starts and ends.

  • Application function module

    Provides utilities for developers to easily develop services such as online and batch services and performs the following.

    • Provides headers and libraries that are automatically created in ProMapper and DBIO.

    • Provides common utilities such as a utility that processes dates and strings.

    • Automatically enqueues and processes OPPR output processing data.

    • Minimizes work for limiting display of customer information security items.

2.2.3. Data Tier

The data tier separates the database access module from applications to improve business logic performance and guarantee database access consistency. It guarantees the productivity of the logic related to database input/output, such as performing common functions for database access, managing authority, error handling, preventing programming duplication, guaranteeing high performance, and real-time logging.

The data tier uses DBIO to separate the database access module from applications. It provides a common API for database access, so that it ensures the consistency of database access regardless of the database type and supports integration with EDW.

  • Database access module and application separation

    [Figure 2.4] Database Access Module and Application Separation

    Database Access Module and Application Separation

    • An application accesses a database through DBIO API.

    • Applications' database accesses are provided as a shared library.

    • Database-related common functions such as database access logging and information system communication are provided.

  • Database access consistency

    [Figure 2.5] Database Access Consistency

    Database Access Consistency

    • Database access common functions are provided, and database access permission is controlled.

    • Errors that can occur when connecting to DWIO or accessing a database are handled consistently.

    • Single-row, multi-row, and DML statements are processed.

    • SQL statements are analyzed by using an execution plan.

Since ProFrame has n-tier/layered architecture, it can separate applications by function. Modules for each function can be integrated flexibly.

ProFrame application structure has the following characteristics.

  • Multi-tier architecture

    • Input and output information, business logic, and data access logic are separated.

    • Input and output messages are managed independently.

    • SQL can be implemented separately from an application area.

    • Hot deploy is available between tiers.

  • Layered architecture

    • System common layer, application common layer, and application function layer are separated.

    • System-dependent logic is used as common logic.

    • Redundant business logic is used as common logic.

    • Developers only implement application functions.

  • Parameter driven and rule-based

    • Redundant logic is eliminated through a parameter-based environment.

    • Application logic is managed easily through rule-based business logic development.

2.3. Components

ProFrame consists of the following:

  • ProFrame/Runtime Engine

    Guarantees system performance by providing I/O processing of source-generation method, module call of Dlcall method, and cache architecture, and supports efficient resource management through Memory Manager. In addition, large-capacity online batch processing, multi-transaction control, and multi-level logging functions support efficient service operation of applications. It also ensures a non-stop system through Before Image logging and hot deploy as well as stable system operation with enterprise-wide application transaction tracking and analysis.

  • ProFrame/Development Master

    ProFrame's development architecture consists of development engine and Studio. ProFrame minimizes source coding for application, service, and product development and supports block-type assembly. Enterprise Module Bus (EMB) architecture for a development and operation environment allows to create service and application modules, register them in a pool, and combine them to reconfigure various application flows and new services, which increases reusability.

  • ProFrame/Studio

    Integrated development environment where message mappings and SQL can be developed, service flows can be designed, and application modules can be created. It also supports source version management, automatic source generation, history management, impact analysis, and deployment. It consists of EMB Designer, ProMapper, DBIO, etc.

  • ProFrame/ProMapper

    Framework mapping engine that creates a library available in C. It maps various types of messages (Fixed Length, Delimiter, etc.) to structures, and allows developers to develop applications only with the structures.

  • ProFrame/FileIO

    Standard approach to read and write files. It handles files with a structured format and allows easy file access in EMB modules.

  • ProFrame/DBIO

    Standard approach to access databases. It allows easy call when separating applications that access a database from application logic for their development. This improves development productivity and provides standard methods to minimize errors.

  • ProFrame/EMB

    EMB architecture for a development and operation environment allows to create service and application modules, register them in a pool, and combine them to reconfigure various application flows and new services, which increases reusability. For more information, refer to "EMB".

  • ProFrame/Batch

    Typically, a batch program is used when there are multiple transactions or delayed responsive transactions, rather than one-time transactions or immediate responsive transactions, such as online service. ProFrame's batch framework provides tools and run-time binaries for standard and consistent batch programs used in applications, so that developers can improve their development productivity when developing batch programs.

EMB

Since module functions are decomposed into minimum units, developers can develop a program as if assembling Lego blocks. This makes it easy to figure out the workflow and reduce development and maintenance cost.

By using EMB technology, a loosely coupled system can be implemented. This ensures the independence between each component and provides flexible system structure. The dependency between business modules is also minimized, which improves module reusability and allows easy maintenance.

[Figure 2.6] EMB-based Module Combination and Reconfiguration

EMB-based Module Combination and Reconfiguration

EMB visualizes service processing flows and minimizes dependencies between application modules by supporting the following.

  • Minimized source coding

    • Not coding but design.

    • Services implement flow-based logic that assembles function-oriented application modules.

    • Input and output messages are designed with a tool.

    • Database access logic is defined with a GUI tool.

  • Standard in the design step

    • EMB Designer requires a design standard.

    • The specifications defined in the design step applies to the development step as they are.

  • Application logic's reusability

    • Modules are managed based on an application module pool.

    • Modules can be freely used from EMB Designer.

    • Service and application modules and common flow modules can be reused.

    • Various types of application modules can be reused.

  • Application service implementation through assembling and disassembling modules

    • Business-level visibility is provided.

    • Application modules can be added, edited, and deleted in a service flow.

    • Flexible composite service can be developed.

In the case of developing integration service that combines multiple unit services in an EMB-based system, it is possible to implement the service by assembling service modules participating in the integration by dragging and dropping them from the service module designer. In addition, the service execution flow, which developers had to check by opening the existing source, can be easily checked using a GUI tool. Therefore, the service-related matters can be made into knowledge and assets for internal systems.

EMB provides the following benefits by making service information as assets.

  • Service flow visualization

  • Intuitive understanding of applications

  • Understand of processes step by step

  • Application logic check

  • Application-related knowledge sharing