Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Web Servisi

9,619 views

Published on

Elektornsko poslovanje - Domaci rad
Web Servisi

Published in: Technology, Travel
  • Be the first to comment

  • Be the first to like this

Web Servisi

  1. 1. Web Servisi Miloš Cvjetković 24/07 Nemanja Tomić 07/07
  2. 2. Sadržaj <ul><li>Ciljevi Web Servisa </li></ul><ul><li>Istorija Web Servisa </li></ul><ul><li>Model Web Servisa </li></ul><ul><li>Komponente Web Servisa </li></ul>
  3. 3. Ciljevi Web Servisa <ul><li>Mogućnost programiranja Web-a. </li></ul><ul><li>Primer: Imate određeni Excel dokument gde p ratite vašu finasijsku situaciju : računi u banci, krediti, primanja itd. Ukoliko bi vam neke informacije bile dostupne putem XML Web servi sa , Excel bi mogao sam da osvežava i prezentuje osvežene podatke korisniku. </li></ul>
  4. 4. Definicija Web Servisa <ul><li>Jedna veoma prosta definicija glasi: </li></ul><ul><li>“ Web Servis je aplikaciona komponenta dostupna preko otvorenih protokola.” </li></ul>
  5. 5. Istorija <ul><li>Web servisi su proistekli iz prethodnih tehnologija koje su služili istoj svrsi kao što su RPC, ORPC (DCOM, CORBA i JAVA RMI) </li></ul><ul><li>Web servisi pokušavaju da prevaziđu tri glavna problema: </li></ul><ul><ul><li>Interoperabilnost </li></ul></ul><ul><ul><li>Problem sa Firewall uređajima </li></ul></ul><ul><ul><li>Kompleksnost </li></ul></ul>
  6. 6. Interoperabilnost <ul><li>Raniji distrubuirani sistemi suočili su se sa problemom interoperabilnosti zato jer je svaki proizvođač implementirao njegov format za distribuciju podataka. </li></ul><ul><li>Developeri DCOM aplikacija striktno su se držali Windows operativnog sistema </li></ul><ul><li>Developeri RMI aplikacija isključivo su koristili JAVA programski jezik. </li></ul>
  7. 7. Problemi sa Firewall uređajima <ul><li>Postojala je problematična komunikacija između aplikacija dve ili više kompanija. Razlog tome što npr. CORBA ili DCOM koriste nestandardne portove za tu komunikaciju. </li></ul><ul><li>Web servisi koriste standardan HTTP protokol za komunikaciju pošto Firewall uređaji dozvoljavaju protok podataka na portu 80 (HTTP)i time čine komunikaciju među aplikacijama jednostavnu i dinimičnu. </li></ul>
  8. 8. Kompleksnost <ul><li>Web servisi su developer-frendly servisni sistemi </li></ul><ul><li>Mnogi od pomenutih starijih tehnologija kao što su RMI, DCOM ili CORBA zahtevaju dugačak proces učenja istih pre nego sto počnemo sa implementacijom </li></ul><ul><li>Nove tehnologije i programski jezici u sve većoj meri implementiraju Web Servise. </li></ul>
  9. 9. Konačna definicija Web Servisa <ul><li>Dosta preciznija definicija glasi: </li></ul><ul><li>Web servisi su aplikacione komponente koje: </li></ul><ul><li>Komuniciraju preko otvorenih protokola (HTTP,SMTP itd.) </li></ul><ul><li>Procesuiraju XML poruke koristeći SOAP </li></ul><ul><li>Opisuju te poruke koristeći XML Schemu </li></ul><ul><li>Pružaju krajnji opis koristeći WSDL </li></ul><ul><li>Mogu biti “pronađene” korišćenjem UDDI </li></ul>
  10. 10. Komponente Web Servisa <ul><li>XML – eXtensible Markup Language – jedinstveni mehanizam za razmenu i prikazivanje podataka </li></ul><ul><li>SOAP – Simple Object Access Protocol – standardni način za komunikaciju </li></ul><ul><li>UDDI – Universal Description, Discovery Integraton specification – mehanizam za registrovanje i lociranje Web servisa </li></ul><ul><li>WSDL – Web Services Description Language – standardni meta jezik za opisivanje Web Servisa </li></ul>
  11. 11. Primer jednog Web Servisa <ul><li>Kupac (koji može biti software klijent) naručuje robu od servisa prodavca </li></ul><ul><li>Kupac nalazi servis prodavca koristeći UDDI direktorijum </li></ul><ul><li>Prodavčev servis je Web Servis čiji je interfejs definisan koristeći Web Services Description Language (WSDL) </li></ul><ul><li>Kupac započinje proces kupovine na prodavčevom servisu koristeći Simple Object Access Protocol (SOAP) i WSDL definicije servisa prodavca </li></ul><ul><li>Kupac tačno zna šta očekuje u odgovoru SOAP poruke zato jer je to definisano u WSDL-u prodavčevog servisa </li></ul>
  12. 12. Model Web Servisa <ul><li>Arhitektura Web Servisa je bazirana na interkaciji između tri uloga: </li></ul><ul><ul><li>Service provider </li></ul></ul><ul><ul><li>Service registry </li></ul></ul><ul><ul><li>Service requestor </li></ul></ul><ul><li>A te interakcije mogu biti: </li></ul><ul><ul><li>Operacije Publish </li></ul></ul><ul><ul><li>Operacije Find </li></ul></ul><ul><ul><li>Operacije Bind </li></ul></ul>
  13. 13. Model Web Servisa <ul><li>Model Web servisa predstavlja Publish, Find i Bind paradigmu. </li></ul><ul><li>1. Publish 2. Find </li></ul><ul><li>3. Bind </li></ul>Web Service Regis tar Web Service Provider Web Service Klijent
  14. 14. XML <ul><li>XML je skraćenica za eXtensible Markup Language </li></ul><ul><li>XML je jezik za označavanje vrlo sličan HTML-u </li></ul><ul><li>XML je dizajniran da OPIŠE PODATKE </li></ul><ul><li>XML tagovi nisu predefinisani. Korisnik mora pre korišćenja definisati tagove. </li></ul><ul><li>Kao takav predstavlja perfektan izbor koji će omogućiti komunikaciju podataka Web Servisa između različitih platformi </li></ul>
  15. 15. SOAP <ul><li>SOAP originalno znači “Simple Object Access Protocol” </li></ul><ul><li>Web Servisi pružaju korisnu funkcionalnost svojim Web korisnicima koristeći standardni Web protokol zvani SOAP </li></ul><ul><li>SOAP je standardni XML “rečnik” koji omogućava programima na različitim računarima da komuniciraju kroz različite tipove mreža. SOAP je jednostavan opisni jezik kojim se opisuju poruke koje se razmenjuju. </li></ul><ul><li>SOAP uobičajeno koristi HTTP za transport poruka gde HTTP poruka nosi SOAP poruku kao svoj korisni deo. </li></ul>
  16. 16. Karakteristike SOAP-a <ul><li>SOAP ima tri osnovne karekteristike: </li></ul><ul><li>Fleksibilnost – dodatne komponente tehnologije Web Servisa za sigurnost i rutiranje su jos u fazi razvoja </li></ul><ul><li>Neutralnost – SOAP za transport može koristit bilo koji sloj aplikacionog nivoa HTTP, SMPT itd. </li></ul><ul><li>Nezavisnost – SOAP dozovljava korišćenje bilo kog programskog jezika </li></ul>
  17. 17. Struktura SOAP poruke <ul><li>SOAP poruka je običan XML dokument koji sadrži sledeće elemente: </li></ul><ul><li>Obavezni Envelope element koji zapravo identifikuje XML dokument kao SOAP poruku </li></ul><ul><li>Opcioni Header element koji sadrži header informacije </li></ul><ul><li>Obavezni Body element koji sadrži informacije za poziv i odgovor Web Servisa </li></ul><ul><li>Opcioni Fault element koji pruža informacije o tome šta treba uraditi ukoliko dođe do greške prilikom procesuiranja poruke. </li></ul>
  18. 18. SOAP Zahtev <ul><li>POST /InStock HTTP/1.1 </li></ul><ul><li>Host: www.stock.org </li></ul><ul><li>Content-Type: application/soap+xml; charset=utf-8 Content-Length: 150 </li></ul><ul><li><?xml version=&quot;1.0&quot;?> </li></ul><ul><li><soap:Envelope </li></ul><ul><li>xmlns:soap=&quot;http://www.w3.org/2001/12/soap-envelope&quot; soap:encodingStyle=http://www.w3.org/2001/12/soap-encoding”> </li></ul><ul><li><soap:Body xmlns:m=&quot;http://www.stock.org/stock&quot;>   </li></ul><ul><li>  <m:GetStockPrice> </li></ul><ul><li><m:StockName>IBM</m:StockName>     </li></ul><ul><li>  </m:GetStockPrice> </li></ul><ul><li></soap:Body> </li></ul><ul><li></soap:Envelope> </li></ul>
  19. 19. SOAP Odgovor <ul><li>HTTP/1.1 200 OK </li></ul><ul><li>Content-Type: application/soap; charset=utf-8 </li></ul><ul><li>Content-Length: 126 </li></ul><ul><li><?xml version=&quot;1.0&quot;?> </li></ul><ul><li><soap:Envelope xmlns:soap=&quot;http://www.w3.org/2001/12/soap-envelope&quot; soap:encodingStyle=&quot;http://www.w3.org/2001/12/soap-encoding&quot;> </li></ul><ul><li><soap:Body xmlns:m=&quot;http://www.stock.org/stock&quot;> </li></ul><ul><li><m:GetStockPriceResponse> </li></ul><ul><li><m:Price>34.5</m:Price> </li></ul><ul><li></m:GetStockPriceResponse> </li></ul><ul><li></soap:Body> </li></ul><ul><li></soap:Envelope> </li></ul>
  20. 20. Sigurnost podataka kod SOAP-a <ul><li>SOAP kao protokol za transport podataka koristi HTTP protokol, tako da se sigurnost može povećati korišćenjem SSL-a. </li></ul><ul><li>Ali SOAP može koristiti veliki broj raznih aplikacionih protokola (SMTP npr.), izbor protokola koji će koristiti zavisi od sigurnosnih zahteva u konkretnoj implementaciji. </li></ul><ul><li>Sigurnosna specifikacija Web Servisa definiše kompletni sistem za enkripciju podataka. </li></ul>
  21. 21. WSDL <ul><li>WSDL – skraćenica za Web Services Description Language </li></ul><ul><li>WSDL je XML “rečnik” kojim se opisuju Web Servisi. On dozvoljava da developeri opišu Web Servis kao i konkretne mogućnosti. </li></ul><ul><li>WSDL specificira šta Request poruka mora da sadrži i u kom obiliku će biti Response poruka na konkretan zahtev. To je “ugovor” između Web Servisa i klijenta koji želi koristiti taj servis </li></ul><ul><li>WSDL još sadrži i informacije gde se Web Servis nalazi i koji aplikacioni protokol koristi za komunikaciju sa klijentima </li></ul>
  22. 22. Struktura WSDL-a <ul><li>WSDL je takođe običan XML dokument </li></ul><ul><li>On definiše Web Servis koristeći sledeće glavne elemente: </li></ul><ul><ul><li>port type – operacije koje obavlja Web Servis </li></ul></ul><ul><ul><li>message – poruke koje koristi Web Servis </li></ul></ul><ul><ul><li>types – tipove podataka koje koristi Web Servis </li></ul></ul><ul><ul><li>binding – protokol koji se koristi za komunikaciju </li></ul></ul>
  23. 23. Primer WSDL dokumenta <ul><li><message name=&quot;GetStockPriceRequest&quot;> </li></ul><ul><li><part name=&quot;stock&quot; type=&quot;xs:string&quot;/> </li></ul><ul><li></message> </li></ul><ul><li><message name=&quot;GetStockPriceResponse&quot;> </li></ul><ul><li><part name=&quot;value&quot; type=&quot;xs:string&quot;/> </li></ul><ul><li></message> </li></ul><ul><li><portType name=“StocksRates&quot;> <operation name=“GetStockPrice&quot;> <input message=“GetStockPriceRequest&quot;/> <output message=“GetStockPriceResponse&quot;/> </operation> </portType> </li></ul>
  24. 24. UDDI <ul><li>UDDI je skraćenica od Universal Decription, Discovery and integration </li></ul><ul><li>UDDI je direktorijum koji čuva informacije o Web Servisima, poput telefonskog imenika </li></ul><ul><li>UDDI je direktorijum interfejsa Web Servisa opisanog od strane WSDL-a. </li></ul>
  25. 25. HVALA NA PAŽNJI 

×