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=" xmlns:my=" targetnamespace=" 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=" xmlns:my=" targetnamespace=" 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=" xmlns:my=" targetnamespace=" 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=" xmlns:my=" targetnamespace=" 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=" xmlns:my=" targetnamespace=" 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=" <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=" <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=" <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=" xmlns:soap=" xmlns:schema=" xmlns:tns=" targetnamespace=" <wsdl:types> <xsd:schema xmlns:xsd=" <xsd:import namespace=" 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=" <wsdl:operation name="holiday"> <soap:operation soapaction=" <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=" </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=" <env:header/> <env:body> <r:holidayrequest xmlns:r=" <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: // 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 setmemory(@webparam(name = "newvalue") double newvalue) { this.memory = newvalue; = "addtomemory") public double addtomemory(@webparam(name = "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

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

Webové služby v Java EE (JAX-WS) 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 29. listopadu 2007 Marek Rychlý Webové služby v

Více

Životní cyklus služby v SOA a popis webových služeb

Životní cyklus služby v SOA a popis webových služeb a popis webových služeb Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Přednáška pro IOA 1. října 2014 Marek Rychlý Životní cyklus služby v SOA a

Více

Ú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

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services 13. Webové služby. K čemu slouží? Popis a vyhledávání služeb. Co je a k čemu slouží orchestrace a choreografie služeb. Technologie pro implementaci služeb 1. Webové služby. K čemu slouží? Definice WS -

