Written on Thursday, June 15, 2006 by Gemini
Service Oriented Architecture: is 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.
Service: The means by which the needs of a consumer are brought together with the capabilities of a provider
Orchestration: Sequencing services and providing additional logic to process data. Does not include data representation.
Choreography: Broadly, a choreography defines how a party interacts with other external parties, for example in terms of the order of message exchange, or, the path of navigation through a service. The party, from whose perspective the choreography is viewed, may either be the client (which could be an orchestration), meaning the choreography defines the conversation with a service, or the deployed service itself, in which multiple clients may be involved.
Stateless: Not depending on any pre-existing condition. In a SOA, services should not depend on the condition of any other service. They receive all information needed to provide a response from the request. Given the statelessness of services, service consumers can sequence (orchestrate) them into numerous flows (sometimes referred to as pipelines) to perform application logic.
Provider: The function that performs a service in response to a request from a consumer.
Consumer: The function that consumes the result of a service supplied by a provider.
Directory: Service oriented architecture relies on the ability to identify services and their capabilities. Therefore, a SOA depends on a directory that describes the services available in its domain.
Binding: The relationship between a service provider and consumer is dynamic; it is established at runtime by a binding mechanism.