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

Runtime Environment is the foundation of software applications and provides the basic functionality required to run an enterprise application

The Runtime Environment of the eGovernment Standard Framework is composed of 8 service layers and provides 39 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.

Mobile UX/UI Layer

Mobile UX/UI Layer provides the visual and pre-designed components for the suitable mobile screen.
  • Mobile UX 15 Components
    Panel, Label/Text, Tabs, Form, Grid, Table/List View, Icon, Button, Menu, Dialog, Date/Time Picker, Check/Radio, Selector/Switch, Internal/External Link, Processing Dialog/Bar
  • Button
    Type: Circle, Rectangle(2types)
    Color:Black,Blue,Gray,White,Yellow,Red,Green (7types)
    Size: width-Autofix, height: normal & small
  • Panel
    Color:Black,Blue,Gray,White,Yellow,Red,Green (7types)
  • Internal/External Link
    Link(5types) : Link Internal, Link External, Email, Phone links, Error page
  • Label/Text
    Color, Size, Sorting, Font
  • Tabs
    Type : Normal tab, Round tab(2types)
  • Form
    Type: Text, search inputs, Slider, form, etc
    Color : Black, Blue, Gray, White, Yellow, Red, Green(7types)
  • Menu
    Type : slide, slide-up, slide-down, pop, fade, flip, turn, flow, slide-fade(9types)
    Design : Dialog, Grid, List, Collapsible(4types)
  • Processing Dialog/Bar
    Processing Dialog(1type)
    Processing Bar(1type)
  • Dialog
    Type : Action, Sheet, Overlay, Alert, Prompt, Confirm(5types)
    Color : Black, Blue, Gray, White, Yellow, Red, Green(7types)
  • Grid View
    1/2, 1/3, 1/4, 1/5 Grid View
    Variable Grid View
  • Table/List View
    Numbered list, Thumbnalis, Count bubble, Icon List, Split button list, Change Mode List, etc
  • Date/Time Picker
    Android/Popup/Flip Date Picker, Android(12/24h)/Flip Time Picker
  • Check/Radio
    Type : Normal, Group
  • Icon
    Type : Variable Icons supported
  • Selector/Switches
    Type : Normal, Group
    Design : Variable color and pop-up effects

Mobile Device API Layer

Mobile Device API Layer provides 12 fundamental device APIs and Hybrid App templates which are based on Open Source(PhoneGap)
  • Accelerator
    provides the captures of device motion in the x,y, and z direction
  • GPS
    provides the geolocation objects to access the location data based on the device's GPS sensor or inferred from network signals
  • Vibrate
    provides the devices to vibrate for specified amount of time
  • Camera
    provides access to the device's default camera application
  • Contact
    provides access to the device contacts database
  • Compass
    Obtains the direction that the device is pointing
  • File Reader/Writer
    provides to read, write and navigate file system hierarchies, based on the W3C file API
  • Network
    provides information about the device's cellular and wifi connection
  • Device
    provides information about the device's hardware and software
  • Media
    provides the ability to record and play back audio files on a device
  • Interface
    provides the connectability to the web-server which built based on the eGovframework
  • NPKI
    provides the control of the NPKI

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
Service Layer Service Open Source SW Expansion or Independent Development Remarks

Presentation Layer

Ajax Support

Ajax Tags




Apache Commons i18n




Spring MVC

Functions including Custom Tag expanded



Apache Commons Validator



UI Adaptor

None selected


UI Adaptor Interface Manual available

Business Logic Layer

Process Control

Spring Web Flow



Exception Handling


Exception Handling Function expanded


Data Processing Layer

Data Access

iBatis SQL Maps

MyBatis SQL Mapper

Spring-iBatis Function expanded








Spring Data JPA







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




Integration Service

None selected

Standard Interface Processing Function developed


Web Service Interface


Web Service Interface


Mobile UX/UI Layer

UX/UI Components

jQuery Mobile 1.4



Mobile Device API Layer

Device API


For Android: v3.7.1
For iOS: v3.8


Common Foundation Layer










Apache Commons Compress




java simplified encryption (jasypt)

Encryption Function expanded



Apache POI

Excel Handling Function expanded


File Handling

Jakarta Commons VFS

File Access Function expanded


File Upload/Download

Apache Commons FileUpload




Apache Commons Net



ID Generation

None selected

Unique System ID Generation Function developed


IoC Container









Java Mail







Object Pooling

Apache Commons Pool





Property Function expanded










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