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

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

Servisně orientovaná architektura a její aplikace v systémech sledování a řízení výroby

Servisně orientovaná architektura a její aplikace v systémech sledování a řízení výroby Servisně orientovaná architektura a její aplikace v systémech sledování a řízení výroby Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů VII. ročník

Více

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML Obsah přednášky Webové služby a XML Miroslav Beneš Co jsou to webové služby Architektura webových služeb SOAP SOAP a Java SOAP a PHP SOAP a C# Webové služby a XML 2 Co jsou to webové služby rozhraní k

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

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

UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/

UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/ UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok

Více

POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE

POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE INTERPI Interoperabilita v paměťových institucích Program aplikovaného výzkumu a vývoje národní kulturní identity (NAKI) (DF11P01OVV023) Zpracovali: Marie

Více

Webové služby. Martin Sochor

Webové služby. Martin Sochor Webové služby Martin Sochor Webové služby způsob komunikace dvou aplikací přes Web binární zprávy (CORBA) blokovány proxy servery a firewally masivní využití XML protokol SOAP + jazyk pro popis služeb

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

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

Pokročilé Webové služby a Caché security. Š. Havlíček

Pokročilé Webové služby a Caché security. Š. Havlíček Pokročilé Webové služby a Caché security Š. Havlíček Webové služby co se tím míní? Webová služba metoda komunikace mezi dvěma elektronickými zařízeními přes internet Typicky jsou pomocí rozhraní přístupné

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

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

Komponentní technologie

Komponentní technologie Komponentní technologie 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 Obsah Motivace Aplikace v IT Vývoj přístupů

Více

l Kontakt s klientem SSP Popis automatizované komunikace s ÚP ČR v součinnosti a exekuci

l Kontakt s klientem SSP Popis automatizované komunikace s ÚP ČR v součinnosti a exekuci l Kontakt s klientem SSP automatizované komunikace s ÚP ČR v součinnosti a exekuci Obsah: 1. SEZNAM POUŽITÝCH ZKRATEK... 3 2. POPIS SLUŽBY... 4 2.1 Forma a struktura rozhraní... 4 2.2 Dostupnost služby...

Více

Java a XML. 10/26/09 1/7 Java a XML

Java a XML. 10/26/09 1/7 Java a XML Java a XML Java i XML jsou přenositelné V javě existuje podpora pro práci s XML, nejčastější akce prováděné při zpracování XML: načítání XML elementů generování nových elementů nebo úprava starého zápis

Více

Testování SOA systémů v Oracle SOA Suite

Testování SOA systémů v Oracle SOA Suite Testování SOA systémů 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 3. prosince 2014 Marek Rychlý Testování

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

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

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

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

(Enterprise) JavaBeans. Lekce 7

(Enterprise) JavaBeans. Lekce 7 (Enterprise) JavaBeans Lekce 7 JavaBeans vs. Enterprise JavaBeans (EJB) JavaBeans technologie: jedná se o tzv. komponentní architekturu určenou pro JSE platformu určená pro tvorbu JSE GUI programů pomocí

Více

11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9 Obsah přednášky 9 Základy programování (IZAPR, IZKPR) Přednáška 9 Základy dědičnosti, přístupová práva Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií

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

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

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz Platformy / technologie Jaroslav Žáček jaroslav.zacek@osu.cz Které platformy / technologie znáte Java Java Java EE 5 Java EE 6 Pruning, Extensibility Ease of Dev, CDI, JAX-RS Java EE 7! JMS 2, Batch, Concurrency,

Více

Fakulta elektrotechnická

Fakulta elektrotechnická České vysoké učení technické v Praze Fakulta elektrotechnická ČVUT FEL katedra počítačů Bakalářská práce Databáze pacientů Zdeněk Křepela Vedoucí práce: Ing. Zdeněk Troníček, Ph.D. Studijní program: Elektrotechnika

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

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

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

Co je to Grid. Martin Kuba Superpočítačové Centrum Brno. 22.2.2005 Seminář CESNET, Třešť

