ESB pour les nuls

Preview:

DESCRIPTION

ESB pour les nuls. A quoi ca sert un ESB. Agenda. ESB: Contexte, Théorie et Use cases ESB: Méthodologie et bonnes pratiques Petals Link, l’éditeur de Petals ESB Discussion ouverte: l’édition OpenSource. Vous avez dit « ESB » ?. ?? ?? Vous avez dit « ESB » ?? ??. Contexte. - PowerPoint PPT Presentation

Citation preview

ESB POUR LES NULS

A quoi ca sert un ESB

AGENDA

1. ESB: Contexte, Théorie et Use cases

2. ESB: Méthodologie et bonnes pratiques

3. Petals Link, l’éditeur de Petals ESB

4. Discussion ouverte: l’édition OpenSource

VOUS AVEZ DIT « ESB » ?

??

?? Vous avez dit « ESB » ??

??

Architecture:

Architecture d’entrepriseArchitecture du système d’informationService Oriented Architecture (SOA)Event Driven Architecture (EDA)

CONTEXTE

CARTOGRAPHIE D’UN SI: L’EXISTANT

Ad Expense

-Promo

Analysis

PriceMarketing

Support

BMP - Busperformance Mngt

StoreScorecard

PriceTesting

Media

Bonus/HR

Hand ScanApps

Shows

POS

SalesTax

A04 - CustRefund Chks

Equifax

Credit

CellularRollover

SatelliteSystem

Scanning

VAN

Cash Over/Short

Coop SKU SelectionTool

SKUPerformance

SupplierCompliance

1

DRK

ABBX

DFK

SalesCorrections

Return toVendor

StockStatus

HomeDeliveries

SolutionSoftware

Inventory Info

Sales Posting

Cycle PhysicalInventory

SKUInformation

Customer Repair

Tracking

MerchandiseAnalysis

CTO

Counts

ReconFile

EDICoordinator

Mesa DataNEW Soundscan

Cash Receipts/Credit

HouseCharges

Layaways

Count CorrectionsN.

CustomerOrder

website

Connect 3

Connect 3Reports

Connect 3PDF Transfe

Data Warehouse

GeneralLedger

AP

EmployeeChange Notice

Scorecard

ResourceScheduling

P09 - P17Cyb.

Millennium

Millennuim 3.0

Banks - ACH and Pos toPay

Cobra

Polling

On-line NewHire Entry

CTS

Plan Administrators(401K, PCS, Life)

D01 Post LoadBilling

Interface

Price ManagementSystem

InterceptEmployee

Purchase

Tex A

ACH

Stock Options

Tx

SS

CapitalProjects

FixedAssets

Repair

Resumix

Op.

Tally Sheet

SKU Rep

V04-SignSystem

P01-EmployeeMasterfile

ABCCo

CellPhones

AAS

AIMSMngr Approval

Batch ForcastingAd Measurement

AIMSReportingAd

Launcher

MktReactions

SpecSource

RebateTransfer

SignSystem

WriterWorkspace

PowerSuite

StoreMonitor

Calendar

Stores & Mrkts

Due Dates

Smart Plus

InsertionsOrders

BudgetAnalysis Tool

Print CostingInvoice App

Reports

BroadcastFilter

Smart PlusLauncher

GeneralMaintenance

Printer PO

PrinterMaintenance

Vendor

Maintenance

Vendor Setup

Spec SourceSKU Tracking

S20-SalesPolling

Prodigy

PSP

In-HomeRepair

WarrantyBillingSystem

Process Servers

(Imaging)

POReceiving

WarehouseManagement

Credit App

OTHER APPS - PC

ACCTS REC APPS - PCINVENTORY CONTROL APPS - PC INVENTORY CONTROL APPS - PC

Journal Entry Tool Kit

-Transfers

Planning

PurchaseOrder

I35 Early WarningSystem

I13- AutoReplenishment

Customer Perceived

In-Stock

Store BudgetReporting

Host to AS400Communication

Bus Systems

Universal Account

Reconcilliation

DepositoryBanks

- ISPTracking

PO

Misc Accounting/Finance Apps - PC/NT

Non urbanisé:•Réutilisabilité difficile,•Interopérabilité difficile,•Forts coûts de MCO,•Durées longues des évolutions

Source: Livre Blanc, « Comprendre et savoir utiliser un ESB dans une SOA », http://blog.xebia.fr

CARTOGRAPHIE D’UN SI: TENDANCE

Etat actuel du SI Hétérogène Redondant

Rigide

Etat cible du SI Homogène Rationnel

Agile

Divergence Besoins

métier

SI

Agilité du SI : Aptitude du SI à absorber les pressions métiers et technologiques sans accroître sa complexité tout en augmentant sa

