Tuesday, July 05, 2005
SOA is a design philosophy
A service oriented design philosophy views an application as a collaboration of more basic core services. A Service Oriented Architecture (SOA) is an ensemble of such services.
Services are best explained as centers of value. (a’la Christopher Alexander). Paraphrasing Alexander, services are building blocks of business capability, not truly bounded entities but are in fact non-bounded centers. Here, “non-bounded” refers to their implementation. From outside its interface, a service is a black box of unknown scope and complexity.
Service interfaces are bound by a platform independent contract. Services protect information and form trust boundaries within an Enterprise Architecture.
I agree with Martin Fowler that Service Oriented design philosophy is often confused with service interface implementations (Martin Fowler)
A service is a program.
A web service is a communication tool.