Service Oriented Architecture
Essay by review • February 16, 2011 • Research Paper • 3,748 Words (15 Pages) • 1,587 Views
Abstract
Service Oriented Architecture (SOA) has been proposed as a way to model distributed software development that surpasses the traditional Distributed
Object Architecture (DOA) practices in many areas. However, no empirical studies have been conducted toverify the claimed benefits. This study is a first attempt at presenting empirical evidence regarding the benefits of SOA. It is a comparison between traditional DOA using the EJB technology and SOA using Web Services. These two technologies were compared on the
basis of code size (LOC) and development time. The
results show that, as a whole, the subject application
was faster to develop using the SOA method. However,
the LOC developed with the SOA method was almost
twice that developed with the EJB method.
Key Words: SOA, Web Services, EJB, SOA
experimentation
1. Introduction
The traditional Distributed Object Architecture
(DOA) used in building multi-tier Web based
applications can reach its limit when highly distributed
heterogeneous systems need to interoperate. Some
modern web applications are using a new computing
model where services are treated as self-contained
modules that can be advertised, discovered, composed,
and negotiated on demand.
Service Oriented Architecture (SOA) is a model for
designing, building, and deploying distributed software
applications. It emphasizes loosely coupled design
approaches where disparate systems, with different
computing platforms, can collaborate without major
changes to their existing core architectures.
Despite wide industry and academic attention, no
evidence has been presented to substantiate the claimed
benefits of SOA. IT managers are faced with anecdotal
evidence and strong commercial campaigns. Therefore,
empirical studies are needed to evaluate the value of
SOA.
This paper reports on a first attempt to attain
empirical evidence regarding the benefits of SOA. It is
a comparison between traditional DOA using the EJB
technology and SOA using Web Services. These two
technologies were compared on the basis of code size
and development time.
The main contributions of this paper are:
• An empirical investigation SOA
• A comparison of the EJB and Web Services
technologies
• A highlight of the value of tool support in
implementing both technologies
The paper is structured as follows: section 2
provides background on Web Services and EJB
technologies, section 3 describes the experiment in
details, section 4 presents the results, section 5
discusses the results, and section 6 concludes the paper.
2. Web Services and EBJ Essentials
Service oriented architectures use several
technologies, including EJBs and Web Services.
2.1 Enterprise Java Beans
Enterprise Java Beans (EJB) [6] is a Java
implementation of distributed component architectures.
This technology deals with server-side components that
adhere to standards in order to attain high degree of
reusability. EJBs run within middleware application
servers that provide enterprise-level services such as
load balancing, and transaction management.
An EJB is a component that encapsulates certain
business logic and can be deployed to distributed
environments. For example, an authentication EJB can
handle users’ access to a company’s enterprise services.
Client applications can use prewritten EJBs by using a
standard lookup and invocation mechanism.
2.2 Web Services
Web Services [3, 4] are self-contained specialized
applications that can be accessed by other systems over
the Internet. They are modular by design and can be
integrated into other applications on the Web. Services
can be published, located, and used over the Web.
A Web Services architecture is based on three
actors: service provider, service broker and service
requester [5]. Service requesters consult with service
brokers to find the most suitable services. Then, service
requesters bind to provided services. Web Services
exchange data in XML. The textual nature of XML
ensures platform independence for Web Services.
Web Services Description Language (WSDL)
defines
...
...