jasforge community project : future evolution

35
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 © http://www.jasmineconseil.com

Upload: jasmine-conseil

Post on 13-May-2015

401 views

Category:

Technology


0 download

DESCRIPTION

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!?

TRANSCRIPT

Page 1: JasForge Community project : Future Evolution

JasForge:The Collaborative and Agile Project

Eclipse Summit EuropeWednesday, Nov. 3, 2010 Ludwigsburg (Germany)

By Mr Karim Djafaar

CO and Technical JEE Evangelist of

JASMINE CONSEIL ©

http://www.jasmineconseil.com

Page 2: JasForge Community project : Future Evolution

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

Page 3: JasForge Community project : Future Evolution

Page 3

Continuous Integration Principles

Page 4: JasForge Community project : Future Evolution

Page 4

Today Problem with software integration

10%10%

20%

20%

45% Define requirement

Analyze the needs

Conception

Coding

Integration/Test

http://www.info.ucl.ac.be/Enseignement/Cours/INGI2255/notes/chap1.pdf

Continuous IntegrationContinuous Integration

Page 5: JasForge Community project : Future Evolution

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.”

Page 6: JasForge Community project : Future Evolution

Page 6

CI Architecture and JasForge Open Source project

CI RepositoryCI Server Deployment

Platform

Build Manager

Feedbackmecanism

1.Checkout: get all existing source from the repository1.Checkout: get all existing source from the repository

12

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

Jasforge : Agile and Open Source Solution for building a custom Continuous Process

Page 7: JasForge Community project : Future Evolution

Page 7

What is JasForge ?

Page 8: JasForge Community project : Future Evolution

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

Page 9: JasForge Community project : Future Evolution

Page 9

JasForge Predefined Actors

Page 10: JasForge Community project : Future Evolution

Page 10

JasForge monitoring Tools

JASFORGE AgentJASFORGE Agent

maven

Nexus

JasForge: A customized and

Agile collaborative solutionYour ToolYour Tool

Page 11: JasForge Community project : Future Evolution

Page 11

JasForge particularities vs other existing Software Factories

Ext

ensi

bilit

yE

asy InstallationJasforge

Follow the CI Concept

Page 12: JasForge Community project : Future Evolution

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)

Page 13: JasForge Community project : Future Evolution

Page 13

SCM SUPPORT

Simple scenarios:

Page 14: JasForge Community project : Future Evolution

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

Page 15: JasForge Community project : Future Evolution

Page 15

JasForge Architecture

Page 16: JasForge Community project : Future Evolution

Page 16

Jasforge Project: a layered and standardized Architecture

Page 17: JasForge Community project : Future Evolution

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

Page 18: JasForge Community project : Future Evolution

Page 18

Jasforge: An Agile ecosystem in is own

Page 18

Page 19: JasForge Community project : Future Evolution

Page 19

JasForge Features in details

Page 20: JasForge Community project : Future Evolution

Page 20

LDAP Based and specific roles for each tool

openLDAPopenLDAP

AuthentificationAuthentification

Security RealmsSecurity Realms

JNDI RealmsJNDI Realms

Page 20

Page 21: JasForge Community project : Future Evolution

Page 21

SVN synchronization

SubversionSubversion

Synchronization with SVN operations (checkin, ..)Synchronization with SVN operations (checkin, ..)

SVN ConnectorSVN Connector

Page 21

Page 22: JasForge Community project : Future Evolution

Page 22

Full SCM support with Subversion

SubversionSubversion

SVN Managment using Access RightSVN Managment using Access Right

AgentAgent

JNDIManager

JNDIManager

Svnserve

Svnserve.conf

Stratégie d’auth

passwd

Users & pwd

Authz

Groupes & Accès

Page 22

Page 23: JasForge Community project : Future Evolution

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

Page 24: JasForge Community project : Future Evolution

Page 24

Full CI support with Hudson Tool using SOAP/REST Support

HudsonHudson

No

tic

eN

oti

ce

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

Page 25: JasForge Community project : Future Evolution

Page 25

Demo: JasForge center of control

Page 26: JasForge Community project : Future Evolution

Page 26

Some view of existing JasForge Tools integration …

Page 27: JasForge Community project : Future Evolution

Page 27

Hudson Integration

Page 27

Page 28: JasForge Community project : Future Evolution

Page 28

Tools Monitoring Infrastructure

Page 29: JasForge Community project : Future Evolution

Page 29

JIRA Integration

Page 30: JasForge Community project : Future Evolution

Page 30

JasForge Future Evolution

Page 31: JasForge Community project : Future Evolution

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

Page 32: JasForge Community project : Future Evolution

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 HudsonBundle Hudson My BundleMy Bundle

JasForge Descriptor

(contain the list Of OSGI bundles)

Page 33: JasForge Community project : Future Evolution

Page 33

Conclusion

Page 34: JasForge Community project : Future Evolution

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 tools Based 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

Page 35: JasForge Community project : Future Evolution

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 [email protected]

Thank you for your Attention