One door closes and another one opens

Update 1/24: see also Mark Little’s post to InfoQ, and the previous interview with Stefan Tilkov for background.
Last week at the WS-TX TC meeting in Hursley the TC voted unanimously to approve the current drafts of WS-C, WS-AT, and WS-BA to progress toward OASIS standards.
This is great news – a good result of a little more than a year’s committee work, which is actually pretty fast for a standards group.
I would particularly like to highlight the contributions of my co-chair, Ian Robinson, the TC secretary, Paul Knight, and the editors of the specifications. Many TC members also made significant contributions along the way – thanks! This has really been a great TC.
I actually started down this path almost 7 years ago, while working to submit SOAP 1.1. We started mapping the Transaction Internet Protocol (TIP) (which I also worked on) to SOAP (insert your own joke here 😉 but quickly encountered a showstopper – the lack of persistent sessions in HTTP.
TIP, like most distributed TP standards, relies upon the use of persistent sessions to maintain shared transaction context. And distributed TP standards (including TIP and OTS/JTS) interpret the loss of the communications session that maintains the shared context as an error requiring rollback.
For browsers a lost session is no big deal (just click again on the link) but if you are doing distributed transactions you could easily end up with a lot of rollbacks and not getting much work done.
(This is, by the way, one of the reasons Mark Little and I created the WS-Context spec.)
Anyway it has definitely been a long haul, and worth raising a glass…
The WS-TX TC at the King’s Head, Hursley
(full photo)
A fitting place to end our technical work, I suppose, since Hursley is a worldwide center for IBM’s transaction processing products, which still dominate the market. And they have a real fancy old English manor house, too.
“Hursley House”
(full photo)
(Our meeting room was on the ground floor, facing the lawn, just inside the lefthand column group.)
Next week I start my new adventure in the world of software standards as co-chair of the new OSGi Enterprise Expert Group. IONA is hosting the EEG kickoff meeting next Tuesday (Jan 30) at our Dublin office.
(No, I’m sorry, we don’t have an old Irish manor house, but we do lead the CORBA market ! 😉


2 responses to “One door closes and another one opens

  1. Hi Eric,
    Like the blog.
    Reading the stuff on TIP was pretty interesting, we tried to build something similar. We built a distributed transaction system on top of HTTP (attempting to be RESTful) that uses Paxos and Paxos Commit to make it highly available. The client HTTP POSTs a transaction request to a server, the TM, and recieves a TID URI to poll for the state of the transaction – however the server is replicated using Paxos so that the client can safely resend the POST to any replica if he thinks there has been an error, he will always get the same TID URI. The replicated TM then uses Paxos Commit to invoke the transaction over the RMs. Progress is guarantueed as long a majority of the TM servers are available.
    Implementing the protocol from the client’s or RM’s perspective is trivial. The system was designed to solve a particular problem of co-allocation, we were effectively told 2PC wasn’t good enough so we used Paxos Commit. Since we are not transaction people, I wondered if you have any feedback.
    A full description of the protocol can be found here:

  2. Hi Mark,
    I’m *very* sorry to be so late replying.
    I was thinking I’d have time to investigate before replying.
    Anyway I did want to at least respond and thank you for your comment, and say that I will be following up to read the paper.
    I don’t know much about Paxos commit I’m afraid, but it seems like this will be a good opportunity to learn about it.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s