Co je to Grid. Martin Kuba <makub@ics.muni.cz> Superpočítačové Centrum Brno. 22.2.2005 Seminář CESNET, Třešť Co je to Grid Martin Kuba Superpočítačové Centrum Brno Obsah prezentace grid gridové služby semantický grid Computational grid lze přeložit jako výpočetní rozvodná soustava analogie

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

Jini (pronounced GEE-nee) Cvičení 8 - DS 2006

Jini (pronounced GEE-nee) Cvičení 8 - DS 2006 Jini (pronounced GEE-nee) Cvičení 8 - DS 2006 Úvod JINI (pronounced GEE-nee; loosely derived from the Arabic for magician) Systém pro vyhledávání (lookup) a objevování (discovery) objektů v síti Zcela

Více

KIV/PIA 2013 Jan Tichava

KIV/PIA 2013 Jan Tichava KIV/PIA 2013 Jan Tichava Java EE JSF, PrimeFaces Spring JPA, EclipseLink Java Platform, Enterprise Edition Persistence Zobrazovací vrstva Interakce aplikací Deployment Java Persistence API Enterprise

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

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Semináˇr Java X J2EE Semináˇr Java X p.1/23 Seminář Java X J2EE Seminář Java X p.1/23 J2EE Složitost obchodních aplikací robusní, distribuované, spolehlivé aplikace s transakcemi na straně serveru, klientské aplikace co nejjednodušší Snaha : Návrh,

Více

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu Servlety a JSP Petr Adámek, petr.adamek@ibacz.eu Úvod Rekapitulace vstupních znalostí Standardy Nástroje (Běhové prostředí, nástroje pro vývoj) Servlety JSP JSP značky EL (Expression Language) Internacionalizace

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

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

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

NOVINKY V JEE EJB 3.1. Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze

NOVINKY V JEE EJB 3.1. Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze NOVINKY V JEE EJB 3.1 Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze PROGRAM Seznámení s Java Enterprise Edition (JEE) Enterprise Java Beans (EJB) Novinky v EJB 3.1 2 JAVA EDITIONS Java

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

Vývoj multiplatformní aplikace v Qt

Vývoj multiplatformní aplikace v Qt Vývoj multiplatformní aplikace v Qt z pohledu vývoje Datovky Karel Slaný karel.slany@nic.cz 13. 11. 2015 Obsah Co je Qt Nástroje Qt Koncepty Qt Problémy při vývoji Datovky Balíčkování aplikace Datovka

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

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

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

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

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

Vývoj Internetových Aplikací

Vývoj Internetových Aplikací 9 Vývoj Internetových Aplikací Webová API Ing. Jan Janoušek API - Application Programming Interface - Definuje způsob interakce mezi: - Softwarovými komponentami Interface - Software a hardware OpenGL

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

Programování v Javě I. Leden 2008

Programování v Javě I. Leden 2008 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

Unifikovaný modelovací jazyk UML

Unifikovaný modelovací jazyk UML Unifikovaný modelovací jazyk UML Karel Richta katedra počíta tačů FEL ČVUT Praha richta@fel fel.cvut.czcz Motto: Komunikačním m prostředkem informační komunity se postupem času stala angličtina. Chcete-li

Více

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: Aplikace Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: prezentační vrstva vstup dat, zobrazení výsledků, uživatelské rozhraní, logika uživatelského rozhraní aplikační vrstva

Více

Teoretické minimum z PJV

Teoretické minimum z PJV Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov

Více

Microsoft Office 2003 Souhrnný technický dokument white paper

Microsoft Office 2003 Souhrnný technický dokument white paper Microsoft Office 2003 Souhrnný technický dokument white paper Přehled inteligentních klientských aplikací založených na sadě Microsoft Office 2003 System Publikováno: Duben 2003 Shrnutí: Inteligentní klienti

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

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

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

7 Jazyk UML (Unified Modeling Language)

7 Jazyk UML (Unified Modeling Language) 7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující

