software architecture patterns (3) service oriented & web oriented architecture

14
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft

Upload: oscar-salinas

Post on 03-Jan-2016

41 views

Category:

Documents


7 download

DESCRIPTION

Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture. source: microsoft. definition(s):. - PowerPoint PPT Presentation

TRANSCRIPT

  • Software Architecture Patterns (3)Service Oriented & Web Oriented Architecture source: microsoft

  • definition(s):Service-oriented architecture (SOA) is a flexible set of design principles used during the phases of systems development and integration in computing. A system based on a SOA will package functionality as a suite of interoperable services that can be used within multiple separate systems from several business domains.wikipediaA service-oriented architecture is essentially a collection of services. These services communicate with each other. The communication can involve either simple data passing or it could involve two or more services coordinating some activity. www.service-architecture.com

  • a service in a SOA context is: a software component that provides behaviour that can be used by any other component based only on its interface contract. A service has a network-addressable interface. A service stresses interoperability and a service may be dynamically discovered and used.

  • properties of services in a SOA context services are:self-containedon the client side, no additional software is required (i.e. access via exposed interface) self-describing neither the client nor the server knows or cares about anything besides the format and content of the request and response messages (loosely coupled application integration)can be published, located, and invoked across the network (internet)uses established lightweight standards such as HTTP and it leverages existing infrastructureinherently open and standard-basedopen-source, vendor agnostic, uses http, xml, json etc.dynamic can automate description and discoverycomposablecan be chained together and aggregated to provide more complex behavioursloosely coupledindependent, self-contained & encapsulated provide programmatic access- no gui, operates at the code level, implementation hidden (encapsulation)wrap (abstract out) existing applications- legacy, stand-alone applications can be wrapped with a service interface

  • service consumer - an application, component or other software module that requests a service; finds the service provider in a service registry, sends a service request and consumes the service

    service provider - is a network-accessible application or software component that provides a service to the consumer; the service provider publishes its contract in a service registry to make itself discoverable to service consumers. service contract - is a specification of the way in which a service consumer can access the functionality of a service - it informs the service consumer of the acceptable format of a service request; the service contract is stored in a service registry, allowing service consumers to discover and utilise the services offered by the provider. service registry - is a network-accessible registry that accepts and stores service contracts from providers and makes them discoverable to service consumers. the 4 essential components of a service in a SOA context are:

  • provider, consumer & registry (directory) in SOAP context:

  • SOAP is a lightweight protocol intended for exchanging structured information in a decentralized, distributed environment. SOAP uses XML technologies to define an extensible messaging framework, which provides a message construct that can be exchanged over a variety of underlying protocols. The framework has been designed to be independent of any particular programming model and other implementation-specific semantics. Simple Object Access Protocol (SOAP):

  • SOAP message consists of three parts:- SOAP Envelope- SOAP Header (optional)- SOAP BodySOAP message format:

  • POST /InStock HTTP/1.1 Host: www.example.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn IBM example SOAP message (query stock price):

  • HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn 34.5 example SOAP response (stock price):

  • Web Service Description Language (WSDL) & Universal Discovery, Description & Integration (UDDI)wsdlis an xml vocabulary for describing a web service, where the service is located, the protocols, operations and methods the service supports and the parameters it expects and responds with

    uddiis a searchable directory that stores information about web services and the interfaces to those services described by wsdl

  • relationship between WSDL, UDDI, SOAP & WS

  • SOA is evolving - from SOA to WOA:

  • alphabet soup - service oriented, web oriented and resource oriented architectures:

    *