Transcript Slide 1

Service-Oriented Architecture:
Concepts and Implementation
Mayur Mehta
Sam Lee
Jaymeen Shah
McCoy College of Business Administration
Texas State University-San Marcos
Outline


Introduction
Services-Oriented Architecture (SOA)





Web Services





Why SOA?
What is it?
Benefits of SOA
Implementation framework
What is it?
Role in SOA
Core Elements
SOA Implementations
Discuss Implementation of Service-oriented Application
using IBM Rational Application Developer
Introduction

Standalone applications



Islands of automation
Duplication of business logic
Business requirements

Collaborative business model (Andriole, 2006)



Integration within and across organizational boundary
Interoperability
Rapid response to changes

Create/modify business processes
We need SOA….

Automate business processes





Weave together functionalities from heterogeneous
departmental applications
Application integration
Agile business processes
Expose business-critical functionalities on
mainframes
Cost-effective alternative to tight integration of
heterogeneous applications
What is SOA?

SOA is an application architecture in which all functions, or
services, are defined using a description language and have
invokable interfaces that are called to perform part of
business processes.

An application architecture

Use open standards to represent software assets as services

Consists of a collection of services

Services are the building blocks for application development

Functions, or services, defined using a description language

Invokable interfaces perform business processes

Primary emphasis is application integration across business
processes
What is SOA? (continued)

At the heart of SOA is a collection of services


Services used as the building blocks of applications
Each component of SOA perform one or more of these roles
(IBM, 2004):



Service Provider:- publish the availability of services
Service Broker:- register and categorize published services and
provide search capabilities
Service Requester:- use service broker to find a service and use it
SOA

SOA foundation


Service Composition


Description, publication, discovery, selection, and
binding of basic services (Papazoglou &
Georgakopoulos, 2003)
Combining multiple services into a single
composite service
Service Management




Provide detailed application performance statistics
Assess application effectiveness
SLAs
Support
Benefits of SOA




Provide a standard based approach to develop/integrate
applications
A service only exposes its interfaces
Create interoperable and reusable services (Uleman,
2006)

Extend existing applications (expose legacy app as service)

Create new applications in shorter time

Reduce redundancies and effort duplication

Reduce maintenance cost

Break-down walls between developers
Services are loosely coupled
Benefits of SOA

Adaptive and cost-effective to deploy,
especially if integrating legacy apps.


Update and optimize business processes as
market conditions change
Rapid and low cost application integration
Role of Web Services in SOA



One SOA implementation approach is to
use Web-services as service components
Web-services is the preferred method of
building an SOA (IBM, 2004)
Support rapid and low-cost composition
of distributed applications (Papazoglou &
Georgakopolous, 2003)
Web Services




Well-defined, self-contained, webenabled components
Use XML and open-standards based
technologies
Platform- and language-neutral
Enable communication between
distributed components
Web Services

Simple Object Access Protocol (SOAP)


Web Services Description Language (WSDL)


Support communication between interacting Web
services
WSDL used for interface description
Universal Description, Discovery and
Integration (UDDI)

Service registration (publish) and discovery

Directory services containing WS descriptions
SOA Components
Service
registry
Service description
Service description
Service description
Service
requestor
Bind
Service
provider
Web Service
Service Request
Service
Requestor
XML/HTTP
Service
Provider
Service
Response
Anytime, Any Where, Any Device Computing
Web Services Standards (IBM 2004)
Bus. Process Execution Language
WS-Coordination
WS-Security
WS-Reliable
Messaging
Enterprise
Quality
of Service
WS-Policy
WS-Transactions
WSDL
Management
UDDI
SOAP, SOAP Attachments
XML, XML Infoset
WSIL
Description
and Discovery
Other protocols
Other services
Messaging
and Encoding
Transports (HTTP, HTTPS, JMS, SMTP, FTP, etc.)
Transport
SOA Implementations

Wachovia Bank (Margulius, 2006)

SOA is used by several financial institutions
(Sanchez, 2006)

Verizon Communications Inc.

Aloha Airlines

