Prototype PRESTO réalisé par Sun Microsystems
Web Services pour le gouvernement français
La spécification PRESTO, fournie par la DGME, a pour objectif de définir
un "profil" (à la mode WS-I) définissant un
protocole basé sur des Web Services pour fournir un meilleur
standard d'intéropérabilité
appliqué aux communications entre ministères,
collectivités locales et autres associations. Le prototype développé pour le gouvernement
français (DGME) et présenté lors du colloque
PRESTO du 13
octobre 2006 a été réalisé par la
société Sun Microsystems en Java sur la technologie GlassFish.
Cette participation est une suite logique aux innovations de
Sun Microsystems (Java, Liberty Alliance, OpenDocument) et aux projets
réalisés et en cours dans le secteur public. Le prototype
PRESTO réalisé et démontré s'appuie sur ces
axes majeurs :
- Java et Java EE 5
- Tout Open Source
- Outillage intégré
- Intégration suite bureautique OpenOffice
- Suite complète de produits supportés
La technologie Java apporte la
portabilité sur plate-formes Solaris, Linux, Windows, Mac
et autres Unix. Elle intègre également des technologies
de sécurité qui en font une plate-forme de référence en la matière et enfin, avec 5 millions de développeurs,
les compétences existantes des développeurs suffisent
pour utiliser cette implémentation du protocole PRESTO.
GlassFish est le serveur d'application Java EE de nouvelle génération, l'implémentation de référence de
Java EE 5 et entièrement Open Source.
Il couvre à lui seul l'ensemble des besoins de PRESTO supprimant
ainsi tout besoin d'intégration de briques
hétérogènes. GlassFish propose une qualité
d'entreprise, une performance inégalée pour un produit
Open Source et une documentation exemplaire. Il est le fruit
d'une collaboration avec les sociétés Oracle,
BEA, Tmax, JBoss, Jetty et le reste de la communauté.
Le sous-ensemble technologique de GlassFish utilisé
pour ces échanges Web Services se nomme WSIT(Web
Services Interoperability Technology).
L'intéropérabilité de cette technologie est
régulièrement testée avec d'autres produits tels
que Microsoft .Net 3.0 (WCF). Coté développement, Java EE
5 apporte une
très grande simplification dans le développement
d'applications d'entreprise avec les technologies EJB 3.0 et JAX-WS 2.x
qui n'exposent au développeur que les fonctionnalités
métier (approche POJO). Le nombre de lignes de code
nécessaires pour le prototype PRESTO est très
sensiblement
inférieur à celui de technologies de type JAX-RPC ou la
manipulation des types de données et de détails
techniques sur les échanges restent à la charge du
développeur.
NetBeans
est l'outil de développement Open Source qui a permis une grande
productivité dans le développement du prototype. En
effet, il permet de générer un squelette de code à
partir du contrat de service PRESTO exprimé par le WSDL (Web Services
Description Language) de manière à ce que le
développeur se concentre sur la fonction métier de son
service. L'appel d'un web service PRESTO existant (depuis une servlet,
un EJB, une page JSP ou un client riche écrit en Swing) est
également d'affaire d'un simple
glisser-déposer. NetBeans permet enfin d'exprimer la
qualité de service: PRESTO optimisé, PRESTO fiable,
PRESTO sécurisé, etc... Ce paramétrage se traduit
par un descripteur de déploiement XML qui ne vient pas "polluer"
le code applicatif.
Afin
d'illustrer une intégration du protocole PRESTO dans un outil de
tous les jours pour un utilisateur final, le prototype de Sun
Microsystems comprend un module d'extension pour la suite bureautique OpenOffice/StarOffice.
Cette extension, écrite en Java/Swing, permet d'envoyer avec le
protocole PRESTO le document courant en cours d'édition, qu'il
s'agisse d'une feuille de calcul, d'un document de texte ou d'une
présentation. Dans le cas ou le document est au format Open Document,
celui-ci en envoyé avec ses
propriétés (titre, auteur, commentaires, date de
création, etc...).
Le produit supporté implémentant PRESTO est Sun Application Server 9.1 et l'offre Sun Java CAPS
(Composite Application Platform Suite) constitue l'offre
SOA susceptible de compléter le protocole PRESTO par une infrastructure
capable de gérer des problématiques d'intégration
(connecteurs), de processus métier (workflow BPEL), de BAM
(suivi d'activité technique ou métier) et de portail de
présentation et d'authentification. Le tout étant bien entendu outillé avec NetBeans.