IDU0075 Sissejuhatus veebiteenustesse

Preview:

DESCRIPTION

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 : - PowerPoint PPT Presentation

Citation preview

IDU0075 Sissejuhatus veebiteenustesse

Tarvo Treier

Tarvo.treier@gmail.com

Tarvo Treier tarvo.treier@gmail.com

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

Tarvo Treier tarvo.treier@gmail.com

KORRALDUS

Kohtumised:

1. 22.09.2012

2. 06.10.2012

3. 01.12.2012

+ eksamisessioon

Tarvo Treier tarvo.treier@gmail.com

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

Tarvo Treier tarvo.treier@gmail.com

Hindamine eksamil

Teooriatest (40% hindest)

WSDL-i koostamine (20% hindest)

Projekt (40% hindest)

+ Boonuspunktid (kuni 15% hindest)

Tarvo Treier tarvo.treier@gmail.com

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

WSDL-i koostamine

Tuleb luua ühe veebiteenuse kirjeldus. Peab saama vähemalt 11 punkti 20-st.

Tarvo Treier tarvo.treier@gmail.com

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

Boonuspunktid

Boonuspunkte on võimalik koguda praktikumide ajal iseseisvaid ülesandeid ette näidates.

Tarvo Treier tarvo.treier@gmail.com

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

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)

Tarvo Treier tarvo.treier@gmail.com

Ilmajaama näide

Tarvo Treier tarvo.treier@gmail.com

Veebiteenuse väljakutse demo

SoapUI (http://www.soapui.org/)

Temperatuuri konverteerimise teenus– http://www.w3schools.com/webservices/temp

convert.asmx?WSDL

Tarvo Treier tarvo.treier@gmail.com

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

Mis on veebiteenus?

Tarvo Treier tarvo.treier@gmail.com

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

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

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

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

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

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

... ja puudused

Suurem keerukus Väiksem jõudlus ...

Tarvo Treier tarvo.treier@gmail.com

Service-oriented architecture (SOA)

Arhitektuur, mis kasutab – teenuseid organisatsiooni integrastiooni

ehitusklotsidena– komponentide taaskasutust läbi nõrga

seotuse.

Tarvo Treier tarvo.treier@gmail.com

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

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

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

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

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

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

..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

XML

Tarvo Treier tarvo.treier@gmail.com

XPath

Tarvo Treier tarvo.treier@gmail.com

Tarvo Treier tarvo.treier@gmail.com

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

Tarvo Treier tarvo.treier@gmail.com

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

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

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

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

Tarvo Treier tarvo.treier@gmail.com

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

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

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

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

Muster “Russian Doll”

Üks juurelement on globaalne Kõik tüübid on lokaalsed

Tarvo Treier tarvo.treier@gmail.com

Muster “Salami Slice”

Kõik elemendid on globaalsed Kõik tüübid on lokaalsed

Tarvo Treier tarvo.treier@gmail.com

Muster “Venetian Blind”

Üks juurelement on globaalne Kõik tüübid on globaalsed