An Introduction To Service Oriented Architecture

Transcription

An Introduction toService Oriented Architecture

IntroductionDefinitions–Sommerville –“Service-oriented architectures (SOAs) are a way of developingdistributed 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 thatmay be under the control of different ownership domains. It provides auniform means to offer, discover, interact with and use capabilities toproduce desired effects consistent with measurable preconditions andexpectations.”OASIS

IntroductionComponents services–“A loosely-coupled reusable software component thatencapsulates discrete functionality, which maybe distributedand programmatically accessed.” SOMMERVILLEConnectors messages–meta-data service descriptions, service interface etc.semantic meta-data

IntroductionFunctional AppsEnterprise AppsPaul A. StrassmannProfessor of Information SciencesVolgenau School of Information Technology and Engineering at George Mason Universityhttp://www.strassmann.com/SOA Apps

CharacteristicsIntegration “mesh-up” of different services– does a newspaper qualify as an SOA?an application––various services linked togetherreally an ad-hoc applicationScope narrowly focused services are simple and generally perform a single task

CharacteristicsDependency deployment execution usage–need to know what a service expects and what it returnsStateful vs. Statelessness ask the class?

CharacteristicsLoose coupling service bindings can change whenever– different but equivalent services can execute at different timesinterface definition does not changeReusability desirable to have reusable services

CharacteristicsIndependent of Platform ImplementationDiscoverable publisheddiscovered viadiscovery mechanisms––UDDI – web servicessimple blishServiceProviderserviceserviceserviceservice

Ian Gorton, Essential Software Architecture

ConsiderationsPerformance Computational penalties––– introduction of extra layersslower then native/binary RPCDo we need to use XML based RPC?Communication latencyEvolution how should we handle legacy systems–wrap the legacy system in service wrappers

ConsiderationsService granularity reuse vs. performanceFault-Tolerance partial failure vs. complete failure idempotent requestService agreement availability, cost, performance

ConsiderationsGovernance increases in difficulty––with an increase in diversely deployed servicesmany service providers meta-data management trust

SOA Levels of y/aa480021.aspx#aj1soa topic5

Three Architectural PerspectivesApplication Architecture business facing solution consumes services from one or more providers integrates them into the business processesThe Service Architecture a bridge between the implementations and the consumingapplicationslogical view of sets of services which are available 0021.aspx#aj1soa topic5

Three Architectural PerspectivesThe Component Architecture various environments supporting––the implemented applicationsthe business objects and their rary/aa480021.aspx#aj1soa topic5

Three Architectural y/aa480021.aspx#aj1soa topic5

ConsiderationsMarginal Benefit benefits offered to the first application benefits offered to the nth applicationTesting lack of tools lack of test services environmentSecurity authentication (WS-Security, SAML, WS-Trust) still very green

Infrastructure ServicesFundamental service layer data security computing communication applications

Another LookSOA business-centric IT architectural approachconsuming a service is usually cheaper then doing theworkExample DNS–reusable, scalable, fault-tolerant, well defined scope

Another LookWeb Services would you classify web-services as SOA? web services–––a technologymiddle-warean implementation of SOA

From Applications to ServicesNan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006

From Applications to ServicesNan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006

From Applications to ServicesNan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006

From Applications to ServicesNan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006

From Applications to ServicesNan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006

From Applications to ServicesNan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006

From Applications to ServicesNan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006

From Applications to ServicesNan Yang Chief Architect (Client Solutions Greater China Sun Microsystems) ICSE Shanghai 2006

“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