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)     Why SOA? What is it?

Benefits of SOA Implementation framework Web Services    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 services, are defined using a description language and have invokable application architecture interfaces in which all functions, or 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  Description, publication, discovery, selection, and binding of basic services (Papazoglou & Georgakopoulos, 2003) Service Composition  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, web enabled components  Use XML and open-standards based technologies  Platform- and language-neutral  Enable communication between distributed components

Web Services

 Simple Object Access Protocol (SOAP)  Support communication between interacting Web services  Web Services Description Language (WSDL)  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 Requestor Service Request XML/HTTP Service Provider

Service Response Anytime, Any Where, Any Device Computing

Web Services Standards (IBM 2004)

Bus. Process Execution Language WS-Coordination WS-Transactions WS-Security Management WS-Reliable Messaging WS-Policy Enterprise Quality of Service WSDL UDDI SOAP, SOAP Attachments XML, XML Infoset WSIL Other protocols Other services Transports (HTTP, HTTPS, JMS, SMTP, FTP, etc.) Description and Discovery Messaging and Encoding 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

Web Service Proxy 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.

Step 3: Description Client Requests a Description Document and creates a Web service proxy Step 4: Interaction Client interacts with Web Service via Web Service Proxy UDDI Web Service

An example of service-oriented application

SOAP/HTTP Web Service Business And Data Access Logic Video Database

IIS

Exchange Rate Web Service

Implementation of Service-oriented Application using IBM Rational Application Developer Request

Java Servlets

Interaction Controller Model

Java Beans

Response

Java Server Pages

View

HTTP Server Enterprise Java Beans Entity Beans Session Beans EJB Server DB

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=ZAPFLASH 2005711 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).