Webové služby v Java EE (JAX-WS)

Save this PDF as:
 WORD  PNG  TXT  JPG

Rozměr: px
Začít zobrazení ze stránky:

Download "Webové služby v Java EE (JAX-WS)"

Transkript

1 Webové služby v Java EE (JAX-WS) Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Přednáška pro PDI 7. listopadu 2014 Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

2 Obsah 1 Úvod k SOA a webovým službám 2 Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE 3 Representational State Transfer (REST) architektura Webové služby pomocí JAX-RS 4 Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

3 Obsah Úvod k SOA a webovým službám 1 Úvod k SOA a webovým službám 2 Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE 3 Representational State Transfer (REST) architektura Webové služby pomocí JAX-RS 4 Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

4 Servisně orientovaná architektura (SOA) Definice (Service-Oriented Architecture, OASIS SOA RefModel) SOA je paradigma předepisující způsob uspořádání a použití distribuovaných služeb, které mohou být spravovány různými vlastníky. Definuje jednotný způsob inzerce, hledání, vzájemné komunikace a spotřeby služeb s cílem dosáhnout požadovaných výsledků v souladu s měřitelnými předpoklady a očekáváním. SOA je paradigma kompozice služeb SOA je distribuovaná autonomní, ale spolupracující služby SOA je heterogenní prostředí služba přístupná přes své rozhraní SOA je standardizovaná popis rozhraní a způsob komunikace služeb SOA podporuje business služby realizují konkrétní business procesy Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

5 Servisně orientovaná architektura (SOA) Definice (Service-Oriented Architecture, OASIS SOA RefModel) SOA je paradigma předepisující způsob uspořádání a použití distribuovaných služeb, které mohou být spravovány různými vlastníky. Definuje jednotný způsob inzerce, hledání, vzájemné komunikace a spotřeby služeb s cílem dosáhnout požadovaných výsledků v souladu s měřitelnými předpoklady a očekáváním. SOA je paradigma kompozice služeb (architektonický styl a způsob analýzy, návrhu, integrace a údržby systémů) SOA je distribuovaná autonomní, ale spolupracující služby SOA je heterogenní prostředí služba přístupná přes své rozhraní SOA je standardizovaná popis rozhraní a způsob komunikace služeb SOA podporuje business služby realizují konkrétní business procesy Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

6 Servisně orientovaná architektura (SOA) Definice (Service-Oriented Architecture, OASIS SOA RefModel) SOA je paradigma předepisující způsob uspořádání a použití distribuovaných služeb, které mohou být spravovány různými vlastníky. Definuje jednotný způsob inzerce, hledání, vzájemné komunikace a spotřeby služeb s cílem dosáhnout požadovaných výsledků v souladu s měřitelnými předpoklady a očekáváním. SOA je paradigma kompozice služeb SOA je distribuovaná autonomní, ale spolupracující služby (systém realizován jako kompozice účelové spolupracujících služeb) SOA je heterogenní prostředí služba přístupná přes své rozhraní SOA je standardizovaná popis rozhraní a způsob komunikace služeb SOA podporuje business služby realizují konkrétní business procesy Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

7 Servisně orientovaná architektura (SOA) Definice (Service-Oriented Architecture, OASIS SOA RefModel) SOA je paradigma předepisující způsob uspořádání a použití distribuovaných služeb, které mohou být spravovány různými vlastníky. Definuje jednotný způsob inzerce, hledání, vzájemné komunikace a spotřeby služeb s cílem dosáhnout požadovaných výsledků v souladu s měřitelnými předpoklady a očekáváním. SOA je paradigma kompozice služeb SOA je distribuovaná autonomní, ale spolupracující služby SOA je heterogenní prostředí služba přístupná přes své rozhraní (služby mohou mít různé životní cykly, vlastníky, implementační technologie, atd.) SOA je standardizovaná popis rozhraní a způsob komunikace služeb SOA podporuje business služby realizují konkrétní business procesy Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

8 Servisně orientovaná architektura (SOA) Definice (Service-Oriented Architecture, OASIS SOA RefModel) SOA je paradigma předepisující způsob uspořádání a použití distribuovaných služeb, které mohou být spravovány různými vlastníky. Definuje jednotný způsob inzerce, hledání, vzájemné komunikace a spotřeby služeb s cílem dosáhnout požadovaných výsledků v souladu s měřitelnými předpoklady a očekáváním. SOA je paradigma kompozice služeb SOA je distribuovaná autonomní, ale spolupracující služby SOA je heterogenní prostředí služba přístupná přes své rozhraní SOA je standardizovaná popis rozhraní a způsob komunikace služeb (řešení nezávislé na dodavateli, možnost náhrady služby, její outsourcing, atp.) SOA podporuje business služby realizují konkrétní business procesy Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

9 Servisně orientovaná architektura (SOA) Definice (Service-Oriented Architecture, OASIS SOA RefModel) SOA je paradigma předepisující způsob uspořádání a použití distribuovaných služeb, které mohou být spravovány různými vlastníky. Definuje jednotný způsob inzerce, hledání, vzájemné komunikace a spotřeby služeb s cílem dosáhnout požadovaných výsledků v souladu s měřitelnými předpoklady a očekáváním. SOA je paradigma kompozice služeb SOA je distribuovaná autonomní, ale spolupracující služby SOA je heterogenní prostředí služba přístupná přes své rozhraní SOA je standardizovaná popis rozhraní a způsob komunikace služeb SOA podporuje business služby realizují konkrétní business procesy (služby zpracovávají a produkují dokumenty, spravují zdroje, atd.) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

10 SOA: architektura orientovaná na služby (Service-Oriented Architecture), obecný koncept spolupracujících služeb, WS: webové služby (Web Services), technologie pro implementaci SOA, spravuje W3C skupina Web Services Architectures. Role komunikujících stran: poskytovatel služeb implementuje a nabízí služby (service provider), služba je specifikovaná svým popisem (URI, rozhraním a protokolem), spotřebitel služeb na základě popisu vyhledá službu v registru služeb a použije ji (service consumer). Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

11 Konceptuální model SOA model interakce mezi poskytovatelem služeb a spotřebitelem služeb Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

12 Struktura SOA Úvod k SOA a webovým službám SOA je částečně vrstevnatá architektura (vrstva = úroveň abstrakce) 1 vrstva business procesů BP je posloupnost kroků respektující business pravidla a vedoucí k zisku (hmotnému i nehmotnému), reprezentován sekvencí provedení několika služeb (choreografie služeb), 2 vrstva služeb rozhraní jednotlivých komponent sjednocena do služeb, služba za běhu sestavuje komponenty a přeposílá jim požadavky, služba na rozhraní zpřístupňuje své funkce (popis služby), 3 vrstva komponent základní stavební kameny služeb, realizace funkčnosti služeb a zajištění požadované kvality služeb (QoS), komponenty jsou černé skříňky a jejich funkce jsou přístupné pouze přes rozhraní. Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

13 Informační systém bez architektury SOA podsystémy jsou monolitické (komplikovaný přístup k jednotlivým funkcím, nejasné rozhraní, obtížná integrace celých podsystémů) podsystémy jsou striktně oddělené, každý má samostatný životní cyklus (implementací, správou, možností modifikace, atd.) (diagram převzat z Sun: Service-Oriented Architecture Overview ) komunikace podsystémů přes společné úložiště dat (problematická návaznost procesů, např. Order Status, nejasná zodpovědnost za data) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

14 Informační systém s architekturou SOA dekompozice na úroveň jednotlivých služeb (jasně definovaná rozhraní služeb, podsystémy vznikají kompozicí) podsystémy se prolínají sdílenými službami, každá má samostatný životní cyklus (sdílení společných částí podsystémů, např. Check Order Status ) (diagram převzat z Sun: Service-Oriented Architecture Overview ) přímá komunikace služeb, úložiště dat pro dokumenty (služby komunikují napříč podsystémy, s daty manipuluje služba reprezentující k datům příslušný business proces) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

15 Spolupráce mezi službami v SOA služby poskytují své prostředky bud přímo cílovému spotřebiteli anebo jiným službám, služby mezi sebou spolupracují (komunikují) zasíláním zpráv. Spolupráce mezi službami: kooperace služba využívá prostředky jiné (rovnocenné) služby pro realizaci nabízených funkcí, agregace služba sestavená ze dvou (nebo více, podřízených) služeb nabízí kombinaci funkcí dílčích služeb, choreografie služby potom spolupracují za účelem provedení konkrétního business procesu, orchestrace služba řídí součinost ostatních služeb za účelem provedení své části business procesu. Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

16 Principy SOA Úvod k SOA a webovým službám standardizace kompatibilita, nezávislost (jednotný způsob popisu služeb) volné vázání snadnější údržba služeb abstrakce jednoznačný způsob použití znovupoužitelnost vývoj služby přinese větší zisk nezávislost ověřitelnost funkčnosti bezstavovost předvídatelnost chování dohledatelnost implementační nezávislost kompozice tvorba složitějších služeb Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

17 Principy SOA Úvod k SOA a webovým službám standardizace kompatibilita, nezávislost volné vázání snadnější údržba služeb (minimum závislostí mezi službami, okolí služby závisí pouze na jejím rozhraní) abstrakce jednoznačný způsob použití znovupoužitelnost vývoj služby přinese větší zisk nezávislost ověřitelnost funkčnosti bezstavovost předvídatelnost chování dohledatelnost implementační nezávislost kompozice tvorba složitějších služeb Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

18 Principy SOA Úvod k SOA a webovým službám standardizace kompatibilita, nezávislost volné vázání snadnější údržba služeb abstrakce jednoznačný způsob použití (služby přístupné pouze přes rozhraní, zbytek zapouzdřen) znovupoužitelnost vývoj služby přinese větší zisk nezávislost ověřitelnost funkčnosti bezstavovost předvídatelnost chování dohledatelnost implementační nezávislost kompozice tvorba složitějších služeb Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

