part 3 jasforge the collaborative and agile project v1.0

Post on 13-May-2015

401 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

JasForge:The Collaborative and Agile Project

TRANSCRIPT

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0JasForge the collaborative and Agile Open Source Project | March 2011 | Available as CPL Licence

JasForge:The Collaborative and Agile Project

Eclipse ConfWednesday, Mars. 21,

By Mr Karim Djafaar

CO and Technical JEE Evangelist of

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

1

2

Jasforge Project

Brief Recall of Continuous Integration

Presentation Plan

Page 2

3 What is JasForge ?

4 Simple Scenarios

JasForge Architecture

6 JasForge Features in detail

7 Demo

5

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

Continuous Integration Principles

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

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

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

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 ProcessJasforge : Agile and Open Source Solution for building a custom Continuous Process

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

JasForge Solution?

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

What is JasForge ?

• Jasforge is an Open Source project to build a scalable Team collaboration platform for Integrating work across the phases of the development lifecycle

• Available: Community Edition (Eclipse Public License) Enterprise Edition

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

JASFORGE TOOLS

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

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)

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

JasForge Architecture

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

JasForge Predefined Actors

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.013

Subversion – Architecture Overview

Berkley DB

FSFS

SubversionRepository

Client

Interface

Repository

Interface

GUI client apps

Commandline

client apps

ClientLibrary

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, LINUXWINDOWS

Offline Support

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

Jasforge Project: a layered and standardized Architecture

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

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

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

jasForge Agent ?

JASFORGE AgentJASFORGE Agent

maven

Nexus

JasForge: A customized and

Agile collaborative solution

JasForge: A customized and

Agile collaborative solutionYour ToolYour Tool

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

JasForge particularities vs other existing Software Factories

Ext

ensi

bilit

yE

asy InstallationJasforge

Follow the CI Concept

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

JasForge Features in details

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

Jasforge: An Agile ecosystem in is own

Page 19

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

LDAP Based and specific roles for each tool

openLDAPopenLDAP

AuthentificationAuthentification

Security RealmsSecurity Realms

JNDI RealmsJNDI Realms

Page 20

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

SVN synchronization

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

SVN ConnectorSVN Connector

Page 21

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

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

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

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 23

SOAP/REST-createBuildService

- ……

SOAP/REST-createBuildService

- ……

HTTP XML/RPC

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

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

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

Some view of existing JasForge Tools

integration …

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

Simple scenarios:

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

Sample scenarios: Project creation with JasForge

maven

authentificationProject Creation

Maven archetype Creation

SVN repository creation

Monitoring and Managing Tools CI project management

with Hudson

Jira Bugs

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

Demo

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

JasForge Future Evolution

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

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

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

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)

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

Integration to the Eclipse Community

• JasForge thanks to is pluggable architecture can be easily integrated in the Eclipse Platform using Eclipse RCP features

• This future Eclipse project will be soon on incubation phase to enhance the popularity of this concept and provide some API to the Eclipse Community developers and complete de puzzle !

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

Conclusion

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.0

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

over all the life cycle of a JEE ProjectCover all the life cycle of a JEE ProjectC

JsForge the Collaborative Agile Project | © 2011 by K. DJAAFAR made available under the EPL v1.035

Jasforge: A Jasmine Conseil concept

http://www.jasmineconseil.com

Need More information ?

info@jasmineconseil.com

Thank you for your Attention

top related