In this write up I’ll try to capture the tone of the conference, what seemed to be important and what some of the more interesting presentations were.
This was the first ever Conference on Service Oriented Computing. In some ways it was reminiscent of the first Object Oriented conference (OOPSLA in 1986): highly biased toward academic and research topics, at the same time shining a light on the issues that are likely to face the industry over the next decade. In this write up I’ll try to capture the tone of the conference, what seemed to be important and what some of the more interesting presentations were.
Apparently, a year and a half ago several researchers in Service Oriented Computing began planning an Italian conference on Service Oriented Computing and it kind of spun up to an International conference. Trento was an interesting, but logistically difficult choice. Trento is in Dolomite region of the Italian Alps, and is difficult even for Europeans to get to. It is a charming University town, founded in the roman times with a rich history though the middle ages. The town is a beautiful blend of old and new and very pedestrian friendly, large cobblestone courtyards can be found every few blocks usually adjoining a renaissance building or two. We took a side trip one hour further up the Alps to Balzano, and saw Otzi, “the ice man.”
This conference had some of the best after hours arrangements of any I’ve attended: one night we got a guided tour of “the castle” followed by a brief speech from the vice mayor and wine and dinner sized hors d’odourves. The final night was a tour of Ferrari Spumante the leading producer of Italian Champagne, with a five or six course sit down dinner.
Attendees & Presenters
There were about 140 attendees, at least a third of who were also presenters. All but eight were from academia, and we were among 6 who were from North America. Next Years venue will be in New York City in mid November, which should change the nature and size of the audience considerably.
Keynotes were by Peter Diry, who is in charge of a large European government research fund that is sinking billions into research topics in advanced technology. There was a great deal of interest in this as I suspect many of the attendees bread was buttered either directly or indirectly from these funds. Bertrand Meyer was the pre dinner keynote the night of the formal dinner. Had a very provocative talk on the constructs that are needed to managed distributed concurrency (we’ve managed to avoid most of this in our designs, but you could certainly see how with some designs this could be a main issue.) Frank Heyman from IBM was the final keynote, which was primarily about how all this fits into Grid computing and open standards.
The 37 major presenters and 10 who had informal talks at a wine and cheese event, were chosen from 140 submissions. Apparently many of these people are leading lights in the research area of this discipline, although I had never heard of any of them. In addition there were two half day tutorials on the first day. Presentations were in English, although often highly accented English.
It was a bit curious that the conference was “Service Oriented Computing” and not “Service Oriented Architecture” as we hear it; it marked some subtle and interesting distinctions. This was far more about Web services than EAI or Message Oriented Middleware. They were far more interested in Internet scale problems than enterprise issues.
Some of the main themes that recurred throughout the conference were: service discovery and composition, security, P2P and grid issues and Quality of Service issues. Everyone has pretty much accepted WSDL and BPEL4WS (which everyone just calls “bee pell”) as the defacto technologies that will be used. There was some discussion and reference to the Semantic Web technologies (RDF, DAML-S and OWL). They seemed to be pretty consistent on the difference between Orchestration and Choreography (more later)
There was a lot of talk about dynamic composition, but when you probed a bit, not as much agreement as to how far it was likely to go or when the dynamic-ness was likely to occur.
Things clarified for me
There were several things that weren’t necessarily presented in a single talk, but with the combination and context several things became clearer to me. Many people may have already tripped to these observations, but for the sake of those who haven’t:
In much the same way that SAN and NAS virtualized storage (that is removed the users specific knowledge of where the data was being stored) SOC is meant to virtualize functionality. This is really the grid angle of Service Oriented Compu. There were a few people there who noted that unlike application servers or web servers, it will not be as easy to virtualize “stateful” services.
Most of the discussion about service discovery was design time discovery. Although there were some who felt that using the UDDI registry in an interactive mode constituted run time discovery. There were many approaches described to aid the discovery process.
There was pretty widespread agreement that WSDL’s matching of signatures was not enough. Getting beyond that was called several different things and there were several difference approaches to it. One of the terms used was “capabilities” in other words how can we structure a spec that describes the capability of the service. This means finding a way to describe how the state of the caller and the called objects were changed as well as noting side effects (intentional and otherwise.)
Frank Heyman from IBM made the point that WSDL is really about describing the binding between “port types” (what the service is constructed to deal with) and specific ports (what it gets attached to). While the default binding is of course SOAP, he had several examples, and could show that the binding was no more complex for JMS, J2EE, even CICS Comm Region binding.
Orchestration and Choreography
The tutorial clarified and subsequent presentations seemed to agree that Orchestration is what you do in machine time. It is BPEL. It is a unit of composition. It is message routing primarily synchronously. While the tools that are good for Orchestration could be used for Choreography, that’s not using each tool to its strength.
Choreography involves coordination, usually over time. So when you have multiple organizations involved, you often have Choreography issues. Same with having other people in the loop. Most of what we currently think of as work flow will be subsumed into this choreography category.
Specific Talks of Note
Capabilities: Describing What Web Services Can Do –Phillipa Oaks, eta all Queensland University
This paper gets at the need to model what a service does if we are to have any hope of “discovering” them either at design time or run time. They had a meta model that expanded the signature based description to include rules such as pre and post conditions as well as effects on items not in the signature. It also allowed for location, time and manner of delivery constraints.
Service Based Distributed Querying on the Grid, Alpdemir, et al University of Manchester
I didn’t see this presentation, but after reading the paper wish I had. They outline the issues involved with setting up distributed queries, and outline using the OGSA (Open Grid Service Architecture) and OGSI (Open Grid Services Infrastructure). They got into how to set up an architecture for managing distributed queries, and then into issues such as setting up and optimizing query plans in a distributed environment.
Single Sign on for Service Based Computing, Kurt Geihs, etal Berlin University of Technology
The presentation was given by Robert Kalchlosch (one of the etal’s). One of the best values for me was a good overview of Microsoft Passport and the Liberty Alliance, especially in regard to what cooperating services need to do to work with these standards. This paper took the position that it may be more economical to leave services as they are and wrap them with a service/ broker that is handling the security and especially the single sign on aspect.
Semantic Structure Matching for Assessing Web-Service Similarity, Yiqiao Wang etal Univeristy of Alberta
Issues and problems in using Semantics (rdf ) is service discovery. They noted that a simple semantic match was not of much use, but that by using Word-Net similarity coupled with structural similarity they were able to get high value matching in discovery.
“Everything Personal, not Just Business” Improving User Experience through Rule-Based Service Customization, Richard Hull, etal Bell Labs
Richard Hull wrote one of the seminal works in Semantic Modeling, so I was hoping to meet him. Unfortunately he didn’t make it and sent a tape of his presentation instead. The context was if people had devices that revealed their geographic location, what sort of rules would they like to set up about who they would make this information available to? One of the things that was of interest to us was their evaluation, and then dismissal of general purpose constraint solving rule engines (like ILOG) for performance reasons. They had some statistics and some very impressive performance on their rule evaluation.
The first ever Conference on Service Oriented Computing was a good one, it provided a great deal of food for thought and ideas about where this industry is headed in the medium term.