There’s an interesting definition of web services:
Definition: A Web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based messages conveyed by internet protocols.
I can live with this. And I think René can too. I think it’s more or less “compatible” with the way we talk about services in our white paper. Now, René, the good stuff comes when W3C talks about architectural styles:
We can identify two major classes of “Web services”: REST-compliant or “direct resource manipulation” services in which in which the primary purpose of the service is to manipulate XML representations of Web resources using the a minimal, uniform set of operations operations, and “distributed object” or “Web-mediated operation” services in which the primary purpose of the service is to perform an arbitrarily complex set of operations on resources that may not be “on the Web”, and the XML messages contain the data needed to invoke those operations. In other words, “direct” services are implemented by web servers that manipulate data directly, and “mediated” services are external code resources that are invoked via messages to web servers.
This makes a lot of sense to me (so much that I get a feeling I actually don’t get it at all …). Basically, I am putting W3C back on top of my list of standards/reference bodies relevant to service-oriented architecture. The WSA would be a good candidate for governments to adopt in our interoperability frameworks. It needs consolidation, of course. I notice Microsoft is absent, so it’s going to be interesting to see how it goes.
My impression is that Microsoft goes 100% for OASIS and for WS-I Basic Profile – Version 1.0 Board Approval Draft (BdAD) from 2003/03/28. The WS-I Basic Profile 1.0 consists of a set of non-proprietary Web services specifications, along with clarifications and amendments to those specifications which promote interoperability.
WSA, WS-I, WS-*, what’s the clue in all of this?
Architectural styles can be expressed in many ways. One main style we all seem to agree upon is a service-oriented architecture (SOA). W3C says that WSA is an instance of a SOA. An SOA is a specific type of distributed system in which the agents are “services”. The WS-I Basic Profile then would be an instance of WSA, but, being a Profile, might invoke some boundary issues, as we saw with RSS last week. Or is that a wrong picture?