Vous êtes sur la page 1sur 47

Leading Open Source SOA

Séminaire ESB et Open Source


Gaël Blondelle – CTO – EBM WebSourcing

Organisé par
ESB Open Source

Virtualisation des services


Infrastructure SOA

2
ESB Open Source

Virtualisation des services


Infrastructure SOA

3
• Gaël Blondelle
• Directeur Technique et
Fondateur d’EBM WebSourcing

• Chairman du Technology Council


du consortium OW2
• Précédemment Architecte SOA et Middleware
dans un grand groupe Telecom

• Créateur du projet PEtALS ESB

 gael.blondelle@ebmwebsourcing.com  (+33) 5 34 32 03 12 4
Les idées pré-concues sur la SOA

• SOA = Web services

• SOA = BPM

• SOA = Urbanisation

• ESB = Méthodologie

5
AGENDA
• SOA et ESB
• Présentation PEtALS
– Architecture
– Fonctions
– Cas d’usage
• Démonstration
• Conclusion

6
7
Intégration dans un monde orienté service

Un changement d’approche :
• 1950-2006: Intégration = développer puis intégrer
Analyser Modéliser Concevoir Exécuter

Optimiser
• 2000: Émergence de la SOA
 2000: Web Services
 2003: Accélération de l’évolution des solutions d’intégration
• 2006-2012: Intégration = Modèle de programmation dominant

Expose Services Design Process Run Business

Consolidation & Governance


8
Intégration classique

• Les applications communiquent en point à


point
• Le fameux « plats de spaghettis »

9
Cible de la SOA

• « Structurer » les interactions autour d’un


bus
– Chaque application est connectée de façon
unique à un bus d’entreprise

10
Une transition en douceur

• Coexistence des deux modes


• Le passage d’
d’un mode à l’autre est un enjeu de la
gouvernance du SI

11
Les enjeux de la SOA

• Ouverture
– Fournir des services à des partenaires ou à des clients
• Agilité
– Réagir rapidement à tous les changements
• Réglementaires
• Évolution du métier
• Fusion / Acquisition,…
• Réutilisation / Rationalisation
– Réduire les doublons entre applications
– Valorisation des applications existantes
• Interopérabilité / Intégration d’applications
– Gérer l’intégration entre des applications dans le SI

12
Qu’est ce qu’un service

• Un service est
– Une fonction ou un ensemble de fonctions
– disposant d’une partie publiée : l’interface du service
– accessible via un procédé d’invocation

Le service est une action exécutée par un « producteur » à


l’attention d’un « consommateur »
13
Du composant au service

• Composant
– Approche de réutilisation de code ou de librairies
– Lorsqu’il manque une fonctionnalité dans un composant
• Donne lieu à une nouvelle version du composant
• Pb : Il faut propager la nouvelle version du composant dans chaque
application pour qu’elle bénéficie de l’évolution

Différence fondamen
tale
le cycle de vie
• Service
– Le service est un élément applicatif qui est exploité dans le SI
– Un nouvelle fonctionnalité donne lieu à une nouvelle version du
service
• Déployée et mise à disposition dans le SI
• Directement disponible pour toutes les applications qui utilisent le
service
14
Bus d’entreprise

CRM ERP B2B

WSDL WSDL WSDL

Messageriestandardisée
Messagerie propriétaire

WSDL WSDL WSDL

Legacy Portal .NET 15


Une approche SOA pragmatique

Un ESB (Enterprise Service Bus) basé sur les standards


Java, JBI et Web Services
est une bonne technologie pour instancier une SOA.

16
AGENDA
• SOA et ESB
• Présentation PEtALS
– Architecture
– Fonctions
– Cas d’usage
• Démonstration
• Conclusion

17
Enterprise Service Bus

• L’interaction entre un consommateur et un


fournisseur de service passe par un médiateur :
l’Enterprise Service Bus

Enterprise Service Bus


 Couplage faible
 Routage des messages
 Valorisation de l’existant
 Sécurité
 Gestion des Services
 Qualité de Service
 Adaptation aux changements
 TCO réduit

18
Identité

1. Name
PEtALS 8. Address

http://petals.objectweb.org
2. Project Leader www.ebmwebsourcing.com
• EBM
Project created WebSourcing
in June 2005 +33 (5) 34 32 03 10
• Hosted by ObjectWeb
3. Birthday :
Specific Sign
• Sept.2006
Leaded by EBM Websourcing Solution hautement distribuée

