Distribuované transakce

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

Download "Distribuované transakce"

Transkript

1 Distribuované transakce Štěpán Vacek Fakulta informatiky a managementu Univerzita Hradec Králové stepan.vacek@gmail.com Abstrakt: Tato práce se zaměřuje na problematiku distribuovaných transakcí v prostředí velkých organizací. Záměrně v názvu neuvádím databázových transakcí, protože infrastruktura podniku může být (a zpravidla je) daleko pestřejší. Počínaje databázemi přes messaging a konče proprietárními systémy různých dodavatelů. Je samozřejmé, že u většiny systémů bez ohledu na komunikační protokol jsou data většinou uložena v databázi. První část práce popisuje prostředí velké organizace s mnoha heterogenními systémy. Druhá část se věnuje vlastní definici transakce a v třetí části je popsán přístup při návrhu distribuovaných systémů, především s odkazem na moje vlastní praktické zkušenosti. Poslední část obsahuje praktické příklady použití a srovnání jednotlivých přístupů. Klíčová slova: distribuované transakce, podniková architektura, střední vrstva, podniková sběrnice služeb Abstrakt: This paper is focused on distributed transactions in enterprise environments. I don't purposely introduce database transactions because an infrastructure of companies may be much more different. From database systems through messaging platform to enterprise applications, delivered by various vendors. Naturally the most of systems, without dependencies on communication protocols, have data stored in a database. In the first part it is present an environment of enterprise with heterogeneous systems. The second one describes a definition of transaction and the third one describes an approach to design of distributed systems with reference to my own practical experience. The last part contains practical examples and comparing of particular approaches. Key words: distributed transaction, enterprise architecture, middleware, enterprise service bus 1. Heterogenní prostředí Podniková infrastruktura velké firmy je velice často tvořena mnoha vzájemně nekompatibilními systémy, které jsou nasazeny v heterogenním prostředí ať už se jedná o hardware, software nebo různé technologicky platformy. Velký podíl na tom má nejen zlepšování technologií, ale především historický vývoj jednotlivých systémů. Firmy postupně investují do vývoje nebo nákupu programů nemalé prostředky, a proto nemohou nebo nechtějí jednoduše změnit většinu aplikací podle zrovna aktuálních trendů. Snaží se v maximální možné míře zvýšit návratnost svých investic (ROI Return of investment). Právě v takovémto prostředí můžeme velmi efektivně uplatnit systémovou integraci, která využívá nástrojů EAI (Enterprise application integration) nebo principů SOA (Service-oriented architecture). Prostředky, které poskytují technologické řešení, obyčejně musí podporovat transakce nejčastěji ty distribuované pro rozdílné zdroje a protokoly. Většinou jsou podporovány databáze, messaging (MOM Message-oriented middleware) nebo distribuované komponenty (například EJB Enterprise Java Beans, CORBA Common Object Request Broker Architecture). SYSTÉMOVÁ INTEGRACE 3/

2 Štěpán Vacek 2. Transakce Transakcí rozumíme logickou skupinu, která obsahuje více vzájemně závislých operací. Je důležité, aby transakce splňovala základní vlastnosti [3] označené akronymem ACID (Atomicity, Consistency, Isolation, Durability). atomicita (atomicity) Transakce by za každých okolností měla být zpracována jako celek, buď proběhnou úspěšně všechny operace, nebo žádná. konzistence (consistency) Systém musí zajistit, aby data byla konzistentní, což se samozřejmě týká i chybových stavů jako přerušené spojení nebo havárie serveru. Databáze v takovém případě implicitně provádí zrušení (rollback) všech nedokončených transakcí a potvrzená data jsou po spuštění databáze v případě potřeby obnovena do konzistentní podoby. izolace (isolation) Izolace transakce je důležitá při paralelním zpracování, kdy nad stejnou množinou dat může pracovat více procesů najednou. Systém rozlišuje několik úrovní izolace, kdy ve výchozím nastavení jsou data ostatním transakcím viditelná až po potvrzení změn. trvalost (durability) Potvrzené změny jsou trvalé. Při potvrzení transakce máme jistotu, že došlo k uložení do trvalého úložiště. Ale nikde už není určeno, že se data musí uložit pouze do datových souborů. Často bývají potvrzené transakce uloženy v transakčním žurnálu a do datových souborů jsou data zapisována kvůli výkonu asynchronně. V případě havárie je databáze schopná potvrzené transakce (uložené pouze v transakčním žurnálu) obnovit do konzistentního stavu. Transakční zpracování začíná buď explicitním označením začátku transakce, v případě aplikační vrstvy, nebo prvním dotazem manipulujícím s daty (DML Data manipulation language). Poznámka: Příkazy pro změnu struktury databáze (DDL Data definition language) jsou automaticky spouštěny v atomické transakci a potvrzují předchozí transakci. 2.1 Úroveň izolace Izolace je důležitá při souběžném přístupu k datům. Určuje, jakým způsobem se s daty v jednotlivých transakcích bude pracovat a jak budou data ovlivněna z dalších transakcí. Nastavením úrovně izolace se můžeme setkat s chováním, které podle [2] vykazuje tyto příznaky: špinavé čtení (dirty reads) Transakce může číst data, která byla zapsána jinou transakcí, ale ještě nedošlo k jejich potvrzení. neopakovatelné čtení (non-repeatable reads/fuzzy reads) Transakce čte opakovaně stejné hodnoty, ale dostává různé výsledky. Ty jsou ovlivněny potvrzenými změnami v jiných transakcích. výskyt fantomů (phantom reads) Transakce několikrát spustí dotaz, který vrací kolekci dat. Výsledná kolekce se v jednotlivých bězích liší, což je způsobeno vložením (a potvrzením) dat jinou transakcí. Úroveň izolace neovlivňuje jenom viditelnost změn, ale má zásadní dopad také na výkon aplikace. Při restriktivním přístupu, kdy jednotlivé transakce v maximální 18 SYSTÉMOVÁ INTEGRACE 3/2010

