mercredi mars 26, 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.

jeudi févr. 07, 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.

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?

jeudi juin 14, 2007

La présentation interop Web Services avancés avec Microsoft est en ligne

Comme annoncé précédemment, j'ai participé avec Stéphane Goudeau de Microsoft à une session sur le thème de l'intérop des Web Services entre .Net 3.0 (WCF) et Java EE 5 GlassFish (projet WSIT). La vidéo de l'événement est maintenant en ligne et on aborde les thèmes suivants illustrés le plus possible par des démos (Windows/Solaris):

• Introduction (1/9)
• Web Services avancés (2/9)
• GlassFish et WCF (3/9)
• Basic Profile (4/9)
• MTOM (5/9)
• Reliable Messaging (6/9)
• Sécurité (7/9)
• Metadata Exchange (8/9)
• Conclusion et questions (9/9)

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.

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

jeudi avr. 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.

lundi nov. 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.


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