an introduction to service oriented architecture€¦ ·  · 2010-06-21distributed systems where...

28
An Introduction to Service Oriented Architecture

Upload: trinhkhuong

Post on 11-Apr-2018

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

An Introduction to Service Oriented Architecture

Page 2: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Introduction

Definitions– Sommerville

● “Service-oriented architectures (SOAs) are a way of developing distributed systems where system components are stand-alone services, executing on geographically distributed computers”

– OASIS (Organization for the Advancement of Structured Information Standards)

● “A paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations.”OASIS

Page 3: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Introduction

Components● services

– “A loosely-coupled reusable software component that encapsulates discrete functionality, which maybe distributed and programmatically accessed.” SOMMERVILLE

Connectors● messages

– meta-data● service descriptions, service interface etc.● semantic meta-data

Page 4: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Introduction

Functional Apps Enterprise Apps SOA Apps

Paul A. Strassmann Professor of Information Sciences Volgenau School of Information Technology and Engineering at George Mason Universityhttp://www.strassmann.com/

Page 5: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Characteristics

Integration● “mesh-up” of different services

– does a newspaper qualify as an SOA?● an application

– various services linked together– really an ad-hoc application

Scope● narrowly focused● services are simple and generally perform a single task

Page 6: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Characteristics

Dependency● deployment● execution● usage

– need to know what a service expects and what it returns

Stateful vs. Statelessness● ask the class??

Page 7: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Characteristics

Loose coupling● service bindings can change whenever

– different but equivalent services can execute at different times● interface definition does not change

Reusability● desirable to have reusable services

Page 8: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Characteristics

Independent of● Platform ● Implementation

Discoverable● published● discovered via

discovery mechanisms– UDDI – web services– simple search

ServiceBroker

ServiceProvider

ServiceConsumer

DiscoverPublish

serviceserviceserviceserviceclient

Page 9: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Ian Gorton, Essential Software Architecture

Page 10: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Considerations

Performance● Computational penalties

– introduction of extra layers– slower then native/binary RPC– Do we need to use XML based RPC?

● Communication latency

Evolution● how should we handle legacy systems

– wrap the legacy system in service wrappers

Page 11: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Considerations

Service granularity● reuse vs. performance

Fault-Tolerance● partial failure vs. complete failure● idempotent request

Service agreement● availability, cost,● performance

Page 12: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Considerations

Governance● increases in difficulty

– with an increase in diversely deployed services– many service providers

● meta-data management● trust

Page 13: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

SOA Levels of Abstractions

http://msdn.microsoft.com/en-us/library/aa480021.aspx#aj1soa_topic5

Page 14: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Three Architectural Perspectives

Application Architecture● business facing solution ● consumes services from one or more providers● integrates them into the business processes

The Service Architecture● a bridge between the implementations and the consuming

applications● logical view of sets of services which are available for

use

http://msdn.microsoft.com/en-us/library/aa480021.aspx#aj1soa_topic5

Page 15: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Three Architectural Perspectives

The Component Architecture● various environments supporting

– the implemented applications– the business objects and their implementations

http://msdn.microsoft.com/en-us/library/aa480021.aspx#aj1soa_topic5

Page 16: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Three Architectural Perspectives

http://msdn.microsoft.com/en-us/library/aa480021.aspx#aj1soa_topic5

Page 17: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Considerations

Marginal Benefit● benefits offered to the first application● benefits offered to the nth application

Testing● lack of tools● lack of test services environment

Security● authentication (WS-Security, SAML, WS-Trust)● still very green

Page 18: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Infrastructure Services

Fundamental service layer● data● security● computing● communication● applications

Page 19: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Another Look

SOA● business-centric IT architectural approach● consuming a service is usually cheaper then doing the

work

Example● DNS

– reusable, scalable, fault-tolerant, well defined scope

Page 20: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

Another Look

Web Services● would you classify web-services as SOA?● web services

– a technology– middle-ware– an implementation of SOA

Page 21: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

From Applications to Services

Nan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006

Page 22: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

From Applications to Services

Nan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006

Page 23: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

From Applications to Services

Nan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006

Page 24: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

From Applications to Services

Nan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006

Page 25: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

From Applications to Services

Nan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006

Page 26: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

From Applications to Services

Nan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006

Page 27: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

From Applications to Services

Nan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006

Page 28: An Introduction to Service Oriented Architecture€¦ ·  · 2010-06-21distributed systems where system components are stand-alone services, ... discovery mechanisms – UDDI –

From Applications to Services

Nan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006