fiabilité et en diminuant son coût

LES ENJEUX DE LA SOA

Alignement Besoins

métier

SI

Rigide Agile

Un modèle d’Urbanisation Architecture Orientée Services (SOA)

Des outils de développements et d’infrastructures BPM / ESB / MDM

Notre méthodologie préférée Implémentation Bottom up / Gouvernance

Un modèle économique Open Source professionnel

LES ENJEU DE LA SOA….ET DE PETALS LINK

Etat actuel du SI Hétérogène Redondant

Etat cible du SI Homogène Rationnel

Comment ?

LES PRINCIPES DE LA SOA

Enterprise Service Bus

Services

La fin des applications traditionnelles…. …au profit de la trilogie: BPM, Services,

ESB …et du MDM

“MDM needs SOA and SOA needs MDM” Andrew White - Gartner

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 Sécurité Gestion des Services Qualité de Service Supervision Valorisation de l’existant

Connecter Orchestrer Transformer

PETALS ESB : LES CAS D’USAGES

Echanges

Échanges

B2B / B2C

Exposition de servicesA2A / B2B / B2C

Intégration

A2A

Intégration

SOA

PETALS – L’ESB DES STANDARDS

Connecteurs (BC)

Composants d’intégration (SE)

Transformation Orchestration BAM

SE

New

TOPOLOGIES D’INTÉGRATION

Modèle « Concentrateur »

Un serveur unique auquel se connectent les applications

Pour exposer des servicesPour consommer des services

Constitue le point sensible de l’architecture (Single Point of Failure)

SE

Application

Serveur Appli 3

Application

Serveur ESB

JMSHTTP

Serveur Appli 2

Application

Serveur Appli 1

Application

FTPHTTP

14

ESB

WS

BusinessServices

BusinessServices

BusinessServices

BusinessServices

JBI Env.

JBI Env.

JBI Env.

Distributed registry

JMS

WS-BPEL XSLT

CentralizedAdministration

andMonitoring

JBI distribué

Environnement JBIclassique

ESB

WS-BPEL

JMS

JMS

JMS

WS JMS

WS

BusinessServices

BusinessServices

Administration Administration

BusinessServices Business

Services

ESB: CLASSIQUE VS DISTRIBUÉ

Petals Link a étendue la spécification JBI, afin de proposer un ESB nativement distribué

Annuaire distribué

RoutagePeer to PeerProtocole Adaptatif

Moteur d’OrchestrationBPEL, SCA, JSR181

Noeud Petals Noeud Petals

Noeud PetalsTransformation XSLT

Connecteur Soap/http

Connecteur JMS

Exposition des applications existantes en COBOL ou C sous forme de services

Portail

Services JEE

Services Web

Connecteur MultiConnect Connecteur Soap/http

Services Web

Front Office

Back Office

PETALS, L’ESB DISTRIBUÉ

INTÉGRATION DE PARTENAIRES

Intégration d’utilisateurs extérieurs au domaine de confiance de l’entreprise

Clients InternetESB partenaires

Localiser la communication avec l’extérieur sur un noeud spécifique

La sécurité est gérée sur ce serveurEn cas d’attaque importante, possibilité de débrancher le noeud du reste de l’ESB

SE

ESB Nœud 1 ESB Nœud 2

ESB partenaire

ESB Nœud 3

Client WebService

Application

ESB D’ENTREPRISE / DE DOMAINE APPLICATIF

Legacy

WorkflowBPEL

J2EE

Application

Legacy

WorkflowBPEL

J2EE

Infrastructure de service transverse au SI

Connecter / Router

Connecter Orchestrer Transformer Orchestrer

ESB ApplicatifESB Applicatif ESB ApplicatifESB Applicatif

Connecter Transformer

PETALS – L’ESB DES STANDARDS

Connecteurs

New

Composants d’intégration

Transformation Orchestration BAM

SE

New

Exemples de projets

Retours d’expériences

CAS D’USAGE: PORTAIL USAGERS

Bus de services PEtALSBus de services PEtALS

PEGASEPEGASE

IODASIODAS Bourses

Scolaires

Bourses Scolaires

RMI

APA

Demandes de transports

Demandes de bourses

Annuaire AAE

Annuaire AAE

Portail

CG33

CAS D’USAGE : EXPOSITION DE SERVICES CHEZ ACOSS (I)

CAS D’USAGE : EXPOSITION DE SERVICES CHEZ ACOSS (II)

Architecture technique ACOSS

8 Data Centers2 points d’accès sur Internet 4 serveurs8 serveurs régionaux 16 serveursConnecte 105 MainFramesGère 30 * 105 = 3150 instances de services exposés vers des partenaires

