Apache ServiceMix en Action

20
Apache ServiceMix en Action Un ESB libre pour la mise en œuvre d’une architecture orientée services (SOA) RMLL 2012 Développement logiciel Prof. Philippe Daucourt Avec la collaboration de Loïc Jeanneret HEG Haute école de gestion Arc Genève, 10 juillet 2012 GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012 1

Transcript of Apache ServiceMix en Action

Page 1: Apache ServiceMix en Action

Apache ServiceMix en Action

Un ESB libre pour la mise en œuvre d’une architecture orientée services (SOA)

RMLL 2012

Développement logiciel

Prof. Philippe Daucourt Avec la collaboration de Loïc Jeanneret

HEG Haute école de gestion Arc

Genève, 10 juillet 2012

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

1

Page 2: Apache ServiceMix en Action

Mon profil

•Diplôme HES en informatique de gestion

•Professeur HES à la HEG Arc depuis 2007 • Enseignement, recherche appliquée et mandats

•Mes centres d’intérêt:

• Modélisation UML, BPMN • Développement Java, PL/SQL, Services Web • Urbanisation du système d’information

• Intégration des applications (EAI) • Architectures orientées services (SOA) • Automatisation des processus métiers

HEG Arc Neuchâtel

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

2

Page 3: Apache ServiceMix en Action

Au programme

•Architecture orientée services (SOA)

•Enterprise Service Bus (ESB)

•Java Business Integration (JBI)

•Apache ServiceMix

•Exemple

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

3

Page 4: Apache ServiceMix en Action

Architecture orientée services (SOA)

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

4

Page 6: Apache ServiceMix en Action

Java Business Integration (JBI)

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

6

Page 7: Apache ServiceMix en Action

Apache ServiceMix

•Basé sur OSGI • Apache Karaf

•Compatible JBI 1.0

•Nombreux composants JBI: • HTTP, Mail, File, XSLT, Camel, …

•Développement basé sur Apache Maven • Maven Archetypes

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

7

Page 8: Apache ServiceMix en Action

Exemple : Outils

•Apache ServiceMix 4.4.1 •Apache James 2.3.2 •Apache Tomcat 7.0.27 •Apache Dery 10.9.1.0 •Apache ODE 1.3.5 •Apache CXF 2.6.1 •Apache Commons DBUtils 1.4 •Apache Maven 3.0.4 •NetBeans 7.1.2 •Eclipse 3.7.2 •Eclipse BPEL Designer 1.0.0

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

8

Page 9: Apache ServiceMix en Action

Exemple : Objectif

Apache Service Mix

HTTP

MAIL

FILE

MAIL Apache Camel

XSLT HTTP XSLT

Apache Derby

Apache ODE

WS-SOAP

GlobalWeather

WS-SOAP

HelloWorldDBService

WS-BPEL (WS-SOAP)

Invoke Invoke

In only

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

9

Page 10: Apache ServiceMix en Action

Exemple : Configuration de ServiceMix

features:install jbi

features:install servicemix-http

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

10

Page 11: Apache ServiceMix en Action

Exemple : Développement des artefacts JBI

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

11

Page 12: Apache ServiceMix en Action

Exemple : Développement des artefacts JBI

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

12

Page 13: Apache ServiceMix en Action

Exemple : Développement des artefacts JBI

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

13

Page 14: Apache ServiceMix en Action

Exemple : Déploiement des artefacts JBI

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

14

Page 15: Apache ServiceMix en Action

Exemple : HTTP -> Mail

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

15

Page 16: Apache ServiceMix en Action

Exemple : Mail -> Mail

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

16

Page 17: Apache ServiceMix en Action

Exemple : File -> Mail

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

17

Page 18: Apache ServiceMix en Action

Exemple : Normalized Message

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

18

Page 19: Apache ServiceMix en Action

Open Source

HTTP SOAP Consumer @Override public void validate() throws DeploymentException { … marshaler.setUseJbiWrapper(useJbiWrapper); marshaler.setPolicies(policies); marshaler.setSoapVersion(soapVersion); … super.validate(); }

HTTP SOAP Provider @Override public void validate() throws DeploymentException { … marshaler.setUseJbiWrapper(useJbiWrapper); marshaler.setPolicies(policies); … super.validate();

Xbean.xml <http:soap-provider > <http:marshaler> <bean class="HttpSoapProviderMarshaler"> <property name="soapVersion" value="1.1"/> </bean> </http:marshaler> </http:soap-provider>

Bug! Et la version de SOAP?

Solution

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

19

Page 20: Apache ServiceMix en Action

Merci pour votre attention

GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012

20