We are currently writing our first draft of the SOA Reference Architecture. Everyone is very busy doing their bit.
My current section is on the Real World Effect of using a service. The RA is really an abstract architecture: we are not focusing on things like SOAP, or any of the other 60+ Web service specifications out there. We are trying to get at the essence of makes SOA special and how it can be made to work.
It is a pretty basic aspect of services that we are trying to get something to happen: buy a book, get the weather forecast whatever. In other words: its action at a distance. I am communicating with you in the hope that we can get some mutual benefit.
This already distinguishes SOA from the Web, whose basic abstraction is to acquire a representation of a resource will be rendered locally for human consumption. Actions are not inherently about representations, they are about changing the world - one book at a time.
Action itself is a very difficult concept to get hold of. It seems to be intimately associated with intention and agenthood. Only agents can perform actions: the atmosphere may be very powerful but we do not think of it in terms of acting to create weather. Storms happen as a result of a confluence of different regions of hot and cold, wet and dry air, they are not created by a weather god stirring the pot.
Action at a distance is even weirder and harder to get hold of than simple action.
The reason is that you cant easily see it. If you had an agent that invoked the services of a service, and looked at its code, you would be hard pressed to give a clear reason for distinguishing
You have to know and understand the code of the agent at an entirely non-Java level: you have to know that there is another entity involved, that this agent is asking to do something, and so on. We simply do not have the concepts nailed down enough to encode them as programming language constructs.
In a way, that is one of my goals in pursuing Service Oriented Architecture. It seems to me that the light is finally beginning to dawn...