1 / 39

Service-Oriented Architecture

Mark Thompson. Service-Oriented Architecture. Software systems are growing more complex Many methodologies will reach their limit Developers need a simple and flexible way to develop applications Service-Oriented Architecture is such a way. Abstract. Introduction

nida
Télécharger la présentation

Service-Oriented Architecture

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. Mark Thompson Service-Oriented Architecture

  2. Software systems are growing more complex Many methodologies will reach their limit Developers need a simple and flexible way to develop applications Service-Oriented Architecture is such a way Abstract

  3. Introduction Common Development Problems Terminology Service-Oriented Architecture Comparison with CBSE Advantages/Disadvantages Companies using SOA Conclusion Outline

  4. Software systems are changing • New technologies • New functionality • Telephone switches (100M LOC), OSes (1000s devs) • New software development methods • New tools • New processes • New architectures Introduction

  5. Space Invaders (1981) Atari 2600 Introduction

  6. Crysis(2007) PC Introduction

  7. Complexity Redundant and non-reusable code Multiplicities of Interfaces Common development Problems

  8. Big expectations • Competition • New technology/hardware • Need to keep things as simple as possible • Group code together • Reuse code Complexity

  9. Code written in different languages • Different applications with same functions • Need to make code as reusable as possible • For all software, not each individual app • Setup common interface for all languages Redundant and Non-Reusable Code

  10. “Integration problem” n(n-1) interfaces needed to integrate n apps 2(n) new interfaces to add an app Ex: 4 apps need 12 interfaces Multiplicities of Interfaces

  11. Service Governance Orchestration Terminology

  12. A single repeatable task • Three main parts: • Service implementation: code that performs the task • Elementary access details: the address of the service and the protocol to access it • Contract: description of the task, the interface, and a Quality of Service (QoS) Service

  13. Interface • Describes the exchanged data • The format of the data • How the service interacts • Does it report back when finished? • Does it report back after a certain amount of time? • Does it ever report back? • QoS: detailed description of interaction rules • Ex: authorization Service (cont.)

  14. The way corporations govern themselves Set of principles and practices Helps achieve corporation’s goal Sets up a chain of responsibility Governance

  15. Optimal to start at the beginning Controls updates to processes and technologies Helps keeps services consistent and interoperable Most successful when employees, customers, suppliers, and partners all participate Governance (cont.)

  16. Combining services to make an app Best case scenario: little else is needed Orchestration

  17. Video http://www.infoworld.com/d/architecture/infoclipz-service-oriented-architecture-soa-899 Service-Oriented Architecture

  18. Service-Oriented Architecture

  19. Overview SOA Principles XML Service-Oriented Architecture

  20. “[SOA is] an evolutionary approach to building information technology systems that is focused on solving business problems” [1] “[SOA] is a way of organizing software so that companies can respond quickly to the changing requirements of the marketplace” [6] Overview

  21. Create a collection of services • Each service is a small, independent project • Can be new or extracted from existing apps • Orchestrate services to develop applications Overview (cont.)

  22. Standardized Service Contracts Loose Coupling Service Abstraction Service Reusability Service Autonomy Service Statelessness Service Discoverability Service Composability SOA Principles

  23. Contracts designed to specification Consider optimization and granularity Make services consistent, reliable, and governable Allow for different languages, OSes Standardized Service Contracts

  24. Each service should be standalone One service can use another, but only through the standard interface Allows interchanging a new service for old Allows internal changes to a service Loose Coupling

  25. Hides the low level details Easier to understand a service Easier to use a service Promotes loose coupling Service Abstraction

  26. Develop services with reuse in mind Shortens application development time Less testing required Easier to maintain Service Reusability

  27. Some control over environment and resources Otherwise, may not be able to complete task Increases the reliability and predictability May require a level of isolation Service Autonomy

  28. Remain as stateless as possible • Affects a services availability and scalability • May be necessary to maintain a state • May be repeatedly called to complete a task • May need to maintain a “conversation” • May offset state managing responsibilities Service Statelessness

  29. Prevents rewriting services • Promotes reuse of services • One way is to have a service registry • Contains all of the services • Contains the service contracts • Private or public Service Discoverability

  30. Describes how services work together • Also known as orchestration • Break large problem into smaller tasks • Services can complete the smaller tasks • If they can’t work together, they need to be modified Service Composability

  31. Common way to interface, but not required Convenient way to have self-describing data Is a string of text with “tags” to describe data Ex: Sample XML XML

  32. Both use “building blocks” • CBSE more strict, SOA is more flexible • CBSE has models such as DCOM, CORBA, EJB • SOA has no requirement for internal structure • Both have loose coupling • CBSE has it, but SOA is even “looser” • SOA is platform-independent, language-independent • SOA is networked-based Comparison With CBSE

  33. Quicker development times Simplified development Reduced redundancy, increased reuse Reduced testing times More flexible and agile Easier maintenance Advantages

  34. No guarantee for advantages • More time spent on architecture • Need to develop many services • Writing from scratch or extracting can take time • Managing communications between services and debugging them is very complex • Possible security problems • Performance issues Disadvantages

  35. Ebay • Over 2 petabytes of data • Over 6 million lines of code • Credits SOA for interoperability between C++ and Java • IBM • Has over 70 services • Reduced application inventory from 16,000 to 4,000 Companies Using SOA (as of 2006)

  36. Hewlett-Packard • $70 million in savings • Credits SOA for consolidation and reuse • Saw $1 million in immediate savings • Amazon • Over 60 million customers and 1 million partners • Outgrew their old architecture • Other well known companies include: Wachovia Bank, Harley Davidson, AmeripriseFinancial, Citigroup, OnStar, and DreamWorks animation Companies Using SOA (cont.)

  37. Services reduce the amount of redundancy Using services make the development process quicker and more agile SOA prepares a corporation for the future Conclusion

  38. [1] Carter, S. (2007). The New Language of Business. Indianapolis: IBM Press. [2] Channabasavaiah, K., & Holley, K., & Tuggle, E. (2003, December 16). Migrating to a Service-Oriented Architecture. Retrieved February 17, 2010, from IBM website: http://www.ibm.com/developerworks/library/ws-migratesoa/ [3] Erl, T. (n.d.). SOA Principles: An Introduction to the Service-Oriented Paradigm. Retrieved February 17, 2010, from SOA Principles website: http://www.soaprinciples.com/ [4] Kanagwa, Benjamin, and Ezra K. Mugisa. "A Comparison of Service Oriented Architecture with Other Advances in Software Architectures." Web. 25 Apr. 2010. <http://cit.mak.ac.ug/iccir/downloads/SREC_07/Benjamin%20Kanagwa%20and%20Ezra%20K.%20Mugisa_07.pdf>. [5] Lawler, J., & Howell-Barber, H. (2008). Service-Oriented Architecture. Boca Raton: Auerbach Publications. [6] Margolis, B. (2007). SOA for the Business Developer: Concepts, Bpel, and Sca. City: MC Press. [7] McKendrick, J. (2006, December 17). Ten Companies Where SOA Made a Difference in 2006. Retrieved March 15, 2010, from ZDNet website: http://blogs.zdnet.com/service-oriented/?p=781 References

  39. Questions?

More Related