Metro, Boulot, Dodo...

Metro. JAX-WS est à la fois un standard (tout serveur d'application Java EE 5 se doit de le proposer) et une implémentation - on parle alors de JAX-WS RI (Reference Implementation) ou GlassFish JAX-WS. Son complément WSIT (Projet Tango, pour l'interop avec Microsoft WCF) pour gérer les web services avancés (standards WS-\* pour la performance, la sécurité, la fiabilité, les transactions, etc...) est également open source et tous deux sont utilisables avec Java SE 6 (JAX-WS 2.0 est carrément intégré au JRE).

Ces deux technologies (JAX-WS et WSIT) peuvent être utilisées en dehors du serveur d'application GlassFish (dans une autre serveur ou en mode autonome) sans trop perdre en fonctionnalités (voir partie Dodo) et c'est pour cela que l'on parle de "Stack Web Services Open Source" sous le doux nom de Metro (référence à un transport rapide et à la technologie de tube sur laquelle elle est construite). Metro propose un support de Spring, JSON en plus d'être extensible. Vous trouverez une comparaison des différentes piles de web services ici: http://wiki.apache.org/ws/StackComparison. Metro donc.

Boulot. Le modèle de programmation de Metro est unique et basé sur des POJO. En effet avec JAX-WS, seules les fonctionnalités avancées (appels asynchrones) nécessitent de manipuler un API. Pour le reste, les annotations Java font l'affaire. Ainsi, voici l'implémentation d'un web service (simple à gauche, transactionnel à droite) :

L'utilisation de WSIT ne change rien à l'affaire du modèle de programmation puisque les attributs WSIT (sécurité, fiabilité, optimisation, ...) sont exprimés sous forme d'assertions WS-Policy dans le WSDL du service. Il n'y a pas d'API WSIT. Au delà de l'aspect communication du nouveau nom, l'arrivée de Metro apporte une simplification de la distribution (moins de jars) et une documentation et des exemples unifiés, essentiellement basés sur des POJO, de quoi se concentrer sur son métier et pas sur le framework. Boulot donc.

Dodo. En utilisant Metro intégré dans GlassFish v2 (Metro 1.0 est en Milestone 5 et intégré dans les derniers builds de GlassFish version 2 beta), on bénéficie de plusieurs fonctionnalités d'administration et de monitoring pour dormir sur ses deux oreilles : déploiement, outils de test, monitoring, statistiques de performance, log des messages échangés, règles management dynamique, configuration sécurité, audits de sécurité, analyse du temps passé dans les différentes parties de l'app serveur, transformations XSLT. Le tout en mode Web ou en ligne de commande. Ce sont ces fonctionnalités qui sont en partie perdues avec l'utilisation de Metro dans un autre conteneur ou en mode autonome. En particulier, l'implémentation des endpoints sous forme d'EJB n'est possible qu'avec GlassFish. On notera quand même que JAX-WS 2.1.2 propose un support JMX). Dodo, à priori.

Plus d'info:
• Announcing Metro - Naming the Web Services stack in GlassFish
• The GlassFish web services stack is now called Metro
• Introducing Metro
• Introducing Metro, the GlassFish WebServices Stack

Sites de référence :
• http://metro.dev.java.net/
• http://jersey.dev.java.net/
• http://glassfish.java.net/

Prochaine étape: JAX-RS?

Comments:

Ajax, Ajaccio, plage, dodo..

Posted by Ludo on juin 20, 2007 at 10:27 PM CEST #

Post a Comment:
Comments are closed for this entry.
About

This blog has moved

Alexis Moussine-Pouchkine's Weblog

GlassFish - Stay Connected

Search

Archives
« avril 2014
lun.mar.mer.jeu.ven.sam.dim.
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today
Blogroll

No bookmarks in folder

News

No bookmarks in folder