Routage basé sur l’annuaire des cotisantsCertains services correspondent à l’enchaînement de plusieurs services MainframeTransformations de format

Installé sur HAWAI, socle standardisé ACOSS

Distribution CentOSServeurs Linux bi-processeur dual-core

Les résultats obtenus

5000 utilisateurs (extension en cours jusqu’à 10 000 utilisateurs)Tests effectués à 200 requêtes / seconde sur un serveurTemps d’échange total inférieur à 200 ms sur ptf de test

CAS D’USAGE : PLATE-FORME D’INTÉGRATION CHEZ ORANGE (I)

Cmd.-Livr. Fact./Reco.SAV VOD-prov

ROSE ROSE

SMV1 SMV2CLID,ND,Login/ Passwd,EPID

Réseau

Rev.…

TV

CAS D’USAGE : PLATE-FORME D’INTÉGRATION CHEZ ORANGE (II)

ROSE : ROuting SErvices

Petals ESB en tant que brique de médiation

Haute disponibilité et scalabilitéDe 2 à n PFS (10 plateformes actuellement)

Routage dynamique de WS basé sur le contenu de la table de routage

IdClient->PFS

Split/Agrégation de données en mode asynchroneTransformation de lots d’appels asynchrones en appels synchronesPriorisation des flux

CAS D’USAGE : PLATE-FORME D’ÉCHANGES À LA DGME (I)

AdministrationAdministration

ESB – Petals ESB – PetalsProcessus

de

Routage

Processus

de

Routage

RéceptionRéception

UDDIUDDIDonnéesDonnées

1ValidationValidation

2

Récupération PJs

Récupération PJs3

Interrogation UDDI

Interrogation UDDI4

EnvoiEnvoi5

AcquittementAcquittement6

PartenairePartenaire PartenairePartenaire

ko ko ko

ko

Espace de partage

Espace de partage

Presto

CAS D’USAGE : PLATE-FORME D’ÉCHANGES À LA DGME (II)

ESB – Petals ESB – PetalsProcessus

de

Routage

Processus

de

Routage

RéceptionRéception1

ValidationValidation2

Récupération PJs

Récupération PJs3

Interrogation UDDI

Interrogation UDDI4

EnvoiEnvoi5

AcquittementAcquittement6

ko ko ko

ko

Vue technique

ESB – PetalsESB – Petals

Flux

GF

Flux

GF

21

SA SA SA SA

3

SA SA SA

5

SA SA

6

SA SA

SIRETServiceGuichetNuméro Dossier

Métadonnées

Nom des PJsMétadonnées

4

SASA SA

ConnecteurCoordonnées

MétadonnéesSEKPI

Pub/sub

BDD

Pub/sub

Pub

/su

bPub/sub

Portails : MonServicePublic.fr, …

Méthodologie & Bonnes pratiques

APPROCHE(S)

Source: http://blog.xebia.fr

APPROCHE : TOP/DOWN

Est la voie royale:

Pilotage de la SOA par les besoins métiersMinimise la redondance de services

Mais:

Implique une refonte de tout ou partie du SI,jugée: trop couteuse, trop risqué, trop longue

Adhésion difficile des équipes de développement

Source: http://blog.xebia.fr

APPROCHE : BOTTOM/UP

Séduit par plusieurs aspects:

Proche de la démarche habituelle de développement:« culture projet »

Coût faible du ticket d’entrée

Mais:

Bloque le pilotage par le métier,Risque fort de : perte de l’« agilité », mauvaise granularité,

Contraint d’avoir un coût logiciel cohérent avec le budget du projet

ESB JBI open source prends toute sa dimension

Source: http://blog.xebia.fr

APPROCHE RECOMMANDÉE

Démarche progressive de mise en œuvre et de déploiement

Introduction d’un « couplage lâche » entre les systèmes applicatifsRespect des normes et standards => garantie d’interopérabilité

Mise en œuvre encadrée,

Bonne granularité des services

Répartition des rôles plus efficaceRecentrage des équipes fonctionnelles sur leur « cœur de métier »

Spécialisation et capitalisation sur les problématiques d’intégration

ESB ESB

Dossier d’architecture

ImplémentationLot 1

Cadrage Lot 1

Moa + MoeProcessus de déploiement par lot

Init.

Projet d’ouverture de services(Portail, partenaires,….)

PETALS MASTER - POSITIONNEMENT

Gestion / capitalisation des services

ss ss s s s sssss

s s

Pourquoi: • Connaissance • Partage• Mutualisation• Capitalisation• Réutilisation• Maîtrise / Qualité

Comment: • Catalogue / Référentiel• Surveillance / Alerte• Contrats de services• SLA / QOSL’outil stratégique

de la DSI