19 Principy SOA Úvod k SOA a webovým službám standardizace kompatibilita, nezávislost volné vázání snadnější údržba služeb abstrakce jednoznačný způsob použití znovupoužitelnost vývoj služby přinese větší zisk (služba použitelná v různých kontextech/systémech) nezávislost ověřitelnost funkčnosti bezstavovost předvídatelnost chování dohledatelnost implementační nezávislost kompozice tvorba složitějších služeb Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

20 Principy SOA Úvod k SOA a webovým službám standardizace kompatibilita, nezávislost volné vázání snadnější údržba služeb abstrakce jednoznačný způsob použití znovupoužitelnost vývoj služby přinese větší zisk nezávislost ověřitelnost funkčnosti (služby autonomní jednotky, nezávisí skrytě na svém okolí) bezstavovost předvídatelnost chování dohledatelnost implementační nezávislost kompozice tvorba složitějších služeb Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

21 Principy SOA Úvod k SOA a webovým službám standardizace kompatibilita, nezávislost volné vázání snadnější údržba služeb abstrakce jednoznačný způsob použití znovupoužitelnost vývoj služby přinese větší zisk nezávislost ověřitelnost funkčnosti bezstavovost předvídatelnost chování (služba by neměla uchovávat viditelnou stavovou informaci) dohledatelnost implementační nezávislost kompozice tvorba složitějších služeb Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

22 Principy SOA Úvod k SOA a webovým službám standardizace kompatibilita, nezávislost volné vázání snadnější údržba služeb abstrakce jednoznačný způsob použití znovupoužitelnost vývoj služby přinese větší zisk nezávislost ověřitelnost funkčnosti bezstavovost předvídatelnost chování dohledatelnost implementační nezávislost (navazovány účelově poskytovatel služby dle potřeby dohledatelný v adresáři) kompozice tvorba složitějších služeb Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

23 Principy SOA Úvod k SOA a webovým službám standardizace kompatibilita, nezávislost volné vázání snadnější údržba služeb abstrakce jednoznačný způsob použití znovupoužitelnost vývoj služby přinese větší zisk nezávislost ověřitelnost funkčnosti bezstavovost předvídatelnost chování dohledatelnost implementační nezávislost kompozice tvorba složitějších služeb (kompozice služeb do větších funkčních celků dle potřeby) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

24 Porovnání SOA s jinými architekturami a principy SOA vs. klient-server architektura klient server = rozhraní a apl. logika apl. logika, stav a sdílené zdroje, spotřebitel poskytovatel = potřebuje nabízí funkčnost, SOA je jemnější dekompozice (např. menší nároky na zdroje), SOA je více distribuovaná (rozmístění výpočetní logiky), služby se snaží být bezstavové z vnějšího pohledu. SOA vs. objektově orientovaný přístup SOA přístup preferuje volném provázání entit (služeb) OO přístup přesně vztahy mezi třídami, těsnější vazby entit (objektů), základní vlastností OO přístupu je dědičnost SOA přístup s dědičností nepočítá, preferuje delegaci, základní vlastností SOA přístupu je bezstavovost entit zapouzdření dat do objektů v OO přístupu, aktivita služeb v SOA přístupu je vyvolána až příchodem nějaké zprávy, podobný pohled na abstrakci entit (rozhraní). Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

25 Neznámější a nejpoužívanější technologie pro implementaci SOA Webové služby postaveny na webových standardech: HTTP protokol a SOAP protokol (Simple Object Access Protocol), jazyky XML (extensible Markup Language) a XML Schema (XSD), registr UDDI (Universal Description, Discovery and Integration) jazyk WSDL (Web Services Description Language) definice Web Service zahrnuje tvorbu XSD a WSDL dokumentů (tj. popis datových typů, operací, způsobu volání rozhraní služby) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

26 Neznámější a nejpoužívanější technologie pro implementaci SOA Webové služby postaveny na webových standardech: HTTP protokol a SOAP protokol (Simple Object Access Protocol), (komunikační spojení, obálku a adresace zpráv při volání konkrétních služeb) jazyky XML (extensible Markup Language) a XML Schema (XSD), registr UDDI (Universal Description, Discovery and Integration) jazyk WSDL (Web Services Description Language) definice Web Service zahrnuje tvorbu XSD a WSDL dokumentů (tj. popis datových typů, operací, způsobu volání rozhraní služby) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

27 Neznámější a nejpoužívanější technologie pro implementaci SOA Webové služby postaveny na webových standardech: HTTP protokol a SOAP protokol (Simple Object Access Protocol), jazyky XML (extensible Markup Language) a XML Schema (XSD), (popis struktury a vlastní zápis informací během přenosu při volání služeb) registr UDDI (Universal Description, Discovery and Integration) jazyk WSDL (Web Services Description Language) definice Web Service zahrnuje tvorbu XSD a WSDL dokumentů (tj. popis datových typů, operací, způsobu volání rozhraní služby) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

28 Neznámější a nejpoužívanější technologie pro implementaci SOA Webové služby postaveny na webových standardech: HTTP protokol a SOAP protokol (Simple Object Access Protocol), jazyky XML (extensible Markup Language) a XML Schema (XSD), registr UDDI (Universal Description, Discovery and Integration) (mechanismus registrů pro vyhledávání webových služeb) jazyk WSDL (Web Services Description Language) definice Web Service zahrnuje tvorbu XSD a WSDL dokumentů (tj. popis datových typů, operací, způsobu volání rozhraní služby) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

29 Neznámější a nejpoužívanější technologie pro implementaci SOA Webové služby postaveny na webových standardech: HTTP protokol a SOAP protokol (Simple Object Access Protocol), jazyky XML (extensible Markup Language) a XML Schema (XSD), registr UDDI (Universal Description, Discovery and Integration) jazyk WSDL (Web Services Description Language) (popis funkcí a umístění služeb a způsobu komunikace v XML) definice Web Service zahrnuje tvorbu XSD a WSDL dokumentů (tj. popis datových typů, operací, způsobu volání rozhraní služby) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

30 Neznámější a nejpoužívanější technologie pro implementaci SOA Webové služby postaveny na webových standardech: HTTP protokol a SOAP protokol (Simple Object Access Protocol), jazyky XML (extensible Markup Language) a XML Schema (XSD), registr UDDI (Universal Description, Discovery and Integration) jazyk WSDL (Web Services Description Language) definice Web Service zahrnuje tvorbu XSD a WSDL dokumentů (tj. popis datových typů, operací, způsobu volání rozhraní služby) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

31 Další standardy kolem Web Services (diagram převzat z Vinod Krishnan: SOA a quick view ) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

32 XML Schema Definition (XSD) Jazyk od W3C pro popis struktury/schéma XML dokumentů. (dalšími jazyky jsou např. DTD, Relax NG, Schematron, atd.) W3C XML Schema Definition Language (XSD) 1.1 popsaná v Part 1: Structures Part 2: Datatypes Popis schéma je XML dokument s elementem <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:my="http://mycompany.com/hr/schemas" targetnamespace="http://mycompany.com/hr/schemas" elementformdefault="qualified">... </xs:schema> Obsahuje předdefinované jednoduché typy, další lze zadefinovat. (předdefinované jsou např. string, integer nebo date) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

33 XML Schema Definition (XSD) Jazyk od W3C pro popis struktury/schéma XML dokumentů. (dalšími jazyky jsou např. DTD, Relax NG, Schematron, atd.) W3C XML Schema Definition Language (XSD) 1.1 popsaná v Part 1: Structures Part 2: Datatypes Popis schéma je XML dokument s elementem <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:my="http://mycompany.com/hr/schemas" targetnamespace="http://mycompany.com/hr/schemas" elementformdefault="qualified">... </xs:schema> Obsahuje předdefinované jednoduché typy, další lze zadefinovat. (předdefinované jsou např. string, integer nebo date) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

34 XML Schema Definition (XSD) Jazyk od W3C pro popis struktury/schéma XML dokumentů. (dalšími jazyky jsou např. DTD, Relax NG, Schematron, atd.) W3C XML Schema Definition Language (XSD) 1.1 popsaná v Part 1: Structures Part 2: Datatypes Popis schéma je XML dokument s elementem <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:my="http://mycompany.com/hr/schemas" targetnamespace="http://mycompany.com/hr/schemas" elementformdefault="qualified">... </xs:schema> Obsahuje předdefinované jednoduché typy, další lze zadefinovat. (předdefinované jsou např. string, integer nebo date) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

35 XML Schema Definition (XSD) Jazyk od W3C pro popis struktury/schéma XML dokumentů. (dalšími jazyky jsou např. DTD, Relax NG, Schematron, atd.) W3C XML Schema Definition Language (XSD) 1.1 popsaná v Part 1: Structures Part 2: Datatypes Popis schéma je XML dokument s elementem <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:my="http://mycompany.com/hr/schemas" targetnamespace="http://mycompany.com/hr/schemas" elementformdefault="qualified">... </xs:schema> Obsahuje předdefinované jednoduché typy, další lze zadefinovat. (předdefinované jsou např. string, integer nebo date) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

36 Definice dokumentů v XSD (příklady uvedeny bez prefixů jmených prostorů) elementy a atributy jednoduchých typů <element name="..." type="..."/> <attribute name="..." type="..." use="required"/> elementy složených typů nebo samotné složené typy <element name="..."><complextype>...</complextype></element> restrikce (omezení, výběry) jako jednoduché typy <simpletype name="..."><restriction base="integer"> <xs:pattern value="[0-9][0-9]"/></restriction></simpletype> <simpletype name="..."><restriction base="string"> <enumeration value="one"/>...</restriction></simpletype> sekvence elementů jako složené typy (řazené) <sequence><element name="..." type="..."/> <element name="..." type="..."/></sequence> množiny elementů jako složené typy (neřazené) <all><element name="..." type="..."/> <element name="..." type="..."/></all>... a další (vizte XML Schema Reference) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

