Recording Venue: OOPSLA 2007
Guest(s): Olaf Zimmermann
Host(s): Markus
In this Episode we’re talking about Web Services with IBM’s Olaf Zimmermann. We mainly focus on the WS-* stack. We also discuss a couple of SOA foundations and architectural decisions that need to be taken when building an SOA using Web Serivces. We also briefly mention the REST vs. WS-* debate.
A very nice discussion on web svcs. But I’m little disappointed for not hearing anything about WS-Transaction standard.
These pod casts are really cool and its very helpful to hear from some of the best folks in respective areas. Great SERadio team. keep it up!!
-Suman.
… for your nice words on SE Radio!
Markus
Hi and sorry for not having covered this important issue properly… traditional system transactions alone are not directly applicable in a SOA setting; a more decentralized coordination model and application-level compensation strategies have to be added. To address these needs, WS-Coordination, WS-AtomicTransaction (WSAT), and WS-Business Activity Framework (WBAF) complement the core Web services specifications. We define three conceptual patterns in a paper presented at ICSOC 2007, listed as paper (12) at http://www.iaas.uni-stuttgart.de/institut/extern/zimmermann/indexE.php
What we have seen most projects do is to keep the system transaction boundary within the service provider (the TransactionIsland pattern from the paper), and implement compensating logic on a higher architectural layer, for example the service composition layer (e.g., BPEL compensation) or the presentation layer. The last line of defense of course is the human user 🙂
You got me again. As I don’t know that much about Olafs work I just expected another WS/SOA episode on the basics. But this episode was a nice roundup.
Covering the REST vs. WS-* debate from this point of view is interesting altough there is more coplexity in the basic WS-* setup than in a simple REST architecture (It depends as you mention later again on the context and the forces for this architectural decision, and no one prohibits you from using both REST and WS-* in a single project according to the requirements of the different parts of your system.)
From introducing the basics, mentioning the roles and (more or less ) importance of the existing standards to the very interesting discussion at the end about architectural decisions.
The discussion about this is not so young. The agile folks are discussing it all the time (last responsible moment of decisions, defer decisions that are expensive to change etc.) Grady Booch describes architecture as the important design decisions that are costly to change. Frank and Kevlin discuss the stuff in POSA 5 and the architecture track on the JAOO 2008 by Frank Buschmann also had a lot of this kind of discussion.
I think it is the same as with design patterns. A good architect already does this (more or less consciously) but the decisisons are not documented (as Markus suggested) in a patterns style citing all the enviromental forces that led to the choosen path through design space.
As Christopher Alexander said in “The Timeless Way of Building”, the language itself is not the goal but it just shows what is already in the minds of the people who apply the patterns naturally as the best fitting solutions to their problems. But surely it helps communicating and rediscovering this kind of wisdom and experience.
This episode (the end of it) gave me a lot to think about. Thanks for that.
Michael Hunger
Independend Software Developer
Java embedded SQL DSL – http://jequel.de
Thank you very kindly for your positive feedback, Michael!
I agree with all your comments of course… architectural decisions are not a new concept at all; however, taking their importance into account, there are surprisingly few text books, research contributions, and commercial products supporting the decision making activities (being a big fan of the entire patterns movement, I am aware of Frank’s and Kevlin’s work). In our SOAD project, the idea to is to make as much of the decision knowledge reusable as possible: not necessarily the decision outcome (the actual decision), but the background information. I discuss the general idea in this paper: http://soadecisions.org/soad.htm#qosa and the synergetic relationship between patterns and decisions in this one: http://soadecisions.org/soad.htm#wicsa
Since I seem to be in paper plugging mode anyway: the one I mention in the episode, comparing WS-* Web services and RESTful Web services based on the decisions required, is out now. You can find it here: http://www.jopera.org/docs/publications/2008/restws
Regards
Olaf
First I want to thank the SE radio team, for great work so far. It’s the best show on the subject (my favorite podcast no matter what) and consistently good. The interviews are the best, even including print media.
Now, on this particular show I was a bit disappointed by the recurrent SOA vs REST commentary. I’m a REST proponent, but I was interested in listening about SOA, its strengths and weakness, so I could reason about the arguments for WS-* and SOA on itself, not against a REST strawman (actually both sides of this debate are talking past each other and build strawmans, but I digress), which actually got me angry a couple of times and diminished the learning and pleasure I usually get from the episodes.
Anyway I’m looking forward a REST episode to show the other approachs to WS, but in this show I also would like to avoid the REST vs. WS-* debate, IMNSHO the if you ever want to do an episode about this debate it’s better to get luminaries from both sides to maximize the signal/noise ratio.
Hi,
the counterpoint, an interview with Stefan Tilkov on Rest is already recorded 🙂
Markus