Part6   introducing the jas forge collaborative project
Upcoming SlideShare
Loading in...5

Part6 introducing the jas forge collaborative project



Part 6 - Introducing the JasForge collaborative project

Part 6 - Introducing the JasForge collaborative project



Total Views
Views on SlideShare
Embed Views



1 Embed 2 2



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment
  • 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 Part6 introducing the jas forge collaborative project Presentation Transcript

  • Part 6: Introducing the JasForge collaborative project March 2011 Santa Clara Karim DJAAFAR CO of Jasmine Conseil
  • What is Continuous Integration ?
    • «  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.”
  • 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
    • JasForge Solution?
  • What is JasForge ?
    • 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
    • Available in two Edition:
    • Community Edition (Eclipse Public License)
      • Enterprise Edition
  • Jasforge Tools
  • 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)
    • JasForge Architecture
  • JasForge Predefined Actors
  • 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
  • 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
  • JasForge particularities vs other existing Software Factories Extensibility Easy Installation Follow the CI Concept Jasforge
    • JasForge Features in details
  • Jasforge Agent JASFORGE Agent JasForge: A customized and Agile collaborative solution Your Tool m a ven Nexus
  • Jasforge: An Agile ecosystem in is own Page 
  • 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 Svnserve.conf Stratégie d’auth passwd Users & pwd Authz Groupes & Accès
  • Full CI support with Hudson Tool using SOAP/REST Support Notice is managed by LDAP Authentification inside Hudson Page  XML/RPC Hudson
    • createBuildService
    • ……
  • 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
    • Some view of existing JasForge Tools integration …
    • Simple scenarios:
  • 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
  • Demo :Description
    • Managing User /role:
      • (Add, update and delete user, role)
    • Managing Servers and Instances:
      • Adding a new server
      •  (This server can be remote or local and it will be used to define Instance and Repository)
      • Adding a new instance: (Tomcat: )
      •  This instance can be Remote or local, installed in windows or UNIX system)
      • Monitoring Instances:
      •  stopping, starting, restart, view catalogue..
    • Demo
  • Demo :Description
    • Managing Repository
      • Adding new Repository:
      •  It will be used in order to define your appropriate location of your project:
      •  can be :(local or Remote) /(windows/ubuntu)
    • Managing archetype :
      • Adding new archetype , uploading an existing one….. related on your demand
    • Using permission Tools
      • Define the permission of your Tools (Svn , Hudson) depending on the appropriate role .
    • Demo
  • Demo : Description
    • Managing Project
      • Create Project/uploading an existing one.
    • Use monitoring Tools
      • (Hudson/maven /Maven site /Svn/)
    • Use Quality Metric Tools in Jasforge Project
      • Code Quality: Checkstyle, PMD, FindBugs
      • Test Coverage: Cobertura, Maven Surefire Plugin
    • Demo
  • Demo : Description
    • Use Jira Tools:
      • Monitored Project Jira : Create Project Jira, List Of Project JIRA
      • Monitored Issue
      • Groups And Users Jira : Create Group Jira , Create User Jira
    • Use Deployment Tools
      • Deploy Project /or deploy an existing war or ear (local deployment and Remote deployment).
    • Demo
  • JasForge Future Evolution
  • 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
  • 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
  • Future evolution of jasForge
    • Jboss ,weblogic…
    • jinkis
    • Nexus….
    • installeur …
    • 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 tools Collaborative Platform for agile team Plugable and extensible Software Factory over all the life cycle of a JEE ProjectC
  • Thank you for your Attention Jasforge: A Jasmine Conseil concept Need More information ? [email_address] Download the Presentation: