12052011 open esb


Published on

OpenESB and Maven Integration

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

12052011 open esb

  1. 1. INEAT CONSEIL Cabinet conseil en Enterprise Information Management OpenESB Summit Montreal 12th of May 2011 OpenESB : The Maven Integration
  2. 2. Who I am ? <ul><li>Who I am ? </li></ul><ul><ul><li>David BRASSELY </li></ul></ul><ul><ul><li>Software Engineer </li></ul></ul><ul><ul><li>Ineat Conseil </li></ul></ul><ul><ul><ul><li>Company based in France and Belgium (Lille, Paris, Bruxelles) </li></ul></ul></ul><ul><ul><ul><li>Specialized in Enterprise Information Management (Alfresco, Nuxeo, VMedia, …) </li></ul></ul></ul><ul><ul><li>Use OpenESB : </li></ul></ul><ul><ul><ul><li>Leroy Merlin France (Retail) </li></ul></ul></ul><ul><ul><ul><li>Groupe Humanis (Insurance) </li></ul></ul></ul>INEAT Conseil – OpenESB - Maven Integration [email_address] www.ineat-conseil.fr
  3. 3. Current state / Maven Integration <ul><li>The state : </li></ul><ul><ul><li>JBI Modules and CASA projects NetBeans heavily depends on Ant </li></ul></ul><ul><ul><li>Strong dependencies with the NetBeans project model </li></ul></ul>INEAT Conseil – OpenESB - Maven Integration
  4. 4. Current state / Maven Integration <ul><li>The NetBeans build lifecycle (light version) : </li></ul><ul><ul><li>JBI Modules : </li></ul></ul><ul><ul><ul><li>Read several properties files that are located in the nbproject </li></ul></ul></ul><ul><ul><ul><li>Load several jar files that are needed while building the module (NetBeans and the SOA modules) </li></ul></ul></ul><ul><ul><ul><li>Ant Tasks are ran to validate the project and to generate the needed catalog.xml and jbi.xml files </li></ul></ul></ul><ul><ul><ul><li>A jar is created by calling the Ant jar task </li></ul></ul></ul><ul><ul><li>CASA Projects : </li></ul></ul><ul><ul><ul><li>Read several properties files that are located in the nbproject </li></ul></ul></ul><ul><ul><ul><li>The jar file of each JBI Module that is included in the Composite Application is expanded and the files contained in it are copied over to a JBI Module specific directory structure for later use </li></ul></ul></ul><ul><ul><ul><li>Builds the needed jbi.xml file for this Composite Application and puts all needed jar files together </li></ul></ul></ul><ul><ul><ul><li>Cleaning up is done and a zip file containing the Composite Application that can be deployed is created </li></ul></ul></ul>INEAT Conseil – OpenESB - Maven Integration
  5. 5. Current state / Maven Integration <ul><li>What about Maven ? </li></ul><ul><ul><li>Lack of Maven support in NetBeans for JBI modules and CASA projects </li></ul></ul><ul><ul><li>Maven have to call ANT tasks </li></ul></ul><ul><ul><li>Need to push into a Maven repository (Nexus, Artifactory, …) jar modules from NetBeans (like the bpel-project-module) </li></ul></ul><ul><ul><li>Maintenability problems </li></ul></ul><ul><ul><li>… </li></ul></ul>INEAT Conseil – OpenESB - Maven Integration
  6. 6. Maven Integration <ul><li>Maven Integration : </li></ul><ul><ul><li>Starting development at the end of March </li></ul></ul><ul><ul><li>Analyzing the build process </li></ul></ul><ul><ul><li>Defining Maven Plugins </li></ul></ul>INEAT Conseil – OpenESB - Maven Integration http://openesb-dev.org/projects/maven-plugins/ Maven Plugins for building OpenESB Project
  7. 7. Maven Integration <ul><li>Maven Integration : </li></ul><ul><li>Unable to use ANT Tasks class due to some problems with NetBeans project model. </li></ul><ul><li>Definition of the OpenESB Build Core : </li></ul><ul><ul><li>No dependency with NetBeans </li></ul></ul><ul><ul><li>No dependency with build systems (ANT, Maven ,…) </li></ul></ul>INEAT Conseil – OpenESB - Maven Integration Maven Command ANT Build Core … Hudson OpenESB Build Core NetBeans Eclipse
  8. 8. Maven Plugins <ul><li>Maven Plugins : </li></ul><ul><ul><li>New Maven packaging types : </li></ul></ul><ul><ul><ul><li>jbi-service-unit (BPEL project) </li></ul></ul></ul><ul><ul><ul><li>Jbi-service-assembly (Composite Application) </li></ul></ul></ul><ul><ul><li>Maven dependencies to define : </li></ul></ul><ul><ul><ul><li>Links between a Composite Application and the BPEL projects </li></ul></ul></ul><ul><ul><li>Maven Configuration possibilities : </li></ul></ul><ul><ul><ul><li>Provides project structure configuration for backward compatibility </li></ul></ul></ul>INEAT Conseil – OpenESB - Maven Integration
  9. 9. Maven Plugins : Example <ul><li>Maven Plugins : </li></ul>INEAT Conseil – OpenESB - Maven Integration Service Unit – BPEL Project Packaging
  10. 10. Maven Plugins : Example <ul><li>Maven Plugins : </li></ul>INEAT Conseil – OpenESB - Maven Integration Service Assembly – Composite Application BPEL Dependencies Packaging
  11. 11. Maven Plugins <ul><li>Roadmap : </li></ul><ul><ul><li>Improving development quality / Implementation of Unit Tests </li></ul></ul><ul><ul><li>Managing JavaEE dependencies in Composite Application </li></ul></ul><ul><ul><li>Executing composite application unit tests with Maven. </li></ul></ul><ul><ul><li>Building .casa automatically (like ANT) </li></ul></ul><ul><ul><li>Integrating Maven builds with NetBeans build system </li></ul></ul><ul><ul><li>Needs help to provide ideas, efforts, … </li></ul></ul>INEAT Conseil – OpenESB - Maven Integration
  12. 12. Questions / Contact Us INEAT Conseil Lille 165 avenue de Bretagne EuraTechnologies - Bâtiment Leblan  59 000 Lille Tél : +33 (0) 3 20 00 80 37 INEAT Conseil Paris 4 Ter rue Honoré d'Estienne d'Orves 92 150 Suresnes Tél. : +33 (0) 1 46 25 05 49 INEAT Conseil - Présentation - 15/01/2011 [email_address] www.ineat-conseil.fr