Více

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o. X33EJA Web Services Martin Ptáček, KOMIX s.r.o. ptacek@komix.cz Copyright 2007 KOMIX Copyright s.r.o. 2007 KOMIX s.r.o. 1. Obsah Historie Co jsou Web Services? Co je to SOA? JAX-WS (Java API for XML Web

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

Architektura orientovaná na služby Návrh orientovaný na služby. Ing. Petr Weiss. VUT v Brně,, FIT, UIFS

Architektura orientovaná na služby Návrh orientovaný na služby. Ing. Petr Weiss. VUT v Brně,, FIT, UIFS Architektura orientovaná na služby Návrh orientovaný na služby Webové služby Ing. Petr Weiss VUT v Brně,, FIT, UIFS 3. 12. 2007 Obsah Architektura orientovaná na služby Základní pojmy Koncepce architektury

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

Michal Krátký, Miroslav Beneš

Michal Krátký, Miroslav Beneš Tvorba informačních systémů 1/20 Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009 Tvorba informačních

Více

Tvorba informačních systémů

Tvorba informačních systémů 9. Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2007/2008 c 2006-2008 Michal Krátký, Miroslav Beneš Tvorba

Více

Softwarové komponenty a Internet

Softwarové komponenty a Internet Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava Miroslav.Benes@vsb.cz Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty

Více

Metody integrace aplikací

Metody integrace aplikací Metody integrace aplikací Karel Richta Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze richta@fel.cvut.cz, 2011 Softwarové inženýrství I., BI-SI1

Více

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

Webové služby v Java EE (JAX-WS) 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 24. listopadu 2015 Marek Rychlý Webové služby v

Více

Referenční rozhraní. Jiří Kosek. Ministerstvo informatiky ČR. ISSS 25. března 2003

Referenční rozhraní. Jiří Kosek. Ministerstvo informatiky ČR. ISSS 25. března 2003 Jiří Kosek Ministerstvo informatiky ČR ISSS 25. března 2003 Požadavky na RR!zákon 365/2000 Sb.!RR je souhrnem opatření, která vytvářejí jednotné integrační prostředí informačních systémů veřejné správy!rr

Více

Požadavky pro výběrová řízení TerraBus ESB/G2x

Požadavky pro výběrová řízení TerraBus ESB/G2x Dokument: Převod dat TerraBus ESB/G2x Požadavky pro výběrová řízení TerraBus ESB/G2x Obsah 1. Účel dokumentu... 2 2. Použité termíny a zkratky... 2 3. Požadavky... 3 Účel dokumentu Účelem tohoto dokumentu

Více

Komponentový návrh SW

Komponentový návrh SW Komponentový návrh SW Komponentový návrh SW Komponenty jsou kompletně specifikované pomocí interface Jejich funkčnost je nezávislá na programovacím jazyku a mohou být integrované do toho samého systému

Více

Common Object Request Broker Architecture

Common Object Request Broker Architecture Common Object Request Broker Architecture Tvorba aplikací, jejichž komponenty budou komunikovat přes počítačovou síť Programátor jedné aplikace volá metody vzdálených objektů podobně jako u sebe lokální

Více

SOAP & REST služby. Rozdíly, architektury, použití

SOAP & REST služby. Rozdíly, architektury, použití SOAP & REST služby Rozdíly, architektury, použití Obsah Srovnání SOAP a REST služeb Service Oriented Architecture Microservice Architecture Příklady použití Nástroje pro vývoj SOAP a REST služeb (v Java)

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

Webové služby a XML. Miroslav Beneš

Webové služby a XML. Miroslav Beneš Webové služby a XML Miroslav Beneš Obsah přednášky 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

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký 1, Miroslav Beneš 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních

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

Koordinační středisko pro resortní zdravotnické informační systémy

Koordinační středisko pro resortní zdravotnické informační systémy Aplikace pro Národní onkologický registr na KSRZIS Koordinační středisko pro resortní zdravotnické informační systémy Národní onkologický registr webová služba pro posílání dávek dat do DB NOR a stažení

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

PODMÍNKY POSKYTOVÁNÍ PŘÍSTUPU K PORTÁLU NAMĚŘENÝCH DAT POMOCÍ WEBOVÝCH SLUŽEB SPOLEČNOSTI ČEZ DISTRIBUCE, A. S.

PODMÍNKY POSKYTOVÁNÍ PŘÍSTUPU K PORTÁLU NAMĚŘENÝCH DAT POMOCÍ WEBOVÝCH SLUŽEB SPOLEČNOSTI ČEZ DISTRIBUCE, A. S. PODMÍNKY POSKYTOVÁNÍ PŘÍSTUPU K PORTÁLU NAMĚŘENÝCH DAT POMOCÍ WEBOVÝCH SLUŽEB SPOLEČNOSTI ČEZ DISTRIBUCE, A. S. 1 ÚVOD... 5 2 POPIS VÝMĚNY DAT... 6 2.1 KOMUNIKAČNÍ SCÉNÁŘE... 6 2.2 TECHNOLOGIE KOMUNIKACE...

Více

Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace

Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace Pořadové číslo dodatečných informací: 14. ČÁST 1: Přesné znění žádosti dodavatele o dodatečné informace Otázka

Více

RESTful web service v Javě

RESTful web service v Javě Mendelova univerzita v Brně Provozně ekonomická fakulta RESTful web service v Javě Literární rešerše práce Vedoucí práce: Ing. Jan Turčínek, Ph.D. Pavel Savrov Brno 2016 OBSAH 2 Obsah 1 Protokoly implementaci

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

Č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

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

Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA

Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA Common Object Request Broker Architecture FJFI ČVUT 9. 12. 2010 Osnova 1 2 3 4 5 Standard umožňující propojení aplikací psaných v různých jazycích a běžících na různých strojích a architekturách. Definuje

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

Popis B2B rozhraní pro elektronickou neschopenku

Popis B2B rozhraní pro elektronickou neschopenku Popis B2B rozhraní pro elektronickou neschopenku Historie dokumentu Verze Datum Změny 0.9 30. 4. 2019 Vytvoření dokumentu Obsah 1 Účel dokumentu... 3 2 Charakteristika rozhraní... 3 2.1 Způsob komunikace...

Více

Verze dokumentu 0.1 duben 2016

Verze dokumentu 0.1 duben 2016 Testování v SoapUI Verze dokumentu 0.1 duben 2016 Testování v SoapUI Strana 1/11 Obsah Seznam zkratek a pojmů uvedených v dokumentu... 3 1. Úvod... 4 2. Zahájení testování... 4 3. Vytvoření nového projektu...

Více

Základy objektové orientace I. Únor 2010

Základy objektové orientace I. Únor 2010 Seminář Java Základy objektové orientace I Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Základy OO (1) 1/ 20 Téma přednášky Charakteristika objektově orientovaných

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 : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

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

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

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

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

Č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 26. 9. 2017 O B S A

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 : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta

Více

NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti NetBeans platforma Aplikační programování v Javě (BI-APJ) - 7 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme

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

Identifikátor materiálu: ICT-3-03

Identifikátor materiálu: ICT-3-03 Identifikátor materiálu: ICT-3-03 Předmět Téma sady Informační a komunikační technologie Téma materiálu TCP/IP Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí architekturu TCP/IP. Druh

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

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

Obsah prezentace. Co je to XML? Vlastnosti. Validita

Obsah prezentace. Co je to XML? Vlastnosti. Validita Obsah prezentace Co je to XML? Vlastnosti Validita Co je to XML? EXtensible Markup Language Účelem je usnadnit sdílení dat napříč informačními systémy Popis dokumentu z hlediska věcného obsahu Vyvinuto

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

(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

RESTful API TAMZ 1. Cvičení 11

RESTful API TAMZ 1. Cvičení 11 RESTful API TAMZ 1 Cvičení 11 REST Architektura rozhraní navržená pro distribuované prostředí Pojem REST byl představen v roce 2000 v disertační práci Roye Fieldinga, zkratka z Representional State Transfer

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

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

java remote method invocation Kateřina Fricková, Matouš Jandek

java remote method invocation Kateřina Fricková, Matouš Jandek java remote method invocation Kateřina Fricková, Matouš Jandek Distribuovaný systém počítačový systém, ve kterém jsou jednotlivé komponenty propojeny počítačovou síťí komponenty systému sdílí cíl, kterého

Více

WCF. IW5 - Programování v.net a C# WCF

WCF. IW5 - Programování v.net a C# WCF IW5 - Programování v.net a C# Strana 1 Obsah přednášky Představení Konfigurace hosta Vygenerování klienta Několik názorných příkladů Strana 2 Co to je Windows Communication Foundation Náhrada za COM, DCOM,.NET

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

Uživatelský manuál pro externí uživatele veřejného webu OTE webové služby

Uživatelský manuál pro externí uživatele veřejného webu OTE webové služby Uživatelská příručka informačního systému Uživatelský manuál pro externí uživatele veřejného webu webové služby Tento dokument a jeho obsah je důvěrný. Dokument nesmí být reprodukován celý ani částečně,

Více

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. Automatizované

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. Automatizované Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky Diplomová práce Automatizované publikování SQL dotazů ve formě webových služeb Plzeň 2013 František Schneider

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

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

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

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

Technická dokumentace B2C WS postcode

Technická dokumentace B2C WS postcode Technická dokumentace B2C WS postcode Zpracoval Útvar Datum vytvoření 01.06.2016 Pavel Kořízek, Jan Magnusek KC4 Datum aktualizace 23.06.2016_verze 0.4 Počet stran 7 Počet příloh 1 Obsah 1. Úvod... 3 2.

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

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

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

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

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

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

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne. Úvod Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne. Organizace předmětu Materiály k předmětu -Web stránky: http://cw.felk.cvut.cz/doku.php/courses/x33eja/start

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

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

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

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

Standardy pro Webové služby WSDL, UDDI 1

Standardy pro Webové služby WSDL, UDDI 1 Standardy pro Webové služby WSDL, UDDI 1 Karel Richta Katedra počítačů FEL ČVUT Karlovo nám.13, 121 35 Praha 2 Tel: 2 2435 7319 e-mail: richta@fel.cvut.cz www: http://cs.felk.cvut.cz/~richta Klíčová slova:

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

RMI - Distribuované objekty v Javě

RMI - Distribuované objekty v Javě Vysoká škola báňská - Technická univerzita Ostrava 30. března 2009 Osnova Co je to RMI? 1 Co je to RMI? 2 Vnější pohled Vrstvy RMI Stub & Skeletons Layer Remote Reference Layer Transport Layer Pojemnování

Více

CAL (CAN Application Layer) a CANopen

CAL (CAN Application Layer) a CANopen CAL (CAN Application Layer) a CANopen J. Novák České vysoké učení technické v Praze Fakulta elektrotechnická Katedra měření Průmyslový distribuovaný systém na bázi sběrnice CAN Pressure sensor Stepper

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

PODMÍNKY POSKYTOVÁNÍ PŘÍSTUPU K PORTÁLU NAMĚŘENÝCH DAT POMOCÍ WEBOVÝCH SLUŽEB SPOLEČNOSTI ČEZ DISTRIBUCE, A. S.

PODMÍNKY POSKYTOVÁNÍ PŘÍSTUPU K PORTÁLU NAMĚŘENÝCH DAT POMOCÍ WEBOVÝCH SLUŽEB SPOLEČNOSTI ČEZ DISTRIBUCE, A. S. PODMÍNKY POSKYTOVÁNÍ PŘÍSTUPU K PORTÁLU NAMĚŘENÝCH DAT POMOCÍ WEBOVÝCH SLUŽEB SPOLEČNOSTI ČEZ DISTRIBUCE, A. S. 1 ÚVOD... 5 2 ZPŮSOB VYUŽITÍ SLUŽBY AZD - PND... 6 2.1 REGISTRACE SLUŽBY AZD - PND... 6 2.2

Více

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

Profilová část maturitní zkoušky 2017/2018

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

Více

Webové mapové služby. Lukáš Birka

Webové mapové služby. Lukáš Birka Webové mapové služby Lukáš Birka Co jsou to webové služby? Rozhraní k aplikaci dostupné prostřednictvím počítačové sítě, založené na standardních internetových technologiích. Obecně: je-li aplikace dostupná

Více

Obsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth

Obsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth Evropský sociální fond. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace Ing. Ondřej Guth Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze

Více

ERP-001, verze 2_10, platnost od

ERP-001, verze 2_10, platnost od ERP-001, verze 2_10, platnost od 2010.08.01. ELEKTRONICKÉ PŘEDEPISOVÁNÍ HUMÁNNÍCH LÉČIVÝCH PŘÍPRAVKŮ ERP-001.pdf (208,89 KB) Tímto technickým dokumentem jsou, v souladu s 80 zákona č. 378/2007 Sb., o léčivech

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

1. Integrační koncept

1. Integrační koncept Příloha č. 2: Technický popis integrace 1. Integrační koncept Z hlediska koncepčního budování Smart Administration na Magistrátu města Mostu je možno hovořit o potřebě integrace tří úrovní systémové architektury

Více

Integrace OpenOffice.org a Javy. CZJUG, , Robert Vojta

Integrace OpenOffice.org a Javy. CZJUG, , Robert Vojta Integrace OpenOffice.org a Javy CZJUG, 15.12.2008, Robert Vojta Obsah Část 1 - Teorie Úvodní informace, definice pojmů Dokumentace, Java Language Binding Pomocné nástroje Část 2 - Praktické ukázky Lokální

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

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

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

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

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