3 Distribuované transakce možné míře izolujeme, dochází k zamykání záznamů a konkurenční transakce musejí čekat. Tím hrozí uvíznutí (deadlock), protože transakce si vzájemně uzamknou data a čekají na uvolnění zámků. SQL standard (ANSI/ISO [13]) rozlišujeme několik základních typů izolace (podle zdrojů [2] a [3]): sériové zpracování (serializable) Pracuje s daty, jako kdyby jednotlivé transakce byly spuštěny za sebou. Pokud se transakce snaží změnit data, která jsou již modifikována jinou transakcí, dojde k chybě a nezáleží, jestli bylo provedeno potvrzení. Naopak při čtení ostatní transakce nemají možnost spuštěnou transakci ovlivnit. Tato vlastnost se používá především při sestavování složitých reportů, když potřebujeme konzistentní stav celého systému a jiná transakce nesmí změnit data pro zpracování. čtení potvrzených (read commited) Pokud je vyžadována změna řádku, který je modifikován jinou transakcí, aktuální transakce čeká, než dojde k ukončení předchozí transakce a uvolnění zámku (potvrzením nebo zrušením transakce). Teprve potom může být provedena změna a řádku je přiřazen nový zámek. Pracují-li dvě transakce se stejnými daty, může nastat uvíznutí, neopakovatelné čtení nebo se objevují fantomy. čtení nepotvrzených (read uncommited) Transakce může číst data ostatních transakcí, která ještě nebyla potvrzena. Dochází ke špinavému a neopakovatelnému čtení, mohou se objevovat fantomy. opakovatelné čtení (repeatable read) Opakovatelné čtení zajišťuje, že stejný dotaz nemůže vrátit rozdílné výsledky. Pokud dotaz přečte data, zajistí zachování aktuálního stavu pro budoucí použití (nejčastěji zámkem nebo verzováním). Nejsou ovšem řešeny fantomy. Standard ANSI/ISO však v detailech není příliš přesný, a proto každý systém může drobnosti implementovat po svém. Některé systémy mohou třeba obsahovat další úrovně izolace. Například rozhraní JDBC (Java Database Connectivity) kromě základních úrovní podporuje spuštění příkazu v samostatné transakci (transaction none). To má pozitivní dopad na výkon, protože systém nemusí pracovat s daty pro případné zrušení transakce a tvořit tak undo nebo roll-back segmenty. Messagingové systémy, jako implementace JMS (Java Message Service) nebo WebSphere MQ (Message Queue), díky svému konceptu front s izolační úrovní vůbec nepracují. Obvykle se rozlišuje pouze mezi lokální a distribuovanou transakcí. Různě se mohou chovat jednotlivé implementace například při routování (mezi servery) nebo propagaci zpráv (přemostění front). 2.2 Záchranné body Transakce může být rozdělena do několika částí pomocí záchranných bodů (savepoints), které umožňují zrušení části zpracování a návratu ke konkrétnímu bodu. Tyto body mají ovšem smysl pouze v případě, kdy existuje reálná možnost zotavení: buď alternativním zpracováním v kódu, nebo opakováním volání zdroje. Při jejich implementaci musíme být opatrní, aby nedošlo k zacyklení. Je důležité poznamenat, že použití záchranných bodů má svoje omezení. V současné době tuto vlastnost implementují především databáze a její použití je SYSTÉMOVÁ INTEGRACE 3/

4 Štěpán Vacek poměrně striktní. Například Oracle podle [4] podporuje záchranné body pouze u rozhraní JDBC 3.0 (a vyšší) a jen pro lokální transakce. U messagingových systémů se s nimi nesetkáme vůbec a webové služby je zatím nepodporují. 3. Distribuované transakce Distribuovaná transakce je operace, která v rámci jedné transakce pracuje najednou s více rozdílnými zdroji. Ty jsou buď fyzicky umístěny (z pohledu hardwaru) na několika serverech nebo se jedná o rozdílné serverové instance volitelně i od různých dodavatelů (Oracle, Microsoft, IBM a další). Výjimkou však nejsou ani heterogenními typy zdrojů jako databáze, messaging, distribuované komponenty nebo proprietární (balíková) řešení. Důležitá je především kontrola distribuované transakce napříč jednotlivými systémy. Nejčastěji se k tomuto účelu využívá transakční manažer (transaction manager), který prostřednictvím manažera zdrojů (resource manager) zajišťuje řízení koncového systému. Potvrzovacím komunikačním protokolem je obvykle dvoufázový commit (2PC Two-phase Commit Protocol), který zabezpečí, že transakce rozprostřená do více zdrojů proběhne buď jako celek nebo neproběhne vůbec. 3.1 Koncept komunikace Zpracování distribuovaných transakcí je výrazně složitější než těch lokálních a zasahuje do něj několik komponent [1]: transakční klient (transaction client) Klientská aplikace spouští celou transakci a registruje ji u transakčního manažera, který ji přidělí unikátní identifikátor. Ten pak slouží při komunikaci s jednotlivými zdroji. transakční manažer (transaction manager) Komponenta, která koordinuje potvrzení nebo zrušení transakce nad všemi zúčastněnými zdroji. manažer zdroje (resource manager) Řídí lokální část transakce z pohledu konkrétního zdroje. Jiné prameny [1] a [10] uvádějí mírně odlišné názvosloví, ale podstata je velmi podobná. Vždy záleží na tom, jakou úroveň detailu a z jakého pohledu (databáze nebo aplikační vrstva) vybraný zdroj danou problematiku popisuje. V praxi se můžeme nejčastěji setkat s těmito ekvivalenty: transakční klient (aplikace, klientská aplikace), transakční manažer (transakční koordinátor, globální koordinátor) a manažer zdroje (lokální manažer, uzel). 3.2 Dvoufázový commit Dvoufázový commit je úzce svázán se standardem X/Open Distributed Transaction Processing [14], který je spravován konsorciem Open Group. Tento standard popisuje rozhraní XA, které definuje způsob komunikace mezi transakčním manažerem a jednotlivými zdroji, jež se podílejí na distribuované transakci. V rámci transakce mohou být volány různé systémy, které rozhraní XA implementují. 20 SYSTÉMOVÁ INTEGRACE 3/2010

5 Distribuované transakce Obr. 1: Koncept 2PC (podle [1]) Je důležité vědět, že pokud výrobce systému podporuje XA rozhraní, většinou rozděluje ovladač pro lokální a distribuovanou transakci. Odlišnost je především v náročnosti zpracování, protože distribuovaná transakce vyžaduje složitější logiku na straně zdroje a zpracování je proto pomalejší. Pokud tedy nepotřebujeme podporu distribuovaných transakcí, měly bychom použít ovladač pro lokální transakce. Transakce je podle [1] realizována v těchto krocích: Klientská aplikace začíná zpracování a zavolá transakční manažer, který vygeneruje pro transakci unikátní identifikátor. (Obr. 1, krok 1.) S tímto identifikátorem transakce jsou následně volány všechny operace nad jednotlivými zdroji. (Obr. 1, krok 2. a 3.) Po skončení zpracování odesílá klientská aplikace transakčnímu manažeru požadavek na potvrzení transakce. (Obr. 1, krok 4.) Transakční manažer odešle požadavek na všechny zúčastněné zdroje, které nastaví status transakce na "PREPARED" (připraveno) a vrátí výsledek. (Obr. 1, krok 5.) Pokud všechny zdroje úspěšně odpoví, pak transakční manažer označí transakci za potvrzenou a odesílá požadavek na potvrzení všem zdrojů. Pokud některý ze zdrojů neodpoví, potom manažer odešle požadavek na zrušení transakce. (Obr. 1, krok 6.) Pokud by při vlastním potvrzování (v Obr. 1, krok 6.) u některého ze zdrojů došlo k pádu systému, může se zotavit. Má zaznamenaný stav a unikátní identifikátor transakce, který následně ověří u transakčního manažera pokud se identifikátor nepodaří ověřit, provede se automaticky zrušení. Ve vybraných systémech je SYSTÉMOVÁ INTEGRACE 3/