Hartford Insurance
Anatomy of Web Services
Step 1: Directory
Client Searches for Web Service and obtains a
link to discovery document
Step 2: Discovery
Client requests discovery document, which
contains a URL to description document.
UDDI
Step 3: Description
Client Requests a Description Document and
creates a Web service proxy
Web Service
Web Service
Proxy
Step 4: Interaction
Client interacts with Web Service via Web Service
Proxy
An example of service-oriented
application
Facade
SOAP/HTTP
Business
And
Data Access
Logic
Web Service
IIS
Exchange
Rate Web
Service
Video
Database
Implementation of Service-oriented Application
using IBM Rational Application Developer
Java Script
Java
Request
Servlets
Forward
HTML
Java Applets
Java
Response Server
Pages
Interaction
Controller
Model
Enterprise
Java Beans
Entity
Beans
Java
Beans
DB
Session
Beans
View
HTTP Server
EJB Server
An example of service-oriented
application
Video Search JSP
Application
Database
UML class diagram for
representing model components
Generating Web service using
WebSphere
This Java package
includes the Web
service proxy
bean.
Test JSP file
WSDL
document
Servlet Implementation
//get parameter
String country = request.getParameter("country");
//instantiate a web service proxy
VideoLookupProxy proxyVideo = new VideoLookupProxy();
//use a service method
Catalog cBean = proxyVideo.getVideoCatalog(country);
...
References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Alur, D., Crupi, J., and Malks, D. (2001). “Core J2EE Patterns: Best Practices and Design Strategies.” Palo Alto, California: Sun
Microsystems Press.
Andriole, S.J. (2006). “The Collaborate/Integrate Business Technology Strategy.” Communications of the ACM, Vol. 49, No. 5, pp. 85-90.
Bloomberg, J. (2005). “The SOA Pilot Pitfall.” www.zapthink.com, available at: http://www.zapthink.com/report.html?id=ZAPFLASH2005711
Brown, A.W., Delbaere, M., Eeles, P., Johnston, S., and Weaver, R. (2005). “Realizing Service-oriented Solutions with the IBM Rational
Software Development Platform.” IBM Systems Journal, Vol. 44, No. 4, pp. 727-752.
Fremantle, P., Weerawarana, S., and Khalaf, R. (2002). “Enterprise Services.” Communications of the ACM, Vol. 45, No. 10, pp. 77-82.
IBM (2004). “Service-oriented Architectures and Web Services.” IBM Developerworks Technical Presentation, Texas State University, Fall
2004.
Janssen, M., Gortmaker, J., and Wagenaar, R.W. (2006). “Web Service Orchestration in Public Administration: Challenges, Roles, and
Growth Stages.” Information Systems Management, Spring, Vol. 23, No. 2, pp. 44–55.
Joshi, P., Singh, H., and Phippen, A.D. (2004). “Web Services: Measuring Practitioner Attitude.” Internet Research, Vol. 14, No. 5, pp.
366-371.
Margulius, D.L. (2006). “Banking on SOA.” InfoWorld, July 13, Available at:
http://www.infoworld.com/article/06/07/13/29FEwachovia_1.html
Mitchell, R.L. (2006). “Morphing the Mainframe.” Computerworld, Vol. 30, No. 5, pp. 29-31.
Papazoglou, M.P. and Georgakopoulos (2003). “Services-oriented Computing.” Communications of the ACM, Vol. 46, No. 10, pp. 25-28.
Sanchez, F. (2006). “The SOA Approach to Integration and Transformation.” U. S. Banker, Vol. 116, July 2006, pp. 12-13.
Stencil (2002). “The Laws of Evolution: A Pragmatic Analysis of the Emerging Web Services Market.” The Stencil Group:
http://www.stencilgroup.com.
Takagiwa, O., Korchmar, J., Lindquist, A., and Vojtko, M. (2002). “WebSphere Studio Application Developer Programming Guide (1st
ed.).” San Jose, California: IBM Corporation, International Technical Support Organization.
Uleman, R. (2006). “Service Oriented Architecture Unveiled.” Geospatial Solutions, Vol. 16, No. 6, pp. 30-33.
Watt, E.R., Denoncourt, D., Lee, S., Stevens, R., and Cancilla, B. (2002). “Understanding e-Business Application Integration.” Double Oak,
Texas: MC Press, LLC.
W3C Web Services Architecture Group (2004). “Web Services Architecture Requirements.” Editors: Austin, D., Barbir, A., Ferris, C. and
Garg, S., Available at: http://www.w3.org/TR/2004/NOTE-wsa-reqs-20040211/
Yang, J., “Web service componentization,” Communications of the ACM, Oct. 2003, 46(10).