Search This Blog

Monday, March 17, 2008

Service Oriented Architecture

A service-oriented architecture (SOA) is the underlying structure supporting communications between services. In this context, a service is defined as a unit of work to be performed on behalf of some computing entity, such as a human user or another program. SOA defines how two computing entities, such as programs, interact in such a way as to enable one entity to perform a unit of work on behalf of another entity. Service interactions are defined using a description language. Each interaction is self-contained and loosely coupled, so that each interaction is independent of any other interaction.

Simple Object Access Protocol (SOAP)-based Web services are becoming the most common implementation of SOA. However, there are non-Web services implementations of SOA that provide similar benefits. The protocol independence of SOA means that different consumers can communicate with the service in different ways. Ideally, there should be a management layer between the providers and consumers to ensure complete flexibility regarding implementation protocols.

Whether you realize it or not, you've probably relied upon SOA, perhaps when you made a purchase online. Let's use Land's End as an example. You look at their catalog and choose a number of items. You specify your order through one service, which communicates with an inventory service to find out if the items you've requested are available in the sizes and colors that you want. Your order and shipping details are submitted to another service which calculates your total, tells you when your order should arrive and furnishes a tracking number that, through another service, will allow you to keep track of your order's status and location en route to your door. The entire process, from the initial order to its delivery, is managed by communications between the Web services -- programs talking to other programs, all made possible by the underlying framework that SOA provides.
___________________________________________________________________

Abbreviated SOA, an application architecture in which all functions, or services, are defined using a description language and have invokable interfaces that are called to perform business processes. Each interaction is independent of each and every other interaction and the interconnect protocols of the communicating devices (i.e., the infrastructure components that determine the communication system do not affect the interfaces). Because interfaces are platform-independent, a client from any device using any operating system in any language can use the service.

XML Though built on similar principles, SOA is not the same as Web services, which indicates a collection of technologies, such as SOAP and XML. SOA is more than a set of technologies and runs independent of any specific technologies.

____________________________________________________________________

A service-oriented architecture is essentially a collection of services. These services communicate with each other. The communication can involve either simple data passing or it could involve two or more services coordinating some activity. Some means of connecting services to each other is needed. The combination of services - internal and external to an organization - makes up a service-oriented architecture.

If a service-oriented architecture is to be effective, we need a clear understanding of the term service. A service is a function that is well-defined, self-contained, and does not depend on the context or state of other services. Services are what you connect together using Web Services. A service is the endpoint of a connection. Also, a service has some type of underlying computer system that supports the connection offered.

The technology of Web Services is the most likely connection technology of service-oriented architectures. Web services essentially use XML to create a robust connection.

______________________________________________________________

http://15seconds.com/issue/031215.htm

http://www.c-sharpcorner.com/UploadFile/john_charles/
Service_Oriented_Architecture_and_Microsoft_NET01202006080616AM/
Service_Oriented_Architecture_and_Microsoft_NET.aspx

http://msdn2.microsoft.com/en-us/architecture/aa948857.aspx

http://www.devshed.com/c/a/Web-Services/Introduction-to-Service-Oriented-Architecture-SOA/