Approach to Testing SOA
Last Updated: 7th May, 2007
© 2007 AppLabs
Service Oriented Architecture
Service Oriented Architecture (SOA) makes software quality
both more important and more difficult to achieve. But
traditional approaches to software testing are insufficient
in an SOA environment. IT organisations pursuing SOA
find that they must rethink their testing methods and revise
testing roles and responsibilities.
This White Paper aims to identify the risks and challenges
organisations face and highlights an approach to taking
What is SOA?
SOA is “an architectural style whose goal is to achieve loose
coupling among interacting software agents/services ”. A
service is a unit of work performed by a service provider
to achieve desired end results for a service consumer.
Both provider and consumer are roles layered by software
agents on behalf of their owners. SOA is a new paradigm
that supports modularised implementation of services
(business logic). This architecture is particularly applicable
when multiple applications running on varied technologies
and platforms have to communicate with each other. The
figure below shows the basic components of SOA:
The components of SOA include:
Service providers: A service provider is a component or
set of components that execute a business function in
a stateless fashion, accepting predefined inputs and
Service consumers: A service consumer is a set of
components interested in using one or more of the services
provided by service providers.
Service repository: A service repository contains the
descriptions of the services. Service providers register their
services in this repository and service consumers access
the repository to discover the services being provided.
Web Services, Business Process Expression Language
(BPEL) and Enterprise Service Bus (ESB) enable the
implementation of SOA in a novel way. Emergence of the
web and the