- From: David Booth <dbooth@w3.org>
- Date: Thu, 21 Aug 2003 14:08:35 -0400
- To: "He, Hao" <Hao.He@thomson.com.au>, www-ws-arch@w3.org
Hao, Thanks for the work on this. I have some suggestions in line below. At 08:46 AM 8/13/2003 +1000, He, Hao wrote: >As discussed in the f2f, the current text on SOA is unclear. I have taken >the action item to write more on SOA. > >Hao > > >Service oriented architecture > >An SOA is a style of software architecture, which centralises on the concept s/centralises/centers/ >of service. A service is a unit of work done by a service provider to >achieve desired end results for a service consumer. Both provider and >consumer are roles played by software agents on behalf of their owners. The >end results are usually the change of state for the consumer but can also be >the change of state for the provider or for both. A service is considered >"safe" if it does not cause any change of state to its provider. I think it would be better to use the definition of "safe" provided by the TAG in http://www.w3.org/TR/webarch/#pr-deref-safe : "Safe retrieval: Agents do not incur obligations by retrieving a representation." The key distinction here is that a safe interaction could cause a state change, but it does not incur an obligation. >A service >is defined by a contract between a provider and a consumer. A contract >typically prescribes the means of service consumption and expected end >results from a consumer's prospect. Additionally, quality of service may >also be specified. > >The main purpose of SOA is to achieve loose coupling among software agents >through the following constraints: >1. Simple and ubiquitous interfaces to all participating software agents. >Zero or minimum application semantics is encoded at the interfaces. I don't understand what you mean by this. >The >interfaces should be universally available for all providers and consumers. I'm also not sure what you mean by this. >2. Descriptive messages constrained by an extensible schema. Zero or minimum >system behaviours are prescribed by messages. I think this needs clarification also. >A schema limits the vocabulary >and structure of messages. An extensible schema allows new versions of >services being introduced without breaking existing services. > >An SOA, >1. MUST provide a mechanism that enables the communication between a >provider and a consumer under the context of a service sought by the >consumer. >2. MUST define service contracts between providers and consumers. > >Optional constraints: >1. Stateless messaging. Each message that a consumer sends to a provider >must contain all information necessary for the provider to process the >message. This constraint makes a service provider more scalable because it >does not store state information about consumers. >2. Stateful messaging. Both the consumer and the provider share the same >consumer specific context, which is either included or referenced by >messages exchanged between the provider and the consumer. This constraint >makes the communication between a provider and a consumer more efficient but >reduces the overall scalability of the service provider because it must >remember the shared context for each consumer. It increases the coupling >between a service provider and a consumer and makes switching service >providers more difficult. >3. Idempotent messaging. Duplicated messages received by a software agent >cause exactly the same effects as a single unique message does. This >constraint allows providers and consumers to improve the overall service >reliability by simply repeating messaging if faults are encountered. -- David Booth W3C Fellow / Hewlett-Packard Telephone: +1.617.253.1273
Received on Saturday, 23 August 2003 08:39:47 UTC