Service-Oriented Architecture (SOA) is a flexible set of design principles used during the phases of systems development and integration. A deployed SOA-based architecture will provide a loosely-integrated suite of services that can be used within multiple business domains.
SOA also generally provides a way for consumers of services, such as web-based applications, to be aware of available SOA-based services. For example, several disparate departments within a company may develop and deploy SOA services in different implementation languages; their respective clients will benefit from a well understood, well defined interface to access them. XML is commonly used for interfacing with SOA services, though this is not required.
Principles
The following Guiding Principles define the ground rules for development, maintenance, and usage of the SOA
•
Reuse, granularity, modularity, composability, componentization and interoperability.
•
Standards-compliance (both common and industry-specific).
•
Services identification and categorization, provisioning and delivery, and monitoring and tracking.
The followingspecific architectural principles for design and service definition focus on specific themes that influence the intrinsic behaviour of a system and the style of its design:
•
Service Encapsulation – Many services are consolidated for use under the SOA. Often such services were not planned to be under SOA.
•
Service Loose coupling – Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other.
•
Service Contract – Services adhere to a communications agreement, as defined collectively by one or more service-description documents.
•
Service Abstraction – Beyond descriptions in the service contract, services hide logic from the outside world.
•
Service Reusability – Logic is divided into services with the intention of promoting reuse.
•
Service Composability – Collections of services can be coordinated and assembled to form composite services.
•
Service Autonomy – Services have control over the logic they encapsulate.
•
Service Optimization – All else equal, high-quality services are generally preferable to low-quality ones.
•
Service Discoverability – Services are designed to be outwardly descriptive so that they can be found and assessed via available discovery mechanisms.
•
Service Relevance – Functionality is presented at a granularity recognized by the user as a meaningful service.
Benefits
Some enterprise architects believe that SOA can help businesses respond more quickly and cost-effectively to changing market-conditions. This style of architecture promotes reuse at the macro (service) level rather than micro (classes) level. It can also simplify interconnection to – and usage of – existing IT (legacy) assets.
In some respects, one can regard SOA as an architectural evolution rather than as a revolution. It captures many of the best practices of previous software architectures. In communications systems, for example, little development has taken place of solutions that use truly static bindings to talk to other equipment in the network. By formally embracing a SOA approach, such systems can position themselves to stress the importance of well-defined, highly inter-operable interfaces
If you like to discuss how Fixity Technologies can help you with your next project,
please contact our Sr Business Development Manager Mr Kumar on Phone +91-87544 39555 / +91-44-43300581 / 43582573 / +91-44-43546947