Académique Documents
Professionnel Documents
Culture Documents
eGovFrame Center
2012
Table of contents
I
II
What is a Framework?
III
eGovFrame overview
IV
Common components
VI
Mobile eGovFrame
VII
VIII
Page l
Background
2000s
HW Centric
Procedure language
Service
Component
(Reusable)
OOP
Service
Component
Component
Service
Component
Framework
Service
Component
Framework
(Collection of API*))
Improve productivity
Improve scalability
Ensure performance
Easy management
Definition
What is a Framework?
Conceptual Framework
Skeleton or infrastructure to build something
Page l
SW Framework
SW Frameworks are a special case of software libraries in that they are reusable
abstraction s of code wrapped in a well=defined API. [wikipedia]
< IS* without SW framework >
Service application
Service application
Development area
(approx. 70~80%)
Development area
(100% done by developers)
SW framework used
(approx. 20 ~ 30%)
Middleware
Middleware
Operating system
Operating system
Hardware
Hardware
* IS : Information System
Page l
What is a Framework?
SW Framework benefits
Enhances IT service quality because developers focus only on their business logic
while all the technical issues are handled by SW framework
SW Framework
Common biz service
Common technical service
Architecture policy
Page l
What is a Framework?
Benefits
Improving productivity with code reusability
Improving maintainability with consistent development approach
As providing proven solutions based on best practice, reducing
the technical variation between developers
Cautions
If a framework tightly restricts the coding style, it may inhibit
creative development
In case of excessive configuration management, it may make
additional works
In case of abusing framework patterns, it rather increases lines of
code
Page l
What is a Framework?
Spring
Log4J
iBatis
JUnit
other
frameworks
Page l
What is eGovFrame?
eGovFrame Overview
Page l
eGovFrame Overview
Vision of eGovFrame
Vision
Increase
Interoperability
Standardization
Reflect latest
ICT trends
Resolve vendor
dependency
Strategies
Openness
Enhance SMEs
competitiveness
Community
Establish SW framework
standards for e-Government
Propagate eGovFrame
through the regular training
Page l
10
eGovFrame Overview
29%
71%
Page l
11
eGovFrame Overview
Customer
RFP *)
Vendor
A
Vendor
B
Vendor
C
Request for
H/W, S/W,
architecture,
and application
development
Vendor
D
Application 1
Application 2
Application 1
Framework 1
Framework 2
Framework 3
Customer
Request for
application
development
RFP *)
Vendor
A
Vendor
B
Application 1
Vendor
C
Application 2
Vendor
D
Application 1
Standard Framework
12
Development Requirement
eGovFrame Overview
13
Open Innovation
eGovFrame Overview
Page l
14
Difference -
eGovFrame Overview
Complicated
configuration
Open Complicated
Open
configuration
Source A
Source B
Complicated
configuration
Open
Source D
Open
Source CConflict of functions
eGovFrame
- remove duplication
- Adjustment of configuration
<eGovFrame>
15
eGovFrame Overview
Function
Design
Final Result
Analyze 3 big vendors frameworks and eGov. projects from 2004 to 2011
Policy
Setting
Logical
Test
Functional/non-functional requirements
Physical
Test
Basic functions
Non-functional requirements(SW Quality)
Biz. transaction :
Spring & 22
Data :
iBatis, Hibernate &1
Development tool :
Eclipse & 3
Test tool :
Junit & 5
Distribution tool :
Maven & 1
Configuration Management
tool : Subversion & 1
Mobile UX :
JQueryMobile&4
Page l
16
eGovFrame Overview
eGovFrame Concept
Information System
Application
Biz1
Biz2
Biz3
Common
Biz 1
Common
Biz 2
Biz 4
Generally used
reusable
components
(ex: calendar,
notice board, etc)
eGovFrame
Design
(Architecture or Pattern
Based S/W
Middleware
DB
OS
H/W
Reusable asset,
defining design and
base source code
which is repeatedly
used in information
system project, as
based structure to
make a particular
technology or
application
Page l
17
Composition of eGovFrame
eGovFrame Composition
Runtime
Environment
Operation
Environment
Management
Environment
SW Developers
SW Applications
Application
Operators
Framework
Managers
Environment
Description
Development
Environment
Runtime
Environment
Operation
environment
Management
Environment
Page l
18
Composition of eGovFrame
Runtime Environment
Presentation Layer
Ajax Support
Internationalization
MVC
Security
UX Layer
Business Logic
Layer
UX/UI Controller
Component
Biz. Process
Management
HTML5
Persistent Layer
Data Access
DataSource
Message Service
ORM
Transaction
Naming Service
CSS
Exception Handling
UI Adaptor
Integration Layer
Management
Environment
Operation
Management Tool
Status Monitoring
Web Service
Foundation Layer
AOP
Cache
Compress
/Decompress
Encryption/Decryption
Excel
File Handling
File Upload/Download
FTP
Server Security
ID Generation
IoC Container
Logging
Marshalling
/Unmarshalling
Object Pooling
Property
Resource
Scheduling
String Util
XML Manipulation
Development
Management Tool
Operation Environment
Development Environment
Implementation Tool
Test Tool
Deployment Tool
Monitoring Tool
Version Management
Administration Tool
Issue Tracking
Code Generation
Test Reporting
Build
Configuration Mgt.
Monitoring
Code Inspection
Unit Test
Deployment
Change Management
Reporting
Server Security
Management
Logging Management
Debug
Resource Management
Editor
Administration
Methodology & Template
Page l
19
Composition of eGovFrame
Adopt eclipse IDE*), and it consists of programming support tools from coding to
deployment which is the entire programming process
Development Server
Developer PC
Coding
Code editing
Testing
Debugging
Inspection
Build
Succe
ss?
Compile
Packaging
Y
Commit
Configuration
management
Checkout
Build
Compile
Packaging
Operation Server
WAS restart
Deploy
20
Composition of eGovFrame
Page l
21
eGovFrame IDE
Composition of eGovFrame
22
Composition of eGovFrame
Internationalization
MVC
Security
UI Adaptor
Business Logic
Layer
UX Layer
UX/UI Controller Component
HTML5
Biz. Process
Management
Persistent Layer
Data
TBD
Access
DataSource
Message Service
ORM
TBD
Transaction
Naming Service
CSS3
Integration
Layer
Exception
Handling
Web Service
Foundation Layer
AOP
Cache
Compress/Decompress
Encryption/Decryption
Excel
File Handling
File Upload/Download
FTP
Hot-Deploy
ID Generation
IoC Container
Logging
Marshalling/Unmarshalling
Object Pooling
Property
Resource
Scheduling
String Util
XML Manipulation
Page l
23
First evaluation
the license with no restriction on distribution and usage?
features that meet the requirements?
Second evaluation
satisfy with the quality requirements such as functionality,
reliability, portability, etc?
Use the ISO 14598 and SEIPECA to define the OS evaluation process
Page l
24
eGovFrame License
The eGovernment Standard Framework adopts Apache License, Version 2.0. But,
other open source SWs used in the Standard Framework retain each pertinent
licensing policy
Distribution of reciprocity : When deploy OSS to a third party, derived works can only be
distributed under the same license terms as the original
ex) LGPL, EPL, CPL, etc
Criteria
GPL
LGPL
MPL
BSD
License
Apache
License
Free redistribution
Page l
25
Presentation
layer
Service name
OSS
Ajax Support
Internationalization
Spring 3.0.5
MVC
Spring 3.0.5
Security
Apache Commons
Validator 1.3.1
UI Adaptor
Business Logic
layer
Persistent
layer
Integration
layer
License
Process Control
Exception Handling
Spring 3.0.5
Data Access
DataSource
Spring 3.0.5
ORM
Hibernate 3.4
Transaction
Spring 3.0.5
Spring 3.0.5
Integration Service
Web Service Interface
: Extend functions,
- : Self-Development
Page l
26
Service group
Foundation
Layer
Service name
OSS
License
AOP
Spring 3.0.5
Cache
EHCache 2.4.1
Compress/Decompress
Encryption/Decryption
Excel
File Handling
File Upload/Download
FTP
ID Generation
IoC Container
Spring 3.0.5
Logging
Log4j 1.3
: Extend functions,
- : Self-Development
Page l
27
Service group
Foundation
Layer
Service name
OSS
License
Object Pooling
Property
Spring 3.0.5
Resource
Spring 3.0.5
Scheduling
Quartz 1.8.5
Server Security
String Util
XML Manipulation
: Extend functions,
- : Self-Development
Page l
28
Service group
Service name
Code Generation
Implementation Tool
Test Tool
Deployment Tool
License
Code Inspection
PMD 4.2
BSD-style
Debug
Eclipse 3.4
Editor
Eclipse 3.4
AmaterasUML 1.0.5,
AmaterasERD 1.0.5
EPL 1.0
Test Reporting
Ant,
EMMA
Unit Test
Build
Maven 2.1,
Hudson
Deployment
OSS
Configuration Mgt.
SubVersion
Change Mgt.
jTrac
: Extend functions,
- : Self-Development
Page l
29
Common Components
Common components
Common
functions
Application
S/W
Define
Common
Components
Common
functions
B
C
F/W
F/W
H/W
H/W
H/W
Framework
Define
Standard
Framework
Management
eGovFrame Center
Management system for
eGovFrame
B
C
F/W
F/W
F/W
Apply
H/W
Standard
Framework
H/W
H/W
Page l
30
Common Components
Page l
31
Common Components
Components
Security
User authentication/directory
service
User support
Collaboration
System management
Integration
Statistics/Reporting
Page l
32
2) Install eGovFrame
1) Download eGovFrame
(Runtime/Development, etc) (Unzip files and configure properties)
Common Components
33
Mobile eGovFrame
Presentation
Biz. Logic
Persistence
Integration
Foundation
Mobile Web
Runtime Environment
Implementation
Test
Deployment
Common
Component
User eXperience(UX)
Development Env.
Template-based
code generation
Dev. Env.
Runtime
Env.
eGovFrame
Runtime Env.
Mobile
Env.
Change Mgt.
Mobile Web
Development Environment
Mobile
Web
Utility components
Mobile Web
Common Component
Page l
34
Mobile eGovFrame
Page l
35
Mobile eGovFrame
Page l
36
Case Study
Mobile eGovFrame
Page l
37
Case Study
Mobile eGovFrame
Page l
38
JavaEE(J2EE) 5 or JDK1.5+
As a new development system, if there is any separation with
legacy system, physically or logically
It is possible to apply to the system improvement/advancement,
even not based on eGovFrame, but it is not applicable in
principle, because it accompanies existing source code change
Page l
39
Modification
Descriptions
- Not allow any changes for interoperability
Runtime
Environment
Development
Environment
- Allow changes
- Possible new
development
Common
Components
- Allow changes
- Possible new
development
Page l
40
Technical Support
Support
approval
Check
Supported
Project
Manager
eGovFrame
Center(NIA)
Service
Request
Online
Support
On-site
Support
Tech Support
Request
Project
Manager
www.egovframe.go.kr
If nessacery
eGovFrame
Center(NIA)
Page l
41
Achievement
42
Further Work
Page l
43
Page l
44