apache servicemix en action
TRANSCRIPT
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
Enterprise Service Bus (ESB)
GES-DT120710-Apache ServiceMix en Action - RMLL 2012 PDA-dernière mise à jour : 10.07.2012
5
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
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