Service is the important concept. Services can be published, discovered and used in a technology neutral, standard form by the set of protocols of the web services.
Other than being just architecture, SOA is the policies, practices, and frameworks by which it is ensure the right services are provided and consumed.
It becomes critical to implement processes that ensure that there are at least two different and separate processes- one for provider and the other for consumer, using SOA.
The Business Service Bus is starting point for developers that guide them to a coherent set that has been assembled for their domain.
This is better than leaving developers to discover individual services and put them into context.
Some key activities that are often mentioned as being part of SOA governance are:
Managing the portfolio of services: This includes planning development of new services and updating current services.
Managing the service lifecycle: This is meant to ensure that updates of services do not disturb current services to the consumers.
Using policies to restrict behavior: Consistency of services can be ensured by having the rules applied to all the created services.
Monitoring performance of services: The consequences of service downtime or underperformance can be severe because of service composition. Therefore action can be taken instantly when a problem occurs by monitoring service performance and availability.
Service-Oriented Architecture (SOA) governance is a concept used for activities related to exercising control over services in an SOA
One of the challenges faced by SOA is managing services metadata.
Second biggest challenge is the lack of testing in SOA space.
Another challenge is providing appropriate levels of security.
Interoperability is another important aspect in the SOA implementations.
Vendor hype concerns SOA because it can create expectations that may not be fulfilled.
IT benefits of SOA are:
The ability to build composite applications is provided.
Business services are offered across the platforms.
A self-healing infrastructure that reduces management costs is created.
Location independence is provided
Provides truly real-time decision-making applications.
Reliability is enhanced
It is not necessary that Services be at a particular system or network
The approach is completely loosely coupled
Hardware acquisition costs are reduced
At every level there's Authentication and authorization support
Existing development skills are leveraged
Provides a data bridge between incompatible technologies
The search and connectivity to other services is dynamic
SOA is an IT architecture strategy for business solution (and infrastructure solution) delivery based on the concept of service-orientation.
It is a set of components which can be invoked, and whose interface descriptions can be published and discovered.
It aims at building systems that are extendible, flexible and fit with legacy systems.
It promotes the re-use of basic components called services.
SOA can help businesses respond more quickly and economically to changing market conditions.
SOA can be considered an architectural evolution. It captures many of the best practices of previous software architectures.
The goal of separating users from the service implementations is promoted by SOA.
The goals like increased interoperability, increased federation and increased business & technology domain alignment can be achieved by SOA due to its architectural and design discipline.
SOA is an architectural approach for constructing complex software-intensive systems from services.
SOA realizes its business and IT benefits through utilizing an analysis and design methodology when creating services.