20
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org. Presto : une implémentation open-source Pierre-Yves Gibello, PetalsLink [email protected] PRESTO (PRotocole d'Echanges STandard et Ouvert) est un standard d'intéropérabilité basé sur les Web Services (SOAP, WS-ReliableMessaging) spécifié par la DGME destiné aux échanges entre les administrations publiques françaises et leurs partenaires (A2A, A2B).

Presto standard OW2 Conference-nov10

Embed Size (px)

Citation preview

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Presto : une implémentation open-source

Pierre-Yves Gibello, [email protected]

PRESTO (PRotocole d'Echanges STandard et Ouvert) est un standard d'intéropérabilité• basé sur les Web Services (SOAP, WS-ReliableMessaging)• spécifié par la DGME• destiné aux échanges entre les administrations publiques

françaises et leurs partenaires (A2A, A2B).

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Qui sommes nous ?● PetalsLink

● Editeur de solutions open-source professionnelles pour l'intéropérabilité et l'infrastructure de la SOA – Petals ESB : bus de services distribué

● Acteur de la communauté OW2● Effectif 30 personnes, CA 2M EUR

● Pierre-Yves Gibello● Consultant senior, agence de Grenoble● Responsable du connecteur Presto / Petals ESB

– Committer du kit Presto ADULLACT / Axis2

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Presto : enjeux● Interconnexion

des SI● Dématérialisation● Multi-fournisseurs● Intégration à un existant hétérogène

Source :DGME (2007)

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Presto : une « e-enveloppe »

Source : DGME (2007)

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Les fondements de Presto● Presto est une « sorte de » profil WS-I

● Inspiré de WS-RAMP (profil WS développé par IBM pour l'industrie automobile américaine).

● SOAP 1.2 / WSDL 1.1● Avec pièces jointes, optimisation MTOM / XOP

● WS-Addressing (routage, aspects asynchrones)● WS-ReliableMessaging (fiabililté, corrélation de

« chunks ») ● SSL (sécurité / chiffrage)

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Zone d'échange Presto

Echange Presto

MandataireémetteurPresto

Mandatairerécepteur

Presto

RelaisPresto

(routage)

Producteur Consommateur

Si nécessaire,routage vers le

mandataire cible.

Application à l'originedu message

Application destinatairedu message

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Presto : « core »● Envoi d'un message dans une séquence WS-RM

● Payload + pièce jointe optionnelle● Mode synchrone (InOut)

● Attente d'une réponse● Mode asynchrone (InOnly)

● Acquittement technique si client « adressable » (spécifié par en-tête WS-Addressing wsa:From non anonyme)

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Presto : pièces jointes● Regroupement de pièces jointes multiples

● Zip non compressé + en-tête presto « zipped »● Découpage en « chunks » des grosses PJ

● Taille minimim + taille de chunk configurables● Envoi dans une même séquence WS-RM

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Presto : mécanisme d'acquittement● Acquittement demandé par l'émetteur

● En-tête presto « acknowledgement »– Requested = « true »– En-têtes d'intégrité (hash) : message, attachments

● Fourniture du « endpoint » d'acquittement (wsa:From)● L'acquittement est un appel SOAP

● Vers le « endpoint » spécifié● Valide l'intégrité du message● Erreurs normalisées

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Presto : routage / corrélation● Routage simple : WS-Addressing

● wsa:To (destinataire), wsa:From (émetteur)● wsa:ReplyTo, wsa:FaultTo pour réponses/erreurs

● Routage « intelligent »● Réexpédition via une chaîne de « relais » Presto● En-têtes de routage : PRESTOHeader « Routing »

– ReplyTo (Endpoint), To + (Endpoint(s))– Location (FR) : SIRET, Service, Guichet (pour recherche

annuaire).

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Presto : les acteurs● DGME (spécifications, animation du chantier

d'intéropérabilité, mises en oeuvre « pilotes »)● Editeurs (Axway, IBM, Microsoft, Oracle,

PetalsLink, Tibco)● PetalsLink fournit le seul stack 100% OSS

● Intégrateurs (Logica, Sopra, Thalès...)● ADULLACT (hébergement forge, dissémination)

● Kit Presto pour Apache Axis2

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Le kit Presto Axis2 / ADULLACT● https://adullact.net/projects/prestov2

● https://adullact.net/plugins/mediawiki/wiki/prestov2/index.php● Basé sur Apache Axis2 (SOAP / WSDL / WS-Addressing)

+ Apache Sandesha (WS-ReliableMessaging)● Hébergement forge ADULLACT

● SVN + Wiki● Committers Logica + PetalsLink● Licence Cecill B

● Application pour serveur d'appli standard● Packaging .war (déployable sur Tomcat) + client java● Documentation + « quick start »

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Kit Presto : déploiement rapide

Tomcat(serveur JavaEE)

Site ADULLACTadullact.net

Télécharger/déployerAppli web .war

java -jar presto-test-client.jar

Télécharger/dézipperClient de test

Message Presto(avec PJ optionnelles)

Messages reçus + PJstockés sur le FileSystem

Egalement possible à partir des sources :- svn checkout- ant (génération .war) puis déploiement- ant client (client de test)

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Kit Presto : intégration appli tierce● Client : utilisation des API

● Ou : configuration (solution a minima), client tiers (intérop), intégration depuis le WSDL...

● Serveur● Intégration via le FileSystem● Classes d'extension (listeners)

● Approche ESB : Petals...

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

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

Connecter Orchestrer Transformer

Petals : ESB open-source (1)

petals.ow2.org

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Petals : ESB open-source (2)Connecteurs

Composants d’intégration

Transformation Orchestration BAM

SE

New

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Petals : intéraction Presto

TransfoBPEL

Petals ESB(JBI container)

BC Presto« Consumes »

BC Presto« Provides »

Client PrestoMandataireRécepteur

Presto

Petals + BC Presto :Fait office de

« mandataire récepteur »Presto

Protocole Presto

Valeur ajoutée de l'ESB :- Lien avec d'autres services- Transformation, orchestration- Administration ...

Composant Presto Petals- Intègre le kit Adullact- Le kit est indépendant de Petals

Petals + BC Presto :Fait office de

« mandataire émetteur »Presto

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Presto et PetalsLink● Une vision OSS ouverte

● La valeur ajoutée des solutions éditeurs n'est pas le protocole, mais l'offre au-dessus.

● Implem basée sur le kit Presto/Axis2 ADULLACT● Connecteur Petals dépendant du kit... et pas l'inverse !

● Le kit vu comme implem de référence « de facto »● Ouverture de la licence + OSS favorisent l'adoption

(notamment par les intégrateurs)● Déploiement dans des projets de terrain (avec Logica...)● Au final, point de passage obligé pour l'intéropérabilité

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Pour conclure...● Presto : un standard en évolution

● Spécification Presto2 en phase de stabilisation● Chantier d'intéropérabilité en cours

● Microsoft, Oracle, PetalsLink● Premiers déploiements de terrain

● Fin de la phase pilote, mise en production● Vers une généralisation...

● L'open-source, condition d'adoption ?

OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

Merci pour votre attention !

Questions ?