Your SlideShare is downloading. ×
JasForge Community project : Future Evolution
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

JasForge Community project : Future Evolution


Published on

JasForge is collaborative and innovative projects which manage all the life cycle of your project by creating pluggable management architecture which integrate dynamically your favorite SCM and …

JasForge is collaborative and innovative projects which manage all the life cycle of your project by creating pluggable management architecture which integrate dynamically your favorite SCM and Continuous Integration tools. Let’s see how!?

Published in: Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 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. 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. Page  3 Continuous Integration Principles
  • 4. Page  4 Today Problem with software integration 10% 10% 20% 20% 45% Definerequirement Analyzethe needs Conception Coding Integration/Test Continuous Integration
  • 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. 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. Page  7 What is JasForge ?
  • 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. Page  9 JasForge Predefined Actors
  • 10. Page  10 JasForge monitoring Tools JASFORGE AgentJASFORGE Agent maven Nexus JasForge: A customized and Agile collaborative solution Your ToolYour Tool
  • 11. Page  11 JasForge particularities vs other existing Software Factories Extensibility EasyInstallation Jasforge Follow the CI Concept
  • 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. Page  13 SCM SUPPORT Simple scenarios:
  • 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. Page  15 JasForge Architecture
  • 16. Page  16 Jasforge Project: a layered and standardized Architecture
  • 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. Page  18 Jasforge: An Agile ecosystem in is own Page  18
  • 19. Page  19 JasForge Features in details
  • 20. Page  20 LDAP Based and specific roles for each tool openLDAPopenLDAP AuthentificationAuthentification Security RealmsSecurity Realms JNDI RealmsJNDI Realms Page  20
  • 21. Page  21 SVN synchronization SubversionSubversion Synchronization with SVN operations (checkin, ..)Synchronization with SVN operations (checkin, ..) SVN ConnectorSVN Connector Page  21
  • 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. 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. 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. Page  25 Demo: JasForge center of control
  • 26. Page  26 Some view of existing JasForge Tools integration …
  • 27. Page  27 Hudson Integration Page  27
  • 28. Page  28 Tools Monitoring Infrastructure
  • 29. Page  29 JIRA Integration
  • 30. Page  30 JasForge Future Evolution
  • 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. 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. Page  33 Conclusion
  • 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. 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