Service-Oriented Architecture
Service-Oriented Architecture (SOA) is an architectural approach in which applications make use of services available in the network. In this architecture, services are provided to form applications, through a communication call over the internet.
SOA allows users to combine a large number of facilities from existing services to form applications.
SOA encompasses a set of design principles that structure system development and provide means for integrating components into a coherent and decentralized system.
SOA based computing packages functionalities into a set of interoperable services, which can be integrated into different software systems belonging to separate business domains.
There are two major roles within Service-oriented Architecture:
Service provider: The service provider is the maintainer of the service and the organization that makes available one or more services for others to use. To advertise services, the provider can publish them in a registry, together with a service contract that specifies the nature of the service, how to use it, the requirements for the service, and the fees charged.
Service consumer: The service consumer can locate the service metadata in the registry and develop the required client components to bind and use the service.
Components of SOA:
Guiding Principles of SOA:
Standardized service contract: Specified through one or more service description documents.
Loose coupling: Services are designed as self-contained components, maintain relationships that minimize dependencies on other services.
Abstraction: A service is completely defined by service contracts and description documents. They hide their logic, which is encapsulated within their implementation.
Reusability: Designed as components, services can be reused more effectively, thus reducing development time and the associated costs.
Autonomy: Services have control over the logic they encapsulate and, from a service consumer point of view, there is no need to know about their implementation.
Discoverability: Services are defined by description documents that constitute supplemental metadata through which they can be effectively discovered. Service discovery provides an effective means for utilizing third-party resources.
Composability: Using services as building blocks, sophisticated and complex operations can be implemented. Service orchestration and choreography provide a solid support for composing services and achieving business goals


No comments:
Post a Comment