1 / 24

Service-Oriented Architecture: Concepts and Implementation

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

cjimerson
Download Presentation

Service-Oriented Architecture: Concepts and Implementation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Service-Oriented Architecture: Concepts and Implementation Mayur Mehta Sam Lee Jaymeen Shah McCoy College of Business Administration Texas State University-San Marcos

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

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

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

  5. What is SOA? • SOA is an applicationarchitecture 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

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

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

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

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

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

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

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

  13. Service description Service description Service description SOA Components Service registry Publish Find Service provider Service requestor Bind

  14. Service Provider Web Service Service Request Service Requestor XML/HTTP Service Response Anytime, Any Where, Any Device Computing

  15. Web Services Standards (IBM 2004) Enterprise Bus. Process Execution Language Management Quality of Service WS-Security WS-Reliable Messaging WS-Coordination WS-Transactions WS-Policy Description and Discovery WSDL UDDI WSIL Messaging and Encoding SOAP, SOAP Attachments Other protocols Other services XML, XML Infoset Transport Transports (HTTP, HTTPS, JMS, SMTP, FTP, etc.)

  16. SOA Implementations • Wachovia Bank (Margulius, 2006) • SOA is used by several financial institutions (Sanchez, 2006) • Verizon Communications Inc. • Aloha Airlines • Hartford Insurance

  17. Step 1: Directory Client Searches for Web Service and obtains a link to discovery document UDDI 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 Web Service Step 4: Interaction Client interacts with Web Service via Web Service Proxy Web Service Proxy Anatomy of Web Services

  18. IIS Exchange Rate Web Service An example of service-oriented application Facade Web Service Business And Data Access Logic Video Database SOAP/HTTP

  19. Web Application Server Database Client EnterpriseJava Beans InteractionController JavaServlets HTML Java Script Request EntityBeans Model Forward DB JavaBeans JVM SessionBeans Java Applets JavaServerPages Response View (JDBC)SQLProcessing Java Enabled Web Browser HTTP Server EJB Server Implementation of Service-oriented Application using IBM Rational Application Developer

  20. An example of service-oriented application Video Search JSP

  21. UML class diagram for representing model components

  22. Generating Web service using WebSphere This Java package includes the Web service proxy bean. Test JSP file WSDL document

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

  24. References • 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).

More Related