6 Štěpán Vacek v případě potřeby možný také manuální zásah administrátora (tato vlastnost je dostupná u databází nebo messagingu). Distribuované transakce mají několik nevýhod. Mohou být navrženy jako dlouhotrvající (long-running) a pokud databáze přiřazuje zámky na úrovni stránky nebo tabulky, může dojít k čekání a v krajním případě i uvíznutí transakcí. Další nevýhodou je limitace ze strany dodavatelů balíkových řešení, protože ne každý produkt musí nutně podporovat XA rozhraní. 3.3 Historický vývoj V minulosti se ke koordinaci transakcí využívaly především transakčně-procesní monitory (TPM Transaction Processing Monitor), které dokázaly zpracovat velké množství požadavků napříč různými typy systémů a platforem včetně mainframů. V těchto případech pro realizaci distribuovaných transakcí sloužily právě TPM mezi jejichž zástupce patří například IBM IMS, IBM CICS nebo Oracle Tuxedo (dříve BEA). Není ovšem výjimkou, že velké organizace v oblasti bankovnictví, pojišťovnictví nebo státní správy stále ještě dnes využívají programy napsané v COBOLu. A stejně tak se v těchto organizacích stále často používají TPM. Díky rozšiřujícím adaptérům mohou být součástí podnikové infrastruktury na bázi SOA a poskytovat rozhraní třeba pro webové služby nebo messaging. Postupem času se začala zlepšovat podpora distribuovaných transakcí v databázích (vystupujících v roli transakčního manažeru) nebo v aplikačních serverech. Obecně sice nemají takový výkon jako TPM, které jsou k tomuto použití přímo určeny, ale pokud to není nezbytně nutné, nemusíme licencovat další software a vývoj je podstatně jednodušší. V dnešní době tedy máme na výběr ze široké palety transakčních manažerů, které jsou nasazeny na různých místech, včetně samostatných jednoúčelových knihoven (JBossTM/Arjuna nebo JOTM) ty bývají obvykle přímo součástí aplikace. S rostoucím významem systémové integrace se řízení transakcí přesouvá na integrační vrstvu, která v sobě obsahuje různé typy transakčních manažerů. Nejčastěji v podobě vlastní knihovny nebo jako součást transportní vrstvy (MOM, TPM). Díky tomu můžeme způsob zpracování transakcí ovlivnit už při návrhu integračních aplikací, které jsou posléze nasazeny v podnikové sběrnici služeb (ESB Enterprise Service Bus). Ta realizuje volání koncových aplikací a zajišťuje kompozici služeb, transformace dat nebo konvergenci protokolů. Zároveň ESB poskytuje infrastrukturní služby pro logování, monitoring, cachování, bezpečnost nebo centralizovanou správu nastavení. V minulosti se transakční aplikace, které měnily data ve více systémech, převážně navrhovaly jako synchronní a krátce běžící (short-running). Jejich odezva byla v řádech milisekund nebo sekund delší jen zcela výjimečně. V současné době je situace trochu jiná a kromě jednoduchých operací, u kterých převažuje čtení, se často při návrhu převede zpracování na asynchronní komunikaci. Důvod je jednoduchý. Velké podniky mají mnoho heterogenních aplikací, vzrostlo množství zpracovávaných dat a obchodní procesy (podporované aplikacemi) jsou daleko složitější, což vede k náročnějšímu zpracování v programech. Daleko větší množství systémů je náchylnější k chybám a výpadkům. Rovněž se při velké zátěži může prodloužit doba odezvy, což obvykle vede k nedostupnosti aplikace (vyprší čas pro zpracování timeout). 22 SYSTÉMOVÁ INTEGRACE 3/2010

7 Distribuované transakce Velký důraz je proto ze strany zadavatele kladen na kvalitní návrh. Z obchodního pohledu je naprosto klíčové, aby systém mohl zpracovat požadavek i v případě, že některá ze zúčastněných aplikací není v danou chvíli dostupná (to se nepochybně týká jen operací, které lze odložit na později). Dobře navržená asynchronní transakce garantuje zpracování a je dokončena v nejkratším možném čase, což v praxi může znamenat několik sekund, ale také hodin nebo dnů. Doba se přímo úměrně prodlužuje, pokud je například vyžadována interakce uživatele (tzv. human-task). 4. Praktické příklady V poslední části tohoto článku bych rád představil a porovnal tři přístupy, které jsou velmi často používány pro návrh aplikací využívající distribuované transakce. Výčet není samozřejmě úplný, ale poskytne dostatečnou představu o odlišnostech jednotlivých variant. Je důležité si uvědomit, že každý z přístupů je vhodný pro jiný typ aplikací a klade jiné požadavky na architekturu systému z pohledu složitosti analýzy (návrhu), rozdělení do vrstev nebo použitý software. 4.1 Aplikační server Mezi klasický a poměrně často využívaný přístup řízení distribuovaných transakcí patří nasazení komponenty nebo aplikace (vystupující jako transakční klient) na aplikační server. Ten v sobě obvykle obsahuje transakční manažer, který zajišťuje zpracování distribuovaných transakcí. U podnikových systémů, které jsou postaveny na třívrstvé architektuře, většinou využíváme i jiné zdroje aplikačního serveru jako connection pooling, remoting nebo podporu webových aplikací a služeb. Využití transakčního manažera je v tomto případě nejjednodušší řešením. Velkou výhodou je především vzájemná kompatibilita komponent aplikačního serveru a jednotná správa, často realizovaná prostřednictvím webové konzole. Máme-li placenou podporu aplikačního serveru, pak se tato podpora vztahuje i na transakční manažer. V případě potíží se máme kam obrátit, což zvláště u kritických chyb je velmi důležité. Pokud bychom použili transakční manažer třetí strany (jiný dodavatel nebo open source), dodavatel aplikačního serveru nám nemusí v případě chyby při distribuované transakci pomoci. Další výhodou je úzká vazba na ostatní služby serveru, které může transakční manažer využít: messaging, monitorování, logování nebo rozšiřující ovladače a adaptéry (např. pro přemostění komunikace s TPM). Nevýhodou je synchronní komunikace, která je bez MOM nebo složitého programování potřeba. Pokud je některý ze zdrojů v době zpracování požadavku nedostupný, je vrácena chyba a požadavek je nutné opakovat. U obchodního případu ovšem nemáme jistotu, že danou obchodní transakci (nákup zboží nebo objednání služby) nerealizuje zákazník někde jinde. SYSTÉMOVÁ INTEGRACE 3/

