How the Open Source tools and spirit enable better...

26
RMLL / Libre Software Meeting 2009 How the Open Source tools and spirit enable better projects July 09 th 2009 Erlé Le Gac Bertrand Florat

Transcript of How the Open Source tools and spirit enable better...

Page 1: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

RMLL / Libre Software Meeting 2009

How the Open Source tools and spirit enable better projects July 09 th 2009 Erlé Le GacBertrand Florat

Page 2: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

FLOSS*, a strategic choice for us

FLOSS* within the project life cycle

Design through Model Driven Development

Development : tools, methods and frameworks we use

Quality insurance : How FLOSS enables global quality from coding to publishing

(E) RMLL 2009

Contents

(*) FLOSS = Free Libre Open Source Software

Page 3: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

9 Juillet 2009 - Capgemini

(E/B) RMLL 2009

FLOSS is a strategic choice

Direct benefits : economic choiceProfitability, Budget focus on value-added business but we need Performance. Good compromise between efficiency and usability

Indirect important benefits for an IT integratorEase in recruiting skilled employeesSoftware perenityCollaborative appoach ensures good supportNo license means no legals headeach, trial licenses, token servers complifying the architecture...

Page 4: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

FLOSS*, a strategic choice for us

FLOSS* within the project life cycle

Design through Model Driven Development

Development : tools, methods and frameworks we use

Quality insurance : How FLOSS enables global quality from coding to publishing

9 Juillet 2009 - Capgemini

RMLL 2009

Contents

(*) FLOSS = Free Libre Open Source Software

Page 5: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

9 Juillet 2009 - Capgemini

(B) RMLL 2009

FLOSS is used in any phase of the project

Singleiteration /sprint for Scrum projects

Page 6: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

FLOSS*, a strategic choice for us

FLOSS* within the project life cycle

Design through Model Driven Development

Development : tools, methods and frameworks we use

Quality insurance : How FLOSS enables global quality from coding to publishing

9 Juillet 2009 - Capgemini

RMLL 2009

Contents

(*) FLOSS = Free Libre Open Source Software

Page 7: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

9 Juillet 2009 - Capgemini

(E) RMLL 2009

Model Driven Development : from design to generation

Page 8: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

9 Juillet 2009 - Capgemini

(E) RMLL 2009

The MDD concept

Model Driven DevelopmentMDA : Topcased (includes an UML editor) DSM : EMF / GMF

Unedic : Full open source approachCapgemini SoFa : mixed approach, open source complemented with a commercial solution (Obeo Designer)

Sometimes commercial solution requiredWhen the FLOSS is less profitable

Generator : Acceleo

Page 9: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

5000 day-man Unédic project (EMF, GMF , Acceleo)Capgemini consulting supportDSM built by OBEO

1 meta-model, 100 meta-entities, 3 modelers, 70 templatesCost of the tool : 200 day-manProductivity gain : 30 %

@Unedic, a DSM cuts down development costs by 30%

(B) RMLL 2009

Page 10: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

FLOSS*, a strategic choice for us

FLOSS* within the project life cycle

Design through Model Driven Development

Development : tools, methods and frameworks we use

Quality insurance : How FLOSS enables global quality from coding to publishing

9 Juillet 2009 - Capgemini

RMLL 2009

Contents

(*) FLOSS = Free Libre Open Source Software

Page 11: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

9 Juillet 2009 - Capgemini

(E) RMLL 2009

Eclipse : efficient, customizable and adaptable IDE

Single IDE for any targeted application server

The trend is for us to use Eclipse in place of commercial offers our customers used (RSA, BEA WorkShop, …)

Beyond Eclipse tool itself, we leverage :

Numerous powerful FLOSS pluginsInternal pluginsBundle releases (EMF, GMF, Mylyn, Birt, …)

Development is made more efficient through centralized and unified tool (single place for the modeler, the generator, the IDE, the RDBMS browser etc.)

Page 12: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

9 Juillet 2009 - Capgemini

(E) RMLL 2009

Eclipse is a standard that comes with a set of almost-standard FLOSS plugins

Page 13: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

9 Juillet 2009 - Capgemini

(B) RMLL 2009

FLOSS frameworks are now totally ubiquitous within major companies applicative architecture

Navigationprocess

Presentation / GUI

