service-oriented architecture inf 123 – software architecture [email protected] 1
TRANSCRIPT
![Page 2: Service-Oriented Architecture INF 123 – Software architecture tdebeauv@uci.edu 1](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c7d5503460f949328d5/html5/thumbnails/2.jpg)
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 INF 123 – Software architecture tdebeauv@uci.edu 1](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c7d5503460f949328d5/html5/thumbnails/3.jpg)
3
Service-oriented architecture
Client(Browser)
Web Server
PresentationBusiness,Mashups
Web Server
Web Server
Web Server
![Page 4: Service-Oriented Architecture INF 123 – Software architecture tdebeauv@uci.edu 1](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c7d5503460f949328d5/html5/thumbnails/4.jpg)
4
Web services on the Internet
![Page 5: Service-Oriented Architecture INF 123 – Software architecture tdebeauv@uci.edu 1](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c7d5503460f949328d5/html5/thumbnails/5.jpg)
5
iGoogle
![Page 6: Service-Oriented Architecture INF 123 – Software architecture tdebeauv@uci.edu 1](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c7d5503460f949328d5/html5/thumbnails/6.jpg)
6
Expedia
![Page 7: Service-Oriented Architecture INF 123 – Software architecture tdebeauv@uci.edu 1](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c7d5503460f949328d5/html5/thumbnails/7.jpg)
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 INF 123 – Software architecture tdebeauv@uci.edu 1](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c7d5503460f949328d5/html5/thumbnails/8.jpg)
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 INF 123 – Software architecture tdebeauv@uci.edu 1](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c7d5503460f949328d5/html5/thumbnails/9.jpg)
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 INF 123 – Software architecture tdebeauv@uci.edu 1](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c7d5503460f949328d5/html5/thumbnails/10.jpg)
10
Service combination
• Your app!
![Page 11: Service-Oriented Architecture INF 123 – Software architecture tdebeauv@uci.edu 1](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c7d5503460f949328d5/html5/thumbnails/11.jpg)
11
Layered protocols
BPEL4WSOWL-S Service
Model
ebXMLCPA
Process and workfloworchestrations
QoS: Servicedescriptions and bindings
Contracts andagreements
XLANG
WSCL
WSDLebXML
CPP
ebXMLBPSS
XML, DTD, and XML Schema
HTTP, FTP, SMTP, SIP, etc.
SOAPebXML
messaging
OWL
UDDIebXML
Registries
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 INF 123 – Software architecture tdebeauv@uci.edu 1](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c7d5503460f949328d5/html5/thumbnails/12.jpg)
12
More buzzwords
• CORBA, BPEL, REST• OASIS group, Open Group, W3C, OMG, …• Mashups, web 2.0, grid, SaaS, cloud, …
![Page 13: Service-Oriented Architecture INF 123 – Software architecture tdebeauv@uci.edu 1](https://reader030.vdocuments.net/reader030/viewer/2022032516/56649c7d5503460f949328d5/html5/thumbnails/13.jpg)
13
If you’re interested …
• http://msdn.microsoft.com/en-us/library/aa480027.aspx