14
SOAP -Simple Object Access Protocol- Puşcaş Radu , 342 C5

SOAP - Simple Object Access Protocol -

Embed Size (px)

DESCRIPTION

Pu ş ca ş Radu , 342 C5. SOAP - Simple Object Access Protocol -. Servicii Web. Ce sunt serviciile Web? Ce rol are un serviciu Web? Cum arat ă un serviciu Web?. Arhitecturi bazate pe servicii Web. Just-In-Time integration – integrarea dinamic ă a serviciilor, independent de platform ă - PowerPoint PPT Presentation

Citation preview

Page 1: SOAP - Simple Object Access Protocol -

SOAP-Simple Object Access Protocol-

Puşcaş Radu , 342 C5

Page 2: SOAP - Simple Object Access Protocol -

Servicii Web

Ce sunt serviciile Web?

Ce rol are un serviciu Web?

Cum arată un serviciu Web?

Page 3: SOAP - Simple Object Access Protocol -

Arhitecturi bazate pe servicii Web

Just-In-Time integration – integrarea dinamică a serviciilor, independent de platformă

Implementarea arhitecturiiLipsurile stivei

Page 4: SOAP - Simple Object Access Protocol -

SOAP

Simple Object Access ProtocolProtocol standard pentru impachetarea mesajelor

comunicate de aplicaţiiOferă un înveliş în care informaţia este

transportatăSe bazează pe XMLOferă un set de reguli pentru transformarea

datelor folosite de aplicaţii in XML-uri

Page 5: SOAP - Simple Object Access Protocol -

Mesaje XML

Oferă o cale accesibilă aplicaţiilor pentru a comunica între ele

Independete de platformaTipuri de mesaje – RPC şi EDIDefinirea unui XML

- <phoneNumber>(123) 456-7890</phoneNumber>- <phoneNumber>

<areaCode>123</areaCode><exchange>456</exchange><number>7890</number>

</phoneNumber>- <phoneNumber area="123" exchange="456" number="7890" />- <phone area="123">

<exchange>456</exchange><number>7890</number>

</phone>

Page 6: SOAP - Simple Object Access Protocol -

Mesaje SOAP

Conţinutul unui mesaj SOAP Header

Blocuri de informaţie Body

Datele de trimis

In header sunt incluse informaţii despre rutare, autentificare, conext, livrare

In body, poate intra orice sub formade XML

Page 7: SOAP - Simple Object Access Protocol -

Exemplu de mesaj SOAP

<s:Envelope xmlns:s="http://www.w3.org/2001/06/soap-envelope"> <s:Header> <m:transaction xmlns:m="soap-transaction" s:mustUnderstand="true"> <transactionID>1234</transactionID> </m:transaction> </s:Header> <s:Body> <n:purchaseOrder xmlns:n="urn:OrderService"> <from> <person>Christopher Robin</person> <dept>Accounting</dept> </from> <to> <person>Pooh Bear</person> <dept>Honey</dept> </to> <order> <quantity>1</quantity> <item>Pooh Stick</item></order> </n:purchaseOrder> </s:Body></s:Envelope>

Page 8: SOAP - Simple Object Access Protocol -

SOAP faults

Un tip de mesajInformaţia conţinută:

fault code fault string fault actor fault details

Standard faults: VersionMismatch MustUnderstand Server Client

Page 9: SOAP - Simple Object Access Protocol -

SOAP fault - exemplu

<s:Envelope xmlns:s="...">

<s:Header>

<f:Misunderstood qname="abc:transaction"

xmlns:="soap-transactions" />

</s:Header>

<s:Body>

<s:Fault>

<faultcode>MustUnderstand</faultcode>

<faultstring>

Header(s) not understood

</faultstring>

<faultactor>http://acme.com</faultactor>

</s:Fault>

</s:Body>

</s:Envelope>

Page 10: SOAP - Simple Object Access Protocol -

Căi şi actori

Un mesaj SOAP poate trece prin mai mulţi intermediari pană să ajungă la destinaţie

Standardul SOAP nu defineşte o metodă pentru definirea unei căi către destinaţia finală

Atributul “actor”

Page 11: SOAP - Simple Object Access Protocol -

SOAP routing protocol

Implementat de MicrosoftDefineşte un standard pentru header-ele block

pentru specificarea informaţiilor despre rutare<s:Header>

<m:path xmlns:m="http://schemas.xmlsoap.org/rp/" s:mustUnderstand="true">

<m:action>http://www.im.org/chat</m:action>

<m:to>http://D.com/some/endpoint</m:to>

<m:fwd>

<m:via>http://B.com</m:via>

<m:via>http://C.com</m:via>

</m:fwd>

<m:rev><m:via/></m:rev>

<m:from>mailto:[email protected]</m:from>

</m:path>

</S:Header>

Page 12: SOAP - Simple Object Access Protocol -

Tipuri

Sunt definite 3 moduri pentru definirea unui tip:

1. Folosirea xsi:type pentru fiecare nod<person><name xsi:type="xsd:string">John Doe</name></person>

2. Referirea unui XML Schema care defineşte un anumit tip

<person xmlns="personschema.xsd"><name>John Doe</name></person>

3. Referirea unui XML Schema care defineşte un element particular in interiorul lui

<person xmlns="urn:some_namespace"><name>John Doe</name> </person>

Page 13: SOAP - Simple Object Access Protocol -

SOAP in HTTP

HTTP e cel mai folosit protocol pentru transmiterea de mesaje SOAP

SOAP oferă tratament special pentru HTMLSe foloseşte modelul Request – Respond

POST /StockQuote HTTP/1.1

Content-Type: text/xml

Content-Length: nnnn

SOAPAction: "urn:StockQuote#GetQuote"

<s:Envelope

xmlns:s="http://www.w3.org/2001/06/soap-envelope">

...

</s:Envelope>

Page 14: SOAP - Simple Object Access Protocol -

Avantaje şi dezavantaje

AvantajeSOAP este capabil sa fie folosit de mai multe

protocoale de transportOferind suport pentru HTTP, poate trece usor prin

firewall-uri/proxy fară a fi nevoie de modificarea protocolului

Dezavantaje Datorită formatului XML poate fi lent in cazul mesajelor

mari Datorită folosirii HTTP pentru transport in loc de WS-

Addressing sau ESB, rolurile sunt fixate in cadru comunicării