Similar presentations:
IDU0075 Veebiteenused. (L3)
1. IDU0075 Veebiteenused
Tarvo TreierTarvo.treier@gmail.com
2. Täna kavas
Veebiteenustega seotud standardidXML Schema Definition
Tarvo Treier
tarvo.treier@gmail.com
3. Veebiteenustega seotud standardid
SOAPWSDL - SOA nurgakivi!
XSD
Tarvo Treier
tarvo.treier@gmail.com
4. Veebiteenustega seotud standardid
XSDElements
SimpleTypes
ComplexTypes
Veebiteenustega seotud standardid
WSDL
Envelope
Header (metainfo)
Spec
Types
Messages
PortTypes
Body
(info)
Access
Binding
Service
SOAP
Server
HTTP/JMS/SMTP/...
Klient
Data
IP
Tarvo Treier
tarvo.treier@gmail.com
5. 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
6. XSD võrdlused andmebaasi tabelite ja java klassidega
XSD – Documentstructure
Table structure
Class definition
XML – Document
instance
Record in a Table
Object instance
Tarvo Treier
tarvo.treier@gmail.com
7. XSD määrab..
Millised elemendid ja atribuudid tohivad olladokumendis
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
8. 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
9. 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
10. 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
11. Valideerimine
Inimene.xmlInimene.xsd
http://www.xmlvalidation.com/
Tarvo Treier
tarvo.treier@gmail.com
12. XML Schema patterns
Hewitt, E., Java SOA Cookbook, O’ReillyMedia, 2009
http://books.google.com/books?id=W2Xr
QRMIEd4C&lpg=PP1&pg=PP1#v=onepage
&q&f=false
–
Lk 41; p2.1
Tarvo Treier
tarvo.treier@gmail.com
13. Järgnevad mustrid erinevad ühe asja poolest
Nende elemendid ja tüübid on kas lokaalseltvõ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
14. Muster “Russian Doll”
Üks juurelement on globaalneKõik tüübid on lokaalsed
Tarvo Treier
tarvo.treier@gmail.com
15. Muster “Salami Slice”
Kõik elemendid on globaalsedKõik tüübid on lokaalsed
Tarvo Treier
tarvo.treier@gmail.com
16. Muster “Venetian Blind”
Üks juurelement on globaalneKõik tüübid on globaalsed
Tarvo Treier
tarvo.treier@gmail.com
17. Kordamine
Mis on peamine erinevus globaalsel jalokaalsel tüübil?
Tarvo Treier
tarvo.treier@gmail.com
programming