8 Štěpán Vacek Obr. 2: Aplikační server řídí transakce (vlastní) Na obrázku je znázorněno, jak aplikace nasazená na aplikačním serveru odesílá požadavek prostřednictvím transakčního manažera (krok 1.). Ten v rámci transakce zajistí komunikaci s koncovými systémy (krok 2a, 2b), přičemž celé spojení je realizováno synchronně. 4.2 MOM Použití messagingu nám dovoluje převést synchronní komunikaci na asynchronní zpracování prostřednictvím front, které garantuje zpracování. MOM se většinou využívá v prostředí, kde je vyžadována střední vrstva a middleware zajišťuje komunikaci heterogenních systémů. Také může implementovat jednoduchou transportní logiku, využívány jsou především komunikační vzory (point-to-point a publish-subscribe [7]), filtrování nebo (podmíněná) replikace zpráv. V poslední době se vlastnosti MOM používají také pro generování událostí, které slouží jako základ pro architekturu založenou na událostech (EDA Event driven architecture) a monitoring obchodních aktivit (BAM Business activity monitoring). MOM je dodáván jako samostatný produkt (messaging server) nebo bývá součástí aplikačního serveru, případně ESB. Je důležité zmínit, že koncové aplikace si musejí načtení a zpracování požadavků zajistit ve vlastní režií. Stejně tak není řešena konvergence rozdílných protokolů (SOAP/HTTP, XML/JMS, JDBC apod.) nebo transformace datových struktur. Obr. 3: Asynchronní zpracování prostřednictvím MOM (vlastní) Obrázek zobrazuje aplikaci nasazenou na aplikačním serveru, která odesílá synchronně požadavek do fronty na messagingový server (krok 1.) a ten provede replikaci zprávy do další fronty. Každá z front je zpracovávána samostatně jednou koncovou aplikací, z nichž kterákoliv si může požadavek vyzvednout v jiném čase (krok 2a, 2b). Celý postup lze na úrovni messagingového serveru realizovat 24 SYSTÉMOVÁ INTEGRACE 3/2010

9 Distribuované transakce několika způsoby, buď použitím topiku již zmiňovanou replikací zpráv (tato funkcionalita ovšem nemusí být podporována všemi servery). Praktickým příkladem nasazení MOM může být velká finanční instituce, kde v současné době působím jako integrační specialista. Messaging je zde využíván pro zajištění komunikace vzájemně nekompatibilních systémů a platforem, počínaje Java EE přes.net a konče mainframy. Kromě synchronní komunikace slouží MOM i pro asynchronní replikace dat mezi jednotlivými systémy, přičemž data jsou vyměňována prostřednictvím zpráv ve formátu XML (Extensible Markup Language). 4.3 ESB Jedním z posledních trendů v oblasti systémové integrace je ESB, které slouží jako platforma pro realizaci SOA a navázaných služeb, jako EDA nebo BAM. Páteřní síť pro komunikaci tvoří většinou MOM, který obstarává distribuci požadavků mezi heterogenními systémy. Kromě výhod spojených s MOM, zajišťuje ESB konvergenci protokolů a transformace struktury dat. Integrační procesy (někdy nazývané flow) reprezentují aplikace nasazené na úrovni ESB a vykonávají složitější integrační logiku: směrování podle obsahu (content-based routing), transformace datových struktur, kompozici požadavků nebo složitější orchestraci. ESB dovoluje zpracovat požadavky na jednotlivé systémy samostatně nebo jako distribuovanou transakci, k čemuž slouží zabudovaný transakční manažer (obvykle součást ESB nebo MOM). Obr. 4: ESB řídí distribuovanou transakci (vlastní) Obrázek znázorňuje aplikaci nasazenou na aplikačním serveru, která synchronně odesílá požadavek na integrační vrstvu (krok 1.). Díky konvergenci protokolu na úrovni ESB může být požadavek předán například přes webovou službu nebo REST (Representational State Transfer). ESB požadavek interně převede prostřednictvím messagingu na asynchronní komunikaci a klientské aplikaci odpoví, že požadavek byl přijat ke zpracování. Následně v samostatném flow provede zpracování požadavku v transakci prostřednictvím transakčního manažera (krok 2., 3a, 3b). Součástí zpracování může být i další logika, jako transformace nebo konverze struktury zprávy. Tento přístup je implementován třeba při změnách nastavení hlasových a datových služeb přes internetovou samoobsluhu u jednoho tuzemského mobilního operátora, kde jsem působil jako integrační architekt. Zákazník zadá přes webové rozhraní SYSTÉMOVÁ INTEGRACE 3/

10 Štěpán Vacek požadavek, který je synchronně předán střední vrstvě (využívající ESB) a ta vrátí potvrzení o jeho přijmutí. Požadavek je následně postoupen ke zpracování do jednotlivých systémů a po úspěšném dokončení je zákazníkovi odesláno potvrzení (formou textové zprávy na mobilní telefon). Celá transakce může trvat od několika sekund až po jednotky hodin, v závislosti na typu požadavku, zatížení systému nebo omezení (výpadku nebo odstávce některých komponent). V případě chyby je možný manuální zásah administrátora (aplikace), který může transakci dokončit 4.4 Porovnání jednotlivých přístupů Aplikační server (s transakčním manažerem) je vhodný především pro transakce, které je potřeba realizovat v relativně krátké době. Zpracování je synchronní a transakce musí být provedena v jasně definovaném časovém intervalu nad všemi zdroji. Neodpoví-li některý ze zdrojů ve stanoveném čase (timeout), dojde ke zrušení celé transakce. Zároveň dochází po celou dobu čekání na odpověď k blokování vlákna, které tak nemůže být využito jiným procesem (negativní dopad na výkon celého systému). Právě z tohoto důvodu je u dlouhotrvajících transakcí synchronní zpracování prostřednictvím transakčního manažera prakticky nepoužitelné. Omezeni jsme rovněž vlastním rozhraním XA, které jednotlivé zdroje pro distribuované transakce musí implementovat to může být zvláště u proprietárních (balíkových) řešení problém. Domnívám se, že MOM je vhodné použít v těchto případech: buď chceme zajistit spojení systémů v heterogenním prostředí (synchronní/asynchronní), potřebujeme garantovat zpracování nebo je výhodné použít nativní funkčnost MOM (popsanou v části 4.2.). Ve všech uvedených případech messaging slouží jako transportní vrstva, která svoji povahou neudržuje přímé spojení mezi publikujícím a konzumentem. U synchronního zpracování je nutné po vložení požadavku do fronty korelována odpověď (obvykle) na další frontě. Pokud odpověď nepřijde do předem stanovené doby, musíme tento stav (chybu) ošetřit na aplikační úrovni. Většinou zpracování převádíme na asynchronní v případě, že je nutné garantovat zpracování požadavku, ale samotná rychlost nemusí být nutně klíčová. Máme jistotu, že ke zpracování dojde, ale nevíme přesně za jakou dobu 1. Při velkém zatížení je nutné zajistit ochranu proti hromadění nezpracovaných požadavků ve frontě. Buď použitím monitorovacího mechanismu, který může být součástí MOM, nebo vyvinutím vlastního řešení. MOM se využívá zejména pro jednoduchou integraci heterogenních systémů, bez požadavků na konvergenci protokolu a složitější integrační logiku. Implementace distribuované transakce v rámci ESB je vhodná v případě, kdy chceme klientskou aplikaci z pohledu architektury postavit do role konzumenta služby a zpracování kompletně řídit v rámci ESB. Transakční zpracování může mít složitější charakter, včetně rozpadu na asynchronní zpracování a komplexní integrační logiku (např. komunikace s dalšími systémy, zpracování statických/dynamických podmínek, vytvoření úkolu pro uživatele). Je důležité uvést, že ESB se hodí pouze pro velké projekty, protože náklady na vytvoření a údržbu 1 V praxi se mi osvědčilo při definici doby odezvy uvádět charakteristiku "v nejlepším možném čase" a přiložit poznámku, jak dlouho zpracování obvykle trvá. 26 SYSTÉMOVÁ INTEGRACE 3/2010

