I’ve been looking at the recently released Technology Preview of Web Services Enhancements (WSE) 3.0, and I’m quite impressed with it. The reason I’ve been checking it out is I am delivering a presentation at Tech-Ed Europe 2005 next month (5th – 8th July), and I wanted to show a few demos. I’m doing a session on the Wednesday entitled “The Zen of Web Services”, and it’s a sort of “everything you always wanted to know about web services but were afraid to ask”. Lots of people know the basics around web services, but have never had the time or inclination to get their head around the low level details and the relevant standards (MTOM, WS-Addressing, etc) so am trying to give a quick grounding in web service essentials in the session. Here is the official description:

“Be at one with web service. If you are relatively new to the world of web services, this session will help you understand what goes on under the covers around web services, unravel some of the mysteries of XML on the wire, and get your mind in tune with right approach to designing service oriented architectures. In particular, the session will cover some of the recent web service standards, such as WS-Addressing and MTOM, and look at the important emerging standards around areas such as reliability and transactions. It will also get you thinking about the future of web service development with Indigo”.

I wanted to show of MTOM and WS-Addressing, so it was a good excuse to spend some time looking at WSE 3.0. You can get the full description of what’s in WSE 3.0 here, but here are the things that struck me. Firstly, it is being heavily influenced by Indigo – you can’t help but think that the team are doing their best to prepare developers for working with Indigo by trying to use as much of the programming model as is possible with todays technology stack. WSE 3 relies heavily on attributes to define the web services, and requires little code to set up – it just works! They also allow you to host both TCP and ASMX endpoints for a single class, so you don’t have to write protocol specific stuff in your service (type). Very neat indeed. The TCP binary support will help those who object to using web services on the grounds of raw speed due to all those angle brackets on the wire. WSE 3 also supports MTOM, now it is a W3C Recommendation, which assists in the efficient movement of binary data in web service calls.

In the past I have found the best way to get up and running with WSE is to go through the Hands On Labs, and this is very much the case for WSE 3. The Hands On Lab - Exploring Messaging includes demos for the TCP hosting and MTOM, which is just what I was looking for. So, now, I’m off to tweak the demos . . . I hope to see you in Amsterdam next month.