Top Banner
IDU0075 Veebiteenused Tarvo Treier Tarvo.treier@gmai l.com
25

IDU0075 Veebiteenused

Mar 15, 2016

Download

Documents

Duc

IDU0075 Veebiteenused. Tarvo Treier [email protected]. Täna kavas. Mõisted : liides, API, WS, SOA, XML, XPath Kordamine Veebiteenuste eelised ja puudused SOA XML JSON XPath JSONPath. Mõned mõisted ja lühendid. Liides ( interface ) API ( application programming interface ) - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: IDU0075  Veebiteenused

IDU0075 Veebiteenused

Tarvo [email protected]

Page 2: IDU0075  Veebiteenused

Tarvo Treier [email protected]

Täna kavas

Mõisted: liides, API, WS, SOA, XML, XPath Kordamine Veebiteenuste eelised ja puudused SOA XML JSON XPath JSONPath

Page 3: IDU0075  Veebiteenused

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) JSON (JavaScript Object Notation) XPath (XML path language) JSONPath (JSON path language)

Page 4: IDU0075  Veebiteenused

Tarvo Treier [email protected]

Kordamine: Mis on veebiteenus?

Page 5: IDU0075  Veebiteenused

Tarvo Treier [email protected]

Veebiteenus

Veebiteenus on üle veebi (http) välja kutsutav (käivitatav) meetod (protseduur või funktsioon).

Veebiteenust kutsutakse välja mingis kindlas formaadis sõnumiga (nt. SOAP) ja vastus saadakse samuti selles formaadis.

Sarnaselt tavaliste funktsioonidega saab ka veebiteenuse väljakutsel määrata sisendparameetreid.

Page 6: IDU0075  Veebiteenused

Tarvo Treier [email protected]

Mis eeliseid annavad veebiteenused?

Page 7: IDU0075  Veebiteenused

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 8: IDU0075  Veebiteenused

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 9: IDU0075  Veebiteenused

Tarvo Treier [email protected]

... ja puudused

Suurem keerukus Väiksem jõudlus ...

Page 10: IDU0075  Veebiteenused

Tarvo Treier [email protected]

Service-oriented architecture (SOA)

Arhitektuur, mis kasutab – teenuseid organisatsiooni integrastiooni

ehitusklotsidena– komponentide taaskasutust läbi nõrga

seotuse.

Page 11: IDU0075  Veebiteenused

Tarvo Treier [email protected]

SOA: On arhitektuur

Mingi hulga teenuste tegemine ei anna meile SOA-d.

Arhitektuur peab andma meile juhised teenuste loomiseks.

Page 12: IDU0075  Veebiteenused

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 13: IDU0075  Veebiteenused

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 14: IDU0075  Veebiteenused

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 15: IDU0075  Veebiteenused

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 16: IDU0075  Veebiteenused

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 17: IDU0075  Veebiteenused

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 18: IDU0075  Veebiteenused

Tarvo Treier [email protected]

XML

Page 19: IDU0075  Veebiteenused

XML (eXtended Markup Language) Root element (document element) <element_name attribute_name="attribute_value">

Element Content </element_name> Element content võib olla Child element XML’i näited

http://www.w3schools.com/xml/cd_catalog.xmlhttp://www.w3schools.com/XQuery/books.xml

Page 20: IDU0075  Veebiteenused

XML namespaces

<root xmlns:h="http://www.w3.org/TR/html4/" xmlns:f="http://www.w3schools.com/furniture"> <h:table>

<h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr>

</h:table> <f:table>

<f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length>

</f:table> </root>

http://www.w3schools.com/xml/xml_namespaces.asp

Page 21: IDU0075  Veebiteenused

Tarvo Treier [email protected]

XPath

Page 22: IDU0075  Veebiteenused

XPATH

XPATH on päringukeel XML dokumentidest informatsiooni otsimisest nagu SQL on päringukeel andmebaasi tabelitest otsimiseks.

Page 23: IDU0075  Veebiteenused

XPATH’i näited

Online vahendeid– http://www.bit-101.com/xpath/ – http://www.futurelab.ch/xmlkurs/xpath.en.html– http://www.xmlme.com/XpathTool.aspx

Näite XML– http://www.w3schools.com/xml/cd_catalog.xml

Pärime välja kõik title’d– /CATALOG/CD/TITLE– //TITLE

Pärime välja kõik cd’d, mille hind on suurem kui 10– /CATALOG/CD[PRICE>10]

Page 24: IDU0075  Veebiteenused

JSON (JavaScript Object Notation)

Nimi-väärtus paaride kollektsioon{„nimi“:“Juhan“, „vanus“: 21}

http://www.w3schools.com/json/

Page 25: IDU0075  Veebiteenused

JSONPath

Xpathi analoog JSON-i jaoks http://goessner.net/articles/JsonPath/

Online vahendid– http://ashphy.com/JSONPathOnlineEvaluator/– http://jsonpath.curiousconcept.com/