Provides the brief introduction on the eGovernment Standard Framework.

HOME > summary of Standard Framework > Architecture > Runtime Environment

Architecture of The eGovernment Standard Framework

Runtime Environment

The Runtime Environment of the eGovernment Standard Framework is composed of 6 service layers and provides 37 services. Refer to the following figure for the details.


composition of The Runtime Environment

Presentation Layer

The Presentation layer, as an interface between the business logic layer and users, provides various functions such as user screen construction, user input verification.
  • Ajax Support: Ajax is a technique which uses the combination of technologies such as HTML, CSS, DOM, Java script, XML and XSLT to develop interactive web applications. The presentation layer provides Custom Tag Library for Ajax development.
  • Internationalization: Internationalization as a service to support various regions and languages, supports automated multilingual function according to the server configuration and the user browsing environment.
  • MVC: The presentation layer provides a MVC-based infrastructure for developing user screens applying MVC design patterns.
  • Security: This service allows developers to address various web security vulnerabilities(XSS, SQL Injection, etc.) at the development time.
  • UI Adaptor: This module provides data type conversion service between the presentation layer and the business logic layer to decouple these two layers.

Business Logic Layer

The business logic layer provides various functions such as business logic flow control, transaction management, error processing for application programs.
  • Process Control: This service supports the separation between business logic and business logic flow and executes predefined business logic processes. The business logic flow can be defined by external XML files.
  • Exception Handling: This service provides standard procedures for runtime exception handling.

Data Processing Layer

The Data Processing Layer provides data CRDU functions for the business logic application programs.
  • Data Access : Provides functions for excluding dependencies between business logic processing and database solutions or access technologies by providing abstracted access methods for various database solutions and database access technologies.
  • Data Source : Provides functions for excluding dependencies between business logic processing and database connection methods by providing various database connection methods as well as an abstract layer about these methods.
  • ORM : Supports the development of business logic code not by SQL but by Object by providing the ORM(Object-Relational Mapping) function which is the mapping function between the object model and the database model.
  • Transaction : As a service for processing the database transaction, provides a consistent programming model by providing abstracted methods for the transaction processing.

Batch Layer

Batch processing services for setting up and running the batch data processing capabilities.
  • Job Configuration : Provides functions for Batch Job Configuration.
  • Step Configuration : Provides functions for Batch Step Configuration.
  • ItemReader/ItemWriter : Provides the File / DB processing functions according to the type of resource.
  • Job Execution : Provides functions for the ability to perform in the Job Instance.
  • Step Execution : Provides functions for the ability to perform in the Step Instance.
  • Tasklet : Provides functions for the processing of other simple batch job processing tasks required in the execution of the Job (moving files, etc).
  • Job Repository : Provides functions for the ability to store information JobExecution and StepExecution.
  • Job Runner : Provides functions for the interface that supports Scheduler, CommandLine(CronTab), HTTP / WebServices.
  • Job Launcher : Provides functions for running Jobs
  • History Management : Provides functions for History management capabilities using JobRepository
  • Scalability : Provides functions for MultiProcessing and Partitioning.
  • Sync / Async Processing : Provides functions for synchronous / asynchronous processing capabilities using JobLauncher settings.
  • Parallel Processing : Provides functions for the parallel processing capabilities using Step settings.
  • Pre/Post Processing : Provides functions for the pre-processing and post-processing Event Handling using Listener.
  • Skip/Repeat/Retry : Provides functions for Skip, Repeat, Retry feature.

Integration Layer

Integration layer supports communication and integration with other systems using standard interfaces.
  • Naming Service: Allows application programs to find remote modules or remote resources.
  • Web Service: Using this service, application programs or systems can export their business logic service to other applications or systems through Web Service standard interface.
  • Integration Service: This service, providing common interfaces with eGovernment system, provides standardized processing methods to cope with various integration methods of different solutions.

Common Foundation Layer

