Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

JasForge : the collaborative agile project


Published on

JasForge is a collaborative and

Published in: Technology
  • Be the first to comment

  • Be the first to like this

JasForge : the collaborative agile project

  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 ©
  2. 2. Page  2 1 2 Jasforge Project Brief Recall of Continuous Integration Presentation Plan Page  2 3 What is JasForge ? 4 Simple Scenarios 5 JasForge Architecture 6 JasForge Features in detail 7 Some View of existing JasForge Tools
  3. 3. Page  3 Continuous Integration Principles
  4. 4. Page  4 Today Problem with software integration 10% 10% 20% 20% 45% Definerequirement Analyzethe needs Conception Coding Integration/Test Continuous Integration
  5. 5. Page  5 What is Continuous Integration (wikipedia definition) ? « In  software engineering,  continuous integration  (CI)  implements  continuous  processes  of  applying  quality  control  -  small  pieces  of  effort,  applied  frequently.     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.”
  6. 6. Page  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 repository1.Checkout: get all existing source from the repository 1 2 2.Commit: commit all local modifications in the repository2.Commit: commit all local modifications in the repository 3 3.Pool: See if there is a commit in the repository3.Pool: See if there is a commit in the repository 4 4.Build: Build construction in the JEE lifecycle.4.Build: Build construction in the JEE lifecycle. 5 5.Deploy: Artefact deployment in a target platform5.Deploy: Artefact deployment in a target platform 6 6.Feedback: feedback mecanism like email notification and groupware.6.Feedback: feedback mecanism like email notification and groupware. Jasforge : Agile and Open Source Solution for building a custom Continuous Process
  7. 7. Page  7 What is JasForge ?
  8. 8. Page  8 What is JasForge ?  An agile Platform to manage Continuous Integration Process  Help development team to better collaborate and be efficient in their daily task (project creation, development, tests, integration, deployment ...)  A central platform for the creation and managing of middle to complex projects, from the inception to the deployment  Available in two edition: – Community Edition (Eclipse Public License) – Enterprise Edition
  9. 9. Page  9 JasForge Predefined Actors
  10. 10. Page  10 JasForge monitoring Tools JASFORGE AgentJASFORGE Agent maven Nexus JasForge: A customized and Agile collaborative solution Your ToolYour Tool
  11. 11. Page  11 JasForge particularities vs other existing Software Factories Extensibility EasyInstallation Jasforge Follow the CI Concept
  12. 12. Page  12 Open to other standard Agile tool With JasForge, you can tailor your build process to your specific need by choosing your specific standard tool: – SVN, CVS for source code Management – Maven based compilation, test (Junit) and release – Continuous Integration Management with Hudson/Cruise Control – Bug Tracking by JIRA (default) – Quality Metrics with Sonar, PMD, Checkstyle – Directory Management and role based with OpenLDAP – Server Management and Monitoring (Tomcat/Jetty, JBoss, and WebSphere available only in the JasForge Entreprise Edition) – Eclipse IDE integration using the ECF framework and SOAP based API (Entreprise Edition)
  13. 13. Page  13 SCM SUPPORT Simple scenarios:
  14. 14. Page  14 Sample scenarios: Project creation with JasForge maven authentificationProject Creation Maven archetype Creation SVN repository creation Monitoring and Managing Tools CI project management with Hudson
  15. 15. Page  15 JasForge Architecture
  16. 16. Page  16 Jasforge Project: a layered and standardized Architecture
  17. 17. Page  17 JasForge : An Extensible Architecture A factory of beans which manage all the tools to be monitored in the JasForge monitoring tool A dedicated agent which instrument and monitor all the specific tool used in the infrastructure You declare your tool as spring service in a dedicated jasforge-service.xml descriptor using our JasForge SDK
  18. 18. Page  18 Jasforge: An Agile ecosystem in is own Page  18
  19. 19. Page  19 JasForge Features in details
  20. 20. Page  20 LDAP Based and specific roles for each tool openLDAPopenLDAP AuthentificationAuthentification Security RealmsSecurity Realms JNDI RealmsJNDI Realms Page  20
  21. 21. Page  21 SVN synchronization SubversionSubversion Synchronization with SVN operations (checkin, ..)Synchronization with SVN operations (checkin, ..) SVN ConnectorSVN Connector Page  21
  22. 22. Page  22 Full SCM support with Subversion SubversionSubversion SVN Managment using Access RightSVN Managment using Access Right AgentAgent JNDI Manager JNDI Manager Svnserve Svnserve.conf Stratégie d’auth passwd Users & pwd Authz Groupes & Accès Page  22
  23. 23. Page  23 Tools are injected exposed as web services using SOA and REST Protocol  The tools are services using Dependency Injection : – Each tool is managed as a bean and transparently « injected » in the JasForge application as a service  JasForge tools are exposed as Forge manage all web services using Simple Object Access Protocol (SOAP) and REST-style services
  24. 24. Page  24 Full CI support with Hudson Tool using SOAP/REST Support HudsonHudson NoticeNotice is managed by LDAP Authentification inside Hudson is managed by LDAP Authentification inside Hudson Page  24 SOAP/REST -createBuildService - …… SOAP/REST -createBuildService - …… HTTP XML/RPC
  25. 25. Page  25 Demo: JasForge center of control
  26. 26. Page  26 Some view of existing JasForge Tools integration …
  27. 27. Page  27 Hudson Integration Page  27
  28. 28. Page  28 Tools Monitoring Infrastructure
  29. 29. Page  29 JIRA Integration
  30. 30. Page  30 JasForge Future Evolution
  31. 31. Page  31 OSGI compliant and Update Managment Integration with Eclipse IDE to propose existing services to Eclipse community and enhance the support of existing tools Agile tools will be available as bundles in a OSGI container You will easily monitor your tools as services and enhance the monitoring of the overal infrastructure thanks to OSGI specification supported by Eclipse Equinox An update installer which facilitate the localization and update of your tools will be also available as OSGI bundle
  32. 32. Page  32 JasForge OSGI BundlesJasForge OSGI Bundles JasForge Eclipse Integration : Using Equinox on the Server Side to manage JasForge Tools as OSGI Bundles (Server Side Equinox) using Tomcat OSGI Monitoring Agent Eclipse Plugins and Eclipse Equinox OSGi Framework OSGI JasForge Web Application Eclipse IDE (Eclipse Developers) Web Client HTTP Bundle Subversion Bundle Hudson Bundle Hudson My BundleMy Bundle JasForge Descriptor (contain the list Of OSGI bundles)
  33. 33. Page  33 Conclusion
  34. 34. Page  34 Conclusion JasForge is an Agile and Open Source Platform for managing all the life cycle of your Agile JEE project. Based on Standard and Open Source toolsBased on Standard and Open Source tools Collaborative Platform for agile teamCollaborative Platform for agile team Plugable and extensible Software FactoryPlugable and extensible Software Factory Cover all the life cycle of a JEE ProjectCover all the life cycle of a JEE Project
  35. 35. Page  3535 JasForge: A Jasmine Conseil concept Need a demo of JasForge Project ? Go to the dedicated web site en register or send email to Thank you for your Attention