Service-Oriented Architecture: Concepts and Implementation: January 2006
Service-Oriented Architecture: Concepts and Implementation: January 2006
net/publication/237776180
CITATIONS READS
8 2,538
3 authors, including:
Jaymeen R. Shah
Texas State University
27 PUBLICATIONS 295 CITATIONS
SEE PROFILE
All content following this page was uploaded by Jaymeen R. Shah on 25 March 2016.
Service-Oriented Architecture:
Concepts and Implementation
Mayur R. Mehta
[email protected]
Sam Lee
[email protected]
Jaymeen R. Shah
[email protected]
Department of CIS & QMST
Texas State University–San Marcos
San Marcos, Texas 78666, USA
Abstract
usually require the use of functionalities that plication. Finally, Section 7 contains con-
are embedded within standalone applications cluding comments as part of the Discussion
that may have been developed during differ- section.
ent time periods using different technolo-
gies, it has become necessary to integrate 2. Application Development Models
these existing standalone applications. In-
tegration of these applications must be such Application development models have
that, if necessary, it should allow the organi- evolved over the last few decades. Most of
zation to quickly adapt business processes in these changes in the application develop-
response to regulatory and/or environmental ment models are a result of the technologi-
changes, and also create new business proc- cal evolutions that preceded them. For ex-
esses by assembling existing business logic ample, emergence of the personal com-
that may exist in different applications. The puters made it possible to develop cli-
need of these capabilities precludes the use ent/server applications. The major applica-
of point-to-point tight integration between tion development models include the mono-
applications that are usually difficult and lithic host-centric model, client/server
time consuming to manage and adapt. Fur- model, n-tiered model, and service-oriented
ther, the complexity and cost of managing model.
point-to-point tight integrations tend to in- Monolithic host-centric model was dominant
crease significantly as the number of appli- during the 1960s and 1970s. In this ap-
cations that are integrated increase. The proach, monolithic applications were devel-
use of service-oriented architecture (SOA) oped using programming languages such as
will enable an organization to use standards- COBOL and FORTRAN. These applications
based, vendor agnostic approach to easily were developed mainly to run on mini- and
and cost-effectively integrate existing dispa- mainframe computing platforms. All of the
rate standalone applications (Sanchez, application processing was performed on the
2006). It will make it easier to integrate host computer. Mainframe-based monolithic
existing applications with new business func- applications are still being used in banking,
tionalities that are implemented as services, airline, insurance, telecomm, and other in-
and also enhance the ability to integrate in- dustries as these applications support critical
ternal applications with business partners’ business processes. Although overall cost of
applications. Successful integration of inter- mainframe applications is usually high,
nal business applications and their integra- mainframe based applications’ strengths in-
tion with business partners’ application will clude high availability and scalability. Thus,
enable organizations to use collaborative they are used in high-volume transaction
business models. Technology integration processing environments.
and use of collaborative business models are
considered to be important strategic busi- Availability of PCs and networks led to the
ness technology investments in today’s development of the client/server or 2-tiered
global and competitive business environment application development model. One of the
(Andriole, 2006). major driving forces for the popularity of this
model was the enhanced graphical user in-
In the following Section we present an over- terface that was made possible by the use of
view of application development models. PCs as clients. In an application designed
Then in Section 3, we discuss SOA and the using this model, the database is usually
importance of SOA in the current business deployed on an organizational server and
environment. In Section 4, an overview of the presentation is performed on client PCs.
Web services is presented along with discus- The rest of the application consisting mainly
sion regarding its role in SOA. An example of of the application logic can be split between
successful SOA implementation is briefly dis- the server and client PC in many different
cussed in Section 5. In Section 6 we discuss configurations. In a ‘fat’ client environment
the use of IBM WebSphere Studio Applica- a large portion of the application logic is
tion Developer (the new version of this soft- executed on the client PC, while in a ‘thin’
ware is offered under the Rational badge as client environment most or all of the applica-
Rational Application Developer) for imple- tion logic resides on the server (Watt et al.,
mentation of web-services which is an im- 2002).
portant component of a service-oriented ap-
2
Mehta, Lee, and Shah Fri, Nov 3, 12:00 - 12:25, Normandy A
The client/server (2-tiered) model was ex- plex, and collaborative business processes
tended to three-tiered model consisting of that may span within and/or across organ-
three distinct application components, izational boundaries using existing hetero-
namely, presentation, business logic, and geneous application assets and new applica-
data. These three components could reside tions. It provides a cost-effective and effi-
on three different platforms. With the emer- cient alternative to tight integration of het-
gence of the Internet in the 1990s, the erogeneous applications to support organiza-
three-tiered model evolved into the n-tiered tional business processes (Janssen, et al.,
architecture used in distributed Web-enabled 2006). SOA has been effectively used by
applications. Applications developed using organizations to transform complicated het-
this approach provide more-agile software erogeneous information system infrastruc-
architecture, and are easier and cost- ture into seamless, streamlined, easy to
effective to maintain compared to main- maintain infrastructure, thus helping organi-
frame based applications (Mitchell, 2006). zations in controlling their integration costs
Many of the software development projects (Sanchez, 2006).
today use this software development model
An SOA is an enterprise architecture that
to develop Web-enabled distributed applica-
supports organizational business processes
tions.
via the use of solutions conceived from the
composition of distributed services, where a
3. Service-oriented architecture (SOA)
service is a well-defined, repeatable busi-
In today’s competitive business environ- ness task that can be performed by an appli-
ment, ability to quickly adapt automated cation (Uleman, 2006). A service is usually
business processes in response to external implemented as a coarse-grained software
and/or internal changes is a must. Many unit that exists as a single instance, and in-
business applications that exist today in teracts with other services and/or applica-
large organizations were developed within tions by using a loosely coupled, message
departmental boundaries and had functional based communication model (Brown et al.,
instead of business-process focus. Such 2005).
functional focus based application develop-
SOA paradigm presents an approach in
ment resulted in existence of heterogeneous
which modular, accessible, self-describing,
stovepipe applications that have interopera-
implementation-independent, interoperable,
bility issues. To automate business proc-
and reusable components are published as
esses, functionalities embedded within these
services which can be remotely invoked and
heterogeneous stovepipe departmental ap-
consumed by other applications or combined
plications have to be weaved together. In
with other services (Fremantle et al., 2002;
the past, this was usually achieved by tightly
Stencil, 2002). Thus at the heart of SOA is a
integrating these applications using point-to-
collection of services that communicate with
point solutions. Such integration is accept-
each other, and these services are used as
able as long as the business processes are
building blocks of applications. SOA pro-
stable and integration of additional applica-
vides an approach for how to describe and
tions is required rarely.
organize services to support their discovery
In today’s business environment, business and use. Each component in a SOA may per-
processes are more likely to be dynamic and form one or more of the following three roles
collaborative, making it necessary to adapt that are essential for services to be discov-
business processes more often, and inte- ered and used: (1) service provider – pub-
grate processes across organizational lish the availability of services, (2) service
boundaries with business partners. Further, broker – register and categorize published
organizations also need to expose the busi- services and provide search capabilities, and
ness-critical functionalities embedded within (3) service requester – use service broker to
the millions of lines of mainframe code de- find a service and use it to build an applica-
veloped over the past four decades (Mitchell, tion (IBM, 2004).
2006), and integrate these functionalities
Few of the characteristics that are associ-
with new business applications being devel-
ated with SOA include the following: (1) use
oped using current technologies. Service-
of open standards based technologies, (2)
oriented architecture can enable organiza-
the basic building blocks are coarse-grained
tions to develop and support dynamic, com-
3
Mehta, Lee, and Shah Fri, Nov 3, 12:00 - 12:25, Normandy A
services that can be published and are dis- The Web services framework at the mini-
coverable, (3) services are loosely coupled mum consists of a collection of three stan-
with other services to implement solutions to dards - standard to support communication
satisfy business needs, (4) reuse of existing between interacting services, standard to
software assets, and (5) higher level of ab- describe services, and standard to publish
straction in design (Uleman, 2006). Loose and discover services. The three main stan-
coupling between services make solutions dards that enable implementation of Web
developed using this approach to be more services are the Simple Object Access Proto-
flexible and scalable compared to those de- col (SOAP), Web Services Description Lan-
veloped using tight coupling between soft- guage (WSDL), and Universal Description,
ware components. This allows IT to react Discovery, and Integration (UDDI). These
quickly to the changes in business require- three standards are briefly discussed below:
ments, which enhances an organization’s
• SOAP is an XML-based protocol to sup-
ability to compete effectively and efficiently.
port communication between a Web service,
Also, the higher level of abstraction used in
its clients, and UDDI registry. It facilitates
this approach ensures that the focus is on
communication between Web services and
the business tasks that constitute various
interacting application components across
business processes.
heterogeneous platforms without requiring
Finally, one of the distinctive features of SOA the use of custom binaries or other platform-
is the concept of top-down policy based ap- specific information (Fremantle et al., 2002;
proach of governance throughout the lifecy- Joshi et al., 2004). It provides a mechanism
cle of services at the enterprise level. This is to invoke a Web service.
necessary to effectively manage services
• WSDL is an XML-based standardized
within the enterprise in terms of functional-
interface definition language used to de-
ity, interoperability, quality (service levels),
scribe what a Web service can do, where it
security, regulatory compliance, reusability,
resides, and how it can be invoked. A WSDL
maintainability, retirement, etc. Use of such
file associated with a Web service contains
governance structure allows IT to enforce
important details about the Web-service in-
uniform standards across the organization to
terface for client-service interaction. WSDL
introduce new services, and maintain and
is used to provide definition of a Web service
retire existing services. This governance
and interface specification for it.
structure permits creation of a library that
lists available services, and will prevent • UDDI standard is used to publish, dis-
creation of redundant services and improve cover, and manage Web services in an UDDI
reuse of services. registry. UDDI registry is like Yellow Pages
that list available Web services that can be
4. Web Services discovered by an application. Creation of a
registry that contains available services al-
W3C Web Services Architecture Group de-
lows service consumers to discover and in-
fines a Web service as a software system
voke Web services that are published within
identified by a universal resource identifier
the UDDI registry.
(URI), whose public interfaces and bindings
are defined and described using XML. Its As shown in Figure 1, a service provider can
definition can be discovered by other soft- publish a Web service and register it in a
ware systems. These systems may then service registry. A Web services requestor,
interact with the Web service in a manner which can be an application running on any
prescribed by its definition, using XML based type of computing platform, can discover a
messages conveyed by Internet protocols Web service that has been published in the
(W3C Web Services Architecture Group, service registry. After discovering the Web
2004). Although it is possible to implement service, the client interacts with it by send-
SOA without the use of Web services, Web ing and receiving SOAP messages. Each
services have been suggested to be the pre- Web service entry published in the service
ferred approach to implementing SOA as its registry points to a WSDL file that contains
use significantly simplifies loose coupling information for invoking and binding a Web
between business components (Bloomberg, service.
2005; IBM, 2004).
4
Mehta, Lee, and Shah Fri, Nov 3, 12:00 - 12:25, Normandy A
6. Implementation of service-oriented
application using IBM WebSphere
Service
registry Studio Application Developer
Find Publish To demonstrate the process of building a
Service description
Service description
service-oriented application, we will demon-
strate development of a simple inventory
Service Service search application. The application will be
requestor provider
Bind designed and implemented using the Model-
View-Controller (MVC) solution framework
(see Figure 2). The MVC enforces the sepa-
Figure 1 - Web Services Framework ration of presentation logic and business
logic, and has been suggested as the blue-
print that application developers should use
to design and implement Web solutions (Ta-
5. Example of successful SOA imple- kagiwa et al., 2002). The entire application
mentation will be developed using IBM WebSphere Ap-
plication developer Studio (WSAD) version
While many companies have benefited from
5.1.2. For the database environment, we
the use of SOA, Wachovia’s implementation
will use an Oracle 9i database server.
is perhaps one of the best illustrations of a
successful SOA implementation. SOA has
Client
been deployed by many financial institutions Web Application Server Database
Java Script
Controller
infrastructures into streamlined and easy to Reques Servlet
maintain technology infrastructure (Sanchez, s
Forward
2006). Wachovia Bank’s Corporate and In- HTML Web Java
JVM DB
vestment Banking division spent multi- Service
(Facade)
Bean
s
hundred million dollars to revamp its exist-
Applets
Java
Java
5
Mehta, Lee, and Shah Fri, Nov 3, 12:00 - 12:25, Normandy A
graphical view may render a product with a Web service client project using the
list that shows the quantity and location of facade.
inventories, with a “remove” button next to
• Develop the JSP page and Servlet in
each inventory. Views are rendered by a
the Web service client project.
Web browser using HTML, which in J2EE
Inventory Search JSP
space is typically produced by Java Server
pages (JSPs).
A controller component controls the applica-
tion flow. It accepts input from the user,
interprets the input, and invokes the appro-
priate operation in the model in response to
the input. For example, when the controller
receives a request from the “remove” button
of an item, it invokes the remove operation
for that item to remove it from inventory.
The controller then forwards the JSP view
that displays the updated product without
the item removed from inventory. In J2EE
space, the controller is normally imple- Figure 3 – Inventory Search Application
mented as a Java Servlet.
6
Mehta, Lee, and Shah Fri, Nov 3, 12:00 - 12:25, Normandy A
7
Mehta, Lee, and Shah Fri, Nov 3, 12:00 - 12:25, Normandy A
facade bean using the proxy, and calls the it from a vendor, and you can’t build it with
findProductByID method of the facade by programming code. Architecture is a set of
the product ID (see the Figure 6). Third, if a best practices that guide your implementa-
product Java Bean were found to contain a tions, regardless of the technologies you
list of Inventory Java Beans, the controller choose to implement them” (Bloomberg,
2005).
//get parameters
int productID = new Integer( Many organizations have begun implementa-
req.getParameter("productID")).intValue(); tion of SOA and have reaped significant
int qty = new Inte-
ger(req.getParameter("qty")).intValue(); benefits. Implementation of SOA may re-
quire organizations to invest significant dol-
//instantiate a web service proxy
ProductAccessProxy proxy = new ProductAccessProxy(); lar amount, as indicated in Wachovia Bank’s
ProductAccess access = proxy.getProductAccess(); example (Margulius, 2006), and most likely
//find a product will also necessitate a change in the organ-
Product product = access.findProductByID(productID); izational IT culture and practices (Brown et
... al., 2005).
8
Mehta, Lee, and Shah Fri, Nov 3, 12:00 - 12:25, Normandy A
9
View publication stats