jasforge agile collaborative platform

33
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

1.000 views

Category:

Technology


0 download

DESCRIPTION

In this series of slides, we present the collaborative and Agile community Open Source Project JasForge. This presentation was made at the Eclipse Summit Europe at Ludwigsburg in Germany and present the main characteristics of this project, based on Maven and Agile tooling (Hudson, Subversion ..)

TRANSCRIPT

Page 1: Jasforge Agile Collaborative Platform

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 Agile Collaborative Platform

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 Agile Collaborative Platform

Page 3

Continuous Integration Principles

Page 4: Jasforge Agile Collaborative Platform

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 Agile Collaborative Platform

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 Agile Collaborative Platform

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 Agile Collaborative Platform

Page 7

What is JasForge ?

Page 8: Jasforge Agile Collaborative Platform

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 Licence)

– Entreprise Edition

Page 9: Jasforge Agile Collaborative Platform

Page 9

JasForge Predefined Actors

Page 10: Jasforge Agile Collaborative Platform

Page 10

JasForge monitoring Tools

JASFORGE AgentJASFORGE Agent

maven

Nexus

JasForge: A customized and

Agile collaborative solutionYour ToolYour Tool

Page 11: Jasforge Agile Collaborative Platform

Page 11

JasForge particularities vs other existing Software Factories

Ext

ensi

bilit

yE

asy InstallationJasforge

Follow the CI Concept

Page 12: Jasforge Agile Collaborative Platform

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 Agile Collaborative Platform

Page 13

SCM SUPPORT

Simple scenarios:

Page 14: Jasforge Agile Collaborative Platform

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 Agile Collaborative Platform

Page 15

JasForge Architecture

Page 16: Jasforge Agile Collaborative Platform

Page 16

Jasforge Project: a layered and standardized Architecture

Page 17: Jasforge Agile Collaborative Platform

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 Agile Collaborative Platform

Page 18

Jasforge: An Agile ecosystem in is own

Page 18

Page 19: Jasforge Agile Collaborative Platform

Page 19

JasForge Features in details

Page 20: Jasforge Agile Collaborative Platform

Page 20

LDAP Based and specific roles for each tool

openLDAPopenLDAP

AuthentificationAuthentification

Security RealmsSecurity Realms

JNDI RealmsJNDI Realms

Page 20

Page 21: Jasforge Agile Collaborative Platform

Page 21

SVN synchronization

SubversionSubversion

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

SVN ConnectorSVN Connector

Page 21

Page 22: Jasforge Agile Collaborative Platform

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 Agile Collaborative Platform

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 Agile Collaborative Platform

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 Agile Collaborative Platform

Page 25

Demo: JasForge center of control

Page 26: Jasforge Agile Collaborative Platform

Page 26

Some view of existing JasForge Tools integration …

Page 27: Jasforge Agile Collaborative Platform

Page 27

Hudson Integration

Page 27

Page 28: Jasforge Agile Collaborative Platform

Page 28

Tools Monitoring Infrastructure

Page 29: Jasforge Agile Collaborative Platform

Page 29

JIRA Integration

Page 30: Jasforge Agile Collaborative Platform

Page 30

Future Evolution

Page 31: Jasforge Agile Collaborative Platform

Page 31

OSGI compliant and Update Managment

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

Page 32: Jasforge Agile Collaborative Platform

Page 32

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 33: Jasforge Agile Collaborative Platform

Page 3333

JasForge: A Jasmine Conseil concept

http://www.jasmineconseil.com

Need More information ?

[email protected]

Download the Presentation:

http://moneclipse.com:8010/jasforge/resources/cms/documents/

JasForgeEclipseSummit2010.ppt

Thank you for your Attention