37 Definice dokumentů v XSD (příklady uvedeny bez prefixů jmených prostorů) elementy a atributy jednoduchých typů <element name="..." type="..."/> <attribute name="..." type="..." use="required"/> elementy složených typů nebo samotné složené typy <element name="..."><complextype>...</complextype></element> restrikce (omezení, výběry) jako jednoduché typy <simpletype name="..."><restriction base="integer"> <xs:pattern value="[0-9][0-9]"/></restriction></simpletype> <simpletype name="..."><restriction base="string"> <enumeration value="one"/>...</restriction></simpletype> sekvence elementů jako složené typy (řazené) <sequence><element name="..." type="..."/> <element name="..." type="..."/></sequence> množiny elementů jako složené typy (neřazené) <all><element name="..." type="..."/> <element name="..." type="..."/></all>... a další (vizte XML Schema Reference) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

38 Definice dokumentů v XSD (příklady uvedeny bez prefixů jmených prostorů) elementy a atributy jednoduchých typů <element name="..." type="..."/> <attribute name="..." type="..." use="required"/> elementy složených typů nebo samotné složené typy <element name="..."><complextype>...</complextype></element> restrikce (omezení, výběry) jako jednoduché typy <simpletype name="..."><restriction base="integer"> <xs:pattern value="[0-9][0-9]"/></restriction></simpletype> <simpletype name="..."><restriction base="string"> <enumeration value="one"/>...</restriction></simpletype> sekvence elementů jako složené typy (řazené) <sequence><element name="..." type="..."/> <element name="..." type="..."/></sequence> množiny elementů jako složené typy (neřazené) <all><element name="..." type="..."/> <element name="..." type="..."/></all>... a další (vizte XML Schema Reference) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

39 Definice dokumentů v XSD (příklady uvedeny bez prefixů jmených prostorů) elementy a atributy jednoduchých typů <element name="..." type="..."/> <attribute name="..." type="..." use="required"/> elementy složených typů nebo samotné složené typy <element name="..."><complextype>...</complextype></element> restrikce (omezení, výběry) jako jednoduché typy <simpletype name="..."><restriction base="integer"> <xs:pattern value="[0-9][0-9]"/></restriction></simpletype> <simpletype name="..."><restriction base="string"> <enumeration value="one"/>...</restriction></simpletype> sekvence elementů jako složené typy (řazené) <sequence><element name="..." type="..."/> <element name="..." type="..."/></sequence> množiny elementů jako složené typy (neřazené) <all><element name="..." type="..."/> <element name="..." type="..."/></all>... a další (vizte XML Schema Reference) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

40 Definice dokumentů v XSD (příklady uvedeny bez prefixů jmených prostorů) elementy a atributy jednoduchých typů <element name="..." type="..."/> <attribute name="..." type="..." use="required"/> elementy složených typů nebo samotné složené typy <element name="..."><complextype>...</complextype></element> restrikce (omezení, výběry) jako jednoduché typy <simpletype name="..."><restriction base="integer"> <xs:pattern value="[0-9][0-9]"/></restriction></simpletype> <simpletype name="..."><restriction base="string"> <enumeration value="one"/>...</restriction></simpletype> sekvence elementů jako složené typy (řazené) <sequence><element name="..." type="..."/> <element name="..." type="..."/></sequence> množiny elementů jako složené typy (neřazené) <all><element name="..." type="..."/> <element name="..." type="..."/></all>... a další (vizte XML Schema Reference) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

41 Definice dokumentů v XSD (příklady uvedeny bez prefixů jmených prostorů) elementy a atributy jednoduchých typů <element name="..." type="..."/> <attribute name="..." type="..." use="required"/> elementy složených typů nebo samotné složené typy <element name="..."><complextype>...</complextype></element> restrikce (omezení, výběry) jako jednoduché typy <simpletype name="..."><restriction base="integer"> <xs:pattern value="[0-9][0-9]"/></restriction></simpletype> <simpletype name="..."><restriction base="string"> <enumeration value="one"/>...</restriction></simpletype> sekvence elementů jako složené typy (řazené) <sequence><element name="..." type="..."/> <element name="..." type="..."/></sequence> množiny elementů jako složené typy (neřazené) <all><element name="..." type="..."/> <element name="..." type="..."/></all>... a další (vizte XML Schema Reference) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

42 Příklad popisu v XSD <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:my="http://mycompany.com/hr/schemas" targetnamespace="http://mycompany.com/hr/schemas" elementformdefault="qualified"> <xs:element name="holidayrequest"> <xs:complextype><xs:all> <xs:element name="holiday" type="my:holidaytype"/> <xs:element name="employee" type="my:employeetype"/> </xs:all></xs:complextype> </xs:element> <xs:complextype name="holidaytype"> <xs:sequence> <xs:element name="startdate" type="xs:date"/> <xs:element name="enddate" type="xs:date"/> </xs:sequence> </xs:complextype> <xs:complextype name="employeetype"> <xs:sequence> <xs:element name="number" type="xs:integer"/> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:schema> Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

43 Příklad XML dokumentu podle uvedeného popisu Uvedenému popisu vyhovuje např. následující dokument <?xml version="1.0" encoding="utf-8"?> <HolidayRequest xmlns="http://mycompany.com/hr/schemas"> <Holiday> <StartDate> </StartDate> <EndDate> </EndDate> </Holiday> <Employee> <Number>42</Number> <FirstName>Arjen</FirstName> <LastName>Poutsma</LastName> </Employee> </HolidayRequest> Libovolné pořadí elementů umístění Holiday a Employee. (ale pevné pořadí jejich pod-elementů) Platné datum formátované jako YYYY-MM-DD. (datový typ definovaný ve specifikace XML Schema) Příklady XSD a WSDL převzaty z Spring Web Services: Reference Documentation. Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

44 Příklad XML dokumentu podle uvedeného popisu Uvedenému popisu vyhovuje např. následující dokument <?xml version="1.0" encoding="utf-8"?> <HolidayRequest xmlns="http://mycompany.com/hr/schemas"> <Holiday> <StartDate> </StartDate> <EndDate> </EndDate> </Holiday> <Employee> <Number>42</Number> <FirstName>Arjen</FirstName> <LastName>Poutsma</LastName> </Employee> </HolidayRequest> Libovolné pořadí elementů umístění Holiday a Employee. (ale pevné pořadí jejich pod-elementů) Platné datum formátované jako YYYY-MM-DD. (datový typ definovaný ve specifikace XML Schema) Příklady XSD a WSDL převzaty z Spring Web Services: Reference Documentation. Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

45 Příklad XML dokumentu podle uvedeného popisu Uvedenému popisu vyhovuje např. následující dokument <?xml version="1.0" encoding="utf-8"?> <HolidayRequest xmlns="http://mycompany.com/hr/schemas"> <Holiday> <StartDate> </StartDate> <EndDate> </EndDate> </Holiday> <Employee> <Number>42</Number> <FirstName>Arjen</FirstName> <LastName>Poutsma</LastName> </Employee> </HolidayRequest> Libovolné pořadí elementů umístění Holiday a Employee. (ale pevné pořadí jejich pod-elementů) Platné datum formátované jako YYYY-MM-DD. (datový typ definovaný ve specifikace XML Schema) Příklady XSD a WSDL převzaty z Spring Web Services: Reference Documentation. Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

46 Web Services Description Language (WSDL) W3C zavedla WSDL jako standard pro XML popis webových služeb. Jaké funkce poskytuje daná služba? Jak může být s danou službou navázána komunikace? Kde/kým je daná služba poskytována? Každá služba jako množina koncových bodů (service endpoints). v těchto bodech komunikuje s okolím pomocí zasílání zpráv, (pro jednoduchost si lze koncový bod představit jako rozhraní služby) WSDL poskytuje formální definici koncových bodů: 1 abstraktní popis koncového bodu, (popis rozhraní služby bez ohledu na konkrétní technologie a protokoly) 2 konkrétního popis koncového bodu. (navázání abstraktního popisu na reálnou implementaci a komunikace na konkrétní protokol) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

47 Web Services Description Language (WSDL) W3C zavedla WSDL jako standard pro XML popis webových služeb. Jaké funkce poskytuje daná služba? Jak může být s danou službou navázána komunikace? Kde/kým je daná služba poskytována? Každá služba jako množina koncových bodů (service endpoints). v těchto bodech komunikuje s okolím pomocí zasílání zpráv, (pro jednoduchost si lze koncový bod představit jako rozhraní služby) WSDL poskytuje formální definici koncových bodů: 1 abstraktní popis koncového bodu, (popis rozhraní služby bez ohledu na konkrétní technologie a protokoly) 2 konkrétního popis koncového bodu. (navázání abstraktního popisu na reálnou implementaci a komunikace na konkrétní protokol) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

48 Web Services Description Language (WSDL) W3C zavedla WSDL jako standard pro XML popis webových služeb. Jaké funkce poskytuje daná služba? Jak může být s danou službou navázána komunikace? Kde/kým je daná služba poskytována? Každá služba jako množina koncových bodů (service endpoints). v těchto bodech komunikuje s okolím pomocí zasílání zpráv, (pro jednoduchost si lze koncový bod představit jako rozhraní služby) WSDL poskytuje formální definici koncových bodů: 1 abstraktní popis koncového bodu, (popis rozhraní služby bez ohledu na konkrétní technologie a protokoly) 2 konkrétního popis koncového bodu. (navázání abstraktního popisu na reálnou implementaci a komunikace na konkrétní protokol) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

49 Abstraktní a konkrétní popis ve WSDL Abstraktní popis koncového bodu: popis rozhraní služby bez ohledu na konkrétní technologie a protokoly, tři základní oddíly: message: popis zpráv, které představují operace a jejich parametry. operation: popis operací, jejich vstupní a výstupní parametry, interface: rozhraní služby, tj. poskytované operace, Konkrétní popis koncového bodu: navázání abstraktního popisu na reálnou implementaci a komunikace na konkrétní protokol, tří základních oddíly: binding: formát volání služby, popis protokolu (např. v SOAP) pro jednotlivé operation nebo celé interface, service: popis služby jako seskupení prvků endpoints, endpoint: fyzická adresa, na které je služba přístupná. Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

