Skip to main content

eGovFrame Introduction

Provides the brief introduction on the eGovernment Standard Framework.

PRINT Home eGovFrame 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.

Runtime Environment

Presentation Layer
  • Ajax Support
  • MVC
  • UI Adaptor
  • Internationalization
  • Security
Business Layer
  • Process Management
  • Exception Handling
Persistence Layer
  • Data Access
  • ORM
  • Transaction
  • Data Source
Integration Layer
  • Message Service
  • Naming Service
  • Web Service
Batch Layer
  • Batch Core
  • Batch Support
  • Batch Execution
Mobile UX/UI Layer
  • UX/UI Components
Foundation Layer
  • AOP
  • File Upload/Download
  • Marshaling/Unmarshaling
  • String Util
  • Cache
  • FTP
  • Object Pooling
  • XML Manipulation
  • Compress/Decompress
  • ID Generation
  • Property
  • Encryption/Decryption
  • IoC Container
  • Resource
  • Excel
  • Logging
  • Scheduling
  • File Handling
  • Mail
  • Server Security
Mobile Device API Layer
  • Device API

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
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
Mobile UX/UI Layer UX/UI Components jQuery Mobile 1.4
Mobile Device API Layer Device API PhoneGap4.3 For Android: v3.7.1
For iOS: v3.8
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