|
A SOA can be essentially defined as a collection of services which communicate with each other. The communication can involve either simple data passing or it could involve two or more services coordinating some activity.SOA depends on service-orientation as its main design-principle.
Organization for the Advancement of Structured Information Standards i.e OASIS defines SOA as the following: "A paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations."
For a better understanding of SOA we need to understand what Services are:
A service is a function that is well-defined, self-contained, and does not depend on the context or state of other services.These services do not embed any calls within there source code but they use defined protocols which describes how to pass message between them. A service thus presents a simple interface that abstracts away its underlying complexity, so that users can access these services without knowledge of the service's platform implementation.
XML's have been used extensively in SOA to structure data. Web Services Description Language (WSDL) describes the services whereas SOAP describes the communication protocol.
SOA's main aim is to bring together different functionalities to form an application by reusing existing services.But with each service brings with it some amount of processing overhead and thus we need to take this into consider before defining the services.
|