Persistencelegacy

ServicesRules

Struts, Spring MVCJBPM

Web : JSF, GWTRIA / RDA : Swing, RCP

AxisDrools

Hibernate - Ibatis

Main frameworks we use by architecture tiers :

Page 14: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

Main XP* practices we use the most :

Test Driven Development (TDD)Even Test-first in some projects (especially for technical code)

Coding standard

Shared code layouts / rulesContinuous Integration

"Bob the builder" is the "slave" member of the team ! Detect dev and integration issues early, save time and money Tools : Hudson rocks !

9 Juillet 2009 - Capgemini

(B) RMLL 2009

We code agile with XP

(*) XP = eXtreme Programing is a set of best practices and rules used to make projects more agile.

Page 15: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

9 Juillet 2009 - Capgemini

(E) RMLL 2009

Improving exchanges between technical integration and continuous integration

This ICP improves communication between actors who shares a common tool :

Technical framework responsibleDevelopersTechnical integratorProject manager

We set up an Continuous Integration Platform (ICP) to consolidate :

CodingContinuous IntegrationTechnical Integration

Page 16: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

Hudson is probably currently the best Continuous Integration tool

9 Juillet 2009 - Capgemini

(B) RMLL 2009

Page 17: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

9 Juillet 2009 - Capgemini

(E) RMLL 2009

Unit tests

For TU coding, we use the ubiquitous JUnit available within Eclipse

...and the mock framework Mockito coming with abilities to manage behavior of dependencies of the targeted component.

Page 18: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

FLOSS*, a strategic choice for us

FLOSS* within the project life cycle

Design through Model Driven Development

Development : tools, methods and frameworks we use

Quality insurance : How FLOSS enables global quality from coding to publishing

9 Juillet 2009 - Capgemini

RMLL 2009

Contents

(*) FLOSS = Free Libre Open Source Software

Page 19: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

9 Juillet 2009 - Capgemini

(B) RMLL 2009

Quality analysis

Main goals :Keep code style homogeneous and formal among developers (Checkstyle)Detect potential flaws and bugs (Findbugs)Provide metrics (JavaNCSS)Detect rules violations (PMD)Tests coverage analysis (Cobertura)

All this metrics can be customized according team and customer specifications (often contractual)

We use Sonar

Provides a global dashboard targeting project managers.. but also offers full drill-down vision to developers

Page 20: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

Sonar is the leading FLOSS solution as quality center

9 Juillet 2009 - Capgemini

(B) RMLL 2009

Page 21: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

9 Juillet 2009 - Capgemini

(E) RMLL 2009

Automated functional validation Open sources solutions combination is sometimes more relevant than commercial products

Watin (Watij) allows automated non-regression validation :

Screen navigationBusiness rulesView RulesBusiness services

Cobertura allows measuring test coverage

Unlike unit tests, all the Java code is instrumentedtest coverage is more representative

Page 22: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

(E) RMLL 2009

Performance testing

We make performance testing campaigns after functional qualification and in near-production situation

These tests aim to ensure early good performances Verify that performance was not degraded by contentions or bugs

A loading test workshop relies on tools such as

Page 23: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

Efficient monitoring solution is critical for an information system. We have to :

Be proactive, foresee production incidents Be fast in detecting production issues Assessing overall performance of the information system (Capacity Planning ...)

To implement open supervision we use :

Nagios and plugins

Centreon : Configuration and RestitutionNagVis : Map view applicationRRDTool : Trend curves

9 Juillet 2009 - Capgemini

(E) RMLL 2009

FLOSS monitoring is production-proof !

Page 24: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

9 Juillet 2009 - Capgemini

(E/B) RMLL 2009

Conclusions

Most of Capgemini Ouest software factory is made of FLOSS tools

FLOSS tools now covers all the software engineering scope

This choice is strategic for us

Open technology (standards, formats)Easier to find skilled staffBetter support from communityProfitability

Page 25: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

Questions ?

Page 26: How the Open Source tools and spirit enable better projects2009.rmll.info/IMG/pdf/RMLL2009_Software... · Eclipse : efficient, customizable and adaptable IDE Single IDE for any targeted

Contacts : Erlé LE GAC Senior Architect [email protected]

Bertrand FLORATSenior Architect [email protected]