Common Foundation Layer provides commonly used functions for runtime environment services.
  • AOP: Implements and supports ASP(Aspect Oriented Programming).
  • Cache: Provides caching functions for instant access to frequently used contents to minimize access overhead or time.
  • Compress/Decompress: Provides data compression and decompression functions for storing or transmitting data efficiently.
  • Encryption/Decryption: Provides data encryption and decryption functions for secure data transmission.
  • Excel: Provides a Java library for handling Microsoft Excel files.
  • File Handling: Provides file handling functions such as file generation, file access, file update, etc.
  • File Upload/Download: This service, mainly used in the presentation layer, provides file upload and download functions.
  • FTP: Provides FTP(File Transfer Protocol) client functions for transmitting and receiving data via FTP protocol.
  • ID Generation: Provides system ID(Identifier) generation function conformant to the UUID(Universal Unique Identifier) standard.
  • IoC Container: Provides the IoC(Inversion of Control) function, one of the basic functions of the framework.
  • Logging: Provides log recording and controlling functions via a simple configuration to minimize the overhead due to casually used System.out.println statements.
  • Mail: Provides SMTP(Simple Mail Transfer Protocol) client functions for transmitting and receiving emails.
  • Marshalling/Unmarshalling: Provides marshalling and unmarshalling functions which convert specific data types into objects or vice versa.
  • Object Pooling: Provides available object(s) to application programs when there is(are) available object(s). If no available object(s), this service generate and allocate the object(s) according to the predefined pool size.
  • Property: Keeps key-value tuples of external files or environment information and provides the access to these tuples for application programs when needed.
  • Resource: This service, for Internalization and Localization, provides functions for retrieving appropriate messages in the desired locale using key-value pairs.
  • Scheduling: Supports periodically or repeatedly executed jobs in the application server, similar to the Cron command in UNIX.
  • Server Security: Provides user authentication and rights management functions for secure server function call or data access.
  • String Util: Provides various functions for handling string data.
  • XML Manipulation: Provides various functions for generating, parsing and writing XML data.

Open Source Usage Status

Many services provided by the runtime environment of the framework has been implemented based on open source SWs by reusing or expanding them. Some services, for which no open source SWs satisfied the selection criterion and none was chosen, have been implemented from the ground by the project team.
Open Source Usage Status
aaService Layer Service Open Source SW Expansion or Independent Development Remarks

Presentation Layer

Ajax Support

Ajax Tags

 

 

Internationalization

Apache Commons i18n

 

 

MVC

Spring MVC

Functions including Custom Tag expanded

 

Security

Apache Commons Validator

 

 

UI Adaptor

None selected

 

UI Adaptor Interface Manual available

Business Logic Layer

Process Control

Spring Web Flow

 

 

Exception Handling

Spring

Exception Handling Function expanded

 

Data Processing Layer

Data Access

iBatis SQL Maps

MyBatis SQL Mapper

Spring-iBatis Function expanded

 

DataSource

Spring

 

 

ORM

Hibernate

Spring Data JPA

 

 

Transaction

Spring

 

 

Batch Layer

Batch Core

Spring Batch

Improving batch data processing performance

 

Batch Execution

Improving running the way

 

Batch Support

Improving setting up the job configuration

 

Integration Layer

Naming Service Support

Spring

 

 

Integration Service

None selected

Standard Interface Processing Function developed

 

Web Service Interface

CXF

Web Service Interface

 

Common Foundation Layer

AOP

Spring

 

 

Cache

EHCache

 

 

Compress/Decompress

Apache Commons Compress

 

 

Encryption/Decryption

java simplified encryption (jasypt)

Encryption Function expanded

 

Excel

Apache POI

Excel Handling Function expanded

 

File Handling

Jakarta Commons VFS

File Access Function expanded

 

File Upload/Download

Apache Commons FileUpload

 

 

FTP

Apache Commons Net

 

 

ID Generation

None selected

Unique System ID Generation Function developed

 

IoC Container

Spring

 

 

Logging

Log4j

 

 

Mail

Java Mail

 

 

Marshalling/Unmarshalling

Castor

 

 

Object Pooling

Apache Commons Pool

 

 

Property

Spring

Property Function expanded

 

Resource

Spring

 

 

Scheduling

Quartz

 

 

Server Security

Spring Security

Authentication and Rights Management Function expanded

 

String Util

Jakarta ORO

String Handling Function expanded

 

XML Manipulation

Apache Xerces 2, JDOM

XML Manipulation Function expanded

 



  • Runtime Environment
  • Development Environment
  • Sitemap
  • top