Download - IDU0075 Sissejuhatus veebiteenustesse
![Page 2: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/2.jpg)
Tarvo Treier [email protected]
Sissejuhatus veebiteenustesse
Annab üldised teadmised:– Teenus-orienteeritud arhitektuuri põhimõtetest– Veebiteenustega seotud standarditest ja töövahenditest.
Praktilised oskused:– veebiteenuste tuvastamine – veebiteenuste kirjeldamine– veebiteenuste realiseerimine– veebiteenuste kasutamine – veebiteenuste testimine
![Page 3: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/3.jpg)
Tarvo Treier [email protected]
KORRALDUS
Kohtumised:
1. 22.09.2012
2. 06.10.2012
3. 01.12.2012
+ eksamisessioon
![Page 4: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/4.jpg)
Tarvo Treier [email protected]
Materjalid– http://www.tud.ttu.ee/im/Tarvo.Treier/idu007
5/2012/kaug/
RaamatJava SOA cookbook
Pdf: http://www.filecrop.com/java-soa-cookbook.html
![Page 5: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/5.jpg)
Tarvo Treier [email protected]
Hindamine eksamil
Teooriatest (40% hindest)
WSDL-i koostamine (20% hindest)
Projekt (40% hindest)
+ Boonuspunktid (kuni 15% hindest)
![Page 6: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/6.jpg)
Tarvo Treier [email protected]
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!
![Page 7: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/7.jpg)
Tarvo Treier [email protected]
WSDL-i koostamine
Tuleb luua ühe veebiteenuse kirjeldus. Peab saama vähemalt 11 punkti 20-st.
![Page 8: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/8.jpg)
Tarvo Treier [email protected]
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.
![Page 9: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/9.jpg)
Tarvo Treier [email protected]
Boonuspunktid
Boonuspunkte on võimalik koguda praktikumide ajal iseseisvaid ülesandeid ette näidates.
![Page 10: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/10.jpg)
Tarvo Treier [email protected]
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
![Page 11: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/11.jpg)
Tarvo Treier [email protected]
Mõned mõisted ja lühendid
Liides (interface) API (application programming interface) WS (web service) SOA (service oriented architecture) XML (extensible markup language) XPath (XML path language)
![Page 13: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/13.jpg)
Tarvo Treier [email protected]
Veebiteenuse väljakutse demo
SoapUI (http://www.soapui.org/)
Temperatuuri konverteerimise teenus– http://www.w3schools.com/webservices/temp
convert.asmx?WSDL
![Page 14: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/14.jpg)
Tarvo Treier [email protected]
1. boonuspunkt
Otsi töötav tasuta veebiteenus, mida saab SoapUI-ga käivitada.
Boonuspunkti saab kätte teises praktikumis 06.10.2012.
![Page 16: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/16.jpg)
Tarvo Treier [email protected]
Veebiteenus…
…tähendab programmide omavahelist suhtlemist ja andmevahetust üle hariliku veebi.
Allikas: T.Tammet, Veebiteenuste võlu ja valu
![Page 17: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/17.jpg)
Tarvo Treier [email protected]
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.
![Page 18: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/18.jpg)
Tarvo Treier [email protected]
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
![Page 19: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/19.jpg)
Tarvo Treier [email protected]
Mõned mõisted ja lühendid
Liides (interface) WS (web service) SOA (service oriented architecture) XML (extensible markup language) XPath (XML path language)
![Page 20: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/20.jpg)
Tarvo Treier [email protected]
Pilt veebiteenuste abil integreerimisest
Erinevad platvormid ja programmeerimiskeeled
Erinevad kasutajaliidesed ühel kesksüsteemil Erinevad organisatsioonid Varjatud realisatsioon Kliendi ja teenusepakkuja sõltumatu arendus
![Page 21: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/21.jpg)
Tarvo Treier [email protected]
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
![Page 23: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/23.jpg)
Tarvo Treier [email protected]
Service-oriented architecture (SOA)
Arhitektuur, mis kasutab – teenuseid organisatsiooni integrastiooni
ehitusklotsidena– komponentide taaskasutust läbi nõrga
seotuse.
![Page 24: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/24.jpg)
Tarvo Treier [email protected]
SOA: On arhitektuur
Mingi hulga teenuste tegemine ei anna meile SOA-d.
Arhitektuur peab andma meile juhised teenuste loomiseks.
![Page 25: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/25.jpg)
Tarvo Treier [email protected]
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.
![Page 26: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/26.jpg)
Tarvo Treier [email protected]
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.
![Page 27: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/27.jpg)
Tarvo Treier [email protected]
SOA: nõrk seotus
SOA-s püütakse teha nõrgalt seotud komponente, ehk teenuseid, mis ei tea midagi klientidest, kes neid kasutama hakkavad.
![Page 28: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/28.jpg)
Tarvo Treier [email protected]
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.
![Page 29: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/29.jpg)
Tarvo Treier [email protected]
SOA müügijutt..
Kattes oma süsteemi selgroo (mission critical) veebiteenustega, mis opereerivad SOA raamistikul, saad sa kergesti– laiendatava,– taaskasutatava ja– asendatava lahenduse.
![Page 30: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/30.jpg)
Tarvo Treier [email protected]
..jätkub
SOA annab meile raamistiku, kus mitmed mittefunktsionaalsed nõuded on juba täidetud. – Näiteks turvalisus. – Arendajad keskenduda äriprobleemidele.
![Page 33: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/33.jpg)
Tarvo Treier [email protected]
![Page 34: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/34.jpg)
Tarvo Treier [email protected]
Veebiteenustega seotud standardid
IP
Data
Server KlientHTTP/JMS/SMTP/...
SOAP
Envelope
Header (metainfo)
Body (info)
WSDL
Spec Types Messages PortTypes
Access Binding Service
XSD
ElementsSimpleTypesComplexTypes
![Page 35: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/35.jpg)
Tarvo Treier [email protected]
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/
![Page 36: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/36.jpg)
Tarvo Treier [email protected]
XSD võrdlused andmebaasi tabelite ja java klassidega
XSD – Document structure
Table structure Class definition
XML – Document instance
Record in a Table Object instance
![Page 37: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/37.jpg)
Tarvo Treier [email protected]
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
![Page 38: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/38.jpg)
Tarvo Treier [email protected]
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:KandPõlv
KlappPump
Torumees:Põlv
KlappPumpToru
![Page 39: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/39.jpg)
Tarvo Treier [email protected]
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
![Page 40: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/40.jpg)
Tarvo Treier [email protected]
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>
![Page 41: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/41.jpg)
Tarvo Treier [email protected]
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
![Page 42: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/42.jpg)
Tarvo Treier [email protected]
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.
![Page 43: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/43.jpg)
Tarvo Treier [email protected]
Muster “Russian Doll”
Üks juurelement on globaalne Kõik tüübid on lokaalsed
![Page 44: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/44.jpg)
Tarvo Treier [email protected]
Muster “Salami Slice”
Kõik elemendid on globaalsed Kõik tüübid on lokaalsed
![Page 45: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/45.jpg)
Tarvo Treier [email protected]
Muster “Venetian Blind”
Üks juurelement on globaalne Kõik tüübid on globaalsed
![Page 46: IDU0075 Sissejuhatus veebiteenustesse](https://reader031.vdocuments.pub/reader031/viewer/2022013103/568133d8550346895d9aceec/html5/thumbnails/46.jpg)
Tarvo Treier [email protected]
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