Apache ServiceMix en Action

Post on 12-Sep-2021

2 views 0 download

Transcript of 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

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

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

Architecture orientée services (SOA)

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

4

Java Business Integration (JBI)

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

6

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

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

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

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

Exemple : Développement des artefacts JBI

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

11

Exemple : Développement des artefacts JBI

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

12

Exemple : Développement des artefacts JBI

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

13

Exemple : Déploiement des artefacts JBI

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

14

Exemple : HTTP -> Mail

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

15

Exemple : Mail -> Mail

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

16

Exemple : File -> Mail

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

17

Exemple : Normalized Message

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

18

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

Merci pour votre attention

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

20