11 Distribuované transakce infrastruktury jsou poměrně vysoké. Jako nevýhodu zároveň vidím i nedostatek kvalifikovaných specialistů, protože podle mého názoru je velkých projektů postavených na ESB v České republice velmi málo navíc je často vyžadována znalost konkrétní platformy (Oracle Service Bus, WebSphere Message Broker, TIBCO ActiveMatrix a další). Při rozhodování, který z uvedených přístupů pro distribuci transakce zvolit, se dostáváme do složité situace a je třeba si položit mnoho otázek. V potaz musíme vzít samozřejmě i to, jestli vyvíjíme samostatný systém nebo aplikaci, která bude součástí rozsáhlejší infrastruktury v organizaci. Osobně považuji za velmi důležité položit si především tyto otázky: Jaké konkrétní principy a technologie v systému chceme využít? Vyskytuje se v infrastruktuře ve fázi přípravy architektury systému nějaká komponenta, která již stejnou nebo podobnou funkcionalitu obsahuje? Podporuje zvolený přístup konektivitu pro všechny systémy a platformy (hardwarové, softwarové), které chceme v projektu integrovat? Existují v cílovém prostředí nějaké omezení, v podobě interních směrnic, zavedených standardů, doporučení nebo legislativy, které by definovalo funkční nebo nefunkční požadavky na systém? Jaké náklady je možné vynaložit na zvolené řešení včetně nákladů na hardware (procesor, paměť), software (licence) a služby (podpora, konzultace, školení zaměstnanců)? 5. Shrnutí Distribuované transakce jsou v literatuře převážně popisovány ve vazbě na databázové systémy, ovšem současná podniková architektura je daleko složitější a většinou transakce zasahují do několika různých zdrojů. V článku jsem se proto neomezil jenom na databáze, ale popisuji distribuované transakce v prostředí heterogenních systémů. Součástí článku je i charakteristika vybraných přístupů k návrhu, které mohou výrazně ovlivnit architekturu distribuovaných transakcí: logika transakcí řízena aplikačním serverem, asynchronní zpracování prostřednictvím MOM a složitější logika realizovaná pomocí ESB. Přínosy článku vidím kromě popisu heterogenního prostředí především v množství praktických příkladů a závěrečném srovnání. Literatura [1] KRAFZIG, Dirk; BANKE, Karl; SLAMA, Dirk. Enterprise SOA: Service- Oriented Architecture Best Practices s. ISBN [2] Oracle Database: Administrator's Guide [online]. 10g Release 2. Oracle, May 2006 [cit ]. Dostupné z WWW: < [3] Oracle Database: Database Concepts [online]. 10g Release 2. Oracle, October 2005 [cit ]. Dostupné z WWW: < [4] Oracle Database: JDBC Developer's Guide and Reference [online]. 10g Release 2. SYSTÉMOVÁ INTEGRACE 3/

12 Štěpán Vacek [5] Oracle, March 2010 [cit ]. [6] Dostupné z WWW: < [7] Java Message Service (JMS) Specification. Sun Microsystems Inc. Version 1.1. [8] April 2002 [cit ]. [9] Dostupné z WWW: < [10] JSR Java Transaction API (JTA) Specification. Sun Microsystems Inc. [11] Version 1.1. February 2007 [cit ]. [12] Dostupné z WWW: < [13] ANSI/ISO/IEC International Standard (IS). Database Language SQL. July s. [cit ]. [14] Distributed Transaction Processing (DTP): The XA Specification. The Open Group, C193. February ISBN [cit ] 28 SYSTÉMOVÁ INTEGRACE 3/2010

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

Transakce a zamykání Jiří Tomeš

Transakce a zamykání Jiří Tomeš Transakce a zamykání Jiří Tomeš Administrace MS SQL Serveru (NDBI039) O čem to dnes bude Úvodní opakování základních pojmů Jištění transakcí Speciální konstrukce Typy transakcí Závěrečný souhrn, použité

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

Transakce a zamykání. Administrace MS SQL Serveru (NDBI039) Pavel Hryzlík

Transakce a zamykání. Administrace MS SQL Serveru (NDBI039) Pavel Hryzlík Transakce a zamykání Administrace MS SQL Serveru (NDBI039) Pavel Hryzlík Základní pojmy Databázová transakce je skupina příkazů, které převedou databázi z jednoho konzistentního stavu do druhého. Transakč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

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

Vnořený Ensemble nové integrované aplikace. Martin Zubek, Account manager

Vnořený Ensemble nové integrované aplikace. Martin Zubek, Account manager Vnořený Ensemble nové integrované aplikace Martin Zubek, Account manager Nové užití známých technologií Vnořená integrace? Vnořená integrace a její typy Příklady Jak na to obchodně? Kdy použít? Spolupráce

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

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

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů - 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa

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

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

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

Více

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

Ú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

O Apache Derby detailněji. Hynek Mlnařík

O Apache Derby detailněji. Hynek Mlnařík O Apache Derby detailněji Hynek Mlnařík Agenda Historie Vlastnosti Architektura Budoucnost Historie 1997 Cloudscape Inc. - JBMS 1999 Informix Software, Inc. odkoupila Cloudscape, Inc. 2001 IBM odkoupila