50 Abstraktní a konkrétní popis ve WSDL Abstraktní popis koncového bodu: popis rozhraní služby bez ohledu na konkrétní technologie a protokoly, tři základní oddíly: message: popis zpráv, které představují operace a jejich parametry. operation: popis operací, jejich vstupní a výstupní parametry, interface: rozhraní služby, tj. poskytované operace, Konkrétní popis koncového bodu: navázání abstraktního popisu na reálnou implementaci a komunikace na konkrétní protokol, tří základních oddíly: binding: formát volání služby, popis protokolu (např. v SOAP) pro jednotlivé operation nebo celé interface, service: popis služby jako seskupení prvků endpoints, endpoint: fyzická adresa, na které je služba přístupná. Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

51 Ukázka WSDL popisu služby I Definujeme jmenné prostory pro jednotlivé části dokumentu: soap: WSDL popisuje službu pro protokol SOAP, tns: názvy používané v naší aplikaci, xsd: popis protokolu volání služby jako XML dokumentu, <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:schema="http://mycompany.com/hr/schemas" xmlns:tns="http://mycompany.com/hr/definitions" targetnamespace="http://mycompany.com/hr/definitions"> <wsdl:types> <xsd:schema xmlns:xsd="http://www.w3.org/2001/xmlschema"> <xsd:import namespace="http://mycompany.com/hr/schemas" schemalocation="hr.xsd"/> </xsd:schema> </wsdl:types> Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

52 Ukázka WSDL popisu služby II Definujeme zprávy přijímané a navracené danou službou 1 : message: definice vlastní zprávy přenášené při komunikaci, operation: přiřazení zpráv k operacím posytovaným službou. <wsdl:message name="holidayrequest"> <wsdl:part element="schema:holidayrequest" name="holidayrequest"/> </wsdl:message> <wsdl:porttype name="humanresource"> <wsdl:operation name="holiday"> <wsdl:input message="tns:holidayrequest" name="holidayrequest"/> </wsdl:operation> </wsdl:porttype> Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

53 Ukázka WSDL popisu služby III Popis formátu volání operací pro SOAP a umístění služby 2 : <wsdl:binding name="humanresourcebinding" type="tns:humanresource"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="holiday"> <soap:operation soapaction="http://mycompany.com/requestholiday"/> <wsdl:input name="holidayrequest"> <soap:body use="literal"/> </wsdl:input> </wsdl:operation> </wsdl:binding> <wsdl:service name="humanresourceservice"> <wsdl:port binding="tns:humanresourcebinding" name="humanresourceport"> <soap:address location="http://localhost:8080/holidayservice/"/> </wsdl:port> </wsdl:service> </wsdl:definitions> 1 Elementy types, message a porttype popisují, co služba poskytuje. 2 Element binding popisuje, jak služba komunikuje, a service, kde ji kontaktovat. Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

54 Simple Object Access Protocol (SOAP) základní vrstva WS technologie, výměna XML zpráv, patří do aplikační vrstvy pětivrstvého TCP/IP modelu, bezstavový protokol, nezávislé na protokolu a implementaci, (jedním z protokolů komunikace je HTTP/HTTPS protokol) podporuje několik typů volání funkcí služeb, (kde klient posílá XML zprávu na server, nejznámější je implementované Remote Procedure Call (RPC), SOAP vychází ze staršího XML-RPC) definuje strukturu zprávy (obálka kolem hlavičky a těla). (pravděpodobně vychází ze staršího Web Distributed Data exchange (WDDX)) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

55 Simple Object Access Protocol (SOAP) základní vrstva WS technologie, výměna XML zpráv, patří do aplikační vrstvy pětivrstvého TCP/IP modelu, bezstavový protokol, nezávislé na protokolu a implementaci, (jedním z protokolů komunikace je HTTP/HTTPS protokol) podporuje několik typů volání funkcí služeb, (kde klient posílá XML zprávu na server, nejznámější je implementované Remote Procedure Call (RPC), SOAP vychází ze staršího XML-RPC) definuje strukturu zprávy (obálka kolem hlavičky a těla). (pravděpodobně vychází ze staršího Web Distributed Data exchange (WDDX)) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

56 Simple Object Access Protocol (SOAP) základní vrstva WS technologie, výměna XML zpráv, patří do aplikační vrstvy pětivrstvého TCP/IP modelu, bezstavový protokol, nezávislé na protokolu a implementaci, (jedním z protokolů komunikace je HTTP/HTTPS protokol) podporuje několik typů volání funkcí služeb, (kde klient posílá XML zprávu na server, nejznámější je implementované Remote Procedure Call (RPC), SOAP vychází ze staršího XML-RPC) definuje strukturu zprávy (obálka kolem hlavičky a těla). (pravděpodobně vychází ze staršího Web Distributed Data exchange (WDDX)) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

57 Simple Object Access Protocol (SOAP) základní vrstva WS technologie, výměna XML zpráv, patří do aplikační vrstvy pětivrstvého TCP/IP modelu, bezstavový protokol, nezávislé na protokolu a implementaci, (jedním z protokolů komunikace je HTTP/HTTPS protokol) podporuje několik typů volání funkcí služeb, (kde klient posílá XML zprávu na server, nejznámější je implementované Remote Procedure Call (RPC), SOAP vychází ze staršího XML-RPC) definuje strukturu zprávy (obálka kolem hlavičky a těla). (pravděpodobně vychází ze staršího Web Distributed Data exchange (WDDX)) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

58 Simple Object Access Protocol (SOAP) základní vrstva WS technologie, výměna XML zpráv, patří do aplikační vrstvy pětivrstvého TCP/IP modelu, bezstavový protokol, nezávislé na protokolu a implementaci, (jedním z protokolů komunikace je HTTP/HTTPS protokol) podporuje několik typů volání funkcí služeb, (kde klient posílá XML zprávu na server, nejznámější je implementované Remote Procedure Call (RPC), SOAP vychází ze staršího XML-RPC) definuje strukturu zprávy (obálka kolem hlavičky a těla). (pravděpodobně vychází ze staršího Web Distributed Data exchange (WDDX)) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

59 Struktura SOAP zprávy (diagram převzat z The Java EE 5 Tutorial ) zpráva = obálka s hlavičkami (nepovinné) a tělem + přílohy (nepovinné) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

60 Ukázka struktury SOAP zprávy v HTTP protokolu MIME-Version: 1.0 Content-Type: text/xml; charset=utf-8 Content-Transfer-Encoding: 8bit <?xml version="1.0" encoding="utf-8"?> <env:envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:header/> <env:body> <r:holidayrequest xmlns:r="http://mycompany.com/hr/schemas"> <r:holiday> <r:startdate> </r:startdate> <r:enddate> </r:enddate> </r:holiday> <r:employee> <r:number>42</r:number> <r:firstname>arjen</r:firstname> <r:lastname>poutsma</r:lastname> </r:employee> </r:holidayrequest> </env:body> </env:envelope> Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

61 Existuje mnoho scénářů volání služeb přes SOAP Fire-and-forget (one-way) (klient odešle požadavek na službu a déle se nečeká, nic nevrací) Request/Response (odešle požadavek a čeká na odpověd ) Request with acknowledgement (odešle požadavek a čeká na potvrzení příjmu) Remote Procedure Call (RPC) (odešle požadavek se serializovanými parametry volané procedůry a čeká na odpověd opět v podobě serializovaných návratových hodnot)... a další (vizte SOAP Version 1.2 Usage Scenarios ) Synchronní/asynchronní komunikace záleží na transportním protokolu. (např. HTTP(s) synchronní, umí odpovědi, např. narozdíl od ových zpráv) Samozřejmě je možno implemntovat asynchronicitu na úrovni služby. (požadavek pošle klient metodou fire-and-forget, ale přiloží v něm adresu vlastní služby, která je připravena přijmout odpověd ) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

62 Existuje mnoho scénářů volání služeb přes SOAP Fire-and-forget (one-way) (klient odešle požadavek na službu a déle se nečeká, nic nevrací) Request/Response (odešle požadavek a čeká na odpověd ) Request with acknowledgement (odešle požadavek a čeká na potvrzení příjmu) Remote Procedure Call (RPC) (odešle požadavek se serializovanými parametry volané procedůry a čeká na odpověd opět v podobě serializovaných návratových hodnot)... a další (vizte SOAP Version 1.2 Usage Scenarios ) Synchronní/asynchronní komunikace záleží na transportním protokolu. (např. HTTP(s) synchronní, umí odpovědi, např. narozdíl od ových zpráv) Samozřejmě je možno implemntovat asynchronicitu na úrovni služby. (požadavek pošle klient metodou fire-and-forget, ale přiloží v něm adresu vlastní služby, která je připravena přijmout odpověd ) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

63 Existuje mnoho scénářů volání služeb přes SOAP Fire-and-forget (one-way) (klient odešle požadavek na službu a déle se nečeká, nic nevrací) Request/Response (odešle požadavek a čeká na odpověd ) Request with acknowledgement (odešle požadavek a čeká na potvrzení příjmu) Remote Procedure Call (RPC) (odešle požadavek se serializovanými parametry volané procedůry a čeká na odpověd opět v podobě serializovaných návratových hodnot)... a další (vizte SOAP Version 1.2 Usage Scenarios ) Synchronní/asynchronní komunikace záleží na transportním protokolu. (např. HTTP(s) synchronní, umí odpovědi, např. narozdíl od ových zpráv) Samozřejmě je možno implemntovat asynchronicitu na úrovni služby. (požadavek pošle klient metodou fire-and-forget, ale přiloží v něm adresu vlastní služby, která je připravena přijmout odpověd ) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

