Table of Contents
This chapter describes about ProFrame and its architecture and components.
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.
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.
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.
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.
ProFrame consists of the following 3 tiers.
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.
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.
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
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.
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.
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
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
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
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.
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.
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.
Standard approach to read and write files. It handles files with a structured format and allows easy file access in EMB modules.
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.
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.
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