Microsoft is Service Oriented!!: An analogy

  Ok let's think about it , Microsoft is a software company which provides a huge set of products to solve various business problems, each product is complete by itself but can also be used in conjunction with other products in a loosely coupled manner. (e.g. Biztalk Server and WCF) .

 To solve business problems we can either use a specific Microsoft product “as a whole" or can combine them with other products to provide the solution for the problem.

Now to the original definition:

“The logic required to solve a large problem can be better constructed, carried out and managed if it is decomposed into a collection of smaller related pieces. Each of these pieces address a concern or specific part of the problem".

 

Large problem

Software

 

 

 

Smaller Units

Individual Solution

Communication

WCF

Orchestration

Biztalk

Document Repository

MOSS

e-commerce

Commerce Server

UI

ASP.NET, Silverlight

Content Management

MOSS

 

The nice thing that we see here is that we provide services (in the form of products) to solve multiple business problems (like MOSS) and also provide multiple services to solve a particular scenario (like UI) also each of the products can be used in conjunction with each other in a loosely coupled way provide the "complete" solution. Each product also adheres to a set of policies or rules defined by the architecture such as which protocol to be used (TCP, HTTP), common identity framework (SSO).

 

 

Service oriented architecture (SOA) encourages individual units of logic to exist autonomously yet not isolate (loosely coupled) from each other. Units of logic are still required to conform to a set of principles that allow them to evolve independently while still maintaining a sufficient amount of commonality and standardization.