Top Banner
Service-Oriented Architecture INF 123 – Software architecture [email protected] 1
13

Service-Oriented Architecture

Feb 25, 2016

Download

Documents

Soleil

Service-Oriented Architecture. INF 123 – Software architecture [email protected]. Three-tier architecture. Client invokes an HTTP operation, may send data. 2. Server accesses persistent data. DB. Client (Browser). Web Server. Presentation. Business. Data. 4. Server sends back - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Service-Oriented Architecture

1

Service-Oriented Architecture

INF 123 – Software [email protected]

Page 2: Service-Oriented Architecture

2

Three-tier architecture

Client(Browser) Web Server DB

Presentation Business Data

1. Client invokes an HTTP operation,may send data

4. Server sends backstatus and data

2. Server accessespersistent data

3. Response from DB

Page 3: Service-Oriented Architecture

3

Service-oriented architecture

Client(Browser) Web Server

PresentationBusiness,Mashups

Web Server

Web Server

Web Server

Page 4: Service-Oriented Architecture

4

Web services on the Internet

Page 5: Service-Oriented Architecture

5

iGoogle

Page 6: Service-Oriented Architecture

6

Expedia

Page 7: Service-Oriented Architecture

7

Main concerns of SOA

• How do I describe the services?– Components

• How do the services communicate?– Connectors

• How do I combine the services to achieve the business goals?– Application

Page 8: Service-Oriented Architecture

8

Service description: WSDL<?xml version="1.0" encoding="UTF-8"?><description xmlns="http://www.w3.org/ns/wsdl" xmlns:tns="http://www.tmsws.com/wsdl20sample" xmlns:whttp="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsoap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://www.tmsws.com/wsdl20sample"><types> <!-- Abstract type --><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.tmsws.com/wsdl20sample"targetNamespace="http://www.example.com/wsdl20sample"> <xs:element name="request"> ... </xs:element> <xs:element name="response"> ... </xs:element> </xs:schema> </types><interface name="Interface1"><!-- Abstract interfaces --> <fault name="Error1" element="tns:response"/><operation name="Opp1" pattern="http://www.w3.org/ns/wsdl/in-out"> <input messageLabel="In" element="tns:request"/> <output messageLabel="Out" element="tns:response"/> </operation> </interface>

<!-- Concrete Binding Over HTTP --> <binding name="HttpBinding" interface="tns:Interface1" type="http://www.w3.org/ns/wsdl/http"> <operation ref="tns:Get" whttp:method="GET"/> </binding><!-- Concrete Binding with SOAP--> <binding name="SoapBinding" interface="tns:Interface1" type="http://www.w3.org/ns/wsdl/soap" wsoap:protocol="http://www.w3.org/2003/soap/bindings/HTTP/"wsoap:mepDefault="http://www.w3.org/2003/soap/mep/request-response"> <operation ref="tns:Get" /> </binding><!-- Web Service offering endpoints for both bindings--> <service name="Service1" interface="tns:Interface1"> <endpoint name="HttpEndpoint" binding="tns:HttpBinding" address="http://www.example.com/rest/"/> <endpoint name="SoapEndpoint" binding="tns:SoapBinding" address="http://www.example.com/soap/"/> </service></description>

Page 9: Service-Oriented Architecture

9

Service communication: SOAPPOST /InStock HTTP/1.1Host: www.example.orgContent-Type: application/soap+xml; charset=utf-8Content-Length: 299SOAPAction: "http://www.w3.org/2003/05/soap-envelope"

<?xml version="1.0"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <soap:Header> </soap:Header> <soap:Body> <m:GetStockPrice xmlns:m="http://www.example.org/stock"> <m:StockName>IBM</m:StockName> </m:GetStockPrice> </soap:Body></soap:Envelope>

Page 10: Service-Oriented Architecture

10

Service combination

• Your app!

Page 11: Service-Oriented Architecture

11

Layered protocols

BPEL4WSOWL-S ServiceModel

ebXMLCPA

Process and workfloworchestrations

QoS: Servicedescriptions and bindings

Contracts andagreements

XLANGWSCL

WSDL ebXMLCPP

ebXMLBPSS

XML, DTD, and XML Schema

HTTP, FTP, SMTP, SIP, etc.

SOAP ebXMLmessaging

OWL

UDDI ebXMLRegistries

WSCLWSCI

WS-Coordination

WS-AtomicTransaction and WS-BusinessActivity

OWL-S ServiceGrounding

OWL-S ServiceProfile

BTP

BPML

Discovery

Messaging

Transport

QoS: Conversations

QoS: Choreography

QoS: Transactions

Encoding

WS-Policy

WS-Security

WS-ReliableMessaging

PSL

RDF

Page 12: Service-Oriented Architecture

12

More buzzwords

• CORBA, BPEL, REST• OASIS group, Open Group, W3C, OMG, …• Mashups, web 2.0, grid, SaaS, cloud, …