Microsoft’s documents on SOA and the Grid fascination with modelling state

I just found the “Application Conceptual View” collection of documents on the Microsoft site. I think that everyone in the Grid community should read the introduction. Here’s how a service is described:

“Software services are discrete units of application logic that expose message-based interfaces suitable for access across a network. Typically, services provide both the business logic and the state management relevant to the problem they are designed to solve. When designing services, the goal is to effectively encapsulate the logic and data associated with real-world processes, making intelligent choices about what to include and what to implement as separate services.

State manipulation is governed by business rules. Business rules are relatively stable algorithms, such as the method in which an invoice is totaled from an item list, and are typically implemented as application logic.

Services are governed by policy. Policies are less static than business rules and may be regional or customer-specific. Policies are typically driven from lookup tables at run time.”

And here how a service is defined:

“Services are network-capable units of software that implement logic, manage state, communicate via messages, and are governed by policy.”

I emphasise the “manage state” bit. For more than 2 years, the GGF has been trying to model how state is managed in a service-oriented world. The discussion and the community’s efforts resulted to OGSI, which was eventually replaced by WS-RF, as the way to model and manage state.

In London on Friday my boss, Prof. Paul Watson, gave an excellent talk on the use of Web Services technologies for building Grid applications and presented our worries about the possibility of an early adoption of WS-RF as the infrastructure of choice for the UK’s Grid efforts. Many of the UK’s leading people and the policy makers were at the meeting (“Town Meeting April 04: Grids and Web Services”). Paul talked about our views on the differences of the conceptual models (resource/object-oriented vs service-oriented). His presentation was excellent (I know he’s going to read this post but that’s not the reason I am saying how good he was :-) and we got very good feedback from the meeting participants. I think that people are now realising what we’ve been saying since last August: we do not need new infrastructure to build Grid applications.