Open Source Service Oriented Architecture with

29
Open Source Service Oriented Architecture with Adrien LOUIS – Chief architect – EBM WebSourcing

Transcript of Open Source Service Oriented Architecture with

Page 1: Open Source Service Oriented Architecture with

Open Source Service Oriented Architecture with

Adrien LOUIS – Chief architect – EBM WebSourcing

Page 2: Open Source Service Oriented Architecture with

2

Agenda

SOA et ESB

PEtALS un ESB européen Open Source

La suite PEtALS

Démo

Roadmap

Page 3: Open Source Service Oriented Architecture with

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)

Page 4: Open Source Service Oriented Architecture with

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

Page 5: Open Source Service Oriented Architecture with

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

Page 6: Open Source Service Oriented Architecture with

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

Page 7: Open Source Service Oriented Architecture with

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

Page 8: Open Source Service Oriented Architecture with

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

Page 9: Open Source Service Oriented Architecture with

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

Page 10: Open Source Service Oriented Architecture with

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

Page 11: Open Source Service Oriented Architecture with

11

Agenda

ESB Proposal for a definition

PEtALS The European Open Source ESB

Inside PEtALS

Demo

Roadmap

Page 12: Open Source Service Oriented Architecture with

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

Page 13: Open Source Service Oriented Architecture with

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

Page 14: Open Source Service Oriented Architecture with

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

Page 15: Open Source Service Oriented Architecture with

15

Agenda

ESB Proposal for a definition

PEtALS The European Open Source ESB

Inside PEtALS

Demo

Roadmap

Page 16: Open Source Service Oriented Architecture with

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

Page 17: Open Source Service Oriented Architecture with

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

Page 18: Open Source Service Oriented Architecture with

18

Configuration tool under development

Collaborative work with BULL R&D

Page 19: Open Source Service Oriented Architecture with

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

Page 20: Open Source Service Oriented Architecture with

20

Monitoring and administration tool

Page 21: Open Source Service Oriented Architecture with

21

Agenda

ESB Proposal for a definition

PEtALS The European Open Source ESB

Inside PEtALS

Demo

Roadmap, Support and Professional Services

Page 22: Open Source Service Oriented Architecture with

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

Page 23: Open Source Service Oriented Architecture with

23

Integration with PEtALS

Airline company web services

Online Book Travel

HotelJMS services

PEtALS Service Bus

● Components Installation

SOAP, JMS

Workflow, eMAIL

Page 24: Open Source Service Oriented Architecture with

24

Integration with PEtALS

SOAP BC

Web Site HotelJMS services

JMS BC

MailEngine

WorkflowEngine

● Service assembly deployment

● Components are configured

Airline web services

Page 25: Open Source Service Oriented Architecture with

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

Page 26: Open Source Service Oriented Architecture with

26

Agenda

ESB Proposal for a definition

PEtALS The European Open Source ESB

Inside PEtALS

Demo

Roadmap

Page 27: Open Source Service Oriented Architecture with

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

Page 28: Open Source Service Oriented Architecture with

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

Page 29: Open Source Service Oriented Architecture with

29

EBM WebSourcing10, avenue de l’EuropeParc Technologique du Canal31 520 Ramonville St Agne: 05 61 28 56 20: 05 62 24 40 90

[email protected]

Thank you for your attention

Adrien [email protected]

Much more to come!

Stay tuned!