RCG INFORMATION TECHNOLOGY
Service Oriented Architecture
Service Oriented Architecture
This paper focuses on Service Oriented Architecture (SOA) and its relationship with Web services.
The term architecture is used so much today that its meaning has been confused with design, frameworks,
process models and the like. Architecture is the specification of an overall structure, its logical components
and the relationships between those components. Architecture can describe a network, computer hardware,
a wireless system, a custom application, etc., and provides the guidance necessary to create, extend and
maintain the system and its subsystems. For today’s discussion, the focus will be on software architecture,
As applications continue to evolve to match the changing environmental and business needs of an
organization, so too must the software architecture. Software architecture was fairly straight-forward in the
confines of the mainframe. It wasn’t until the advent of distributed computing that formerly closed systems
had to be re-designed with accessibility and modularity in mind.
The simplest of the distributed architectures was client/server: a simple two-tier model which consists of a
client application communicating with a database server on the backend. The next generation of
client/server was the n-tier architecture. The n-tier architecture evolved out of the need to share business
rules among applications and to enhance scalability. With the advent of the web and its web servers,
application servers, and stateless nature, the distributed architecture reached its most complex level of
functionality. It is this level of complexity and the need to share information among these systems that has
lead to the creation of the Service Oriented Architecture. For the record, SOA is not a new concept. It was
used with DCOM (distributed COM) and Object Request Brokers (ORBs) using CORBA. It is the advent of
open standards such as Web services that has made the promise of true SOA a reality.
So what is SOA? It is a collection of services that communicate with each other. The services are self-
contained and do not depend on the context or state of the other service. They also do not work within the
same processing environment, but rather within a distributed systems architecture having the following
1. It is network oriented.
2. The service is formally defined in terms of message exchange patterns.
3. The service tends to use a small number of public methods with complex messages.
4. The logical view is defined in terms of business-level operations.
5. The service is described by machine-readable meta data with only the major details exposed in the
6. The messages are sent in a platform-neutral, standardized format.
A simple example is that of a web site that employs a credit card verification process from another
company. The web application does not control the verification process. It only consumes the service,
thereby eliminating the need for the service to be created in the web application. By expanding on this
theme, a full SOA can be developed by creating a framework of consumable services.
The benefits of the SOA are numerous. Complex systems can share simple interfaces with other systems,
and business can look at its overall enterprise as a collection of services to be exploited, reused, and shared
Copyright 2003 RCG Information Technology -1-
inside and outside of the business. Where objects used to be the flavor of the day, now services are the
The heart of SOA is also what makes it a very breakable architecture. Since services by their very nature are
self-contained, they are susceptible to service outages, latency, and security issues. Many of these issues are
being tackled through Web services committees such as W3C, OASIS and WebServices.org. These
organizations are defining how Web services should be managed, secured and how they should interoperate.
This brings us to the relationship of Web services to SOA.
Web services is the vehicle through which an SOA is implemented. Web services are the open standards and
protocols that ensure interoperability between systems. They are most appropriate for accessing components
that run on different platforms. Web services also provide for a loosely coupled interface which eliminates
the simultaneous updates of both requesters and providers. This eliminates the biggest drawback of point-to-
point solutions. Web services technologies provide the framework to build a very robust SOA.
The Web services framework consists of a machine processable interface described in Web services
Description Language (WSDL). It communicates via SOAP messages over HTTP with an XML
serialization. Other standards are also being developed for security, orchestration, reliability etc. These open
standards make up the building blocks of defining an SOA.
In summary, a Service Oriented Architecture, created using Web services, is the next generation of
distributed computing. As Web services continue to mature, companies will be able to model their systems
closer to the needs of the business. The ability to consume services has the potential to redefine how
systems are created, managed, and sold. Many of the design tools coming to market have SOA and Web
services built-in to provide increased productivity. The future continues to be bright for SOA and Web
About the Author
Robert Wegener is the director of solutions for RCG Information Technology's Web services. He has more
than 20 years of information and business engineering experience in operations, customer service,
transportation, finance, product development, telecommunications and information systems. Wegener also
has extensive experience in various process and development methodologies, quality assurance and testing
methodologies. He can be contacted by e-mail at email@example.com.