64 Existuje mnoho scénářů volání služeb přes SOAP Fire-and-forget (one-way) (klient odešle požadavek na službu a déle se nečeká, nic nevrací) Request/Response (odešle požadavek a čeká na odpověd ) Request with acknowledgement (odešle požadavek a čeká na potvrzení příjmu) Remote Procedure Call (RPC) (odešle požadavek se serializovanými parametry volané procedůry a čeká na odpověd opět v podobě serializovaných návratových hodnot)... a další (vizte SOAP Version 1.2 Usage Scenarios ) Synchronní/asynchronní komunikace záleží na transportním protokolu. (např. HTTP(s) synchronní, umí odpovědi, např. narozdíl od ových zpráv) Samozřejmě je možno implemntovat asynchronicitu na úrovni služby. (požadavek pošle klient metodou fire-and-forget, ale přiloží v něm adresu vlastní služby, která je připravena přijmout odpověd ) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

65 Existuje mnoho scénářů volání služeb přes SOAP Fire-and-forget (one-way) (klient odešle požadavek na službu a déle se nečeká, nic nevrací) Request/Response (odešle požadavek a čeká na odpověd ) Request with acknowledgement (odešle požadavek a čeká na potvrzení příjmu) Remote Procedure Call (RPC) (odešle požadavek se serializovanými parametry volané procedůry a čeká na odpověd opět v podobě serializovaných návratových hodnot)... a další (vizte SOAP Version 1.2 Usage Scenarios ) Synchronní/asynchronní komunikace záleží na transportním protokolu. (např. HTTP(s) synchronní, umí odpovědi, např. narozdíl od ových zpráv) Samozřejmě je možno implemntovat asynchronicitu na úrovni služby. (požadavek pošle klient metodou fire-and-forget, ale přiloží v něm adresu vlastní služby, která je připravena přijmout odpověd ) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

66 Existuje mnoho scénářů volání služeb přes SOAP Fire-and-forget (one-way) (klient odešle požadavek na službu a déle se nečeká, nic nevrací) Request/Response (odešle požadavek a čeká na odpověd ) Request with acknowledgement (odešle požadavek a čeká na potvrzení příjmu) Remote Procedure Call (RPC) (odešle požadavek se serializovanými parametry volané procedůry a čeká na odpověd opět v podobě serializovaných návratových hodnot)... a další (vizte SOAP Version 1.2 Usage Scenarios ) Synchronní/asynchronní komunikace záleží na transportním protokolu. (např. HTTP(s) synchronní, umí odpovědi, např. narozdíl od ových zpráv) Samozřejmě je možno implemntovat asynchronicitu na úrovni služby. (požadavek pošle klient metodou fire-and-forget, ale přiloží v něm adresu vlastní služby, která je připravena přijmout odpověd ) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

67 Obsah Úvod k SOA a webovým službám Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE 1 Úvod k SOA a webovým službám 2 Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE 3 Representational State Transfer (REST) architektura Webové služby pomocí JAX-RS 4 Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

68 Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE pro realizaci XML webových služeb a jejich klientů v Java EE, (poskytovatelů a spotřebitelů služeb dle SOA) používá přenos XML zpráv SOAP protokolem přes HTTP, (přes knihovny SOAP with Attachments API for Java, SAAJ) podporuje různé modely komunikace 3 : (implicitně se použije Document/literal, nastavitelné pomocí anotace) 1 RPC/encoded (jednoduché WSDL s názvem operace a typy parametrů přímo ve zprávě) 2 RPC/literal (podobně jako předchozí, ale bez typů ve zprávě) 3 Document/encoded (nepoužívá se, není podporováno standardy organizace WS-I) 4 Document/literal nejčastěji používaný (WSDL popis obsahuje definici typů v XML Schema, lehce validovatelné) 3 http: //www.ibm.com/developerworks/webservices/library/ws-whichwsdl/ Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

69 Implementace JAX-WS Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE webové služby jsou definovány jako Java třídy s poskytovanými metodami označenými pomocí anotací, (automatický převod definice rozhraní třídy do popisu pomocí WSDL) spotřebitel vytvoří pomocí JAX-WS lokální proxy pro vzdálenou webovou službu a tu transparentně používá, (proxy má stejné rozhraní jako třída implementující webovou službu u poskytovatele, převod volání metod proxy na SOAP zprávy je automatický), respektuje nezávislost na platformě lze komunikovat s libovolně implementovanými službami. (tzn. se službami neimplementovanými v Javě, pomocí JAX-WS, apod.) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

70 Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE Technologie JAX-WS v Java EE podle [Jendrock et al., 2014] Marek Rychlý tenký/tlustý Webové služby klient v Java EE (JAX-WS) Java EE Přednáška aplikační pro PDI, 7. listopadu server 2014 databáze 31 / 51

71 Komunikace přes JAX-WS podle [Jendrock et al., 2014] Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE JAX-WS tvoří abstrakci nad SOAP komunikací webových služeb Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

