Post on 20-Jun-2015
Open Source Service Oriented Architecture with
Adrien LOUIS – Chief architect – EBM WebSourcing
2
Agenda
SOA et ESB
PEtALS un ESB européen Open Source
La suite PEtALS
Démo
Roadmap
3
De la SOA ...
Quelques cas métiers Une grande administration cherche à ouvrir rapidement son Système
d'Information à ses partenaires, suite à de nouvelles règles de régulation
Un consortium industriel propose des services à valeur ajoutée en orchestrant les services fournis par ses membres
Une compagnie souhaite structurer son Système d'Information dans une optique de réutilisation et de communication entre ses applications
SOA : une façon incrémentale de faire évoluer un Système d'Information vers l'indépendance des services, leur réutilisation, l'interopérabilité
la modélisation et l'orchestration des processus métier (BPM)
4
... vers l' ESB
L'instanciation d'une SOA instantiation passe par les 3 axes suivant :
● une approche orientée processus (BPM)● une méthodologie pour identifier, modéliser et réutiliser les services (SOA
governance)● une infrastructure de services (ESB)
Un ESB (Enterprise Service Bus), basé sur des standards tels que Java, JBI, et les Web Services représente la bonne technologie pour instantier une SOA
5
ESB : l'infrastructure de la SOA
Un ESB réponds à tous les aspects non-fonctionels inherent à l'exposition de services en dehors du périmètre d'une application Service Level Agreement Securité Support des communications asynchrones Communication faiblement couplée Supervision et monitoring des échanges Robustesse, scalabilité,et load balancing des services
De plus, un ESB permet d'accéder à des services propriétaires par une communication standardisée
Enfin, un ESB est fourni avec un annuaire (UDDI, ebXML) ou s'intègre à l'annuaire de
l'entreprise fourni un orchestrateur (BPEL) pour créer des services composites
6
Caractéristiques d'un ESB
Caractéristiques de base XML, messaging, transformation, routage intelligent
Connecteurs basiques (Web Services, J2EE connectors, JMS)
Déploiement hautement distribué
Administration
Caractéristiques à valeur ajoutée Sécurité
Robustesse
Scalability et performance
Large gamme de connecteurs
outillage pour le déploiement et le développement
7
L' ESB par domaines
Interface Exposition et appel de services (l'ESB représente un proxy entre un
consommateur et un fournisseur) Connecteurs
Distribution et routage les appels de services sont routés vers le bon fournisseur Content Based routing Qualité de Service
Transformation Transformer les données du format d'une application à celui d'une autre Exemple : transformation XSLT
Orchestration Assembler des services pour créer des services à valeur ajoutée
Administratation gestion du cycle de vie des Services
8
JBI : un standard pour l'ESB
JBI: Java™ Business Integration Definie par la JSR 208
Le standard Java™ pour la création de solutions d'intégration
Basée sur l'état de l'art des Web Services
Un conteneur à base de plugins un environnement JBI est un conteneur de conteneurs Permet de relier des composants JBI
Un environnement pour gérer l'intégration et la configuration de ses composants
Un conteneur basé sur l'échange messages échanges de message faiblement couplés
description des services en WSDL messages au format XML
9
Binding Components: connecteurs vers des ressources externes
Service Engines: fournissent de la transformation et d'autres services d'intégration
2 types de composants :
JBI : a standard for ESB
JBI container
SOAPHTTP
JMSMOM
AS1/AS2EDI XSLT BPEL EJB
container
Services externes
Components
JBI
Artifacts
XS
L
XS
L
Process
Process
EJB
EJB
10
JBI en trois points
Plugin based environment Provide the ability to tailor your integration solution to fit your needs
Loosely coupled communication Based on WSDL for the Service description language Payload is XML
Easily integrates with Web Services A JBI container must support at least one implementation of a WS-I Basic Profile BindingComponent
11
Agenda
ESB Proposal for a definition
PEtALS The European Open Source ESB
Inside PEtALS
Demo
Roadmap
12
Project created in June 2005
Hosted by ObjectWeb
Lead by EBM Websourcing
Available at http://petals.objectweb.org
Supported by the JonES project
Version 1.0 reached in September 2006
More than 500 downloads per month and increasing...
Version 1.1 reached in January 2007
Identity card
13
Distributed JBI containers for a unified integration
BusinessServices
BusinessServices
BusinessServices
BusinessServices
JBI Env.
JBI Env.
JBI Env.
Distributed registry
WS-BPEL
WS-BPEL XSLT
PEtALS
CentralizedAdministration
andMonitoring
To distributed JBI
From JBI
14
Objectives
Support highly distributed deployments Focus on monitoring and manageability Support standard based connectivity
Web Services (Axis supported), J2EE (integration with JonAS and JBoss), JMS (JORAM, MQ, ...)
Propose out of the box packaging Service infrastructure
Routing Security and firewall pass-through patterns Monitoring
Process orchestration solution BPEL engine XSLT and Xpath transformation engine Content based routing Interfaces with J2EE container (JonAS and JBoss) Interfaces with Workflows Engines for user interaction (Bonita and Shark)
B2B integration solution focuses on specific Binding Components Odette FTP via integration of ObjectWeb odettej Integrate ebXML binding Integrate AS1, AS2 binding
15
Agenda
ESB Proposal for a definition
PEtALS The European Open Source ESB
Inside PEtALS
Demo
Roadmap
16
PEtALS - Components
The JBI container Service infrastructure Plugin-based system SLA, QoS, and Bus Monitoring
Connectors (Binding Components) For standard middlewares : FTP, Mail, Web Services, JMS
Integration engines (Service Engines) Orchestration (integration of Orchestra, Open source project from BULL) Transformation and data enrichment (XSLT engine, CSV engine,...)
Demonstrators Mortgage Travel Agency Rent A Car
17
Component Development Kit
Component Development Kit is a major element of PEtALS
Objectives are to ease the development of new components to provide the basis to develop full JBI compliant components
It contains abstract component classes with multi-threaded processing support utilities to handle WSDL description, JBI message contents mechanism to manage component configuration (ServiceUnit mgt)
Components created with this CDK run on other JBI containers No dependency on PEtALS internal, only dependent of JBI APIs
All components provided with PEtALS 1.1 are built using this framework
18
Configuration tool under development
Collaborative work with BULL R&D
19
Other tools under development
Wizards to create JBI components with the CDK
JBI deployment descriptor editor
PEtALS server integration as a Server
With deployment and debugging features
These tools will be available with the PEtALS 1.2 release
20
Monitoring and administration tool
21
Agenda
ESB Proposal for a definition
PEtALS The European Open Source ESB
Inside PEtALS
Demo
Roadmap, Support and Professional Services
22
A Travel agency application
Online travel booking web site From a web site, a customer books a flight and an hotel room. A
confirmation email is sent back to the customer
Services from the Airline company are accessible via Web Services
Hotel booking service is accessible via JMS Service orchestration is done by a workflow engine Email confirmation is sent by the Mail-Component
« Build an SOA application from existing services » article Adrien LOUIS - Java World
23
Integration with PEtALS
Airline company web services
Online Book Travel
HotelJMS services
PEtALS Service Bus
● Components Installation
SOAP, JMS
Workflow, eMAIL
24
Integration with PEtALS
SOAP BC
Web Site HotelJMS services
JMS BC
MailEngine
WorkflowEngine
● Service assembly deployment
● Components are configured
Airline web services
25
Integration with PEtALS
● Application is ready
● Links between components and external services are created.
Airline web services
SOAP BC
Web Site
SOAP/HTTP SOAP/HTTP
HotelJMS services
JMS BC
JMS
MailEngine
WorkflowEngine
26
Agenda
ESB Proposal for a definition
PEtALS The European Open Source ESB
Inside PEtALS
Demo
Roadmap
27
PEtALS and the competition
Other open source ESBs ServiceMix, Open ESB, Mule
PEtALS license is LGPL PEtALS is fully built in respect to the specification
PEtALS JBI components run on any container, whereas some competition JBI components are specifics
PEtALS extends the specification scope with technological innovations Highly distributed
PEtALS is being integrated in a larger SOA package with other ObjectWeb projects (SCOrWare)
PEtALS is the only one to be developed in Europe
28
RoadMap
Septembre 2006 : Release of version 1.0 500 downloads per month since then Two large European administrations already evaluated performances to start projects by this
year
January 2007 : Release of version 1.1 Creation of a component development framework
Eases the development of 100% JBI components
Better performance and robustness
February 2007 : Release of version 1.2 Administration and monitoring web application BPEL engine with Orchestra
March 2007 : Release 1.3 JBI TCK certified! Integration of PEtALS in J2EE application servers : JOnAS and JBoss, ...
Spring 2007 : Release of new Eclipse based development tools in the STP project
September 2007 : Release of version 2 Integration with Commercial Integration Platform : IBM, Tibco and BEA
29
EBM WebSourcing10, avenue de l’EuropeParc Technologique du Canal31 520 Ramonville St Agne: 05 61 28 56 20: 05 62 24 40 90
contact@ebmwebsourcing.comwww.ebmwebsourcing.com
Thank you for your attention
Adrien LOUISadrien.louis@ebmwebsourcing.com
Much more to come!
Stay tuned!