Více

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT Dnešní téma Oblasti standardizace v ICT Případové studie standardizace v ICT: 1) Znakové sady 2) Jazyk 1. technická infrastruktura transfer a komunikace informací, přístup k informacím, sdílení zdrojů

Více

Nové jazykové brány do Caché. Daniel Kutáč

Nové jazykové brány do Caché. Daniel Kutáč Nové jazykové brány do Caché Daniel Kutáč O čem budeme mluvit.net T/SQL Perl Python MultiValue Basic Téma.NET provider .NET Provider Co lze již dnes Factory / VisM ODBC.NET Web Services Factory a VisM

Více

SPRÁVA ZÁKLADNÍCH REGISTRŮ PODMÍNKY PRO PŘIPOJENÍ AGENDOVÝCH INFORMAČNÍCH SYSTÉMŮ DO ISZR. verze 2.00

SPRÁVA ZÁKLADNÍCH REGISTRŮ PODMÍNKY PRO PŘIPOJENÍ AGENDOVÝCH INFORMAČNÍCH SYSTÉMŮ DO ISZR. verze 2.00 SPRÁVA ZÁKLADNÍCH REGISTRŮ PODMÍNKY PRO PŘIPOJENÍ ORGANIZAČNÍ SLOŽKA STÁTU AGENDOVÝCH INFORMAČNÍCH SYSTÉMŮ DO ISZR VÝROČNÍ ZPRÁVA verze 2.00 ZA ROK 2010 Na Vápence 14 1 www.szrcr.cz OBSAH 1. Úvod... 8

Více

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL SYSTEM FOR CONFIGURATION OF COMMUNICATION TERMINALS AND VISUALIZATION OF STATE INFORMATION FROM RAIL VEHICLES

Více

Programování v Javě I. Únor 2009

Programování v Javě I. Únor 2009 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

PŘÍLOHA C Požadavky na Dokumentaci

PŘÍLOHA C Požadavky na Dokumentaci PŘÍLOHA C Požadavky na Dokumentaci Příloha C Požadavky na Dokumentaci Stránka 1 z 5 1. Obecné požadavky Dodavatel dokumentaci zpracuje a bude dokumentaci v celém rozsahu průběžně aktualizovat při každé

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

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty

Více

Rozhraní pro práci s XML dokumenty. Roman Malo

Rozhraní pro práci s XML dokumenty. Roman Malo Rozhraní pro práci s XML dokumenty Roman Malo Práce s XML dokumenty Datově a dokumentově orientované XML dokumenty Problém preference elementů a atributů Strom elementů Strom uzlů Základní zpracování dokumentů

Více

Alena Malovaná, MAL305

Alena Malovaná, MAL305 Alena Malovaná, MAL305 GML WFS WMF Geografický značkovací jazyk (Geographic Markup Language - GML) Jedná se o velmi rozšířený standard pro popis geodat umožňující sdílení i integraci dat. Jeho základem

Více

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití:

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití: Architektura webové aplikace, funkce jednotlivých vrstev, životní cyklus standardizovaných komponent Java EE, Servlety, JSP, frameworky, návrhové vzory 1. Distribuce Javy Distribuce Javy se liší podle

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

Remote Method Invocation RMI

Remote Method Invocation RMI Remote Method Invocation RMI Java TM Remote Method Invocation (RMI) umožňuje objektu na jedné Java Virtual Mashine(JVM) jednoduše spustit metodu jiného objektu na vzdálené JVM. Při volání vzdálené metody

Více

Generické programování

Generické programování Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =

Více

XML a nové trendy v publikování na Webu

XML a nové trendy v publikování na Webu 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/05/13 17:56:13 $ Obsah Úvod... 3 Nové požadavky na web... 4 XML a podpora různých koncových zařízení... 5 Problém...

Více

Vytváření a použití knihoven tříd

Vytváření a použití knihoven tříd Vytváření a použití knihoven tříd 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 Prostory jmen motivace spolupráce

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

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

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

Č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

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

SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ

SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ Vstupy a výstupy pokračování Kódování textů Texty (řetězce nebo znaky) v jazyce C# jsou v paměti uloženy v kódování označovaném běžně Unicode (kódová stránka 1200).

Více

Architektura aplikace

Architektura aplikace Architektura aplikace MARBES-JIRA plugin Tým: GRSS Členové: František Schneider Jaroslav Ráb Lukáš Gemela Jaromír Staněk Upravil Verze dokumentu Datum F. Schneider 1.0 25.3.2012 F. Schneider 2.0 25.4.2012

Více

Dědění, polymorfismus

Dědění, polymorfismus Programování v jazyce C/C++ Ladislav Vagner úprava Pavel Strnad Dědění. Polymorfismus. Dnešní přednáška Statická a dynamická vazba. Vnitřní reprezentace. VMT tabulka virtuálních metod. Časté chyby. Minulá

Více

Testovací metoda. Testovací metoda. public class SimpleTest {

Testovací metoda. Testovací metoda. public class SimpleTest { Testování TestNG public class SimpleTest { @BeforeClass public void setup() { // code that will be invoked // when this test is instantiated @Test public void afasttest() { System.out.println("Fast test");

Více

Web Services. Martin Kuba makub@ics.muni.cz Superpočítačové Centrum Brno, Masarykova Univerzita. 15.10.2006 Web Services, DATAKON 2006 1

Web Services. Martin Kuba makub@ics.muni.cz Superpočítačové Centrum Brno, Masarykova Univerzita. 15.10.2006 Web Services, DATAKON 2006 1 Web Services Martin Kuba makub@ics.muni.cz Superpočítačové Centrum Brno, Masarykova Univerzita 15.10.2006 Web Services, DATAKON 2006 1 Obsah definice webových služeb historický vývoj ze strany WWW pozadí

Více

Centrální autentizační webový informační systém

Centrální autentizační webový informační systém Centrální autentizační webový informační systém Vypracoval : Jaromír Koníček Datum vypracování: 24..2006 Case nástroj: Enterprise Architekt v. 4.50 Obsah. Úvod... 3.. Použité terminologie... 3 2. Popis

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

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

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

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

Třídy. Instance. Pokud tento program spustíme, vypíše následující. car1 má barvu Red. car2 má barvu Red. car1 má barvu Blue.

Třídy. Instance. Pokud tento program spustíme, vypíše následující. car1 má barvu Red. car2 má barvu Red. car1 má barvu Blue. 23. Třídy, generické třídy, instance, skládání, statické metody a proměnné. Zapouzdření, konstruktory, konzistence objektu, zpřístupnění vnitřní implementace, modifikátory public a private. Polymorfismus,

Více

Architektury Informačních systémů. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Architektury Informačních systémů. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Architektury Informačních systémů Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nutné pojmy Co je to informační systém? Jaké oblasti zahrnuje? Jaká je vazba IS na podnikovou strategii?

Více

Univerzita Pardubice Fakulta elektrotechniky a informatiky. Transport konfiguračních dat pomocí webových služeb. Lubomír Mokrý

Univerzita Pardubice Fakulta elektrotechniky a informatiky. Transport konfiguračních dat pomocí webových služeb. Lubomír Mokrý Univerzita Pardubice Fakulta elektrotechniky a informatiky Transport konfiguračních dat pomocí webových služeb Lubomír Mokrý Bakalářská práce 2008 Poděkování: Tímto bych chtěl poděkovat vedoucímu mé

Více

1. Dědičnost a polymorfismus

1. Dědičnost a polymorfismus 1. Dědičnost a polymorfismus Cíl látky Cílem této kapitoly je představit klíčové pojmy dědičnosti a polymorfismu. Předtím však je nutné se seznámit se základními pojmy zobecnění neboli generalizace. Komentář

Více

Architektura protokolů

Architektura protokolů Architektura protokolů KIV/PD Přenos dat Martin Šimek O čem přednáška je? 2 co se rozumí architekturou protokolů? protokol a složky protokolu encapsulace protokolových složek ISO OSI RM Co se rozumí architekturou

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