72 Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE Implementace poskytovatele WS pomocí JAX-WS Použití webová služba je realizována jako rozhraní/třída s (service endpoint interface/service endpoint implementation (SEI)) implicitní je definice rozhraní služby společně s implementací (ve třídě), (přímo u implementace metod třídy pomocí parametr endpointinterface umožňuje oddělit definici rozhraní služby, (rozhraní musí rozšiřovat rozhraní Remote a označit metody třída implementující službu nesmí být final nebo abstract, musí mít implicitní bezparametrický konstruktor, (metody s obslouží vznik a zánik) metody rozhraní/třídy pro webovou službu musí být public a nesmí být static nebo final, typy parametrů a návratových hodnot metod rozhraní/třídy pro webovou službu jsou omezeny Java Architecture for XML Data Binding (JAXB), z třídy (tj. z implementace služby) lze generovat popis služby. (wsgen -d <output dir> -classpath <cp dir> <SEI class>) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

73 Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE Ukázka implementace poskytovatele v JAX-WS import public class math { private double memory = 0; private String ver = "Math Service = "getmemory") public double getmemory() { return this.memory; = public void = "newvalue") double newvalue) { this.memory = newvalue; = "addtomemory") public double = "addvalue") double addvalue) { return this.memory = this.memory + addvalue; = "getversion") public String getversion() { return this.ver; } } Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

74 Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE Zprovoznění poskytovatele WS pomocí JAX-WS Postup zprovoznění poskytovatele webové služby: 1 tvorba kódu třídy s implementací služby, 2 kompilace třídy s implementací služby, 3 použití nástroje wsgen pro generování popisu služby, 4 zabalení zkompilované implementace a popisu do WAR archivu, 5 umístění WAR archivu na aplikační server. (apl. server automaticky generuje popis služby vyžadovaný spotřebitelem) Většina aplikačních serverů umožňuje poskytuje pomocné akce: Tomcat informace o webové službě na adrese a WSDL popis na adrese SUN testování webové služby na adrese Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

75 Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE Implementace spotřebitele WS pomocí JAX-WS Použití klient deklaruje odkaz na webovou službu (parametr wsdllocation udává URI na WSDL odkazované služby) anotace se použije s deklarací proměnné zastupující objekt poskytovatele proxy, (proměnná se deklaruje jako static a bez přiřazení hodnoty, typ proměnné, tj. třída objektu, je třída implementující službu doplněná v názvu slovem Service ) objekt poskytovatele proxy se použije k získání proxy (portu služby), (metoda getnameport, kde slovo Name je název třídy implementující službu) proxy se používá jako klasický objekt třídy implementující službu. (práce s webovou službou zastupovanou proxy je plně transparentní, jako práce s lokálním objektem třídy implementující webovou službu) z WSDL lze generovat zdroje pro referenci služby v kódu klienta. (voláním wsimport -d <output dir> <WSDL file>) Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

76 Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE Ukázka implementace spotřebitele v JAX-WS import javax.xml.ws.webserviceref; import cz.vutbr.fit.rychly.wsdemo.service.mathservice; import cz.vutbr.fit.rychly.wsdemo.service.math; public class MathClient static MathService service; public static void main(string[] args) { try { (new MathClient).doTest(args); } catch(exception e) { e.printstacktrace(); } } public void dotest(string[] args) { try { System.out.println("retrieving the port from" + service); Math port = service.getmathport(); System.out.println("invoking the operation on the port"); Sestem.out.println(port.getMemory()); } catch(exception e) { e.printstacktrace(); } } } Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

77 Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE Zprovoznění spotřebitele WS pomocí JAX-WS Postup zprovoznění spotřebitele webové služby: 1 tvorba kódu tříd spotřebovávajících webovou službu, 2 použití nástroje wsimport s WSDL pro generování zdrojů, 3 kompilace tříd s spotřebovávajících webovou službu, 4 spuštění spotřebitele webové služby. Celý proces může být usnadněn vývojovým prostředím (IDE). Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

78 Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE Kombinace JAX-WS s doplňujícími technologiemi Speciální použití webových služeb: Streaming API for XML (StAX) postupné zpřístupnění XML dokumentu pomocí webové služby (toto není Document Object Model (DOM)), SOAP with Attachments API for Java (SAAJ) volání s přílohami. Autentizace a autorizace: anotace javax.annotation.security.rolesallowed umožňuje specifikovat role, které mohou přistupovat ke službě (SEI třídě) nebo jejím metodám, anotace javax.annotation.security.declareroles umožňuje nastavit role, ve kterých bude služba (SEI třída) vystupovat, (užitečné při (oboustranném) použití certifikátů) apl. server autentizuje uživatele a autorizuje je pro přístup k webovým komponentám s definovanými rolemi, (autentizační mechanismy Basic, Digest, Form, Client-Cert, a jiné) webová služba je webová komponenta, přístup k ní lze zabezpečit podobně jako např. k servletu. Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

79 Zabezpečení webové komponenty [Jendrock et al., 2014] Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

80 Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE Použití JAX-WS v aplikačním serveru Tomcat Nebudeme využívat zabudovaný apl. server v IDE, použijeme 4 1 Apache Tomcat 6.0 je Servlet-2.5/JSP-2.1 webový kontejner, (nepodporuje JavaBeans, jako např. Sun Java System Application Server), 2 stáhneme z a nainstalujeme, 3 přidáme účet správce serveru do tomcat-users.xml <?xml version= 1.0 encoding= utf-8?> <tomcat-users> <role rolename="manager"/> <role rolename="admin"/> <role rolename="host-manager"/> <user username="x" password="y" roles="admin,manager,host-manager"/> </tomcat-users> 4 spustíme a spravujeme webovým rozhraním na 4 nebo použijeme školní server pcuifs2 Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

81 Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE Podpora JAX-WS ve vývojovém prostředí NetBeans 1 v menu Tools: Servers přidáme server Tomcat příslušné verze, 2 založíme nový projekt typu Web Application, 3 v Project Properties: Run nastavíme server a cestu ke komponentě, 4 z kontextové nabídky projektu vybereme typ nové komponenty (viz vlevo), 5 po implementaci dáme Build a Deploy. Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

82 Poskytovatel webové služby pomocí JAX-WS Spotřebitel webové služby pomocí JAX-WS Použití JAX-WS v aplikačním serveru a podpora v IDE Konfigurace služby ve vývojovém prostředí NetBeans Marek Rychlý Webové služby v Java EE (JAX-WS) Přednáška pro PDI, 7. listopadu / 51

Úvod do Web Services

Úvod do Web Services Úvod do Web Services Základy webových služeb a jejich implementace na platformě OS/2 Jarda Kačer jarda@kacer.biz Český Warpstock 2008 Brno, 20.-21.9.2008 Co je to webová služba? Část business logiky přístupná

Více

InternetovéTechnologie

InternetovéTechnologie 9 InternetovéTechnologie webové služby, SOA, služby, atd. Ing. Michal Radecký, Ph.D. www.cs.vsb.cz/radecky Co je to webová služba - Webová služba je softwarový systém zkonstruovaný k podpoře interakce

Více

Česká správa sociálního zabezpečení

Česká správa sociálního zabezpečení Česká správa sociálního zabezpečení Provozní řád Informačního a komunikačního rozhraní České správy sociálního zabezpečení pro komunikaci se systémy třetích stran Verze schválena k 27. 1. 2015 Příloha

Více

Web Services na SOAP

Web Services na SOAP Web Services Používají HTTP Existují dvě varianty: Služby postavené na protokolu SOAP Java standard pro vytváření : JAX-WS RESTfull služby Java standard pro vytváření : JAX-RS Web Services na SOAP Žádost

Více

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011 Technologie Java Enterprise Edition Přemek Brada, KIV ZČU 8.6.2011 Přehled tématu Motivace a úvod Infrastruktura pro velké Java aplikace (Java základní přehled) Části třívrstvé struktury servlety, JSP

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

Systém elektronického rádce v životních situacích portálu www.senorady.cz

Systém elektronického rádce v životních situacích portálu www.senorady.cz Systém elektronického rádce v životních situacích portálu www.senorady.cz Obec Senorady Miroslav Patočka 2006 Obsah: 1. Úvodní informace 1.1 Informace pro uživatele 1.1.1 Přístupnost HTML, PDA, WAP, XML

Více

Webové služby. Martin Kuba Superpočítačové centrum Brno Masarykova univerzita

Webové služby. Martin Kuba Superpočítačové centrum Brno Masarykova univerzita Webové služby Martin Kuba Superpočítačové centrum Brno Masarykova univerzita Obsah definice webových služeb historický vývoj ze strany WWW SOAP webové služby XML, URI, XML Namespaces, XML Schema protokol

Více

10 Balíčky, grafické znázornění tříd, základy zapozdření

10 Balíčky, grafické znázornění tříd, základy zapozdření 10 Balíčky, grafické znázornění tříd, základy zapozdření Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům balíčkům, grafickému

Více

Komponenta Human Task v Oracle SOA Suite

Komponenta Human Task v Oracle SOA Suite Komponenta Human Task v Oracle SOA Suite Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Přednáška pro IOA 19. listopadu 2014 Marek Rychlý Komponenta

Více

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY Příloha č. 3 k č.j. MV-159754-3/VZ-2013 Počet listů: 7 TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY Nové funkcionality Czech POINT 2012 Popis rozhraní egon Service Bus Centrální Místo Služeb 2.0 (dále jen CMS

Více

Server-side technologie pro webové aplikace

Server-side technologie pro webové aplikace Server-side technologie pro webové aplikace PIA 2011/2012 Téma 6 Copyright 2006 Přemysl Brada, Západočeská univerzita Server-side scriptování Cíl dynamické generování webového obsahu/rozhraní integrace

Více

Základní zadání IS o ISVS. Sluţba poskytování dat IS o ISVS

Základní zadání IS o ISVS. Sluţba poskytování dat IS o ISVS Základní zadání IS o ISVS Sluţba poskytování dat IS o ISVS podle pokynů objednatele vypracovala společnost ASD Software, s.r.o. dokument ze dne 5.12.2012, verze 1.00 Sluţba poskytování dat IS o ISVS Počet

Více

PROPOJOVÁNÍ POČÍTAČOVÝCH APLIKACÍ

PROPOJOVÁNÍ POČÍTAČOVÝCH APLIKACÍ PROPOJOVÁNÍ POČÍTAČOVÝCH APLIKACÍ Renáta Bílková Ústav systémového inženýrství a informatiky, FES, Univerzita Pardubice Abstract The number of enterprice applications (e.g. information systems and other

Více

Seminář Java II p.1/43

Seminář Java II p.1/43 Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii

Více

Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP

Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP Elektronická pošta Schéma e-pošty odesilatel UA disk SMTP fronta dopisů disk MTA SMTP MTA adresát UA disk POP IMAP poštovní schránka disk MTA SMTP UA (User Agent) rozhraní pro uživatele MTA (Message Transfer

Více

Funkční specifikace ABOKWS. Aplikační rozhraní elektronického bankovnictví ABO-K. Verze 0.5

Funkční specifikace ABOKWS. Aplikační rozhraní elektronického bankovnictví ABO-K. Verze 0.5 Funkční specifikace ABOKWS Aplikační rozhraní elektronického bankovnictví ABO-K Verze 0.5 Přehled změn Verze Datum Změnil Popis 0.1 26.2.2013 MB Úvod, Osnova dokumentu, funkce ABOKWS 0.2 18.4.2014 MB Tabulky

Více

Nové vývojové nástroje i5/os Rational Developer for System i V7.1

Nové vývojové nástroje i5/os Rational Developer for System i V7.1 Nové vývojové nástroje i5/os Rational Developer for System i V7.1 Aleš Petr, IBM ČR Konference COMMON 18. 20. května 2008 ales_petr@cz.ibm.com Agenda Rational Application Developer for System i V7.1 Novinky

Více

1. Programování proti rozhraní

1. Programování proti rozhraní 1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní

Více

Specifikace rozhraní. Oznamovací povinnost podle zákona č. 307/2013 Sb., ve znění pozdějších předpisů. Martin Falc, SW architekt.

Specifikace rozhraní. Oznamovací povinnost podle zákona č. 307/2013 Sb., ve znění pozdějších předpisů. Martin Falc, SW architekt. C E R T I C O N www.certicon.cz V Á C L A V S K Á 1 2 1 2 0 0 0 P R A H A 2 Specifikace rozhraní Oznamovací povinnost podle zákona č. 307/2013 Sb., ve znění pozdějších předpisů Martin Falc, SW architekt

Více

Internet Information Services (IIS) 6.0

Internet Information Services (IIS) 6.0 Internet Information Services (IIS) 6.0 V operačním systému Windows Server 2003 je obsažena i služba IIS v 6.0. Služba IIS poskytuje jak www server tak i některé další služby (FTP, NNTP,...). Jedná se

Více

SCHÉMOVÉ JAZYKY. Přednáška z předmětu KMA/POK. Otakar ČERBA Západočeská univerzita v Plzni

SCHÉMOVÉ JAZYKY. Přednáška z předmětu KMA/POK. Otakar ČERBA Západočeská univerzita v Plzni SCHÉMOVÉ JAZYKY Přednáška z předmětu KMA/POK Otakar ČERBA Západočeská univerzita v Plzni Poslední aktualizace: 16. 10. 2010 Schémové jazyky Jazyky pro popis dokumentu XML schémata XML Schema Languages

Více

Bakalářská práce, FEL ČVUT Praha. Michal Turek. červenec 2007

Bakalářská práce, FEL ČVUT Praha. Michal Turek. červenec 2007 Bakalářská práce, FEL ČVUT Praha Vedoucí práce: Doc. Ing. Zdeněk Kouba, CSc. červenec 2007 1. Seznamte se s problematikou bezpečného zpřístupnění legacy datatabáze z Internetu za následujících omezujících

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda 1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

České vysoké učení technické v Praze Fakulta stavební Katedra mapování a kartografie

České vysoké učení technické v Praze Fakulta stavební Katedra mapování a kartografie České vysoké učení technické v Praze Fakulta stavební Katedra mapování a kartografie Doktorská disertační práce Využití webových služeb v Katastru nemovitostí 15. února 2008 Radek Chromý České vysoké učení

Více

Webové služby v knihovnictví

Webové služby v knihovnictví Webové služby v knihovnictví Vilém Jirouš * jirousv@fel.cvut.cz 1 Úvod Abstrakt: O technologii Webové služby (Web Sevices) je stále více slyšet. Jde o standardizaci prostředků využívání služeb internetu,

Více

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Bridge. Známý jako. Účel. Použitelnost. Handle/Body Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době

Více

Analýza a Návrh. Analýza

Analýza a Návrh. Analýza Analysis & Design Návrh nebo Design? Design = návrh Není vytváření použitelného uživatelského prostředí (pouze malinká podmnožina celého návrhu) Často takto omezeně chápáno studenty nedokáží si představit,

Více

7.5 Diagram tříd pokročilé techniky

7.5 Diagram tříd pokročilé techniky 7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem

Více

APLIKACE XML PRO INTERNET

APLIKACE XML PRO INTERNET APLIKACE XML PRO INTERNET Jaroslav Ráček Fakulta Informatiky, Masarykova Universita Brno Abstrakt Text je věnován možnostem využití XML technologie pro prezentaci dokumentů pomocí Internetu. V úvodu je

Více

Výčtový typ strana 67

Výčtový typ strana 67 Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce

Více

Základy XML struktura dokumentu (včetně testových otázek)

Základy XML struktura dokumentu (včetně testových otázek) Základy XML struktura dokumentu (včetně testových otázek) Otakar Čerba Oddělení geomatiky Katedra matematiky Fakulta aplikovaných věd Západočeská univerzita v Plzni Přednáška z předmětu Počítačová kartografie

Více

CineStar Černý Most Praha 31. 10. 2012

CineStar Černý Most Praha 31. 10. 2012 CineStar Černý Most Praha 31. 10. 2012 Stejná aplikace na více zařízeních Michael Juřek Microsoft s.r.o. Potřebné ingredience 1. Portable libraries 2. Návrhový vzor MVVM 3. XAML 4. Abstrakce platformy

Více

Tvorba webových služeb

Tvorba webových služeb KAPITOLA 32 Tvorba webových služeb Už léta bojují softwaroví vývojáři a architekti o vytvoření softwarových komponent, které by mohly být vzdáleně zavolány prostřednictvím lokální sítě a Internetu. Během

Více

Model ISO - OSI. 5 až 7 - uživatelská část, 1 až 3 - síťová část

Model ISO - OSI. 5 až 7 - uživatelská část, 1 až 3 - síťová část Zatímco první čtyři vrstvy jsou poměrně exaktně definovány, zbylé tři vrstvy nemusí být striktně použity tak, jak jsou definovány podle tohoto modelu. (Příkladem, kdy nejsou v modelu použity všechny vrstvy,

Více

Dominik Vymětal. Informační technologie pro praxi 2009, Ostrava 1.-2.10.2009 1

Dominik Vymětal. Informační technologie pro praxi 2009, Ostrava 1.-2.10.2009 1 Dominik Vymětal 2009, Ostrava 1.-2.10.2009 1 Procesní model Výhody Orientace na konkrétní činnosti a možnost reengineeringu Nevýhody Malá orientace na průřezové nebo opakované činnosti Modely na základě

Více

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP Počítačové sítě Lekce 4: Síťová architektura TCP/IP Co je TCP/IP? V úzkém slova smyslu je to sada protokolů používaných v počítačích sítích s počítači na bázi Unixu: TCP = Transmission Control Protocol

Více

KSRZIS. Postup kroků nutných pro napojení nemocničního informačního systému s registrem NSHNU v prostředí registrů resortu zdravotnictví

KSRZIS. Postup kroků nutných pro napojení nemocničního informačního systému s registrem NSHNU v prostředí registrů resortu zdravotnictví Koordinační středisko pro resortní zdravotnické informační systémy Budějovická 15/743 140 00 Praha 4 Počet stran: 10 KSRZIS Postup kroků nutných pro napojení nemocničního informačního systému s registrem

Více

Maturitní témata Školní rok: 2015/2016

Maturitní témata Školní rok: 2015/2016 Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní

Více

Max Homebanking PS uživatelský manuál rozhraní pro automatické stahování dat

Max Homebanking PS uživatelský manuál rozhraní pro automatické stahování dat Max Homebanking PS uživatelský manuál rozhraní pro automatické stahování dat Obsah 1 Úvod... 2 2 Nastavení přístupů k rozhraní... 2 2.1 Popis obrazovky... 2 2.1.1 Nastavení datových extraktů z banky...

Více

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1 Metodický list č. 1 Cíl: Cílem předmětu je získat přehled o možnostech a principech databázového zpracování, získat v tomto směru znalosti potřebné pro informačního manažera. Databázové systémy, databázové

Více

Softwarové architektury

Softwarové architektury od podnikových procesů k IT službám Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Přednáška pro SRI 15. října 2014 Marek Rychlý Softwarové architektury

Více

SSL Secure Sockets Layer

SSL Secure Sockets Layer SSL Secure Sockets Layer internetové aplikační protokoly jsou nezabezpečené SSL vkládá do architektury šifrující vrstvu aplikační (HTTP, IMAP,...) SSL transportní (TCP, UDP) síťová (IP) SSL poskytuje zabezpečenou

Více

Komunikační protokoly počítačů a počítačových sítí

Komunikační protokoly počítačů a počítačových sítí Komunikační protokoly počítačů a počítačových sítí Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1138_Komunikační protokoly počítačů a počítačových sítí_pwp Název školy: Číslo a název projektu:

Více

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP. Protokol TELNET Schéma funkčních modulů komunikace protokolem TELNET Telnet klient Telnet server login shell terminal driver Jádro TCP/IP TCP/IP Jádro Pseudo terminal driver Uživatel u terminálu TCP spojení

Více

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans. 1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými

Více

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39 Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy

Více

Principy UML. Clear View Training 2005 v2.2 1

Principy UML. Clear View Training 2005 v2.2 1 Principy UML Clear View Training 2005 v2.2 1 1.2 Co je touml? Unified Modelling Language (UML) je univerzálníjazyk pro vizuální modelování systémů Podporuje všechny životní cykly Mohou jej implementovat

Více

Ing. Jitka Dařbujanová. E-mail, SSL, News, elektronické konference

Ing. Jitka Dařbujanová. E-mail, SSL, News, elektronické konference Ing. Jitka Dařbujanová E-mail, SSL, News, elektronické konference Elementární služba s dlouhou historií Původně určena pro přenášení pouze textových ASCII zpráv poté rozšíření MIME Pro příjem pošty potřebujete

Více

Ukládání a vyhledávání XML dat

Ukládání a vyhledávání XML dat XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2014/12/04 19:41:24 $ Obsah Ukládání XML dokumentů... 3 Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Instalace produktu Ontopia. ver. 5.0.2 (open-source verze)

Instalace produktu Ontopia. ver. 5.0.2 (open-source verze) Instalace produktu Ontopia ver. 5.0.2 (open-source verze) Martina Husáková 1.2.2010 PÁR SLOV ÚVODEM Produkt společnosti Bouvet Ontopia (dříve Ontopia Knowledge Suite OKS) je jedním z nejpoužívanějších

Více

EXTRAKT z mezinárodní normy

EXTRAKT z mezinárodní normy EXTRAKT z mezinárodní normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním materiálem o normě ICS 03.220.01;35.240.60 Inteligentní dopravní systémy (ITS) Elektronická výměna informací

Více

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka Metody tvorby ontologií a sémantický web Martin Malčík, Rostislav Miarka Obsah Reprezentace znalostí Ontologie a sémantický web Tvorba ontologií Hierarchie znalostí (D.R.Tobin) Data jakékoliv znakové řetězce

Více

7. Datové typy v Javě

7. Datové typy v Javě 7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů

Více

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb: Technologie Marushka Základním konceptem technologie Marushka je použití jádra, které poskytuje přístup a jednotnou grafickou prezentaci geografických dat. Jádro je vyvíjeno na komponentním objektovém

Více

Využití JBoss Fuse ve skandinávské energetice

Využití JBoss Fuse ve skandinávské energetice Využití JBoss Fuse ve skandinávské energetice 27.3.2015 Miloš Zubal Představení Miloš Zubal SW Architekt Integrační projekty v energetice Java, Spring, Camel, Fabric8, ElasticSearch cz.linkedin.com/in/miloszubal

Více

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky UPS. FTP Klient. A05463 fboranek@atlas.

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky UPS. FTP Klient. A05463 fboranek@atlas. Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky UPS FTP Klient Plzeň, 2007 František Bořánek A05463 fboranek@atlas.cz Obsah 1 Úvod......2 2 Zadaní......2

Více

Užitečné odkazy: http://en.wikipedia.org/wiki/list_of_http_status_codes

Užitečné odkazy: http://en.wikipedia.org/wiki/list_of_http_status_codes Užitečné odkazy: http://en.wikipedia.org/wiki/list_of_http_status_codes Metoda PUT protokolu HTTP slouží k dotazu na možnou komunikaci se serverem na konkrétní URL analýze způsobu připojení zjištění typu

Více

Představuje. Technický Informační Systém nové generace

Představuje. Technický Informační Systém nové generace Představuje Technický Informační Systém nové generace Nový náhled na položky Sjednocení typů položek - položky nejsou striktně dělené na vyráběné a nakupované. Do tohoto typu je zahrnuté i nakupované a

Více

Design Patterns. Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz

Design Patterns. Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz Design Patterns Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz Základní návrhové vzory Kategorie Creational Patterns starají se o vytváření instancí Structural Patterns struktura komponent v

Více

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni Webové aplikace Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni Harmonogram Dopolední blok 9:00 12:30 Ing. Dostal Úvod, XHTML + CSS Ing. Brada,

Více

JIHOMORAVSKÝ KRAJ Žerotínovo nám. 3/5, 601 82 Brno

JIHOMORAVSKÝ KRAJ Žerotínovo nám. 3/5, 601 82 Brno JIHOMORAVSKÝ KRAJ Žerotínovo nám. 3/5, 601 82 Brno Váš dopis zn.: Ze dne: Č. j.: JMK 137295/2014 Sp. zn.: S-JMK Vyřizuje: Megová Telefon: 541 651 338 Počet listů: 6 Počet příloh/listů : 0/0 Datum: 4. 12.

Více

TRANSPORTY výbušnin (TranV)

TRANSPORTY výbušnin (TranV) TRANSPORTY výbušnin (TranV) Ze zákona vyplývá povinnost sledování přeprav výbušnin. Předpokladem zajištění provázanosti polohy vozidel v čase a PČR je poskytování polohy vozidla předepsaným způsobem. Komunikace

Více

Úvod - Podniková informační bezpečnost PS1-2

Úvod - Podniková informační bezpečnost PS1-2 VŠFS; Aplikovaná informatika - 2006/2007 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Úvod - Podniková informační bezpečnost PS1-2 VŠFS; Aplikovaná informatika - 2006/2007 2 Literatura Kovacich G.L.:

Více

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů. Trendy a móda EMBARCADERO TECHNOLOGIES Popularita a prodej mobilních zařízení roste Skoro každý má

Více

Vývoj Internetových Aplikací

Vývoj Internetových Aplikací 2 Vývoj Internetových Aplikací HTML a CSS Ing. Michal Radecký, Ph.D. www.cs.vsb.cz/radecky HTML a CSS - Tvorba webových stránek - Struktura - Obsah - Vzhled - Funkcionalita zdroj: http://www.99points.info

Více

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat. Počítačové sítě Počítačová síť je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat. Základní prvky sítě Počítače se síťovým adaptérem pracovní

Více

Národní elektronický nástroj. Technická specifikace rozhraní pro IEN

Národní elektronický nástroj. Technická specifikace rozhraní pro IEN Národní elektronický nástroj Technická specifikace rozhraní pro IEN V 1.1 1.10.2014 Verze dokumentu Verze Datum Popis 1.0 10.3.2014 Vytvoření dokumentu 1..10.2014 Gramatická korektura Tabulka 1 Historie

Více

7.3 Diagramy tříd - základy

7.3 Diagramy tříd - základy 7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

Více

Úvod do informačních služeb Internetu

Úvod do informačních služeb Internetu Úvod do informačních služeb Internetu Rozdělení počítačových sítí Počítačové sítě se obecně rozdělují do základních typů podle toho, na jak velkém území spojují počítače a jaké spojovací prostředky k tomu

Více

Příklad buňka tabulky

Příklad buňka tabulky Realizováno za finanční podpory ESF a státního rozpočtu ČR v rámci v projektu Zkvalitnění a rozšíření možností studia na TUL pro studenty se SVP reg. č. CZ.1.07/2.2.00/29.0011 Pojmenované šablony Pojmenované

Více

Použití databází na Webu

Použití databází na Webu 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové

Více

ČSOB BusinessBanking implementační příručka pro automatické stahování dat

ČSOB BusinessBanking implementační příručka pro automatické stahování dat ČSOB BusinessBanking implementační příručka pro automatické stahování dat Obsah Úvod... 2 1 Datové rozhraní... 3 1.1 Technické požadavky... 3 1.2 WSDL... 3 1.3 Popis... 3 1.3.1 Parametr APPID... 3 1.3.2

Více

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Vývoj SW pro mobilní zařízení s ios Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Perspektiva 3 roky zkušeností s vývojem aplikací pro ios 1 rok vývoj pro Android desítky aplikací Obsah

Více

Vzdálený přístup k počítačům

Vzdálený přístup k počítačům Vzdálený přístup k počítačům jedna z nejstarších služeb vzdálený přístup k sálovým počítačům nejprve vzdálené terminály později terminálová emulace jako jedna ze služeb počítačové sítě současnost využíváno

Více

SOAP komunikace obchodníka se systémem Operátora trhu s elektřinou, a.s.

SOAP komunikace obchodníka se systémem Operátora trhu s elektřinou, a.s. SOAP komunikace obchodníka se systémem Operátora trhu s elektřinou, a.s. DELTAX Systems a.s. Obchod s elektřinou zaznamenal v posledních několika létech velmi dynamický rozvoj, a to zejména v důsledku

Více

Osnova dnešní přednášky

Osnova dnešní přednášky Osnova dnešní přednášky Pracovní skupina x doména Active Directory Něco z historie Použité technologie Pojmy Instalace Active Directory DNS DNS v Active Directory Pracovní skupina x doména Pracovní skupina

Více

Srovnání implementační náročnosti a výkonu webových služeb v.net Framework a J2EE. Bc. Petr Altmann

Srovnání implementační náročnosti a výkonu webových služeb v.net Framework a J2EE. Bc. Petr Altmann Srovnání implementační náročnosti a výkonu webových služeb v.net Framework a J2EE Bc. Petr Altmann Diplomová práce 2006 ABSTRAKT Tato diplomová práce zkoumá možnosti vývoje webových služeb a snaží se

Více

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly. 7. Aplikační vrstva Studijní cíl Představíme si funkci aplikační vrstvy a jednotlivé protokoly. Doba nutná k nastudování 2 hodiny Aplikační vrstva Účelem aplikační vrstvy je poskytnout aplikačním procesům

Více

XML terminologie a charakteristiky. Roman Malo

XML terminologie a charakteristiky. Roman Malo XML terminologie a charakteristiky Roman Malo XML extensible Markup Language (rozšiřitelný značkovací jazyk) Verze 1.0, 1.1 http://www.w3.org/xml Rozdíly v podpoře různých znakových sad a práci s řídícími

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 21. Otázka : Softwarový process. Jeho definice, modely a vyspělostní úrovně. Standardizovaný přístup pomocí RUP (Rational Unified Process). Obsah :

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

Principy fungování WWW serverů a browserů. Internetové publikování

Principy fungování WWW serverů a browserů. Internetové publikování Principy fungování WWW serverů a browserů Internetové publikování Historie WWW 50. léta Douglas Engelbert provázané dokumenty 1980 Ted Nelson projekt Xanadu 1989 CERN Ženeva - Tim Berners-Lee Program pro

Více

13. blok Práce s XML dokumenty v databázi Oracle

13. blok Práce s XML dokumenty v databázi Oracle 13. blok Práce s XML dokumenty v databázi Oracle Studijní cíl Tento blok je věnován práci s XML dokumenty, možnostmi jejich uložení a práce s nimi v databázi Oracle a datovému typu XMLType. Doba nutná

Více

Chybová hlášení METODIKA MET-01/2014. SZR-56-1/OPICT-2013 počet stran 28 přílohy 0. Nahrazuje:

Chybová hlášení METODIKA MET-01/2014. SZR-56-1/OPICT-2013 počet stran 28 přílohy 0. Nahrazuje: MET-01/2014 METODIKA SZR-56-1/OPICT-2013 počet stran 28 přílohy 0 Chybová hlášení Gestor, podpis: Ing. Radovan Pártl Zpracovatel, podpis: RNDr. Miroslav Šejdl Odborný garant, podpis: RNDr. Miroslav Šejdl

Více

Úvod do CORBY. Svetlozara Arabadzhieva 6.12.2006

Úvod do CORBY. Svetlozara Arabadzhieva 6.12.2006 Úvod do CORBY Svetlozara Arabadzhieva 6.12.2006 6.12.2006 Co je to CORBA? Common Object Request Broker Architecture Definice: Jazykov ě nezávislý objektový model a specifikace vývojového prostředí pro

Více

Abstraktní datové typy: zásobník

Abstraktní datové typy: zásobník Abstraktní datové typy: zásobník doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Abstraktní datové typy omezené rozhraní

Více

IT v průmyslu. Standardizované komunikační rozhraní mezi MES systémem a jeho okolím. 21.4.15 Leoš Hons Leo.Hons@mescentrum.cz

IT v průmyslu. Standardizované komunikační rozhraní mezi MES systémem a jeho okolím. 21.4.15 Leoš Hons Leo.Hons@mescentrum.cz IT v průmyslu Standardizované komunikační rozhraní mezi MES systémem a jeho okolím Základní informace o MES Centrum Založeno v roce 2012 Organizace nebo spoluúčast na organizaci 15 odborných akcí (semináře,

Více

HTML Hypertext Markup Language

HTML Hypertext Markup Language HTML Hypertext Markup Language je jazyk určený na publikování a distribuci dokumentů na Webu velmi jednoduchý jazyk používá ho mnoho uživatelů má výkonné prostředky (příkazy) k formátování dokumentů (různé

Více

Vazba (volná, těsná) - míra znalosti jedné třídy*komponenty o druhé.

Vazba (volná, těsná) - míra znalosti jedné třídy*komponenty o druhé. Návrhové vzory. Komponentový návrh, volná vazba versus těsná vazba. Oddělení politiky od mechanismu. Návrh distribuovaných systémů s použitím webových služeb a servisně orientované architektury (SOA).

Více

Integrovaný informační systém Státní pokladny (IISSP) Dokumentace API - integrační dokumentace

Integrovaný informační systém Státní pokladny (IISSP) Dokumentace API - integrační dokumentace Česká republika Vlastník: Logica Czech Republic s.r.o. Page 1 of 10 Česká republika Obsah 1. Úvod...3 2. Východiska a postupy...4 2.1 Způsob dešifrování a ověření sady přístupových údajů...4 2.2 Způsob

Více

ROZDÍLY V NÁVRZÍCH RELAČNÍCH A OBJEKTOVÝCH DATABÁZÍ A JEJICH DŮSLEDKY PRO TRANSFORMACI MODELŮ

ROZDÍLY V NÁVRZÍCH RELAČNÍCH A OBJEKTOVÝCH DATABÁZÍ A JEJICH DŮSLEDKY PRO TRANSFORMACI MODELŮ ROZDÍLY V NÁVRZÍCH RELAČNÍCH A OBJEKTOVÝCH DATABÁZÍ A JEJICH DŮSLEDKY PRO TRANSFORMACI MODELŮ RELATIONAL AND OBJECT DATABASES DESIGN DIFFERENCES AND IT S IMPLICATIONS TO MODEL TRANSFORMATION Vít Holub

Více

EXTRAKT z české technické normy

EXTRAKT z české technické normy EXTRAKT z české technické normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním 03.220.01, 35.240.60 materiálem o normě. Dopravní a cestovní informace (TTI) TTI ČSN P CEN předávané

Více

Nasazení webových služeb do enterprise prostředí. Petr Steckovič

Nasazení webových služeb do enterprise prostředí. Petr Steckovič Nasazení webových služeb do enterprise prostředí Petr Steckovič 1 Webové služby Stabilní standard pro integraci systémů Platformě nezávislé Jednoduché kvalitní implementace napříč programovacími jazyky

Více