• Available at http://petals.objectweb.org
4. Place of birth / Community
9. Version actuelle
• Supported by a French R&D funded project called JonES
2.0
– 6 partners : INRIA, ENSTIMAC, EBM WebSourcing, OpenWide, Scalagent and France Telecom R&D
– Total budget : ~ 2 200 000 Euros
– Workload : ~ 250 hommes mois
– 95% contributions go to Open Source PEtALS 11. Contributeurs
5. Economic Model 6. Validity
Une communauté active:
No limit
Open Source France Telecom
(LGPL) 7. Signature Inria
Open Wide
Cap Gemini
...

19
Topologies d’intégration

Modèle « Concentrateur »

• Un serveur unique auquel se


connectent les applications
– Pour exposer des services
– Pour consommer des services

• Point sensible de l’architecture

20
Topologie ESB unifié

Architecture PEtALS
• Connection peer to peer entre les noeuds

• Du point de vue d’un consommateur ou d’un fournisseur


de service, il n’y a qu’un ESB

• On ne se soucie pas de la localisation physique du


service à appeler

21
Topologie ESB unifié

Modèle « ESB Unifié » et Domaines


• Dans une entreprise, chaque entité peut être vue
comme un domaine de responsabilité
(comptabilité, stock,etc.)
L’ESB peut être administré en domaines tout en
gardant son unicité

22
Intégration de partenaires

• Intégration d’utilisateurs extérieurs au domaine de


confiance de l’entreprise
– Clients Internet
– ESB partenaires
• Localiser la communication avec l’extérieur sur un noeud
spécifique
– La sécurité est gérée sur ce serveur
– En cas d’attaque importante, possibilité de débrancher le noeud
du reste de l’ESB

23
Container JBI distribué
Solution d’intégration unifiée

Business
Business Services
Services

WS

WS
Business JMS JMS
Business
Services WS JBI Env. JBI Env. JMS
Services
JMS JMS

Administration Administration

Environnement JBI Business


classique
Business Services
Services

WS-BPEL JBI Env. JBI Env. XSLT

Distributed
registry
JBI Env.
JBI distribué WS-BPEL

Centralized
Administration Business Business
and Services Services
Monitoring
24
PEtALS : l’ESB distribué

WebServices Portail
Front Office
Connecteur Soap/http

Orchestration
Moteur BPEL
POJO
Nœud PEtALS Transformation
XSLT

Routage
Peer to Peer
multi-protocol
Nœud PEtALS Nœud PEtALS
Annuaire
distribué

Connecteur JMS Connecteur CICS Connecteur Soap/http

exposition d’existant Back Office


JMS services Cobol sous forme de WebServices
services

25
Composants

Workflow EJB Drools

XSLT CSV POJO BPEL EIP Quartz Script

JMS AS1/2 Mail FTP JDBC


SOAP smtp,pop,
HTTP XMPP RMI
MOM EDI imap file transfer xquare

• Infrastructure de Services JBI container


• Système à base de Plugins
• SLA, QoS

Component Monitoring
Development Kit Administration

26
Virtualiser les services

Les points clés de PEtALS


• PEtALS est basé sur des standards
– Java, XML et Web Services
– JSR 208 – Java Business intégration JBI
• PEtALS a une architecture de type plugin
– Facilement extensible
• PEtALS est léger, largement distribué, et
scalable à la fois pour le A2A et le B2B
intégration
• PEtALS fournit une infrastructure robuste
pour votre SOA
• PEtALS agit comme un Bus virtuel où vos
services et vos données sont intégrés
• PEtALS est supporté par EBM WebSourcing
et son réseau de partenaires intégrateurs
• PEtALS est open source (LGPL) et permet
d’implémenter une SOA avec le meilleur TCO Une Infrastructure de service unifiée

Une solution dédiée aux grands comptes:


e-gov, banque, assurance, telco, défense … 27
Cas d’usage - Une architecture agile

Portail Application Partenaire


Composite
Portlets BPEL
Workflow J2EE

ESB

Connecter
Orchestrer Transformer

Serveur d’application Serveur Legacy Progiciel


J2EE .NET COBOL

28
Cas d’usage - OEM

• « Interface doesn't matter »


– Une solution intégrée peut être construite par intégration de
composants indépendants (cas courant des éditeurs de solutions)
– Une solution intégrée doit souvent d’intégrer au sein d’un système plus
important
– En utilisant l’ESB comme lien entre les composants, l’ensemble du
système est préparé à l’intégration (« Integration ready »)

Applications
tierces
Front office unifié

ESB

Connecter
Orchestrer Transformer

CRM Production Comptabilité 29


AGENDA
• SOA et ESB
• Présentation PEtALS
– Architecture
– Fonctions
– Cas d’usage
• Démonstration
• Conclusion

