Part6 introducing the jas forge collaborative project


Published on

Part 6 - Introducing the JasForge collaborative project

Published in: Technology
1 Like
  • Be the first to comment

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

No notes for slide
  • Two locations of SVN repositories On a local filesystem Typically used for a single developer Accessed via direct file read/write access Requires that users have local accounts Uses filesystem and user/group security On a remote system Accessed via a HTTP or HTTPS connection Does not require that users have accounts on the server Use Apache style authentication
  • Archiva :Note
  • Démo video CreateProject ImportProject
  • Démo video CreateProject ImportProject
  • Démo video CreateProject ImportProject
  • Démo video CreateProject ImportProject
  • Démo video CreateProject ImportProject
  • Part6 introducing the jas forge collaborative project

    1. 1. Part 6: Introducing the JasForge collaborative project March 2011 Santa Clara Karim DJAAFAR CO of Jasmine Conseil
    2. 3. What is Continuous Integration ? <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>
    3. 4. 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
    4. 5. <ul><li>JasForge Solution? </li></ul>
    5. 6. What is JasForge ? <ul><li>Jasforge is an Open Source project which main objective is to build a scalable Team collaboration platform for Integrating activities and tools across the phases of the development lifecycle </li></ul><ul><li>Available in two Edition: </li></ul><ul><li>Community Edition (Eclipse Public License) </li></ul><ul><ul><li>Enterprise Edition </li></ul></ul>
    6. 7. Jasforge Tools
    7. 8. 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>
    8. 9. <ul><li>JasForge Architecture </li></ul>
    9. 10. JasForge Predefined Actors
    10. 11. Subversion – Architecture Overview Berkley DB FSFS Subversion Repository Client Interface Repository Interface GUI client apps Commandline client apps Client Library Working Copy Management Library Repository access DAV SVN Local Apache mod _ dav mod_dav_svn svnserve Internet (Any TCP/IP Network) Single Sign On LDAP High Secure SSL Office Integration WebDAV UNIX, LINUX WINDOWS Offline Support
    11. 12. 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>
    12. 13. JasForge particularities vs other existing Software Factories Extensibility Easy Installation Follow the CI Concept Jasforge
    13. 14. <ul><li>JasForge Features in details </li></ul>
    14. 15. Jasforge Agent JASFORGE Agent JasForge: A customized and Agile collaborative solution Your Tool m a ven Nexus
    15. 16. Jasforge: An Agile ecosystem in is own Page 
    16. 17. LDAP Based and specific roles for each tool Authentification Security Realms JNDI Realms Page  openLDAP
    17. 18. SVN synchronization Synchronization with SVN operations (checkin, ..) Page  Subversion SVN Connector
    18. 19. 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
    19. 20. 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
    20. 21. 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>
    21. 22. <ul><li>Some view of existing JasForge Tools integration … </li></ul>
    22. 23. <ul><li>Simple scenarios: </li></ul>
    23. 24. 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 Jira Bugs
    24. 25. Demo :Description <ul><li>Managing User /role: </li></ul><ul><ul><li>(Add, update and delete user, role) </li></ul></ul><ul><li>Managing Servers and Instances: </li></ul><ul><ul><li>Adding a new server </li></ul></ul><ul><ul><li> (This server can be remote or local and it will be used to define Instance and Repository) </li></ul></ul><ul><ul><li>Adding a new instance: (Tomcat: ) </li></ul></ul><ul><ul><li> This instance can be Remote or local, installed in windows or UNIX system) </li></ul></ul><ul><ul><li>Monitoring Instances: </li></ul></ul><ul><ul><li> stopping, starting, restart, view catalogue.. </li></ul></ul>
    25. 26. <ul><li>Demo </li></ul>
    26. 27. Demo :Description <ul><li>Managing Repository </li></ul><ul><ul><li>Adding new Repository: </li></ul></ul><ul><ul><li> It will be used in order to define your appropriate location of your project: </li></ul></ul><ul><ul><li> can be :(local or Remote) /(windows/ubuntu) </li></ul></ul><ul><li>Managing archetype : </li></ul><ul><ul><li>Adding new archetype , uploading an existing one….. related on your demand </li></ul></ul><ul><li>Using permission Tools </li></ul><ul><ul><li>Define the permission of your Tools (Svn , Hudson) depending on the appropriate role . </li></ul></ul>
    27. 28. <ul><li>Demo </li></ul>
    28. 29. Demo : Description <ul><li>Managing Project </li></ul><ul><ul><li>Create Project/uploading an existing one. </li></ul></ul><ul><li>Use monitoring Tools </li></ul><ul><ul><li>(Hudson/maven /Maven site /Svn/) </li></ul></ul><ul><li>Use Quality Metric Tools in Jasforge Project </li></ul><ul><ul><li>Code Quality: Checkstyle, PMD, FindBugs </li></ul></ul><ul><ul><li>Test Coverage: Cobertura, Maven Surefire Plugin </li></ul></ul>
    29. 30. <ul><li>Demo </li></ul>
    30. 31. Demo : Description <ul><li>Use Jira Tools: </li></ul><ul><ul><li>Monitored Project Jira : Create Project Jira, List Of Project JIRA </li></ul></ul><ul><ul><li>Monitored Issue </li></ul></ul><ul><ul><li>Groups And Users Jira : Create Group Jira , Create User Jira </li></ul></ul><ul><li>Use Deployment Tools </li></ul><ul><ul><li>Deploy Project /or deploy an existing war or ear (local deployment and Remote deployment). </li></ul></ul>
    31. 32. <ul><li>Demo </li></ul>
    32. 33. JasForge Future Evolution
    33. 34. OSGI compliant and Update Managment <ul><li>Integration with Eclipse IDE to propose existing services to Eclipse community and enhance the support of existing tools </li></ul><ul><li>Agile 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 as OSGI bundle </li></ul>
    34. 35. JasForge Eclipse Integration : Using Equinox on the Server Side to manage JasForge Tools as OSGI Bundles JasForge OSGI Bundles Eclipse Plugins and Eclipse Equinox OSGi Framework OSGI JasForge Web Application Eclipse IDE (Eclipse Developers ) Web Client HTTP Bundle Hudson My Bundle JasForge Descriptor (contain the list Of OSGI bundles) (Server Side Equinox) using Tomcat OSGI Monitoring Agent Bundle Subversion
    35. 36. Future evolution of jasForge <ul><li>Jboss ,weblogic… </li></ul><ul><li>jinkis </li></ul><ul><li>Nexus…. </li></ul><ul><li>installeur … </li></ul>
    36. 37. <ul><li>Conclusion </li></ul>
    37. 38. <ul><li>JasForge is an Agile and Open Source Platform for managing all the life cycle of your Agile JEE project. </li></ul>Based on Standard and Open Source tools Collaborative Platform for agile team Plugable and extensible Software Factory over all the life cycle of a JEE ProjectC
    38. 39. Thank you for your Attention Jasforge: A Jasmine Conseil concept Need More information ? [email_address] Download the Presentation: