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!?
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
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
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)
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
20. Page 20
LDAP Based and specific roles for each tool
openLDAPopenLDAP
AuthentificationAuthentification
Security RealmsSecurity Realms
JNDI RealmsJNDI Realms
Page 20
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
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)
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 http://www.jasforge.com
en register or send email to contact@jasforge.com
Thank you for your Attention