HOME > summary of Standard Framework > Architecture > Runtime Environment
Architecture of The eGovernment Standard Framework
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.
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.
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.