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).