30
Etapes d'Intégration avec J.B.I. 1/3

• Installation des
composants
– BC pour la communication
– SE pour l'orchestration, la Application A Application B
transformation... protocole X protocole Y

JBI container

31
Etapes d'Intégration avec J.B.I. 2/3

• Déploiement des
artefacts
– Configuration des BC pour
communiquer avec les
Application A Application B
applications protocole X protocole Y
– Configuration des SE pour
définir l'enchaînement des
services,... BC X BC Y
– Tissage des liens entre les
consommateurs et les
fournisseurs
JBI container

BPEL

32
Etapes d'Intégration avec J.B.I. 3/3

• L'intégration est réalisée


– L'application A et B peuvent
communiquer

Application A Application B
protocole X protocole Y

BC X BC Y
• La réalisation des
artefacts de JBI container
configuration est l'étape
la plus longue de
l'intégration
BPEL

33
Administration JBI

<jbi-install-component file="soap-component.zip"
port="7700"
host="localhost" />
<jbi-start-service-assembly name="soap-configuration"
port="7700"
host="localhost" /> Serveur
JMX

34
Console Web de Supervision

• Connexion à un des noeuds de PEtALS


• Collecte des différentes informations provenant
des serveurs de l’ESB

– Statistiques
– Trace des échanges
– Logs
– Annuaire
– …

35
Console Web de Supervision

• Statistiques sur les messages échangés


– Dans le domaine
– Sur un serveur
– Sur un composant
– Par service

36
Console Web de Supervision

• Trace des échanges


– Liste des échanges dans le domaine
– Cycle de vie de l’échange
– Détails des messages d’un échange

37
Console Web de Supervision

• Statistiques d’un serveur

38
Console Web de Supervision

• Files de messages d’un


serveur
– Status des files de messages
par composant
– Nombre de messages en
attente
– Taille limite

39
AGENDA
• SOA et ESB
• Présentation PEtALS
– Architecture
– Fonctions
– Cas d’usage
• Démonstration
• Conclusion

40
A venir en 2008

Extension de la plate-forme SOA


• PEtALS 3.0 - Améliorations
– Gestion des larges configurations
– Extension des outils Eclipse pour les déploiements complexes
– Monitoring: Nouvelles fonctions de QoS, SLA
• DR@GON béta :
– Registry distribuée et outils de gouvernance basés sur les ontologies
– Consolidation des Services (basé sur SCA)
– Gestion du cycle de vie des services
• Services Mash-Up :
– Composition de Services: One-click IT alignment with Business
– Moteur BPM : moteur d’orchestration BPMN natif
– Editeur BPM Eclipse: découverte des services, outils de
transformation XML

41
En conclusion

Expose Services Design Process Run Business

Consolidation & Governance


• Exposer des services via une infrastructure ESB
• Concevoir des processus orchestrant les services
existant
• L’infrastructure ESB supporte l’exécution et la
supervision de la SOA
• La gouvernance permet d’améliorer et de
consolider les services

42
En conclusion

• Solution open source d’ESB


– Performant pour des configurations de
type « concentrateur »
– Seule solution open source pour la
virtualisation des services de type « ESB
unifié »
• Qualité : communauté de
développeurs et d’utilisateur
• Code accessible – Pas de lock in
• TCO moindre que les solutions
propriétaires

43
Références

Ils nous font confiance :

44
Recherche et Développement

• Open Source community

• NESSI - European Technology Platform


(Networked European Software and Services Initiative)

• InterOp Vlab GSO


– Virtual Laboratory on Enterprise Interoperability
– To develop a new science: Enterprise Interoperability

• Agence Nationale de la Recherche


– JOnES, SCORWARE, ISYCRI, SEMEUSE

• EU-IST-FP7
– SOA4ALL, Synergy

45
Quelques mots sur EBM WebSourcing

Notre ambition

Être le leader Européen des solutions Open Source


pour la SOA et un acteur de premier plan au niveau mondial

Participer activement à la dynamique de la communauté


Open Source dédiée au thème du middleware

Nous engager directement dans les projets de nos Clients, en


partenariat avec des intégrateurs leaders sur le thème de la SOA

46
MERCI DE VOTRE ATTENTION

• Christophe Gras – Directeur Hortis


 +41 78 878 18 70
christophe.gras@hortis.ch

• Pascal Portes – Directeur Commercial


+ 33 6 82 81 83 73
pascal.portes@ebmwebsourcing.com

• Gaël Blondelle – Directeur Technique


 + 33 6 88 34 67 02
gael.blondelle@ebmwebsourcing.com

47