Phil Windley has posted an excellent preamble to the "Services and Contracts" session he'll be leading at our upcoming SOA Forum. This is exactly the model I'll be using as well, for my sessions on "Defining the SOA Platform" and "Building Applications on an SOA Platform." Like Phil, I plan to lay out a set of questions in advance, refine them in conversations both public and private, and then invite my panelists to respond to the questions.
Since the titles of both of my sessions include the phrase "SOA platform" I've been looking for a way to relate this slippery concept to the conference's theme of business agility. The other day, while listening to the ITConversations podcast of Geoffrey Moore's Software 2005 keynote, this clip grabbed me:
The idea here is that the current stack represents what I would call an Internet-enabled client-server architecture.
I remember when client/server was first anointed in 1987, by the Gartner Group. Tandem was its leading platform, and it took five years before application software really went client/server.
We went through the entire 90s working this stuff, and then the Internet came along in the middle of it, and we bolted the Internet onto client/server, which was the right thing do to. And we used the Internet as a kind of extended network, but not as a bus.
So all of a sudden we're going to have a world in which callable web services is an architecture not just for large distributed systems, it's an architecture for the next generation of Oracle or SAP or PeopleSoft.
It's a big deal. And as you look at that thing, and as you look at the existing stack, you gotta say, I don't think it maps right. [audio clip, ITConversations, show 491, 12:46-15:33]
For me, this clip neatly captures both the essence of the emerging SOA platform and the challenges related to it.
Joining me on my first panel will be Graham Glass (webMethods), Frank Martinez (Blue Titan), Eric Newcomer (Iona), Annrai O'Toole (Cape Clear), and Gordon Van Huizen (Sonic Software). (That's for the May 5 event. On May 17, it'll be webMethods' Guljit Khurana instead of Graham Glass.) Here are some examples of the kinds of questions I'd like these folks to address in the context of defining the platform:
on terminology: The terms bus, fabric, and grid are all in common use. Can we define them, and identify the roles they play in the SOA platform?
on the client/server legacy: Even though it doesn't necessarily "map right," we're busily wrapping web services around our existing apps. How can these efforts best target the emerging SOA platform?
on intermediation: SOA uses loosely-coupled and coarse-grained messaging not only to achieve scale, but also to empower intermediate systems to monitor and enhance applications and to implement and enforce policies. Today these intermediate systems tend to be proprietary overlay networks. How will we unify them?
on self-describing data: XML messages are the lifeblood of SOA. Their self-descriptive nature is what makes it possible to enforce policy and compose new business logic independently of endpoint applications. Arguably, then, the technologies for structuring, gathering, transforming, storing, and retrieving XML are all key elements of the SOA platform. Are these technologies ready for prime time? And to the extent that they are, have enterprises gotten up to speed with them?
on the diversity of service endpoints: I agree with Moore's notion that web services will find their way into every nook and cranny: clients, routers, peripheral and handheld devices. There's a session entitled "Pervasive SOA" that will drill down on this topic, but in general, do these various kinds of service endpoints qualify as elements of an SOA platform? And to the extent that they don't, how must they evolve?
on standards and emergence: We mainly agree on a set of core XML standards, but the WS-* stack that's being built on top of them has raised concerns about complexity and fragmentation. Meanwhile, what might be called the Web 2.0 stack -- based on HTTP, REST, and RSS -- has recently gained momentum and is producing powerful emergent effects. What can the WS-* stack learn from the Web 2.0 stack, and vice versa? Can we build an SOA platform that combines the best of both?
on reliability: When I posted the initial version of this item, I provoked this response from a service: "Macro error: The server, api.google.com, returned a SOAP-ENV:Server fault: Exception from service object: Problem looking up user record." Which prompts me to ask: How reliable can we make the SOA platform? And how will we do that?
I'll be using the tag InfoWorldSOA2005 to collect conference-related blog entries that I post before, during, and after the event. Feel free to use the tag as a rendezvous point for public discussion. Of course you're also welcome to email me your questions and comments.
Former URL: http://weblog.infoworld.com/udell/2005/04/15.html#a1216