eGovFrame Training Book  Development Environment        eGovFrame Center              2012
Table of contentsI     OverviewII    MavenIII   CI (Continuous Integration) Server                                        ...
Development Environment                                                                  OverviewDevelopment Environment p...
Development Environment                                                     Composition of eGovFrame4 service groups, 11 s...
Development Environment                                                     Composition of eGovFrame4 service groups, 11 s...
General programming process                                                           Composition of eGovFrameAdopt eclips...
Eclipse IDE Overview                                                                               Composition of eGovFram...
eGovFrame IDE –                    eGovFrame integrated menu                                 Composition of eGovFrameOnly ...
eGovFrame IDE –      eGovFrame Update                    Composition of eGovFrameInstall or update eGovFrame in developmen...
Build – Maven : Architecture                                                             Distribution ToolsMaven was origi...
Build – Maven : Directory Structure                                                             Distribution ToolsProvidin...
Build – Maven : pom.xml                                                                            Distribution ToolsThe P...
Build – Maven : Build Lifecycle                                                                                   Distribu...
Build – Maven : Plug-in                                                              Distribution Tools“m2eclipse” plug-in...
Build – Maven : Repository                                                             Distribution ToolsUsing libraries t...
Build – Maven : Nexus                                                              Distribution ToolsNexus manages softwar...
CI Server - Build Automation Tool                                                                                         ...
CI Server - Hudson Build                                                                           Distribution ToolsHudso...
CI Server - Hudson Dashboard                                      Distribution ToolsProviding a dashboard function to show...
Upcoming SlideShare
Loading in …5
×

02.egovFrame Development Environment training book

1,172 views

Published on

eGovFrame - Framework for e-goverment
Development Environment - Concept

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,172
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
30
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

