Service-oriented architecture interview questions
Service-oriented architecture - posted on August 27, 2008 at 17:10 pm
by Amit Satpute
What is Service-Oriented Architecture?
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.
Why SOA?
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.
Challenges faced in SOA adoption
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.
What is SOA governance? What are its functions?
Service-Oriented Architecture (SOA) governance is a concept used for activities
related to exercising control over services in an SOA
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.
Business Benefits of Service-Oriented Architecture
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.
IT Benefits of Service-Oriented Architecture
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
|