Archive for October, 2008

Web Services Make Connection - what it actually means

I had a conversation yesterday that reminded me how confusing I found WS Make Connection the first time I saw it in action. It’s a really simple specification designed to do something really simple, but the names used in the messages can cause no end of confusion.

Though Make Connection can be used standalone, it’s currently primarily used to provide retransmission capability for WS-Reliable Messaging 1.1, so I’ll focus on that scenario.

When providing reliability in an environment where the service provider cannot open a connection to the client (e.g. because it’s behind a NAT device), the service provider still needs a way to send messages to that client.

An example would be retransmitting a response message to a client because the original transmission of it failed.

In this case the client needs to connect to the service provider to provide a connection for the service provider to use to send the response. That’s what Make Connection is. It’s a specification which defines a single one-way message which a client can send to a server, which allows a server to send a message to the client using the HTTP response channel.

i.e MakeConnection message=’Hi, I’m client xxx, and here’s an HTTP connection you can use to send me a message if you want to’.

The confusion: People used to session oriented technologes (including WS-RM of all things) see a ‘MakeConnection’ message and assume it’s setting up a long running connection that will be used later on. This is not the case. A MakeConnection message only has meaning for the length of the HTTP request/response interaction it is sent in. For subsequent messages from the server, additional MakeConnection messages must be sent by the client.

Nearing the end….

Last week’s announcement letter means that my current project at work is coming to an end.

I’ve been working for that last 6 months on the WebSphere ESB 6.2 release with a particular focus on web services and policy. So the bullet points most relevant to me are:

  • New policy-driven ESB mediation, including integration with WebSphere Service Registry and Repository
  • Support for the WebSphere Application Server Web Services Feature Pack and SOAP 2.1 (sic)

The policy driven mediation is one answer to Katy’s recent question “What’s so great about WS-Policy?”. WS-Policy provides a standard format to describe requirements, and with the policy driven mediation we exploit this standard to describe requirements on a mediation flow (or more precisely the primitivies within one). Using WS-Policy means we can use the existing support for WS-Policy in WSRR to author an attach policies, and allows users to use their existing WS-Policy expertise (or more likely for the moment - develop expertise which they can use later in other areas).

The policy driven mediation support is also an example of componentisation in action. We’ve spent a chunk of the last few months extracting the WS-Policy engine from WAS 7 to use it in WESB 6.2. WESB uses it in a very different manner than WAS, so we’ve made some changes on the way, but I think what we’ve ended up with will be useful in both products (and more) for a long time.

I’ve been less involved in the Web Services Feature Pack support. I’ve mainly been helping colleagues understand all the great new technologies, how to use them, and how we can best exploit them in WESB and WPS. It’s always eye-opening talking about something you’re so familiar with because so much that’s just background knowledge to you is advanced and complex to people with a focus elsewhere. I’m looking forward to seeing this second (or is it third because of WAS 7?) phase of customers working with JAX-WS, WS-RM and more.

With development for this release winding down I’ll be spending a bit of time out of the office talking to customers about what they can do with the current and coming releases - I look forward to hearing a bit about what they’re up to.


About

I’m David Illsley, I work in Web Services development at IBM Hursley, which involves work on the Apache WS Project, where I am a committer and PMC member. When not working with technology, I spend a lot of time on the backstage aspects of theatre, and a sadly decreasing amount of time reading.

Archives

a

Disclaimer

The postings on this site solely reflect the personal views of the author and do not necessarily represent the views, positions, strategies or opinions of IBM or IBM management.