
jeudi mars 27, 2008
GlassFish and Metro Web Services now available to Microsoft Technology Centers
I've been working with Microsoft field engineers to demonstrate Web Services interoperability for a little while now. Some of it for customers, but also for conferences from both companies.
I'm happy to report now that the GlassFish application server, its Metro Web Services technology, and its NetBeans tooling are all now available in the Paris Microsoft Technology Center.
Microsoft customers interested in Web Services interoperability now can kick the tyres of a .Net/WCF + Java EE/GlassFish combinaison with WS-Addressing, MTOM/XOP, WS-Policy, WS-ReliableMessaging, WS-Security, WS-Trust, and WS-SecrureConversation (full list) before they use it in their architectures.
Thanks to Stéphane for his support (and the Tango photograph!).
Let's hope the word spreads to more MTC's around the world.
( mars 27 2008, 12:08:09 AM CET )
Permalink

vendredi février 08, 2008
Présentations Solutions Linux - Securité Web Services
Les supports des présentations de Solution Linux 2008 commencent à poindre ici et là sur les sites et blogs. J'ai loupé celle de Sébastien Lévesque (Linagora) qui traite de "Utilisation de services web sécurisés en Java en environnement Open Source.". Il y est entre autre question de GlassFish v2 (Metro/JAX-WS/WSIT) qui est conforme au Basic Secure Profile (BSP) 1.0 et de son outillage NetBeans 6.0.
( févr. 08 2008, 06:01:00 AM CET )
Permalink

mercredi juin 20, 2007
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?
( juin 20 2007, 07:54:59 AM CEST )
Permalink

jeudi juin 14, 2007
La présentation interop Web Services avancés avec Microsoft est en ligne
Pour les curieux c'est réalisé avec Camtasia Studio.
Par contre il vous faudra un plugin pour faire du video/x-ms-wmv et meme un Windows Live ID (ex-Passport) passé les première séquences. L'interop a ses limites.
( juin 14 2007, 11:16:00 PM CEST )
Permalink

mercredi mai 23, 2007
Rendez-vous de l'interop avec Microsoft
Vous ne verrez pas souvent vous inviter à venir chez Microsoft (ce vendredi), mais l'interopérabilité le vaut bien! Si vous n'étiez pas aux Sun TechDays à Paris en mars dernier ou si vous souhaitez en savoir un peu plus sur GlassFish, WSIT, JAX-WS d'un coté et .NET 3.0 / WCF de l'autre:
Rendez-vous de l'interop : Interopérabilité .NET/J2EE sur les spécifications avancées des services Web
vendredi 25 mai 2007 de 14:00 à 16:00.
Details
( mai 23 2007, 08:55:32 AM CEST )
Permalink

jeudi avril 05, 2007
Les Web Services Weblogic assurés désormais par GlassFish
Pour complémenter l'article de Pierre Tran sur l'arrivée de Weblogic 10, conforme à Java EE 5 (excellente nouvelle), il est intéressant de noter que la partie Web Services du serveur d'application de BEA est désormais basée sur le code de GlassFish. Il s'agit de JAX-WS 2.0, mais sans la partie Tango/WSIT qui permet de faire de l'interopérabilité avec .Net (entre autre). GlassFish v2 (maintenant en beta) intègre JAX-WS 2.1.
( avr. 05 2007, 07:18:00 AM CEST )
Permalink

lundi novembre 20, 2006
PRESTO, GlassFish, and NetBeans (WS-*)
I spent some time since this summer working on a prototype for the
French government. The project is called PRESTO ("PRotocole
d’Echanges Standard et Ouvert") and is
documented here.
The goal is to define a profile (a la WS-I) for a transport protocol
based on Web Services for better and more standard interop between
ministries and related organisations. In a
nutshell, it's about using WS-I Basic Profile, SOAP 1.2, MTOM,
WS-Addressing, WS-ReliableMessaging, and optionally OASIS WS-Security.
There was (is) an interesting set of participants and technologies :
- Bull
using Apache Axis 2 and ObjectWeb's JOnAS
- Zend
relying on WSO2's
Tungsten C implementation of Axis 2 to work as a PHP plugin
- Axway
working with the Systinet/Mercury/HP web engine (SSJ)
- Microsoft
with .Net 3.0 (WCF)
- Sun
with Java EE 5 (GlassFish)
More details on Sun's prototype, technology and differentiators are
described here
(in a nutshell : full Open Source, toolable, and brain-dead simple
programing). Everything is now part of GlassFish (as
of recent v2 builds) and will be productized in Sun Application Server
9.1.
Absent were IBM, Oracle, JBoss, and BEA for various reasons, mainly
because
their respective offerings were not ready. Ironically, IBM claims it
inspired PRESTO with their WS-RAMP
specification (which itself came from two of their customers) but was
unable to
show any implementation. WS-RAMP seems like it could serve as a basis
to a future WS-I profile which could end up being a replacement to
PRESTO.
Representing WS02 was Paul
Fremantle
who's the chair of the OASIS WS-ReliableMessaging technical committee
and an Axis 2 commiter. Paul has already blogged about PRESTO here.
The prototype involved working on a common WSDL definition of
document/literal one-way and two-way operations and testing the interop
of all combinations (with or without MTOM, WS-ReliableMessaging)
between all implementations. Coming up with a common WSDL wasn't an
easy job and many found out what wrapped
doc/lit was all about (although this convention isn't really well
documented).
The results are encouraging but not perfect, so the work on both the
prototype and the PRESTO specification are still ongoing. The best
results are shown with the Sun/GlassFish + Microsoft/WCF combination (100% PASS) showing
the value of the engineering work between Sun and Microsoft as part of
the Tango
project. For the tests with other implementations, the NetTool
tunnel was very useful although XML remains XML - a pain to read, a
nightmare to debug.
Writing the Sun prototype for me was really a matter of using JAX-WS
2.0 (and the underlying JAXB 2.x binding architecture), understanding
the GlassFish WSIT
extensions (great tutorial here)
and using the NetBeans
WSIT plug-in which allows you to declaratively set the MTOM,
WS-ReliableMessaging, and WS-Security properties. Writing a
flexible-enough testing Swing
UI was also fun, but better yet was writing the OpenOffice
client demo.
PRESTO has clearly shown some European interest among the 130 attendees
in last
month's presentation in Paris and clearly fits a
need.
( nov. 20 2006, 09:47:00 AM CET )
Permalink