JasForge: The Collaborative and Agile  Project Eclipse  Summit  Europe Wednesday, Nov. 3, 2010  Ludwigsburg (Germany) By M...
Presentation  Plan 1 2 Jasforge Project Brief Recall of Continuous Integration Page     3 What is JasForge ? 4 Simple Sce...
<ul><li>Continuous Integration Principles </li></ul>
Today Problem with software integration http://www.info.ucl.ac.be/Enseignement/Cours/INGI2255/notes/chap1.pdf Continuous I...
What is Continuous Integration (wikipedia definition) ? <ul><li>«  In  software engineering ,  continuous integration  (CI...
CI Architecture and JasForge Open Source project CI Repository CI Server Deployment Platform Build Manager Feedback mecani...
<ul><li>What is JasForge ? </li></ul>
What is JasForge ? <ul><li>An agile Platform to manage Continuous Integration Process </li></ul><ul><li>Help development t...
JasForge Predefined Actors
JasForge monitoring Tools JASFORGE Agent JasForge:  A customized and  Agile collaborative solution Your Tool m a ven Nexus
JasForge particularities vs  other existing Software Factories Extensibility Easy Installation Follow the CI Concept Jasfo...
Open to other standard Agile tool <ul><li>With JasForge, you can tailor your build process to your specific need by choosi...
SCM SUPPORT <ul><li>Simple scenarios:  </li></ul>
Sample scenarios: Project creation with JasForge m a ven authentification Project Creation Maven archetype Creation SVN re...
<ul><li>JasForge Architecture </li></ul>
Jasforge Project:  a  layered  and  standardized  Architecture
JasForge : An Extensible Architecture <ul><li>A factory of beans which manage all the tools to be monitored in the JasForg...
Jasforge : An Agile ecosystem in is own Page  
<ul><li>JasForge  Features  in details </li></ul>
LDAP Based and specific roles for each tool Authentification Security Realms JNDI Realms Page     openLDAP
SVN synchronization  Synchronization with SVN operations (checkin, ..) Page     Subversion SVN Connector
Full SCM support  with  Subversion SVN Managment using Access Right Page     Subversion Agent JNDI Manager Svnserve Svnse...
Tools  are injected exposed as web services using SOA and REST Protocol <ul><li>The tools are services using  Dependency I...
Full CI support with Hudson Tool using SOAP/REST Support Notice is managed by LDAP Authentification inside Hudson  Page  ...
Demo: JasForge center of control
<ul><li>Some view of existing JasForge Tools integration … </li></ul>
Hudson  Integration Page  
Tools Monitoring Infrastructure
JIRA Integration
<ul><li>Future Evolution </li></ul>
OSGI compliant and Update Managment <ul><li>Tools will be available as bundles in a OSGI container </li></ul><ul><li>You w...
Conclusion <ul><li>JasForge is an Agile and Open Source Platform for managing all the life cycle of your Agile JEE project...
Thank you for your Attention JasForge: A Jasmine Conseil concept http://www.jasmineconseil.com Need More information ? [em...
Upcoming SlideShare
Loading in …5
×

Jasforge Agile Collaborative Platform

1,277 views

Published on

In this series of slides, we present the collaborative and Agile community Open Source Project JasForge.
This presentation was made at the Eclipse Summit Europe at Ludwigsburg in Germany and present the main characteristics of this project, based on Maven and Agile tooling (Hudson, Subversion ..)

Published in: Technology
  • Be the first to comment

Jasforge Agile Collaborative Platform

  1. 1. JasForge: The Collaborative and Agile Project Eclipse Summit Europe Wednesday, Nov. 3, 2010 Ludwigsburg (Germany) By Mr Karim Djafaar CO and Technical JEE Evangelist of JASMINE CONSEIL © http://www.jasmineconseil.com
  2. 2. Presentation Plan 1 2 Jasforge Project Brief Recall of Continuous Integration Page  3 What is JasForge ? 4 Simple Scenarios 5 JasForge Architecture 6 JasForge Features in detail 7 Some View of existing JasForge Tools
  3. 3. <ul><li>Continuous Integration Principles </li></ul>
  4. 4. Today Problem with software integration http://www.info.ucl.ac.be/Enseignement/Cours/INGI2255/notes/chap1.pdf Continuous Integration
  5. 5. What is Continuous Integration (wikipedia definition) ? <ul><li>«  In software engineering , continuous integration (CI) implements continuous processes of applying quality control - small pieces of effort, applied frequently. </li></ul><ul><li>Continuous integration aims to improve the quality of software, and to reduce the time taken to deliver it, by replacing the traditional practice of applying quality control after completing all development.” </li></ul>
  6. 6. CI Architecture and JasForge Open Source project CI Repository CI Server Deployment Platform Build Manager Feedback mecanism 1.Checkout: get all existing source from the repository 1 2 2.Commit: commit all local modifications in the repository 3 3.Pool: See if there is a commit in the repository 4 4.Build: Build construction in the JEE lifecycle. 5 5.Deploy: Artefact deployment in a target platform 6 6.Feedback: feedback mecanism like email notification and groupware. Jasforge : Agile and Open Source Solution for building a custom Continuous Process
  7. 7. <ul><li>What is JasForge ? </li></ul>
  8. 8. What is JasForge ? <ul><li>An agile Platform to manage Continuous Integration Process </li></ul><ul><li>Help development team to better collaborate and be efficient in their daily task (project creation, development, tests, integration, deployment ...) </li></ul><ul><li>  A central platform for the creation and managing of middle to complex projects, from the inception to the deployment </li></ul><ul><li>Available in two edition: </li></ul><ul><ul><li>Community Edition (Eclipse Public Licence) </li></ul></ul><ul><ul><li>Entreprise Edition </li></ul></ul>
  9. 9. JasForge Predefined Actors
  10. 10. JasForge monitoring Tools JASFORGE Agent JasForge: A customized and Agile collaborative solution Your Tool m a ven Nexus
  11. 11. JasForge particularities vs other existing Software Factories Extensibility Easy Installation Follow the CI Concept Jasforge
  12. 12. Open to other standard Agile tool <ul><li>With JasForge, you can tailor your build process to your specific need by choosing your specific standard tool: </li></ul><ul><ul><li>SVN, CVS for source code Management </li></ul></ul><ul><ul><li>Maven based compilation, test (Junit) and release </li></ul></ul><ul><ul><li>Continuous Integration Management with Hudson/Cruise Control </li></ul></ul><ul><ul><li>Bug Tracking by JIRA (default) </li></ul></ul><ul><ul><li>Quality Metrics with Sonar, PMD, Checkstyle </li></ul></ul><ul><ul><li>Directory Management and role based with OpenLDAP </li></ul></ul><ul><ul><li>Server Management and Monitoring (Tomcat/Jetty, JBoss, and WebSphere available only in the JasForge Entreprise Edition) </li></ul></ul><ul><ul><li>Eclipse IDE integration using the ECF framework and SOAP based API (Entreprise Edition) </li></ul></ul>
  13. 13. SCM SUPPORT <ul><li>Simple scenarios: </li></ul>
  14. 14. Sample scenarios: Project creation with JasForge m a ven authentification Project Creation Maven archetype Creation SVN repository creation Monitoring and Managing Tools CI project management with Hudson
  15. 15. <ul><li>JasForge Architecture </li></ul>
  16. 16. Jasforge Project: a layered and standardized Architecture
  17. 17. JasForge : An Extensible Architecture <ul><li>A factory of beans which manage all the tools to be monitored in the JasForge monitoring tool </li></ul><ul><li>A dedicated agent which instrument and monitor all the specific tool used in the infrastructure </li></ul><ul><li>You declare your tool as spring service in a dedicated jasforge-service.xml descriptor using our JasForge SDK </li></ul>
  18. 18. Jasforge : An Agile ecosystem in is own Page 
  19. 19. <ul><li>JasForge Features in details </li></ul>
  20. 20. LDAP Based and specific roles for each tool Authentification Security Realms JNDI Realms Page  openLDAP
  21. 21. SVN synchronization Synchronization with SVN operations (checkin, ..) Page  Subversion SVN Connector
  22. 22. Full SCM support with Subversion SVN Managment using Access Right Page  Subversion Agent JNDI Manager Svnserve Svnserve.conf Stratégie d’auth passwd Users & pwd Authz Groupes & Accès
  23. 23. Tools are injected exposed as web services using SOA and REST Protocol <ul><li>The tools are services using Dependency Injection : </li></ul><ul><ul><li>Each tool is managed as a bean and transparently « injected » in the JasForge application as a service </li></ul></ul><ul><li>JasForge tools are exposed as Forge manage all web services using Simple Object Access Protocol (SOAP) and REST-style services </li></ul>
  24. 24. Full CI support with Hudson Tool using SOAP/REST Support Notice is managed by LDAP Authentification inside Hudson Page  XML/RPC Hudson <ul><li>SOAP/REST </li></ul><ul><li>createBuildService </li></ul><ul><li>…… </li></ul>HTTP
  25. 25. Demo: JasForge center of control
  26. 26. <ul><li>Some view of existing JasForge Tools integration … </li></ul>
  27. 27. Hudson Integration Page 
  28. 28. Tools Monitoring Infrastructure
  29. 29. JIRA Integration
  30. 30. <ul><li>Future Evolution </li></ul>
  31. 31. OSGI compliant and Update Managment <ul><li>Tools will be available as bundles in a OSGI container </li></ul><ul><li>You will easily monitor your tools as services and enhance the monitoring of the overal infrastructure thanks to OSGI specification supported by Eclipse Equinox </li></ul><ul><li>An update installer which facilitate the localization and update of your tools will be also available </li></ul>
  32. 32. Conclusion <ul><li>JasForge is an Agile and Open Source Platform for managing all the life cycle of your Agile JEE project. </li></ul>Collaborative Platform for agile team Plugable and extensible Software Factory Cover all the life cycle of a JEE Project Based on Standard and Open Source tools
  33. 33. Thank you for your Attention JasForge: A Jasmine Conseil concept http://www.jasmineconseil.com Need More information ? [email_address] Download the Presentation: http://moneclipse.com:8010/jasforge/resources/cms/documents/ JasForgeEclipseSummit2010.ppt

×