02.egovFrame Development Environment training book

  1. 1. eGovFrame Training Book Development Environment eGovFrame Center 2012
  2. 2. Table of contentsI OverviewII MavenIII CI (Continuous Integration) Server Page l 2
  3. 3. Development Environment OverviewDevelopment Environment provides a set of tools on implementation(coding, debugging), test,deployment and configuration which are needed to develop an application based on theeGovFrame Runtime Environment Implementation Editor, Debugger, Templates Testing, Test Reporting and Test Tools Tools Development Procedures Coverage Analysis Configuration Configuration and Distribution Build / Build Automation Management Tools Change Management Tools (Maven) Page l 3
  4. 4. Development Environment Composition of eGovFrame4 service groups, 11 services compose the development environmentSupport various tools that are required for a programming based on eGovFrame Development Environment Implementation Test Tool Deployment Tool Conf. & Change Tool Mgt. Tool Code Generation Test Reporting Build Configuration Management Code Inspection Unit Test Deployment Change Debug Management Editor Methodology & Template Page l 4
  5. 5. Development Environment Composition of eGovFrame4 service groups, 11 services compose the development environmentSupport various tools that are required for a programming based on eGovFrame Development Environment Implementation Test Tool Deployment Tool Conf. & Change Tool Mgt. Tool Code Generation Test Reporting Build Configuration Management Code Inspection Unit Test Deployment Change Debug Management Editor Methodology & Template Page l 5
  6. 6. General programming process Composition of eGovFrameAdopt eclipse IDE*), and provide programming support tools through the entireprogramming lifecycle, which is from coding to deployment Developer PC Development Server Yes Coding Build Success? Configuration Build Commit management Checkout • Code editing • Compile • Compile • Testing • Packaging • Packaging • Debugging No • Inspection Operation Server WAS restart DeployIDE*) : Integrated Development Environment Page l 6
  7. 7. Eclipse IDE Overview Composition of eGovFrameImplementation tools provide characterized perspective, integrated menu, views and editorsin order to present an easy and convenient development environment for developers. eGovFrame menu Change to eGovFrame perspective Provide various editors such as DBIO, UML, ERD , etc Use various views such as OutlineView,Provide views such as Package etcExplorer,Data Source Explorer, etc Provide various views such as DBIO Search, Query Result, etc Page l 7
  8. 8. 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 8
  9. 9. eGovFrame IDE – eGovFrame Update Composition of eGovFrameInstall or update eGovFrame in development environment Page l 9
  10. 10. Build – Maven : Architecture Distribution ToolsMaven was originally started as an attempt to simplify the build process and provides astandard way to build projects. It includes a clear definition of what the project consistedof(POM), dependency management(library control), project life cycle management, etc Maven Architecture POM.XML Dependency Repositories Project Object Management (local and Model Model remote) Project life cycle and phases Plugins Source Packaged Reporting Resources Compile files libraries Page l 10
  11. 11. Build – Maven : Directory Structure Distribution ToolsProviding a standard directory structure Maven Standard Directory Structure Directory/File Description The core of a projects configuration in Maven. It is a single configuration file that contains the /pom.xml majority of information required to build a project. (Ex: dependency) Locate Java Source file. Compiled to /src/main/java “target/classes” directory Resources for deploying, namely XML, /src/main/resources properties, etc. Copied to “target/classes” Web application related files (/WEB- /src/main/webapp INF/web.xml, webapp/index.jsp, css, etc) Test case Java sources. Compiled to /src/test/java “target/test-classes” Resources for testing. Copied to “target/test- /src/test/resources classes” /target Build outputs are located Page l 11
  12. 12. Build – Maven : pom.xml Distribution ToolsThe POM contains all necessary information about a project, as well as configurations of pluginsto be used during the build process. groupId:artifactId:version are all required fields and act muchlike an address and timestamp in a repository, acting like a coordinate system for Maven projects POM.XML <project xmlns=http://maven.apache.org/POM/4.0.0 ....> <groupId>egovframework.dev.com</groupId> <artifactId>egovframework-dev-com</artifactId> Project Information <version>1.0</version> Artifact Info. Name Description <packaging>war</packaging> <dependencies> URL Inception Year <dependency> <groupId>junit</groupId> Artifact <artifactId>junit</artifactId> Dependency <version>4.4</version> Group Id Artifact Id <scope>test</scope> Management Version </dependency> </dependencies> <plugins> Dependencies Repositories <plugin> <groupId>org.apache.maven.plugins</groupId> Dependencies Repositories <artifactId>maven-compiler-plugin</artifactId> <configuration> Plug-in Build Settings <source>1.5</source> Setting </configuration> Properties Packaging </plugin> Build Reporting </plugins> </project> Page l 12
  13. 13. Build – Maven : Build Lifecycle Distribution ToolsMaven 2.0 is based around the central concept of a build lifecycle. What this means is thatthe process for building and distributing a particular artifact (project) is clearly defined. Build Lifecycle Maven2 Build Lifecycle Phase Phase Description Validate validate the project is correct and all necessary archetype Validate information is available Compile Compile compile the source code of the project mvn compile compiler test the compiled source code using a suitable unit testing Test Test framework mvn P take the compiled code and package it in its distributable Package format, such as a JAR test Package O surefire M run any checks to verify the package is valid and meets Verify quality criteria Verify jar install the package into the local repository, for use as a mvn install Install dependency in other projects locally Install copies the final package to the remote repository for Deploy sharing with other developers and projects install deploy Maven command ex) $mvn install Lifecycle Phases Plugins Page l 13
  14. 14. Build – Maven : Plug-in Distribution Tools“m2eclipse” plug-in to use Maven in egovframework IDE m2eclipse Maven Build Maven install Click “Maven install” to initiate build lifecycle phase. It packages and installs the project into the local repository Page l 14
  15. 15. Build – Maven : Repository Distribution ToolsUsing libraries that declared in the pom.xml of the project as dependency and the libraries comefrom the repository. If it exits in local repository, use it, if not, download from the remoterepository to local and use. Maven Repository Composition Diagram Utilizing Maven Repository Manager Internet Internet Internet Internet Computer 1 Computer 1 Computer 2 Computer 2 Public Maven Maven Repository Public Maven Repository (Nexus) Repository Computer 3 Computer 3 Page l 15
  16. 16. Build – Maven : Nexus Distribution ToolsNexus manages software artifacts required for development, deployment, and provisioning.Also it simplifies the maintenance of internal repositories and access to external repositories Page l 16
  17. 17. CI Server - Build Automation Tool Distribution ToolsHudson as a CI(Continuous Integration) server Notice Feedback Mechanism Build Failed Code Source Code Build Commit Watch & Polling Unit Tests Developer Code Version Control Server CI Server Commit (SVN) Deploy Code Inspection Developer Build Success Test Coverage Analysis Development Server Page l 17
  18. 18. CI Server - Hudson Build Distribution ToolsHudson as an open source CI server provides automatic build with a script and offers a feedbackmechanism about build results to developers Main Screen : Display a list of projects, build status and build success or failure Page l 18
  19. 19. CI Server - Hudson Dashboard Distribution ToolsProviding a dashboard function to show build, test results, etc Page l 19

×