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 ?
Top Related