Více

Zaměření Webové inženýrství doc. Ing. Tomáš Vitvar, Ph.D. Katedra softwarového inženýrství Fakulta informačních technologií České vysovké učení technické v Praze Den otevřených dveří 20.2.2014 http://www.fit.cvut.cz

Více

Zotavení z chyb. Databázové systémy

Zotavení z chyb. Databázové systémy Zotavení z chyb Databázové systémy Zotavení z chyb v DBS Úloha: Po chybě obnovit poslední konzistentní stav databáze Třídy chyb: 1. Lokální chyba v ještě nepotvrzené transakci 2. Chyba se ztrátou hlavní

Více

Řešení integrace Profinit ESB. Michal Bureš 28. 8. 2014

Řešení integrace Profinit ESB. Michal Bureš 28. 8. 2014 Řešení integrace Profinit ESB Michal Bureš 28. 8. 2014 Proč vznikl Profinit ESB Naši zákazníci hledají řešení podnikové integrace a SOA Máme zkušenosti s podnikovou integrací Provádíme vývoj na komerčních

Více

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK listopad 2009 souhrn v1 Červené dobře (nejspíš), modré možná Oracle Internet Directory OID: Databáze nemůže z OID přebírat seznam uživatelů *Databáze může získat z OID seznam

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

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

Databáze II. 2. přednáška. Helena Palovská

Databáze II. 2. přednáška. Helena Palovská Databáze II 2. přednáška Helena Palovská palovska@vse.cz SQL a aplikace Program přednášky Řízení transakcí v SQL Integritní omezení v SQL Triggery a uložené procedury Zpracování množin záznamů Řízení

Více

Databáze I. 5. přednáška. Helena Palovská

Databáze I. 5. přednáška. Helena Palovská Databáze I 5. přednáška Helena Palovská palovska@vse.cz SQL jazyk definice dat - - DDL (data definition language) Základní databáze, schemata, tabulky, indexy, constraints, views DATA Databáze/schéma

Více

SOA Enterprise Service Bus

SOA Enterprise Service Bus SOA Enterprise Service Bus Common 2008, 18.-20.5.2008, Brno SOA on your terms and our expertise Petr Leština WebSphere Technical Sales IBM Certified IT Specialist IBM Group 2008 IBM Corporation Agenda

Více

Kapitola 13: Transakce. Koncept transakce. ACID vlastnosti

Kapitola 13: Transakce. Koncept transakce. ACID vlastnosti - 13.1 - Kapitola 13: Transakce Koncept transakce Stavy transakce Implementace atomičnosti a trvanlivosti Souběžné spouštění Serializovatelnost Koncept transakce Transakce je posloupnost operací (část

Více

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou Administrace Oracle Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou zachyceny a uloženy lokálně před posláním

Více

MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) Požadavky zákazníka.

MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) Požadavky zákazníka. MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) IT SYSTEMS a.s. Mnoho společností má implementovány aplikace, které byly vyvíjeny (případně

Více

UAI/612 - Cloudová Řešení. Technologie

UAI/612 - Cloudová Řešení. Technologie UAI/612 - Cloudová Řešení Technologie Rekapitulace Multitenance Bezestavovost Škálovatelnost Cachování Bezpečnost Způsoby nasazení Datová úložiště SQL databáze NoSQL databáze Cloudová datová úložiště (API)

Více

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server ADMINISTRACE POČÍTAČOVÝCH SÍTÍ OPC Server Funkce a využití v průmyslové automatizaci Jiří NOSEK 2011 Co je OPC Server? OPC = Open Process Control (původně OLE for Process Control) sada specifikací průmyslového

Více

Znalostní systém nad ontologií ve formátu Topic Maps

Znalostní systém nad ontologií ve formátu Topic Maps Znalostní systém nad ontologií ve formátu Topic Maps Ladislav Buřita, Petr Do ladislav.burita@unob.cz; petr.do@unob.cz Univerzita obrany, Fakulta vojenských technologií Kounicova 65, 662 10 Brno Abstrakt:

Více

IBA CZ průmyslový partner FI MU

IBA CZ průmyslový partner FI MU IBA CZ průmyslový partner FI MU Petr Adámek O společnosti IBA Group IBA založena v roce 1993 jako dceřiná společnost IBM Přední poskytovatel IT služeb ve východní a střední Evropě Více než 2000 IT profesionálů

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

Implementace SOA v GE Money

Implementace SOA v GE Money 3 Shared Experience Informační systémy a integrace Implementace SOA v GE Money Vybudování fungující SOA architektury a zavedení konceptu Enterprise Service Bus přineslo GE Money moderní a flexibilní IT

Více

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D. VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ Ing. Lukáš OTTE, Ph.D. Ostrava 2013 Tento studijní materiál vznikl za finanční podpory

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

UAI/612 - Cloudová Řešení. Návrh aplikací pro cloud

UAI/612 - Cloudová Řešení. Návrh aplikací pro cloud UAI/612 - Cloudová Řešení Návrh aplikací pro cloud Rekapitulace Cloud computing Virtualizace IaaS, PaaS, SaaS Veřejný, Privátní, Komunitní, Hybridní Motivace Návrh aplikací pro cloud Software as a Service

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

Java Message Service (JMS) Martin Ptáček, KOMIX s.r.o.

Java Message Service (JMS) Martin Ptáček, KOMIX s.r.o. Martin Ptáček, KOMIX s.r.o. ptacek@komix.cz Copyright 2007 KOMIX Copyright s.r.o. 2007 KOMIX s.r.o. 1. Obsah Co je Messaging? Specifikace a architektura JMS Použití JMS API Závěrečné shrnutí Otázky a odpovědi,

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

IBA CZ průmyslový partner FI MU

IBA CZ průmyslový partner FI MU IBA CZ průmyslový partner FI MU Petr Adámek O společnosti IBA Group IBA Group selected for Global Services 100 in the categories: TOP 5 TO WATCH IN CENTRAL AND EASTERN EUROPE rating 2. IBA založena v roce

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

Sjednocení dohledových systémů a CMDB

Sjednocení dohledových systémů a CMDB Řízení dodávky IT služeb v enterprise společnosti Sjednocení dohledových systémů a CMDB Václav Souček, ČEZ ICT Services, a.s. Jaroslav Jičínský, AutoCont CZ, a.s. 26. Ledna 2012 Agenda Úvod Výchozí stav

Více

People Manager Komplexní řízení zdrojů a projektů jednoduše

People Manager Komplexní řízení zdrojů a projektů jednoduše People Manager Komplexní řízení zdrojů a projektů jednoduše Hlavní funkce Řízení portfolia projektů Podpora pro Demand Management a prioritizaci Podpora pro rozhodování při plánování releasů aplikací Přehled

Více

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování 12. Virtuální sítě (VLAN) Studijní cíl Základní seznámení se sítěmi VLAN. Doba nutná k nastudování 1 hodina VLAN Virtuální síť bývá definována jako logický segment LAN, který spojuje koncové uzly, které

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

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání

Více

Katalog služeb a podmínky poskytování provozu

Katalog služeb a podmínky poskytování provozu Příloha č. 1 Servisní smlouvy Katalog služeb a podmínky poskytování provozu Část P2_1 P2_1_Katalog služeb a podmínky poskytování provozu 1 Obsah 1 OBSAH... 2 2 DEFINICE POJMŮ... 3 3 DEFINICE SLUŽEB, KOMPONENT

Více

Optimalizaci aplikací. Ing. Martin Pavlica

Optimalizaci aplikací. Ing. Martin Pavlica Optimalizaci aplikací Ing. Martin Pavlica Vize: Aplikace v dnešním světě IT Ze všech částí IT jsou aplikace nejblíže businessu V elektronizovaném světě významným způsobem podporují business, ten se na

Více

Dodatečné informace č. 7

Dodatečné informace č. 7 Dodatečné informace č. 7 V souladu s ustanoveními 49 zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů, poskytuje zadavatel dodatečné informace č. 7 k zadávacím podmínkám veřejné

Více

Struktura pamětí a procesů v DB Oracle. Radek Strnad

Struktura pamětí a procesů v DB Oracle. Radek Strnad Struktura pamětí a procesů v DB Oracle Radek Strnad radek.strnad@gmail.com 1 Základní rozdělení paměti Software codes area Chráněná část spustitelného kódu samotné DB. System global area (SGA) Sdílená

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_31_20 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

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

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

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

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

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

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

Více

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

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

Architektury informačních systémů

Architektury informačních systémů Architektury informačních systémů doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes/vyuka/tis Miroslav.Benes@vsb.cz Obsah přednášky Co je to

Více

Snížení skrytých nákladů spojených se zvýšením kapacity napájení datových středisek

Snížení skrytých nákladů spojených se zvýšením kapacity napájení datových středisek Snížení skrytých nákladů spojených se zvýšením kapacity napájení datových středisek Richard Sawyer White Paper #73 Resumé Zvýšení kapacity napájení tradičních systémů UPS vede ke skrytým nákladům, které

Více

Architektury informačních systémů

Architektury informačních systémů Architektury informačních systémů doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes/vyuka/tis Miroslav.Benes@vsb.cz Obsah přednášky Co je to

Více

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Microsoft SharePoint Portal Server 2003 Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Přehled Země: Česká republika Odvětví: Velkoobchod Profil zákazníka

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

Databázové systémy trocha teorie

Databázové systémy trocha teorie Databázové systémy trocha teorie Základní pojmy Historie vývoje zpracování dat: 50. Léta vše v programu nevýhody poměrně jasné Aplikace1 alg.1 Aplikace2 alg.2 typy1 data1 typy2 data2 vytvoření systémů

Více

Sem vložte zadání Vaší práce.

Sem vložte zadání Vaší práce. Sem vložte zadání Vaší práce. České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Magisterská práce Event Driven Integration Pattern s podporou distribuovaných

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

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura. 2012 IBM Corporation

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura. 2012 IBM Corporation TSM for Virtual Environments Data Protection for VMware v6.3 Ondřej Bláha CEE+R Tivoli Storage Team Leader TSM architektura 2012 IBM Corporation Tradiční zálohování a obnova dat ze strany virtuálního stroje

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

Správa a sledování SOA systémů v Oracle SOA Suite

Správa a sledování SOA systémů v Oracle SOA Suite Správa a sledová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 7. října 2014 Marek Rychlý Správa

Více

Transakce. Ing. Marek Sušický, RNDr. Ondřej Zýka

Transakce. Ing. Marek Sušický, RNDr. Ondřej Zýka Transakce Ing. Marek Sušický, RNDr. Ondřej Zýka 1 Obsah Definice Savepoint, autonomní transakce Transakční módy Izolační úrovně Implementace pomocí zámků Implementace pomocí snapshotů Oracle, Microsoft

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

Vytvoření procesně integrační nástavby KUBIKI pro ERP systém MAX+

Vytvoření procesně integrační nástavby KUBIKI pro ERP systém MAX+ Vytvoření procesně integrační nástavby KUBIKI pro ERP systém MAX+ O společnosti IBA CZ Společnost IBA CZ je vývojovým centrem nadnárodní korporace IBA Group, které se specializuje na zakázkový vývoj software

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

Hynek Cihlář Podnikový architekt 7.11..2013. Od Indoše ke Cloudu

Hynek Cihlář Podnikový architekt 7.11..2013. Od Indoše ke Cloudu Hynek Cihlář Podnikový architekt 7.11..2013 Od Indoše ke Cloudu Jediná jistota je změna Rychlost vstupu na trh, zvyšování efektivity, zjednodušení funkčnosti, snižování nákladů Obtížnost řízení a kontroly

Více

Wonderware Historian 10.0

Wonderware Historian 10.0 Wonderware Historian 10.0 Příklady vícevrstvých architektur Jiří Nikl Pantek (CS) s.r.o. Strana 2 Wonderware Historian 10.0 využití vícevrstvé architektury Nová verze historizační databáze Wonderware Historian

Více

Metadata. RNDr. Ondřej Zýka

Metadata. RNDr. Ondřej Zýka Metadata RNDr. Ondřej Zýka 1 Metadata Jedna z kompetencí Data managementu Cíle kompetence: Zajistit jednotné porozumění a užití termínů Provázat informace na různých úrovních (byznys, aplikační, technické)

Více

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE 2011 Technická univerzita v Liberci Ing. Přemysl Svoboda ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE V Liberci dne 16. 12. 2011 Obsah Obsah... 1 Úvod... 2 Funkce zařízení... 3 Režim sběru dat s jejich

Více

Moderní metody automatizace a hodnocení marketingových kampaní

Moderní metody automatizace a hodnocení marketingových kampaní Moderní metody automatizace a hodnocení marketingových kampaní SAS CI Roadshow 2014 24/09/2014 Vít Stinka Agenda Představení společnosti Unicorn Systems Aliance Unicorn Systems a SAS Celkový koncept Customer

Více

Monitorování a audit databází v reálném čase. Ing. Jan Musil IBM Česká republika

Monitorování a audit databází v reálném čase. Ing. Jan Musil IBM Česká republika Monitorování a audit databází v reálném čase Ing. Jan Musil IBM Česká republika Jsou naše data chráněna proti zneužití? Ano, pokud... Nepoužitelné Steve Mandel, Hidden Valley Observatory http://apod.nasa.gov/apod/ap010809.html

Více

Wonderware Information Server 4.0 Co je nového

Wonderware Information Server 4.0 Co je nového Wonderware Information Server 4.0 Co je nového Pavel Průša Pantek (CS) s.r.o. Strana 2 Úvod Wonderware Information Server je výrobní analytický a reportní informační portál pro publikaci výrobních dat

Více

Mgr. Radko Martínek, hejtman Pardubického kraje

Mgr. Radko Martínek, hejtman Pardubického kraje Dodatečná informace č. 3 pro otevřené nadlimitní řízení dle 27 zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů a dle metodiky IOP Název veřejné zakázky Technologické centrum

Více

Provozní řád zálohování virtuální infrastrukury

Provozní řád zálohování virtuální infrastrukury Provozní řád zálohování virtuální infrastrukury 1 Popis služby Služba zálohování poskytuje možnost pravidelného automatizovaného vytváření kopií (záloh) dat z daného časového okamžiku na vyhrazena datová

Více

Wonderware Historian. Příklady vícevrstvých architektur. Jiří Nikl, Tomáš Mandys Pantek (CS) s.r.o.

Wonderware Historian. Příklady vícevrstvých architektur. Jiří Nikl, Tomáš Mandys Pantek (CS) s.r.o. Wonderware Historian Příklady vícevrstvých architektur Jiří Nikl, Tomáš Mandys Pantek (CS) s.r.o. Strana 2 Wonderware Historian Server využití vícevrstvé architektury Historizační databáze Wonderware Historian

Více

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU Tvorba podnikových aplikací v jazyce JAVA Josef Pavlíček KII PEF CZU J2EE Jedná se o přístup: sadu pravidel, technologií, metod, doporučení jak provádět design, vývoj, nasazení a provozování vícevrstvých

Více

Servisně orientovaná architektura Základ budování NGII

Servisně orientovaná architektura Základ budování NGII Servisně orientovaná architektura Základ budování NGII Jan Růžička Institute of geoinformatics VSB-TU Ostrava 17.listopadu, 70833 Ostrava-Poruba Poruba, jan.ruzicka@vsb.cz NGII NGII složitý propletenec,

Více

End User Experience Monitoring Měření kvality IT služeb 7.10.2010, Brno Jiří Vozňák. information technology

End User Experience Monitoring Měření kvality IT služeb 7.10.2010, Brno Jiří Vozňák. information technology End User Experience Monitoring Měření kvality IT služeb 7.10.2010, Brno Jiří Vozňák information technology Základ firemní strategie Strategie firmy Lidé Procesy Nástroje Portfolio nabídky a služeb Crux

Více

Případová studie O2 SVĚT. Microsoft Azure zefektivňuje řízení prodejní sítě v O2 Slovakia

Případová studie O2 SVĚT. Microsoft Azure zefektivňuje řízení prodejní sítě v O2 Slovakia Případová studie O2 SVĚT Microsoft Azure zefektivňuje řízení prodejní sítě v O2 Slovakia O2 SVĚT Spuštění portálu O2 Svět je pro nás novým začátkem ve způsobu spravování a publikování informací pro prodejní

Více

Integrací aplikací proti blackoutům

Integrací aplikací proti blackoutům Integrací aplikací proti blackoutům 5. listopadu 2014 Stanislav Mikulecký Stanislav Mikulecký Unicorn Systems, senior consultant, 2009 Unicorn Systems, software architect, 2003 Vigour, vývojář, 2001 Vysoké

Více

IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1

IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1 IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1 Reporting a Monitoring Ondřej Bláha CEE+R CoP Team / Tivoli Storage Team Leader Září 2010 2010 IBM Corporation TSM 6: Reporting

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

ARCHITEKTURA INFORMAČNÍCH SYSTÉMŮ PODLE ÚROVNĚ ŘÍZENÍ

ARCHITEKTURA INFORMAČNÍCH SYSTÉMŮ PODLE ÚROVNĚ ŘÍZENÍ ARCHITEKTURA INFORMAČNÍCH SYSTÉMŮ PODLE ÚROVNĚ ŘÍZENÍ Podle toho, zda informační systém funguje na operativní, taktické nebo strategické řídicí úrovni, můžeme systémy rozdělit do skupin. Tuto pyramidu

Více

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací. Přednáška 5 1. Stručný přehled vývoje html H T m l (HTML...XML... html5), (Web API, JSON, REST,AJAX) 2. Některé související IT IP adresa, doménová adresa, name servery JavaScritp, Jquery, Angular PHP vs

Více

Implementace dávkových operací

Implementace dávkových operací Implementace dávkových operací Petr Steckovič 12. 5. 2011 Hradec Králové 1 Dávkové zpracování dat Procesy běžící na pozadí Spouštěné Časem Stavem (např. dochází místo) Ručně Obvykle se jedná o podpůrné

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

Platební systém XPAY [www.xpay.cz]

Platební systém XPAY [www.xpay.cz] Platební systém XPAY [www.xpay.cz] implementace přenosu informace o doručení SMS verze 166 / 1.3.2012 1 Obsah 1 Implementace platebního systému 3 1.1 Nároky platebního systému na klienta 3 1.2 Komunikace

Více

X33EJA Enterprise Java. Petr Šlechta Sun Microsystems petr.slechta@sun.com

X33EJA Enterprise Java. Petr Šlechta Sun Microsystems petr.slechta@sun.com X33EJA Enterprise Java Petr Šlechta Sun Microsystems petr.slechta@sun.com Web Services (dodatek) Dynamické vyvolání WS Pomocí SAAJ (SOAP with Attachments API for Java) Dynamicky vytvořit SOAP zprávu (např.

Více

DOPLNĚK. Projekt Informační systém základních registrů je spolufinancován Evropskou unií z Evropského fondu pro regionální rozvoj.

DOPLNĚK. Projekt Informační systém základních registrů je spolufinancován Evropskou unií z Evropského fondu pro regionální rozvoj. GLOBÁLNÍ ARCHITEKTURA ZÁKLADNÍCH REGISTRŮ DOPLNĚK Projekt Informační systém základních registrů je spolufinancován Evropskou unií z Evropského fondu pro regionální rozvoj. Obsah 1 Cíle dokumentu...3 2

Více

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM Č. 3. Zadavatel: Název veřejné zakázky: Česká republika Ministerstvo zemědělství

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM Č. 3. Zadavatel: Název veřejné zakázky: Česká republika Ministerstvo zemědělství Zadavatel: Česká republika Ministerstvo zemědělství Název veřejné zakázky: Vytvoření nového informačního systému MZe pro výzkum a vývoj - "VÝZKUM-AGRI" Sídlem: Těšnov 65/17, 110 00 Praha 1 Nové Město Evidenční

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více