HOME > summary of Standard Framework > Architecture > Runtime Environment
Architecture of The eGovernment Standard Framework
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.
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 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 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
Type: Circle, Rectangle(2types)
Size: width-Autofix, height: normal & small
- Internal/External Link
Link(5types) : Link Internal, Link External, Email, Phone links, Error page
Color, Size, Sorting, Font
Type : Normal tab, Round tab(2types)
Type: Text, search inputs, Slider, form, etc
Color : Black, Blue, Gray, White, Yellow, Red, Green(7types)
Type : slide, slide-up, slide-down, pop, fade, flip, turn, flow, slide-fade(9types)
Design : Dialog, Grid, List, Collapsible(4types)
- Processing Dialog/Bar
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
Type : Normal, Group
Type : Variable Icons supported
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)
provides the captures of device motion in the x,y, and z direction
provides the geolocation objects to access the location data based on the device's GPS sensor or inferred from network signals
provides the devices to vibrate for specified amount of time
provides access to the device's default camera application
provides access to the device contacts database
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
provides information about the device's cellular and wifi connection
provides information about the device's hardware and software
provides the ability to record and play back audio files on a device
provides the connectability to the web-server which built based on the eGovframework
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.