01.egovFrame Training Book I


Published on

eGovFrame - Framework for e-government
Session 01

  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

01.egovFrame Training Book I

  1. 1. eGovFrame Training Book eGovFrame Center 2012
  2. 2. Table of contents I Changes in the SW development environment II What is a Framework?III eGovFrame overviewIV Open Source Policy V Common componentsVI Mobile eGovFrameVII eGovFrame adoption guideVIII Achievement and Further work Page l 2
  3. 3. Paradigm shift in software development BackgroundProgressing continuously to overcome SW industry’s critical situations Increasing development costs as SW scale is getting larger and more complex Inconsistent development approach make maintainability worse Lack of education and training for new technologies 1960’s 2000’s HW Centric Procedure language OOP Component Framework Service Service Service Service Component Component Component Component (Reusable) Framework (Collection of API*)) Improve productivity Improve scalability Ensure performance Easy management API*) : Application Program Interface Page l 3
  4. 4. Definition What is a Framework? Conceptual Framework “Skeleton or infrastructure to build something” GoF pattern by Professor Ralph Johnson “A framework is a set of cooperating classes that make up a reusable design for a specific class of software”  Narrow meaning : As a kind of a solution which implements Design pattern, a reusable set of libraries or classes for a software system  Wide meaning : (narrow meaning) + various development guide and supporting tools Page l 4
  5. 5. SW FrameworkSW Frameworks are a special case of software libraries in that they are reusableabstraction s of code wrapped in a well=defined API. [wikipedia] < IS* without SW framework > < IS with 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 5
  6. 6. SW Framework benefits What is a Framework?Enhances IT service quality because developers focus only on their business logicwhile all the technical issues are handled by SW framework (IS development without SW framework) (IS development with SW framework) SW Framework Common biz service Common technical service Architecture policy Page l 6
  7. 7. Framework based development 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 developersCautions 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 7
  8. 8. Use status of a framework What is a Framework? In case of Korea, since the year 2000, large 3 SI companies have developed and useed a framework to improve development productivity In global environment, various open source frameworks(mainly Spring) are used In recent years, the framework use trend is the combination with each other which specialized in certain areas other Spring Log4J iBatis JUnit frameworks Page l 8
  9. 9. What is eGovFrame? eGovFrame OverviewPre-implemented basic functions standardized for e-Government systemdevelopment and operation eGovFrame Page l 9
  10. 10. Vision of eGovFrame eGovFrame Overview Vision Improve service quality of e-Government & efficiency of ICT investment Objectives Reuse common Increase Reflect latest Resolve vendor Enhance SMEs features Interoperability ICT trends dependency competitiveness Strategies Standardization Openness Community• Establish SW framework • Approve the general use of • Propagate eGovFrame standards for e-Government eGovFrame through the regular training• Provide reliable technology • Open assets to the public & • Draw up a policy to vitalize infrastructure encourage participation eGovFrame Page l 10
  11. 11. A lot of challenges and issues (1/2) eGovFrame Overview SW framework became a basic tool for e-Government 29% (71% of e-Government system from 2004 to 2007). 71% * Samsung(SYSTEMiER), LG (LAF/J), SK (Jgarnet) ** HP(Instant/On enterprise), IBM(Application Framework), MS(.NET) Some barriers were identified in e-Government system Page l 11
  12. 12. A lot of challenges and issues (2/2) eGovFrame Overview < Development with vendor’s frameworks> < Development with standard frameworks> Request for Customer H/W, S/W, Customer Request for architecture, application and application development RFP *) development RFP *) Vendor Vendor Vendor Vendor Vendor Vendor Vendor Vendor A B C D A B C D Application 1 Application 2 Application 1 Application 1 Application 2 Application 1 Framework 1 Framework 2 Framework 3 Standard Framework RFP *) : Request for proposal Page l 12
  13. 13. Development Requirement eGovFrame Overview Draw optimized functions through a process of ISP*) Take advantage of open sources which are globally used → Exclude certain companies’ technology dependency Try to exclude functions if a commercial solution provides Ensure compatibility with public information service sector infrastructure which is generally applied Open source code, analysis and design documentation for wide dissemination In order to be a standard which satisfies most relative parts, on the way of development, listen and reflect various opinion which comes from experts groupsISP *) : Information Strategy Plan Page l 13
  14. 14. Open Innovation eGovFrame Overview Page l 14
  15. 15. Difference - between OSS Framework and eGovFrame eGovFrame OvervieweGovFrame distributes pre-configured development environment, includingruntime, various configuration files, template code, development tools and acomprehensive guide☞ Because a open source framework is specific to a particular domain, requires a lot ofeffort to interface each other to use Open Complicated Open Source Aconfiguration Source B configuration Complicated Complicated configuration eGovFrame Open - remove duplication - Adjustment of configuration Open Source D Source CConflict of functions<Combination of open source frameworks> <eGovFrame>OSS*) : Open Source Software Page l 15
  16. 16. Extracting OSS for eGovFrame eGovFrame Overview  Define basic functions and architecture Final Result Function  Analyze 3 big vendor’s frameworks and e- Design Gov. projects from 2004 to 2011 45 open sources selected  54 functions and 229 common components [Major open sources] Best Open Source Selection • Biz. transaction :  Define Open Source Selection Policy Spring & 22 Policy  Open Source Evaluation Process Setting • Data :  License with no restriction on distribution iBatis, Hibernate &1 and use • Development tool : Eclipse & 3  Evaluate candidate open sources(175) • Test tool : Logical Junit & 5  Functional/non-functional requirements Test • Distribution tool :  Constraints for integration and interfaces Maven & 1 • Configuration Management  Physically test candidate open sources(85) tool : Subversion & 1 Physical •Mobile UX :  Basic functions JQueryMobile&4 Test  Non-functional requirements(SW Quality) Page l 16
  17. 17. eGovFrame Concept eGovFrame Overview Information System Application As core biz functions, Biz1 Biz2 Biz3 develop using design and Common Common source code (API) which Biz 4 Biz 1 Biz 2 provided by eGovFrame Generally used eGovFrame reusable components Design + Based Source Code (ex: calendar, (Architecture or Pattern Reusable asset, notice board, etc) defining design and Based S/W base source code Middleware which is repeatedly used in information DB system project, as OS based structure to make a particular H/W technology or application Page l 17
  18. 18. eGovFrame Composition Composition of eGovFrameConsists of 4 environments, namely, development, runtime, operation, management Development Runtime Operation Management Environment Environment Environment Environment Application Framework SW Developers SW Applications Operators Managers Environment Description Provides the implementation(coding, debugging), test, distribution and configuration Development management tools for the effective development of applications based on the Environment eGovFrame Runtime Environment. Runtime Provides common runtime modules for running the SW applications Environment Operation Provides operational tools for monitoring and operating SW application based on environment eGovFrame Management Provides management tools for maintaining and improving efficiently eGovFrame Environment Page l 18
  19. 19. eGovFrame Composition Functionalities Composition of eGovFrame Runtime Environment Management Presentation Layer UX Layer Business Logic Persistent Layer Integration Layer Environment Layer Ajax Support Internationalization UX/UI Controller Biz. Process Data Access DataSource Message Service Operation Component Management Management Tool MVC Security HTML5 CSS ORM Transaction Naming Service Exception Handling Status Monitoring JavaScript Module App UI Adaptor Web Service Framework Foundation Layer Compress AOP Cache Encryption/Decryption Excel File Handling /Decompress File Upload/Download FTP Server Security ID Generation IoC Container Logging Marshalling Mail /Unmarshalling Object Pooling Property Resource Scheduling String Util XML Manipulation Development Management Tool Development Environment Operation Environment Version Management Implementation Tool Test Tool Deployment Tool Conf. & Change Mgt. Monitoring Tool Administration Tool Tool Issue Tracking Code Generation Test Reporting Build Configuration Mgt. Monitoring Server Security Management Code Inspection Unit Test Deployment Change Management Reporting Logging Management Debug Resource Management Editor Administration Methodology & Template Page l 19
  20. 20. General programming process Composition of eGovFrameAdopt eclipse IDE*), and it consists of programming support tools from coding todeployment which is the entire programming process Developer PC Development Server Succe Y Coding Build Configuration Build ss? Commit Checkout management • Code editing • Compile • Compile • Testing • Packaging • Packaging N • Debugging • Inspection Operation Server WAS restart DeployIDE*) : Integrated Development Environment Page l 20
  21. 21. Eclipse IDE Overview Composition of eGovFrame Integrated Menu for quick access, consisted of eGovFrame support plug-ins Provide various editors such as DBIO, UML, ERD , etc Page l 21
  22. 22. eGovFrame IDE – eGovFrame integrated menu Composition of eGovFrameOnly activate in eGovFrame PerspectiveIntegrated menu for quick access to eGovFrame related plug-ins Start- New Core Project : create eGovFrame Core Project- New Web Project : create eGovFrame Web Project- New Template Project : create eGovFrame Template Project Analysis- New Usecase Diagram : create Usecase Diagram Design- New ER Diagram : create ER Diagram- New Class Diagram : create Class Diagram Implementation- Add eGovFrame Common Component : create Common Component- New SQL Map Config : create SQL Map Config file- New SQL Map : create SQL Map file- Show DBIO Search View : display DBIO Search View Configuration- Customize Development Tool : optionally install the required functionality- Server Connection Management ·Show SVN Repositories View : display SVN Repositories View ·Nexus : manage Nexus repository information Page l 22
  23. 23. Composition of the runtime environment Composition of eGovFrame6 service groups, 38 services compose the runtime. Support MVC, DI,AOP, etc based on Spring framework Runtime Environment Business Logic Integration Presentation Layer UX Layer Persistent Layer Layer LayerAjax Support Internationalization UX/UI Controller Component Biz. Process Data Access TBD DataSource Message Service Management MVC Security HTML5 CSS3 ORM TBD Transaction Naming Service Exception Handling UI Adaptor JavaScript Module App Framework Web Service Foundation Layer AOP Cache Compress/Decompress Encryption/Decryption Excel File HandlingFile Upload/Download FTP Hot-Deploy ID Generation IoC Container Logging Mail Marshalling/Unmarshalling Object Pooling Property Resource Scheduling String Util XML Manipulation Page l 23
  24. 24. Open source evaluation process Open Source Policy 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 Selected 40 open sources such as Spring, etc Page l 24
  25. 25. eGovFrame License Open Source PolicyThe eGovernment Standard Framework adopts Apache License, Version 2.0. But,other open source SWs used in the Standard Framework retain each pertinentlicensing policy※ Distribution of reciprocity : When deploy OSS to a third party, derived works can only bedistributed under the same license terms as the original ex) LGPL, EPL, CPL, etc BSD Apache Criteria GPL LGPL MPL License License Free access to the source code ○ ○ ○ ○ ○ Free redistribution ○ ○ ○ ○ ○ Obtaining the source code ○ ○ ○ ○ ○ Modifying the source code ○ ○ ○ ○ ○ Open derived works ○ ○ ○ × × Combining with the exclusive SW × ○ ○ ○ ○ Page l 25
  26. 26. Runtime environment OSS (1/3) Open Source PolicyService group Service name OSS License Ajax Support Ajax Tags 1.5 Apache License 2.0 Internationalization Spring 3.0.5 Apache License 2.0Presentation MVC Spring 3.0.5 √ Apache License 2.0layer Apache Commons Security Apache License 2.0 Validator 1.3.1 UI Adaptor -Business Logic Process Control Web Flow 2.0 Apache License 2.0layer Exception Handling Spring 3.0.5 √ Apache License 2.0 Data Access iBatis SQL Maps 2.3 √ Apache License 2.0Persistent DataSource Spring 3.0.5 Apache License 2.0layer ORM Hibernate 3.4 GNU Lesser General Public License Transaction Spring 3.0.5 Apache License 2.0 Naming Service Support Spring 3.0.5 Apache License 2.0Integration Integration Service -layer Web Service Interface Apache CXF 2.3.3 √ Apache License 2.0 √ : Extend functions, - : Self-Development Page l 26
  27. 27. Runtime environment OSS(2/3) Open Source PolicyService group Service name OSS License AOP Spring 3.0.5 Apache License 2.0 Cache EHCache 2.4.1 Apache License 2.0 Compress/Decompress Apache Commons Compress 1.1 Apache License 2.0 Encryption/Decryption Java simplified encryption (jasypt) 1.7 √ Apache License 2.0 Excel Apache POI 3.2, jXLS 0.9.9 √ Apache License 2.0 Foundation File Handling Jakarta Commons VFS 1.0 √ Apache License 2.0 Layer File Upload/Download Apache Commons FileUpload 1.2.2 Apache License 2.0 FTP Apache Commons Net 3.0.1 Apache License 2.0 ID Generation - IoC Container Spring 3.0.5 Apache License 2.0 Logging Log4j 1.3 Apache License 2.0 Mail Apache Commons Email 1.1 Apache License 2.0 √ : Extend functions, - : Self-Development Page l 27
  28. 28. Runtime environment OSS(3/3) Open Source PolicyService group Service name OSS License Object Pooling Apache Commons Pool 1.5.6 Apache License 2.0 Property Spring 3.0.5 √ Apache License 2.0 Resource Spring 3.0.5 Apache License 2.0Foundation Scheduling Quartz 1.8.5 Apache License 2.0Layer Server Security Spring Security 2.0.4 √ Apache License 2.0 String Util Jakarta Regexp 1.5 √ Apache License 2.0 Apache Xerces 2.2.9 √ XML Manipulation Similar to Apache License JDOM 1.1 √ √ : Extend functions, - : Self-Development Page l 28
  29. 29. Development environment OSS Open Source Policy Service group Service name OSS License Code Generation - - Code Inspection PMD 4.2 BSD-style Debug Eclipse 3.4 EPL & EDL Implementation Tool Editor Eclipse 3.4 EPL & EDL AmaterasUML 1.0.5, √ EPL 1.0 Methodology & Template AmaterasERD 1.0.5 √ Ant, Apache License 2.0, Test Reporting Test Tool EMMA CPL Unit Test JUnit, EasyMock, DbUnit CPL, MIT, LGPL 2.1 Maven 2.1, Apache License 2.0, Build Deployment Tool Hudson MIT Deployment - - Configuration Mgt. SubVersion Apache License 2.0Conf. & Change Mgt. Tool Change Mgt. jTrac √ Apache License 2.0 √ : Extend functions, - : Self-Development Page l 29
  30. 30. Common ComponentsCommon componentsCommon Components are a collection of reusable common modules in developingapplication for e-Government projects Past eGov. Application eGovFrame Current eGov. Application Define A’ System B’ System C’ System A System B System C System Reuse Common Components Common Application Application Application Application Application Application Components S/W S/W S/W S/W S/W S/W Common B B Common B Common functions functions functions B B B B C C C C C F/W F/W F/W F/W F/W H/W H/W H/W Framework Apply H/W H/W H/W Define Standard Standard Framework • Duplicate development of the Framework Management same feature in each project • Development based on the • Business dependency in eGovFrame Center standard framework subsequent projects • Productivity and quality • Limited opportunities for small Management system for improvement by reusing business bid eGovFrame common components Page l 30
  31. 31. Common ComponentsHow to draw common components Analyze detailed features of the actual SW development project  Evaluate 67 e-Gov. projects from 2004 to 2011  Refine through expert review, user interviews, etc Main principles for the selection of common components  Is it overlapping functions in different sites?  Can it be structured to be reusable?  Is it possible to standardize features?Select 229 common components such as login, notice board, etc Page l 31
  32. 32. Common ComponentsCommon Components of eGovFrame229 Common Components of the reusable software modules Categories Components 8 Services including real name authentication and authority Security management User authentication/directory Technical Common Components 3 Services including general login and certificate login service 51 Services including User Management, Counsel Management, (139 Components) User support Survey Management, FAQ and Q&A 33 Services including Board, Club Management and Community Collaboration Management, mobile real-time notice, etc 25 Services including Common Code Management, Menu System management Management and Log Management Integration 6 Services, including system access, mobile open API, etc Statistics/Reporting 5 Services including Article and Connection Statistics 8 services including knowledge management, mobile photo album, Digital asset management etc Utility Common Components 90 Services including Calendar and Format Conversion (90 Components) Page l 32
  33. 33. Common ComponentsProcedure for applying common components 1) Download eGovFrame 2) Install eGovFrame 3) Download Common Component (Runtime/Development, etc) (Unzip files and configure properties) 개발자 6) Run and test 5) Modify, compile and build 4) Import them into Development Env. (Properties or Source code can be modified) Page l 33
  34. 34. Mobile eGovFrameWhat is Mobile eGovFrame?Mobile eGovFrame is based on eGovFrame that adds functionalities of UsereXperience(UX) and mobile components in order to provide mobile web service Runtime Env. Development Env. Mobile Template-based 10 new mobile component User eXperience(UX) Mobile eGovFrame Component Env. code generation Convert 30 web common Common components to mobile Presentation Biz. Logic Implementation Dev. Env. Runtime Test Technical components Env. Persistence Integration Deployment Web Foundation Utility components Change Mgt. Mobile Web Mobile Web Mobile Web Runtime Environment Development Environment Common Component Page l 34
  35. 35. Mobile eGovFrameHow to develop a mobile service? It needs to build an application subordinated to the specific mobile devices • Duplicate development for each devices and OS (Use dependent SDK) Page l 35
  36. 36. Mobile eGovFrameTemplate-based mobile serviceTemplate-based mobile services can be implemented by leveraging eGovFrame’smobile UX functions(runtime environment) and mobile common components Page l 36
  37. 37. Mobile eGovFrameCase StudyGyeongsang Province Mobile Homepage Page l 37
  38. 38. Mobile eGovFrameCase StudyNational Tax Service - Electronic tax invoice Page l 38
  39. 39. System requirements for eGovFrame eGovFrame Adoption GuideFollowing all three conditions must be met① Java-based web application system(In case of existing WAS)② 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
  40. 40. Considerations for using eGovFrame eGovFrame Adoption Guide Modification Descriptions - Not allow any changes for interoperability Runtime - Not allow any - If there is any enquiry of changes orEnvironment changes improvements, it is possible after eGovFrame Board review for the enquiry - Allow changesDevelopment - There is no restrictions on the changes and - Possible newEnvironment additions development - There is no restrictions on the changes and - Allow changes additions Common - Possible new Components development - New development must follow eGovFrame architecture compliance Page l 40
  41. 41. Technical Support eGovFrame Adoption GuideThrough the eGovFrame Portal (http://eng.egovframe.go.kr), receives SR(ServiceRequest) and performs on/offline technical support Technical Support Process (Management Env.) Project Support Service Online On-site Registration approval Request Support Support www.egovframe.go.kr Check Tech Support Supported Request If nessacery Project eGovFrame Project eGovFrame Manager Center(NIA) Manager Center(NIA) Page l 41
  42. 42. Achievement Achievement and Further work After opening the eGovFrame in June, 2009, download 100,000 in the shortest period (May, 2011) Applied technical support to more than 293 information system development projects, such as national representative portal, Yeosu Expo, etc. Through free eGovFrame training courses for SME engineers, propagate eGovFrame technology ※ At the end of Sep. 2012, more than 3,204 engineers completed the training course eGovFrame swept three awards in the FutureGov Award 2010 in Singapore • The Government Organization of the Year • The Technology Leadership Award • The award for Government Transformation of the Year Establish eGovFrame Open Community(http://open.egovframe.go.kr) (Aug. 2010) Page l 42
  43. 43. Further Work Achievement and Further work Carry out further development of a batch function for processing large amounts of data (Expect in 2012) Through the open community operation and vitalization, enhance the eGovFrame ecosystem for Self-Motivated development ※ Currently, more than 2,500 domestic developers registered and participated Promote the globalization of the eGovFrame ※ When exports Korean e-government systems, use as a standard development environment, etc Page l 43
  44. 44. Page l 44