service-oriented architecture

39
SERVICE-ORIENTED ARCHITECTURE Mark Thompson

Upload: nida

Post on 20-Jan-2016

61 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Service-Oriented Architecture

SERVICE-ORIENTED ARCHITECTUREMark Thompson

Page 2: Service-Oriented Architecture

ABSTRACT

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

Page 3: Service-Oriented Architecture

OUTLINE

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

Page 4: Service-Oriented Architecture

INTRODUCTION

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

Page 5: Service-Oriented Architecture

INTRODUCTION

Space Invaders (1981) Atari 2600

Page 6: Service-Oriented Architecture

INTRODUCTION

Crysis (2007) PC

Page 7: Service-Oriented Architecture

COMMON DEVELOPMENT PROBLEMS

Complexity Redundant and non-reusable code Multiplicities of Interfaces

Page 8: Service-Oriented Architecture

COMPLEXITY

Big expectations Competition New technology/hardware Need to keep things as simple as possible

Group code together Reuse code

Page 9: Service-Oriented Architecture

REDUNDANT AND NON-REUSABLE CODE 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

Page 10: Service-Oriented Architecture

MULTIPLICITIES OF INTERFACES

“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

Page 11: Service-Oriented Architecture

TERMINOLOGY

Service Governance Orchestration

Page 12: Service-Oriented Architecture

SERVICE

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)

Page 13: Service-Oriented Architecture

SERVICE (CONT.)

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

Page 14: Service-Oriented Architecture

GOVERNANCE

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

Page 15: Service-Oriented Architecture

GOVERNANCE (CONT.)

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

Page 16: Service-Oriented Architecture

ORCHESTRATION

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

Page 17: Service-Oriented Architecture

SERVICE-ORIENTED ARCHITECTURE

Videohttp://www.infoworld.com/d/architecture/infoclipz-service-

oriented-architecture-soa-899

Page 18: Service-Oriented Architecture

SERVICE-ORIENTED ARCHITECTURE

Page 19: Service-Oriented Architecture

SERVICE-ORIENTED ARCHITECTURE

Overview SOA Principles XML

Page 20: Service-Oriented Architecture

OVERVIEW

“[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]

Page 21: Service-Oriented Architecture

OVERVIEW (CONT.)

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

Page 22: Service-Oriented Architecture

SOA PRINCIPLES

Standardized Service Contracts Loose Coupling Service Abstraction Service Reusability Service Autonomy Service Statelessness Service Discoverability Service Composability

Page 23: Service-Oriented Architecture

STANDARDIZED SERVICE CONTRACTS Contracts designed to specification Consider optimization and granularity Make services consistent, reliable, and

governable Allow for different languages, OSes

Page 24: Service-Oriented Architecture

LOOSE COUPLING

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

Page 25: Service-Oriented Architecture

SERVICE ABSTRACTION

Hides the low level details Easier to understand a service Easier to use a service Promotes loose coupling

Page 26: Service-Oriented Architecture

SERVICE REUSABILITY

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

Page 27: Service-Oriented Architecture

SERVICE AUTONOMY

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

Page 28: Service-Oriented Architecture

SERVICE STATELESSNESS

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

Page 29: Service-Oriented Architecture

SERVICE DISCOVERABILITY

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

Page 30: Service-Oriented Architecture

SERVICE COMPOSABILITY

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

Page 31: Service-Oriented Architecture

XML

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

Page 32: Service-Oriented Architecture

COMPARISON WITH CBSE

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

Page 33: Service-Oriented Architecture

ADVANTAGES

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

Page 34: Service-Oriented Architecture

DISADVANTAGES

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

Page 35: Service-Oriented Architecture

COMPANIES USING SOA (AS OF 2006) 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

Page 36: Service-Oriented Architecture

COMPANIES USING SOA (CONT.)

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, Ameriprise Financial, Citigroup, OnStar, and DreamWorks animation

Page 37: Service-Oriented Architecture

CONCLUSION

Services reduce the amount of redundancy Using services make the development

process quicker and more agile SOA prepares a corporation for the future

Page 38: Service-Oriented Architecture

REFERENCES [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

Page 39: Service-Oriented Architecture

QUESTIONS?