ARCHITECTURE RETENUE : DES TECHNIQUES D’EAI

Servicetechniques

BC

BC

SE

SU d’exposition

SU métier

SU métier

Couplage faible :Format technique,Format pivot,Format métier,Transformation

AgilitéServices techniquesServices métiers

Content-based routing

Fo

rma

t m

étie

rF

orm

at

piv

ot

Fo

rma

tte

chn

iqu

e

Dev. Composant

Dev. Service

Spec. Service

RETOUR SUR LES COÛTS DE DÉVELOPPEMENT ?

Composant JBI (BC/SE):

Coût important car c’est le moteur des services,

Services (SU)

Sur SE:Les coûts de spécifications sont plus important que ceux de développement car nécessite :

de bien définir l’interface, de veiller à la granularité, développer paramétrer le composant

Sur BCMoindre coûts de spécifications car dirigées par le service associé sur la ressource applicative.Moindre coût de développement car pas de logique métier.

PetalsLink,

L’éditeur de la solution Petals

PETALS LINK

Editeur de solutions Open Source professionnelles pour l’intéropérabilité et l’infrastructure de la SOA

Petals ESB : le bus de services distribuéPetals Master: la solution de gouvernance des services

Au sein d’une communauté Open Source dédiée au thème du middleware

Effectifs (01/2010): 30 personnesProfils : Architectes Middleware, Consultants Architectures, Développeurs Java/JEE Chiffre d’affaires : 2 M€ en 2009Siège social à Toulouse – Agence à Grenoble – (Paris en 2010)

Petals Link a pour ambition de figurer de manière durable dans le TOP 3 mondial des éditeurs de solutions Open Source pour la SOA

NOS DIFFÉRENTIATEURS (I)

Des investissements R&D constants et importants pour créer des solutions SOA accessibles en Open Source

8 projets R&D en coursA ce jour, notre roadmap est financée jusqu’en 2012

Des solutions basées sur des standardsJava Business Integration

WSDL, Web Services, WS*

BPEL

SCA

CBDI

UDDI

NOS DIFFÉRENTIATEURS (II)

Une solution d’infrastructure distribuée et best of breed

La volonté de Petals Link de s’engager directement sur la mise en œuvre opérationnelle et le maintien en conditions opérationnelles de la suite Petals

Consulting / Formation / Expertise / Support

LE CONSORTIUM OW2

RÉFÉRENCES / INTÉGRATEURS

Ils font confiance à Petals Link :

Almerys

L’OFFRE DE SERVICES PETALS LINK

Compétences

• Développement Java / J2EE / JBI / Petals

• Architectes SI et solutions d’intégration

• Conseil & Intégration / Mise en œuvre SOA

Missions Intégration / Mise en oeuvre

• Intégration / Prototypage / Développement de composants / Spécialisation

Missions Architecture

• Spécifications Architecture – Best practices SOA

• Expertise / Conseil / Cadrage de projets ESB

Souscriptions Petals

• Développement / Production / OEM

Formations SOA / Petals • Introduction à la SOA (1 j)• Mise en œuvre Petals ESB (3 j), Petals Master (2j)• Administration / Exploitation Petals ESB (2 j)• Gouvernance SOA (2j)

PROFITEZ DU MODÈLE OPEN SOURCE

Capacité d’évolution du produit en fonction de vos besoins (Customisation)Evolution de la solution (évolutions génériques):

Par l’Editeur: RoadmapPar les utilisateurs ou Intégrateurs:

Contributions reversées (Cf. principe de la licence LGPL) et intégrées dans une release officielle par l’éditeur

Financement (éventuellement mutualisé) de l’évolution auprès de l’éditeur

En accord entre le Client et nous:Elaboration ou validation de la solution techniquePlanification de la release officielle correspondantePrestation de support assurée en continuitéCofinancement multi-parties

Spécialisation possible de la solution selon le niveau de spécificités Client

Discussion ouverte

Bonnes surprises / Points de difficulté

BONNES SURPRISES / POINTS DE DIFFICULTÉ

Difficultés Bonnes surprises

Qualité de l’outillage de développement

Suite Atlassian: JIRA, Confluence, …

TestLink: pour les spécifications diverses

Intégration continue: Hudson, Sonar

Contributeurs et garder la maîtrise du logiciel.Soumission de patch et propriété intellectuelle ?

Commiter agreement

???

… …

… …

MERCI POUR VOTRE ATTENTION

Petals Link4, rue Amélie

31 000 Toulouse

: + 33 5 62 73 43 80

: + 33 5 62 24 40 90

contact@petalslink.com

www.petalslink.com

Pascal PORTESpascal.portes@petalslink.com

Christophe DENEUXchristophe.deneux@petalslink.com