1 / 46

IDU0075 Sissejuhatus veebiteenustesse

IDU0075 Sissejuhatus veebiteenustesse. Tarvo Treier Tarvo.treier@gmail.com. Sissejuhatus veebiteenustesse. Annab üldised teadmised: T eenus-orienteeritud arhitektuuri põhimõt etest V eebiteenustega seotud standardi test ja töövahendi test . P raktilis ed oskus ed :

Download Presentation

IDU0075 Sissejuhatus veebiteenustesse

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. IDU0075 Sissejuhatus veebiteenustesse TarvoTreier Tarvo.treier@gmail.com

  2. Sissejuhatus veebiteenustesse • Annab üldised teadmised: • Teenus-orienteeritudarhitektuuripõhimõtetest • Veebiteenustegaseotudstandarditestjatöövahenditest. • Praktilisedoskused: • veebiteenustetuvastamine • veebiteenuste kirjeldamine • veebiteenusterealiseerimine • veebiteenustekasutamine • veebiteenustetestimine Tarvo Treier tarvo.treier@gmail.com

  3. KORRALDUS Kohtumised: • 22.09.2012 • 06.10.2012 • 01.12.2012 + eksamisessioon Tarvo Treier tarvo.treier@gmail.com

  4. Materjalid • http://www.tud.ttu.ee/im/Tarvo.Treier/idu0075/2012/kaug/ • Raamat Java SOA cookbook Pdf: http://www.filecrop.com/java-soa-cookbook.html Tarvo Treier tarvo.treier@gmail.com

  5. Hindamine eksamil • Teooriatest (40% hindest) • WSDL-i koostamine (20% hindest) • Projekt (40% hindest) + Boonuspunktid (kuni 15% hindest) Tarvo Treier tarvo.treier@gmail.com

  6. Teooriatest • Nii teoreetilised kui praktilised ülesanded seni loengutes ja praktikumides käsitletud teemadel. • Valikvastustega • Peab saama vähemalt 21 punkti 40-st. • Abivahendeid kasutada ei tohi! Tarvo Treier tarvo.treier@gmail.com

  7. WSDL-i koostamine • Tuleb luua ühe veebiteenuse kirjeldus. • Peab saama vähemalt 11 punkti 20-st. Tarvo Treier tarvo.treier@gmail.com

  8. Projekt • Koosneb veebiteenuste projekteerimisest, realiseerimisest, kasutamisest ja testimisest. • Projekti eest peab saama vähemalt 21 punkti 40-st. • Projekt peab olema esitatud kaks päeva enne kaitsmisele tulekut. Tarvo Treier tarvo.treier@gmail.com

  9. Boonuspunktid • Boonuspunkte on võimalik koguda praktikumide ajal iseseisvaid ülesandeid ette näidates. Tarvo Treier tarvo.treier@gmail.com

  10. Eeldused aine edukaks läbimiseks • Aeg • Aeg iseseisvate ülesannetega pusimiseks. • Elementaarne java oskus: • Klass / objekt • IF ja FOR • Muutuja väärtustamine • Meetodi väljakutse  • Kasuks tuleb: • Liideste tundmine Tarvo Treier tarvo.treier@gmail.com

  11. Mõned mõisted ja lühendid • Liides (interface) • API (application programming interface) • WS (webservice) • SOA (serviceorientedarchitecture) • XML (extensiblemarkuplanguage) • XPath (XML pathlanguage) Tarvo Treier tarvo.treier@gmail.com

  12. Ilmajaama näide Tarvo Treier tarvo.treier@gmail.com

  13. Veebiteenuse väljakutse demo • SoapUI (http://www.soapui.org/) • Temperatuuri konverteerimise teenus • http://www.w3schools.com/webservices/tempconvert.asmx?WSDL Tarvo Treier tarvo.treier@gmail.com

  14. 1. boonuspunkt • Otsi töötav tasuta veebiteenus, mida saab SoapUI-ga käivitada. • Boonuspunkti saab kätte teises praktikumis 06.10.2012. Tarvo Treier tarvo.treier@gmail.com

  15. Mis on veebiteenus? Tarvo Treier tarvo.treier@gmail.com

  16. Veebiteenus… …tähendab programmide omavahelist suhtlemist ja andmevahetust üle hariliku veebi. Allikas: T.Tammet, Veebiteenuste võlu ja valu Tarvo Treier tarvo.treier@gmail.com

  17. Veebiteenus • Veebiteenus on üle veebi (http) välja kutsutav (käivitatav) meetod (protseduur või funktsioon). • Veebiteenust kutsutakse välja SOAP formaadis sõnumiga ja vastus saadakse samuti SOAP formaadis. • Sarnaselt tavaliste funktsioonidega saab ka veebiteenuse väljakutsel määrata sisendparameetreid. Tarvo Treier tarvo.treier@gmail.com

  18. Veebiteenused • http://www.w3.org/TR/ws-gloss/ • A software system designed to support interoperable machine-to-machine interaction over a network • It has an interface described in a machine-processable format(WSDL) • Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards Tarvo Treier tarvo.treier@gmail.com

  19. Mõned mõisted ja lühendid • Liides (interface) • WS (web service) • SOA (service oriented architecture) • XML (extensible markup language) • XPath (XML path language) Tarvo Treier tarvo.treier@gmail.com

  20. Pilt veebiteenuste abil integreerimisest • Erinevad platvormid ja programmeerimiskeeled • Erinevad kasutajaliidesed ühel kesksüsteemil • Erinevad organisatsioonid • Varjatud realisatsioon • Kliendi ja teenusepakkuja sõltumatu arendus Tarvo Treier tarvo.treier@gmail.com

  21. Veebiteenuste eelised.. • Erinevate platvormide rakenduste koostöö võimaldamine • Teksti põhised ja avatud standardid on arendajale arusaadavad • Annavad võimaluse erinevate ettevõtete erinevas kohas asuvaid rakendusi ja teenuseid integreerida üheks uueks teenuseks • Veebiteenuste taaskasutamise võimalus Tarvo Treier tarvo.treier@gmail.com

  22. ... ja puudused • Suurem keerukus • Väiksem jõudlus • ... Tarvo Treier tarvo.treier@gmail.com

  23. Service-oriented architecture (SOA) • Arhitektuur, mis kasutab • teenuseid organisatsiooni integrastiooni ehitusklotsidena • komponentide taaskasutust läbi nõrga seotuse. Tarvo Treier tarvo.treier@gmail.com

  24. SOA: On arhitektuur • Mingi hulga teenuste tegemine ei anna meile SOA-d. • Arhitektuur peab andma meile juhised teenuste loomiseks. Tarvo Treier tarvo.treier@gmail.com

  25. SOA: Ehitatakse teenustest • Nagu objekt-orienteeritud maailmas on objekt/klass nii on SOA-s teenus peamine komponent. • Ilma teenusteta pole meil millestki ehitada, midagi jälgida (monitor) ega käivitada. Tarvo Treier tarvo.treier@gmail.com

  26. SOA: integratsioon • SOA esindab ühte võimalust süsteemide integratsiooniks. • Erinevate süsteemide kokkuühendamise võib lahendada mõne P2P lahendusega palju kiiremini. • Samas võib minna alternatiivide puhul ka palju rohkem aega, kuna süsteemid räägivad erinevat keelt (sõnumite formaat). • SOA kasutab sõnumivahetuses XML-i. Tarvo Treier tarvo.treier@gmail.com

  27. SOA: nõrk seotus • SOA-s püütakse teha nõrgalt seotud komponente, ehk teenuseid, mis ei tea midagi klientidest, kes neid kasutama hakkavad. Tarvo Treier tarvo.treier@gmail.com

  28. SOA: taaskasutus • Pole alati hädavajalik. • Samas, kui ühegi komponendi taaskasutus võimalust pole ega näe ka tulemas, siis on tõenäoliselt tegu üle mõeldud lahendusega ja kindlasti mitte SOA-ga. Tarvo Treier tarvo.treier@gmail.com

  29. SOA müügijutt.. • Kattes oma süsteemi selgroo (mission critical) veebiteenustega, mis opereerivad SOA raamistikul, saad sa kergesti • laiendatava, • taaskasutatava ja • asendatava lahenduse. Tarvo Treier tarvo.treier@gmail.com

  30. ..jätkub • SOA annab meile raamistiku, kus mitmed mittefunktsionaalsed nõuded on juba täidetud. • Näiteks turvalisus. • Arendajad keskenduda äriprobleemidele. Tarvo Treier tarvo.treier@gmail.com

  31. XML Tarvo Treier tarvo.treier@gmail.com

  32. XPath Tarvo Treier tarvo.treier@gmail.com

  33. Tarvo Treier tarvo.treier@gmail.com

  34. Veebiteenustega seotud standardid Tarvo Treier tarvo.treier@gmail.com

  35. XSD - XML Schema Definition • XSD kirjeldab XML dokumendi struktuuri • Elemendid (Elements) • Atribuudid (Attributes) • Nende tüübid • Tavatüübid (Simple types) • Komplekstüübid (Complex types) • Piirangud (Restrictions) • XSD õppetund w3Schools lehel • http://w3schools.com/schema/ Tarvo Treier tarvo.treier@gmail.com

  36. XSD võrdlused andmebaasi tabelite ja java klassidega • XSD – Document structure • Table structure • Class definition • XML – Document instance • Record in a Table • Object instance Tarvo Treier tarvo.treier@gmail.com

  37. XSD määrab.. • Millised elemendid ja atribuudid tohivad olla dokumendis • Millised elemendid on alamelemendid • Alamelementide järjestuse ja arvu • Kas element on tühi või sisaldab teksti • Andmetüübid elementide ja atribuutide jaoks • Vaikimisi ja fikseeritud väärtused elementidele ja atribuutidele • Piirangud Tarvo Treier tarvo.treier@gmail.com

  38. NB! Nimeruumid Nimeruum (namespace) on lihtsalt loogiline (elementide ja tüüpide) nimede grupeering Nimeruumis peavad nimed olema unikaalsed Ühes XSD failis defineeritakse üks nimeruum Arst: Kand Põlv Klapp Pump Torumees: Põlv Klapp Pump Toru Tarvo Treier tarvo.treier@gmail.com

  39. Näide <?xml version="1.0" ?> <Employees xmlns="http://www.abccorp.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.abccorp.com/employee.xsd"> <Employee> <SSN>737333333</SSN> <Name>ED HARRIS</Name> <DateOfBirth>1960-01-01</DateOfBirth> <EmployeeType>FULLTIME</EmployeeType> <Salary>4000</Salary> </Employee> </Employees> Allikas: http://www.15seconds.com/issue/031209.htm Tarvo Treier tarvo.treier@gmail.com

  40. Näide jätkub (employee.xsd) <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="Employee" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="SSN" type ="xsd:string"/> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="DateOfBirth" type="xsd:date"/> <xsd:element name="EmployeeType"type="xsd:string"/> <xsd:element name="Salary" type="xsd:long"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> Tarvo Treier tarvo.treier@gmail.com

  41. XML Schema patterns • Hewitt, E., Java SOA Cookbook, O’Reilly Media, 2009 • http://books.google.com/books?id=W2XrQRMIEd4C&lpg=PP1&pg=PP1#v=onepage&q&f=false • Lk 41; p2.1 Tarvo Treier tarvo.treier@gmail.com

  42. Järgnevad mustrid erinevad ühe asja poolest • Nende elemendid ja tüübid on kas lokaalselt või globaalselt defineeritud. • Globaalne element või tüüp on schema alamelement. • Lokaalne element või tüüp on defineeritud mõne teise elemendi või tüübi sees. • Lokaalseid elemente ei saa taaskasutada. Tarvo Treier tarvo.treier@gmail.com

  43. Muster “Russian Doll” • Üks juurelement on globaalne • Kõik tüübid on lokaalsed Tarvo Treier tarvo.treier@gmail.com

  44. Muster “Salami Slice” • Kõik elemendid on globaalsed • Kõik tüübid on lokaalsed Tarvo Treier tarvo.treier@gmail.com

  45. Muster “Venetian Blind” • Üks juurelement on globaalne • Kõik tüübid on globaalsed Tarvo Treier tarvo.treier@gmail.com

  46. XSLT iseseisvaks uurimiseks • http://www.tud.ttu.ee/material/treier/idu0075/2011/Loengud/L4_xslt_wsdl/L4_XSLT.ppt • http://www.tud.ttu.ee/im/Tarvo.Treier/idu0075/2012/Harjutused/H6_XSLT/h6_xslt.ppt Tarvo Treier tarvo.treier@gmail.com

More Related