Presto : une implémentation open-source

           Pierre-Yves Gibello, PetalsLink
         pierre-yves.gibello@petalslink.com

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
                                                                          Source :
●   Multi-fournisseurs                                                    DGME (2007)


●   Intégration à un existant hétérogène




                     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.
Echange Presto
                               Zone d'échange Presto


                  Mandataire                             Mandataire
Producteur         émetteur                              récepteur         Consommateur
                    Presto                                 Presto



                                          Relais
                                          Presto                    Application destinataire
                                        (routage)                        du message
 Application à l'origine
     du message
                                                  Si nécessaire,
                                                 routage vers le
                                                mandataire cible.



                           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
         Télécharger/dézipper        Site ADULLACT           Télécharger/déployer
         Client de test                 adullact.net         Appli web .war




                                                                          Tomcat
java -jar presto-test-client.jar
                                         Message Presto              (serveur JavaEE)
                                         (avec PJ optionnelles)



  Egalement possible à partir des sources :
  - svn checkout                                           Messages reçus + PJ
  - ant (génération .war) puis déploiement               stockés sur le FileSystem
  - 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.
Petals : ESB open-source (1)
    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                                Connecter     Orchestrer   Transformer
 Valorisation de l’existant



     petals.ow2.org

                               OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
                                                                               www.ow2.org.
Petals : ESB open-source (2)
                        Connecteurs
                                                              New




            SE


Transformation           Orchestration                  BAM

                 Composants d’intégration

                           OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
                                                                           www.ow2.org.
Petals : intéraction Presto
Valeur ajoutée de l'ESB :
- Lien avec d'autres services                         Mandataire
- Transformation,                                     Récepteur
  orchestration              Client Presto             Presto
- Administration ...
                                         Protocole Presto
 Composant Presto Petals
 - Intègre le kit Adullact         BC Presto          BC Presto
 - Le kit est indépendant        « Consumes »        « Provides »
   de Petals
                                                                         Petals + BC Presto :
                                        Petals ESB                          Fait office de
                                      (JBI container)                  « mandataire émetteur »
                                                                                Presto
   Petals + BC Presto :
      Fait office de
 « mandataire récepteur »
          Presto                     BPEL                Transfo


                             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 ?



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

Presto standard OW2 Conference-nov10

  • 1.
    Presto : une implémentationopen-source Pierre-Yves Gibello, PetalsLink pierre-yves.gibello@petalslink.com 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.
  • 2.
    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.
  • 3.
    Presto : enjeux ● Interconnexion des SI ● Dématérialisation Source : ● Multi-fournisseurs DGME (2007) ● Intégration à un existant hétérogène OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  • 4.
    Presto : une « e-enveloppe » Source : DGME (2007) OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  • 5.
    Les fondements dePresto ● 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.
  • 6.
    Echange Presto Zone d'échange Presto Mandataire Mandataire Producteur émetteur récepteur Consommateur Presto Presto Relais Presto Application destinataire (routage) du message Application à l'origine du message Si nécessaire, routage vers le mandataire cible. OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  • 7.
    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.
  • 8.
    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.
  • 9.
    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.
  • 10.
    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.
  • 11.
    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.
  • 12.
    Le kit PrestoAxis2 / 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.
  • 13.
    Kit Presto : déploiementrapide Télécharger/dézipper Site ADULLACT Télécharger/déployer Client de test adullact.net Appli web .war Tomcat java -jar presto-test-client.jar Message Presto (serveur JavaEE) (avec PJ optionnelles) Egalement possible à partir des sources : - svn checkout Messages reçus + PJ - ant (génération .war) puis déploiement stockés sur le FileSystem - ant client (client de test) OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  • 14.
    Kit Presto : intégrationappli 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.
  • 15.
    Petals : ESB open-source(1) 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 Connecter Orchestrer Transformer  Valorisation de l’existant petals.ow2.org OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  • 16.
    Petals : ESB open-source(2) Connecteurs New SE Transformation Orchestration BAM Composants d’intégration OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  • 17.
    Petals : intéraction Presto Valeurajoutée de l'ESB : - Lien avec d'autres services Mandataire - Transformation, Récepteur orchestration Client Presto Presto - Administration ... Protocole Presto Composant Presto Petals - Intègre le kit Adullact BC Presto BC Presto - Le kit est indépendant « Consumes » « Provides » de Petals Petals + BC Presto : Petals ESB Fait office de (JBI container) « mandataire émetteur » Presto Petals + BC Presto : Fait office de « mandataire récepteur » Presto BPEL Transfo OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  • 18.
    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.
  • 19.
    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.
  • 20.
    Merci pour votreattention ! Questions ? OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.