1 / 28

WSDL

WSDL. Jovica Živković. Osnove Web Servis -a. C ilj: omogućiti povezivanje distibuiranih softverskih komponenti bez obzira na kojoj su platformi realizovani, koji je programski jezik pri tom korišćen,kao i platforma na kojoj se izvršavaju.

kenyon
Download Presentation

WSDL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WSDL Jovica Živković

  2. OsnoveWeb Servis-a • Cilj: omogućiti povezivanje distibuiranih softverskih komponenti bez obzira na kojoj su platformi realizovani, koji je programski jezik pri tom korišćen,kao i platforma na kojoj se izvršavaju. • Vizija: Veliki broj nezavisnih komponenti dostupnih preko Interneta koje su upotrebljive na bilo kojoj platformi i svim razvojnim jezicima.

  3. Definicija • Web servisi su modularne, samoopisujiće aplikacije koje se mogu objaviti,locirati i pozvati sa bilo koje tačke Web-a. • “Sistem dizajniran da podrži interakciju raznorodnih sistema preko mreže” –(W3C)

  4. Aplikacione komponente • Diskretna jedinica programskog koda • Komuniciraju putem otvorenih protokola (HTTP, SMTP, FTP,...) • Samostalne i samoopisujuće • Bazirani na XML-u(univerzalni jezik za razmenu podatak na Internetu) • Web usluge mogu koristiti druge aplikacije • Lako pronalaženje pomoću mehanizma za traženje web servisa

  5. Razlozi za korišćenje Web servisa • Interoperabilnost (interoperability) • SOA (Service Oriented Architecture) • Skalabilnost

  6. Interoperabilnost • Sposobnost za zajednički rad različitih sistema,tehnika ili organizacija. • Standardizacija • Primer softvera -> više programa koristi isti format ili isti protokole

  7. SOA – Service Oriented Architecture • Je pristup u razvoju softvera koji podrazumeva razdvajanje funkcija u odvojene sisteme, dostupne preko mreže. • Mogućnost korišćenja i kombinovanja već implementiranih funkcijonalnosti • “Oblikvišeslojneorganizacijeračunarskihsistemakojiobezbeđujedeljenjelogikeposlovanjaiinformacijaodstranerazličitihsoftverskihsistemainačinanjihovogkorišćenja”, Gartner

  8. Skalabilnost • Potreba za menjenje postojećih skupa funkcionalnosti (povećanje ili smanjenje) uz minimalne troškove i najmanji mogući uticaj na rad sistema.

  9. Arhitektura Web Servisa

  10. WSDL • WSDL (Web Services Description Language) – jezik za opisivanje web servisa. • Bazira se na XML-u • To je XML dokument • Koristi se za opis web servisa • Koristi se za lociranje Web servisa • Ustanovljen od strane konzorcijuma W3C, 26.06.2007

  11. 4 glavna elementa WSDL fajla za opis Web servisa: • WSDL dokument može da sadrži i druge elemente!

  12. WSDL struktura

  13. Tipovi operacija

  14. WSDL portovi • <portType> - “najvažniji element WSDL dokumenta” • Predstavlja definiciju “interfejsa” web servisa • definiše operacije koje mogu biti izvršene na dati web servis • definiše poruke koje se razmenjuju u toku komunikacije • Definiše tačke pristupa web servisu • Najčešće sadrži kombinaciju više message elemenata • Može se uporediti sa bibliotekom funkcija u programskim jezicima

  15. <message> • definiše naziv poruke i opisuje poruku • sastoji od nijednog ili više delova (part)

  16. Primer <messagename=”BookInfo”> <partname=”title” type=”xs:string”> Mark </part> <partname=”author” type=”xs:string”> Mr. T </part> </message> <portTypename=”Catalog”> <operationname=”GetBook”> <inputname=”Msg1” message=”BookInfo” /> </operation> </portType>

  17. Request-Response operation <messagename="getBookRequest"> <partname=“title" type="xs:string"/></message><messagename="getBookResponse"><partname=“author" type="xs:string"/></message><portTypename=“Catalog">  <operationname="getAuthor"><inputmessage=" getBookRequest "/><outputmessage="getBookResponse"/>  </operation></portType>

  18. <types> Koji tipovi podataka se prenose? • Opisuje sve tipove podataka koje se koriste između klijenata i servera • WSDL preporučuje upotrebu XML Schema za definisanje tipova podataka • WSDL ne ograničava izbor jezika za definisanje tipova podataka, moguće je koristiti i druge jezike osim W3C XML Schema • Ugrađeni W3C XML Schema tipovi podataka ne moraju se eksplicitno importovati

  19. <binding> - povezivanje • Definiše konkretan protokol i format podataka za portType • Može se koristiti • Standardni protokol (HTTP, SOAP, SMTP...) • Definisati nov • Bindind element ima dva atributa- name and type Name definiše ime bindinga, koje može biti proizvoljno, Type ukazuje na port za binding

  20. <messagename="getTermRequest">  <partname="term" type="xs:string"/></message><messagename="getTermResponse">  <partname="value" type="xs:string"/></message><portTypename="glossaryTerms">  <operationname="getTerm">    <inputmessage="getTermRequest"/>    <outputmessage="getTermResponse"/>  </operation></portType><bindingtype="glossaryTerms" name="b1">   <soap:bindingstyle="document"transport="http://schemas.xmlsoap.org/soap/http" />   <operation>     <soap:operationsoapAction="http://example.com/getTerm"/>     <input><soap:bodyuse="literal"/></input>     <output><soap:bodyuse="literal"/></output>  </operation></binding>

  21. Ostali elementi • <import> Dodaje sadržaj datog namespace-a u tekući WSDL dokument <import namespace=http://www.nebitno.com/dodatniTipovi location=http://www.nebitno.com/schemas/dodatniTipovi.xsd/> Dodatni namespace definisan je u datom fajlu Preporučuje se navođenje apsolutne URL putanje zbog prenosivosti • <service> Koristi se kada je potrebno definisati konkretan endpoint za web servis, nije obavezan. Servis je skup portova, a svaki port predstavlja po jedan endpoint u komunikaciji. Moguće je definisati servis koji se sastoji od portova koji su dostupni na različitim adresama.

  22. <servicename="NS Quantash Market"> <documentation>Currentpricesat the NS QuantashMarket</documentation> <portname="PricesPort" binding="PricesBinding"> <soap:addresslocation="http://www.nsmarket.co.yu/Quantash/Prices"/> </port> </service>

  23. Preporuke • Operacijeweb servisa bi trebalo da predstavljaju "krupnije" poslovne transakcije – nije potrebno svaku metodu Java klase proglasiti za WSDL operaciju • Iako je WSDL definicija tesno vezana sa programskim kodom, u nju ne treba da uđeništa što korisnik ne bi trebalo da zna – WSDL definicija predstavlja metapodatke o programskom kodu • KorišćenjeW3C XML Schema tipova za postizanje maksimalne interoperabilnosti

  24. Pitanja • Šta je WSDL? • Struktura WSDL-a? • Tipovi operacija? • PortType element? • Binding element?

More Related