MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY DIPLOMOVÁ PRÁCE. Cloud computing řešení IT podpory pro malé a střední společnosti

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

Download "MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY DIPLOMOVÁ PRÁCE. Cloud computing řešení IT podpory pro malé a střední společnosti"

Transkript

1 MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY DIPLOMOVÁ PRÁCE Cloud computing řešení IT podpory pro malé a střední společnosti Kotlík Martin Brno 2010

2 Prohlášení Prohlašuji, že tato diplomová práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, kterou jsem při vypracovávání používal, nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Vedoucí práce: doc. RNDr. Tomáš Pitner, Ph.D.

3 Poděkování Děkuji doc. RNDr. Tomáši Pitnerovi, Ph.D. za všechny cenné rady a připomínky k této práci. Také za jeho trpělivost a příjemné konzultace.

4 Shrnutí Úkolem studenta je nastudování požadavků firem na systém IT podpory a zhodnotit jaká řešení může daná firma použít. Popsat, kdy je výhodnější použít řešení založené na cloud computing než hostované či lokální, a zároveň zmínit i nevýhody těchto řešení. Dalším úkolem bude vybrat si jednu z platforem pro cloud computing, vytvořit netriviální systém jako ukázku řešení IT podpory pro firmy a zároveň demonstrovat možnosti této platformy. Aplikace by měla implementovat některé prvky běžné v podobných IT systémech nezaložených na cloud computingu. Klíčová slova Google App Engine, PaaS, Java, Cloud Computing, Eclipse, Firm, GWT, Google Apps

5 OBSAH 1 Úvod Potřeby firmy Požadavky na firemní systém Požadavky zaměstnanců Nabízená řešení / kritéria výběru řešení Cloud Computing Modely nasazení Distribuční model SAAS, PAAS a AAAS Výhody a nevýhody cloudu Platforma jako služba Amazon Web Services Force.com Platform Windows Azure Platform Porovnání různých systémových řešení Google App Engine (GAE) Prostředí Google App Engine Sandbox Podporované jazyky, vývojové IDE, použité technologie Python Prostředí Java runtime App Engine Java SDK a vývojové prostředí Ukládání dat Databáze Bigtable Java Data Interface (JDI) Služby poskytované GAE... 30

6 4.5 Kvóty a poplatky za používání aplikací Administrační rozhraní App Engine pro business Ukázková aplikace Použité technologie Google Web Toolkit Google Apps Textový rozbor Use case diagram a popis Diagram entit a rozložení Implementace aplikace Přihlášení do aplikace Práce uvnitř systému Budoucí vylepšení a rozšíření Závěr Použitá literatura Příloha A Příloha B... 58

7 1 ÚVOD Rozhodl jsem se zpracovat diplomovou práci na téma cloud computing a vývojová prostředí kolem něj. Domnívám se, že v dnešní dynamické době, kdy je potřebné rychle reagovat na požadavky trhu a upravovat vlastnosti firemního systému podle potřeb zákazníků, ať se jedná o počet přístupů uživatelů k systému, velikost datového úložiště či výpočetní výkon, který je na něj kladen, jsou právě cloud computing služby tím směrem, kterým se bude vývoj a implementace nových aplikací pro společnost ubírat. Je možné, že celé nadšení kolem cloud computing služeb je pouze dočasné a že za pár let nikdo nebude vědět, o jakou technologii se tenkrát jednalo. Proto je potřeba vzít v úvahu všechny klady a zápory, které tyto služby přináší a vytvořit si svůj názor. Moje diplomová práce by se proto měla zaměřit především na tyto problémy: zjistit potřeby společností a jak pomocí cloud computingu tyto nároky splnit, dále rozebrat jednotlivé složky cloudu a popsat, co obsahují. Úkolem práce je také zjistit, zda jsou platformy založené na cloud computingu na takové úrovni, která by programátorům umožnila programovat systémy stejné, nebo alespoň podobné těm založeným na jiných programových řešeních. Pro vytvoření ukázkové aplikace jsem si vybral platformu Google App Engine (GAE), jelikož je s některými omezeními poskytován zdarma a mohl jsem jí tak bezplatně zkoušet a zkoumat. Na této platformě se pokusím vystavět systém, který by byl určen pro menší firmy, právě kvůli tomu, že malé firmy si často nemůžou dovolit zpočátku investovat do nákladných technologií a zdlouhavých procesů vývoje. Tento systém by měl demonstrovat schopnosti GAE a několika dalších služeb, které rozšíří jeho funkcionalitu. 1

8 2 POTŘEBY FIRMY Systém pro IT podporu je důležitou součástí jakékoliv firmy. Je prostředkem k řešení vzniklých problémů, plánování schůzek, ukládání dat, reportování chyb a podobných důležitých procesů v podniku. Není jednoduché napsat seznam potřeb firmy, které by měl splňovat firemní systém, a to hned z několika důvodů. Každá firma je jiná a zasahuje do jiného obchodního sektoru, tedy má i jiné požadavky na obsah systému. Dále se bude s největší pravděpodobností v průběhu času měnit (zvětšovat, rozšiřovat svoje služby, měnit zaměření) a s ní i její potřeby a takových podobných problémů by nás jistě napadlo ještě mnoho dalších. Rozhodl jsem se proto, že převedu firemní potřeby na obecnější rovinu a rozeberu je z pohledu postupů a specifikací, které jsou dané obecně a je potřeba je dodržovat. Hlavním kritériem, které by měl každý firemní systém splňovat je, že by měl firmě účelně sloužit a efektivně zvyšovat její produktivitu. Existuje mnoho faktorů, které je potřeba vzít v úvahu a přizpůsobit je tvorbě firemního systému. Často se o tyto problémy ve firmě stará určitá specializovaná skupina lidí, nazývaná IT organizace, která postupuje podle sad doporučení a praktik pro poskytování IT podpory. Ve většině firem je to právě IT organizace, která zajišťuje optimalizaci a efektivitu firemních procesů. S rostoucí komplexností a náročností úkolů rostou i požadavky na IT organizaci ve firmě. Tyto požadavky jsem upravil do podoby, které se vztahují k firemnímu systému. Nyní si uvedeme některé podstatné body, které by měly zajistit plynulý chod IT systému. 2.1 Požadavky na firemní systém Udržení IT infrastruktury v chodu IT systém bude podporovat a zefektivňovat mnoho firemních procesů, tím pádem se firma stává na něm závislá a každý 2

9 výpadek může způsobit výrazné snížení výkonnosti společnosti. To by přineslo finanční ztráty, ztráty zákazníků, atd. Z tohoto důvodu je důležité zajistit, aby systém byl dostatečně stabilní a chráněný proti výpadkům. Zvyšování přidané hodnoty Firemní systém je ve firmě vnímán jako podpůrná složka a jako taková by měl přinášet firmě určitou přidanou hodnotu. Každá služba systému by měla být prověřena, že přináší určitou hodnotu, pokud ne, neměla by se vůbec implementovat. Stejně je to i s nově zaváděnými službami, které by měly být prospěšné pro celou organizaci. Snižování ceny Investice firmy do vývoje systému přináší pro firmy nemalé náklady. Tyto náklady rostou s novými technologiemi, zrychleným životním cyklem programového vybavení, komplexností řešení a různými legislativními požadavky. Je proto důležité, aby byl systém řízen efektivně a ve finálním důsledku přinášel zisky, ne výdaje. Snižování komplexnosti Z různých důvodů, ať už historických nebo technologických, se IT infrastruktura skládá z různých řešení, které je nutno navzájem propojit. Postupem času tak vzniká příliš komplexní řešení, kde každý systém musí být propojen se všemi ostatními a data jsou uložena na více místech. Cílem je tedy minimalizovat přenosy dat a centralizovat správu. Sladění s potřebami organizace V minulosti IT organizace neimplantovaly technologie tak, aby byly správně svázané s firemními procesy. Proto se ne vždy podařilo sladit požadavky firmy s těmito procesy. Je proto důležité definovat a zajistit služby, že jsou svázané s příslušnými firemními procesy a nové IT služby jsou zaváděny na základě jasně definovaných principů, které jsou v souladu se strategií firmy. Sladění legislativních požadavků V rámci různých průmyslových odvětví je nutné splnit určité požadavky dané legislativou či jinou regulací. Jde například o farmacii, energetiku, apod. Tyto požadavky se můžou průběžně měnit a jejich nesplnění má mnoho negativních následků. Je tedy nutné systém vyvinout s ohledem na požadavky příslušných zákonů a jiných regulací. 3

10 Zajištění bezpečnosti V současném konkurenčním prostředí je nutné chránit vlastní data a informace. Mohlo by dojít ke zneužití informací, krádeži nebo jejich poškození. Je proto nutné, aby systém použitý pro jejich sdílení, byl adekvátně chráněn proti takovým zásahům Požadavky zaměstnanců Z pohledů uživatelů jsou požadavky na systém podstatně jednodušší a přímočaré, týkající se většinou grafického rozhraní a pohodlnosti ovládání. Požadavky uživatelů na systém definoval V. Sklenák (1) jako následující: nejkratší doba odezvy od zadání dotazu uživatele a odpovědí systému uchovávání užitečných údajů, účelné uživatelské rozhraní v jeden okamžik může pracovat se stejnými daty/dokumenty více uživatelů trvalost uchovávání a minimalizace redundance dat dotazovací jazyk blízký přirozenému jazyku možnost zabezpečeného přístupu co nejjednodušší vyhledávání s minimálními nároky na učení uživatele efektivní přidávání, rušení a aktualizace dat (resp. dokumentů) trvalá dostupnost bez jakýchkoliv časových omezení 2.2 Nabízená řešení / kritéria výběru řešení V dnešní době dostupného a rychlého internetu se rozdíly mezi aplikacemi pro web a desktop stírají a klasické programy se stále více blíží chytrým webovým stránkám. Není tedy divu, že většina společností se uchýlila k webovému řešení pro svůj systém pro IT podporu. Do nedávné doby ovšem neměly firmy příliš na výběr při samotném vytváření systému, bylo třeba mít vlastní zázemí ve firmě, servery a zaměstnance, kteří se o ně starali. Na těchto serverech se následně budoval nějaký informační systém či jiný program. O provoz serverů se bylo nutno dále starat a vynakládat další nemalé částky na udržení jejich bezproblémového chodu. 4

11 Proto se firmy začaly častěji přiklánět k webovému řešení IT podpory, které vyžadovalo menší náklady a počáteční investice. Nyní mají na výběr ze dvou řešení. Vybudovat systém pomocí webových technologií na hostovaných serverech, kde je potřeba si všechny technologie nainstalovat a přizpůsobit a doufat, že se jejich požadavky na systém v blízké době nezmění, nebo můžou využít nových služeb cloud computingu a přizpůsobit se nabízeným technologiím poskytovatele, za což jim bude odměnou flexibilní prostředí a možnost celé úsilí zaměřit pouze na kvalitní vytvoření aplikace. 5

12 3 CLOUD COMPUTING Obrázek 3.1: Zobrazení cloud computingu 1 Základní myšlenka cloud computingu sahá až do roku 1961, kdy John McCarthy 2 vyjádřil, že by bylo možné výpočetní úlohy organizovat jako veřejnou službu. Název mrak (cloud) byl převzat od telefonních společností, do roku 1990 přednostně nabízejících datové okruhy pro přímé spojení mezi dvěma síťovými uzly, které začaly propagovat svoje privátní virtuální sítě (VPN) 3 se srovnatelnou kvalitou, ale mnohem nižší cenou. Odkloněním přenosů k vyvážení využití byli schopni využít celkovou šířku pásma sítě mnohem efektivněji. Symbol mraku byl použit jako znázornění bodů, mezi kterými byla oddělena zodpovědnost poskytovatele od uživatele. Cloud computing později rozšířil tyto hranice na pokrytí serverů, stejně tak jako infrastruktury. 1 Zdroj obrázku prof-john-mccarthy/ 3 6

13 Firma Amazon 1 byla jednou z klíčových společností ve vývoji cloud computingu. Když roku 2001 po skončení internetové horečky 2 firma modernizovala svá datová centra, tak zjistila, že v dlouhodobém měřítku používají jen 10 % svého výkonu (tedy až na výjimečné větší zátěže), stejně jako se tento jev prokázal později u ostatních velkých firem na světě. Analytici zjistili, že firma těmito nevyužívanými kapacitami přichází ročně o nemalé peníze. Toto zjištění a další postupný rozvoj cloud architektury vyústil v roce 2006 v rozhodnutí firmy Amazon poskytnout ostatním přístup ke svým zdrojům pomocí Amazon Web Services 3 a stali se tak prvním poskytovatelem cloud služeb. V roce 2007 se přidaly firmy IBM a Google 4, současně s nimi i několik univerzit a začali vyvíjet velké množství výzkumných projektů zabývajících se cloud computingem. Během poloviny roku 2008 se začalo utvářet spojení mezi dvěma skupinami lidí. Jedna skupina IT služby požadovala a druhá skupina je nabízela, což bylo přesně vhodné období pro rozvoj cloud computingu. Firmy začaly uvažovat jinak a místo svého hardwaru a softwaru začali využívat služeb třetích stran, za které platily pravidelné měsíční poplatky. V úplném základu by se dal cloud computing přirovnat k novému obchodnímu modelu a nové uživatelské zkušenosti. Je to pojetí sdílené infrastruktury, v němž jsou rozsáhlé zdroje počítačových systémů propojeny a společně poskytují služby IT. To vyhovuje vysokým výkonnostním nárokům dynamického webu, kde jsou obrovské objemy informací zpracovávány ve zlomcích sekund. Uživatelům IT nabízí cloud computing rychlý přístup k všem možným druhům informací, bez ohledu na to, z jakého zařízení ke cloudu přistupují. Pracovníci, partneři a zákazníci požadují přístup k sofistikovaným aplikacím a důraz kladou zejména na jednoduchost jejich použití. Pokud jde o přesnou definici spojení slov cloud computing, stále ještě existují určité nejasnosti. Pokusím se tedy uvést svojí definici. Cloud computing je nové paradigma, ve kterém třetí strany, takzvaní poskytovatelé cloud služeb CSP (cloud service providers), nabízejí hardwarové a softwarové služby. Dalo by se tedy říci, že jde o poskytování škálovatelné výpočetní techniky, která je dostupná na dálku a přes a 7

14 internet. Tyto služby mohou být poskytovány v rámci firmy (privátní cloud) nebo třetí stranou (veřejný cloud). Architektura platformy cloud computingu však může být také hybridní, poté v sobě integruje privátní i veřejné platformy. Dnes jsou s cloud computingem nejvíce spojovány velké webové aplikace. Jako příklad lze uvést Google Apps 1, Microsoft Live Office 2 či právě vyvíjený operační systém Google Chrome OS Modely nasazení Obrázek 3.2: Modely cloud computingu Klasickým modelem cloud computingu je Veřejná cloud infrastruktura. Ta je poskytnuta a nabídnuta široké veřejnosti jako výpočetní služba přes webové rozhraní či služby. Tyto služby nám nabízí většinou poskytovatel třetí strany, často za malé poplatky. V dnešní době je jedním z nejdůležitějších kritérií při přechodu firem na cloud služby bezpečnost a záruka. Tyto záruky jsou nyní obvykle řešeny dohodami o úrovni služby s poskytovateli cloud computingových řešení. Výzkumy agentury Gartner

15 Research 1 ukazují, že do roku 2013 bude záruka kvality a úrovně služeb nejdůležitějším faktorem pro 90% ze všech společností, které budou využívat služby cloudu. Hlavní samostatnou oblastí je zabezpečení dat. Některá data například nesmí opustit podnik nebo určitou geografickou lokalitu. Dohled a posouzení toho, které pracovní úlohy lze provozovat ve veřejném cloudu a které musí být zachovány na interní infrastruktuře, má proto zásadní význam. Pro mnoho společností byl právě ohled na bezpečnost dat hlavním důvodem k vybudování Privátní cloud infrastruktury, která je provozována výhradně za firewallem. Tímto způsobem si mohou společnosti udržet dostatečnou úroveň bezpečnosti a zároveň řízením přístupu mohou poskytnout přístup svým zaměstnancům nebo dalším uživatelům z okolních sítí, jako například obchodním partnerům a společníkům. Větší podniky mohou mít část svého IT systému umístěny na veřejných cloudech, ale stále potřebují vlastní infrastrukturu kvůli bezpečnosti, odolnosti a legislativním požadavkům, jimž standardizovaná řešení nemohou vyhovět. Těmto omezeným požadavkům nejlépe vyhovuje Hybridní cloud computing. Spojením privátního a veřejného cloudu v hybridní získá společnost kontrolu, lepší zabezpečení a odolnost privátního cloudu spolu s flexibilitou veřejného cloudu. Předpokládá se do budoucna, že hybridní řešení bude představovat majoritu ze všech cloudů. Speciálním případem cloudu je Komunitní cloud computing. Jedná se o model, kdy je cloud infrastruktura sdílena mezi několika organizacemi, skupinou lidí, kteří ji využívají. Tyto organizace může spojovat bezpečnostní politika nebo stejný obor zájmu. Příkladem takového cloudu je například Gov Cloud 2 od firmy Google

16 3.1.2 Distribuční model SAAS, PAAS a AAAS Distribuční model se zabývá tím, co je v rámci služby nabízeno, obvykle software, hardware či jejich kombinací. Tyto služby jsou uspořádány ve vrstvách, ale vzájemně nejsou zcela autonomní a některé služby zasahují do více vrstev. Obrázek 3.3: Vrstvy distribučního modelu cloud computingu 1 Úplně v základu celé infrastruktury musí být nějaké hardwarové a softwarové vybavení, které slouží a je speciálně navrženo pro fungování cloud computingu. Nad tímto vybavením se nachází první vrstva Infrastruktura jako služba (IAAS - Infrastructure as a Service). V této vrstvě služeb poskytovatel nabízí počítačovou infrastrukturu, typicky se jedná o virtualizaci. Raději než aby si zákazník kupoval servery, software, datová centra a síťová vybavení, tak si tyto zdroje může koupit jako plně funkční vzdálené služby. Za tyto služby se obvykle platí jen tolik, kolik zákazník spotřebuje zdrojů za určité časové období. Nad touto vrstvou IAAS je vrstva Platforma jako služba (PAAS - Platform as a Service). Poskytovatel v PAAS vrstvě distribuuje výpočetní platformu a kompletní prostředky pro podporu celého životního cyklu tvorby a poskytování webových aplikací a služeb. Uživatel nemusí znát nic dalšího a nemusí se zajímat o nákup či správu spodních vrstev hardwaru a softwaru. 1 Zdroj obrázku - 10

17 Poslední vrstvou je Software jako služba (SAAS - Software as a Service). Vrstva SAAS poskytuje uživateli aplikace, které jsou licencovány a pronajímány uživateli za poplatky. Tyto aplikace jsou dostupné přes webové rozhraní, což eliminuje nutnost instalovat a spouštět aplikace na lokálních počítačích a ulehčí správu a technickou podporu. 3.2 Výhody a nevýhody cloudu Jako každá technologie i cloud computing má své výhody a nevýhody. Nyní bych rád zmínil alespoň několik hlavních bodů z obou kategorií, aby byly vidět, s jakými problémy se budou muset uživatelé potýkat a jaké úskalí tato technologie skýtá. Mezi hlavní výhody cloud computingu patří: Lepší finanční přehled Implementace IT kapacit vyžaduje obvykle velkou počáteční investici, zejména do hardwarové části. Poskytovatelé často nabízejí účtovací model na základě toho, kolik jste využili systémových prostředků. Účtují podle toho, kolik času vaše společnost stráví v cloud systému nebo podle toho, kolik spotřebuje zdrojů (připojení, přenesená data, zaplnění skladovacího prostoru). V modelu peněžního toku 1 jsou následně všechny tyto položky zavedeny a přehledně zobrazeny, což umožňuje firmě získat podrobný a hlavně přehledný a přesný soupis jejích výdajů. To může vést firmu k přehodnocení poptávky po IT službách a jejich optimalizaci. Spolupráce a sdílení schopností Cloud computing poskytuje nové možnosti spolupráce a sdílení. Jako příklad můžu uvést generální opravu ového systému, používání wiki, virtuálních ploch a webových konferencí. Takové formy spolupráce urychlují a zlepšují komunikaci mezi jednotlivými podniky i rámci jedné firmy, jakožto i produktivitu práce s nimi. Rychlé poskytování a pružné škálovnání Poskytovatel nabízí okamžitý přístup k široké škále služeb. Ještě důležitější je ovšem, že budete moci nastavit způsob 1 11

18 škálování, jak budete své IT používat. Zda to bude nahoru, či dolů záleží jen na vás a na vašich obchodních potřebách. Díky poskytnuté flexibilitě lze snadno a pružně reagovat na měnící se obchodní požadavky. Nižší náklady na řízení Vaše IT služby jsou umístěny v cloud computing prostřední a poskytovatel se o ně stará jménem vaší organizace v rámci centralizované správy. Mohou tak získat velké úspory v rámci rozlohy a celkově se tak snižují náklady na IT služby. Zaměření se na podstatné Poskytovatelé budou spravovat kompetence a služby, které nejsou klíčové pro většinu vedení firem a pro jejich podnikání. To znamená, že pozornost se může přesunout od problémů, jako neustálé opravování softwaru a jiných počítačových problémů k novým strategickým cílům a technologiím, které jsou důležité pro podnikání a dosahování obchodních cílů. Ohled na životní prostření Virtualizace aplikací několika serverů vede k vyššímu využití výpočetního výkonu a nižším ztrátám vznikajícím z nečinnosti. Počítače se pak mohou přesunout do výpočetních center, které pohání zelená energie (solární, termální) a které používají nízkoenergetická zařízení. Tato opatření mohou přispět k úsporám na životním prostřední. Pokud se cloud computing aplikuje na správných místech a s rozvahou, může přinést konkrétní výhody. Není ovšem ideální pro každou situaci a skýtá řadu rizik, na které je potřeba dát si pozor, zejména pokud se jedná o veřejný cloud. Nedostatečná průhlednost a soulad se zákony Žádná společnost neprojde klientským auditem schopností, pokud nemůže prokázat, kdo všechno má přístup k informacím a jak zabrání neoprávněnému přístupu. Aby tyto požadavky bylo možné uspokojit, je nutné od poskytovatele vyžádat a prozkoumat nezávislou auditorskou zprávu ještě před tím, než začne odebírat jejich služby. Poskytovatel by měl také udržovat dostatečný monitoring a záznamy přístupů do systému. 12

19 Vlastnictví dat a ochrana osobních údajů Poskytovatelé mohou nakládat s vašimi daty jinak, než bylo původně zamýšleno. To zahrnuje neoprávněné prohledávání a profilování. Pokud je duševní vlastnictví firmy rozloženo geograficky přes několik států nebo i světadílů, můžou vznikat neočekávané problémy, které mohou například omezit její právní nárok na náhradu škody. Je tedy potřeba dopředu specifikovat a mít smluvně domluveno, jaké zeměpisné rozložení dat je pro společnost přípustné a které není. Existují vlády v EU, které zakazují předávání některých osobních údajů mimo hostitelské země, což může mít také různé právní důsledky. Například v USA platí zákon Patriot Act 1, který říká, že americká vláda může získat přístup k datům uloženým na amerických serverech. Omezená rychlost a dostupnost Abyste mohli využívat cloud služby, je přístup k internetu rozhodující. Při velkém zatížení provozu nebo špatně navrhnuté aplikaci může docházet ke zpoždění, které se negativně projeví na chování služby. Je tedy nutné se s poskytovatelem služby dohodnout na maximální délce přijatelného zpoždění. Omezená záruka na úroveň služeb Většina prodejců sice poskytuje tzv. service credits za výpadky služby, ale škody napáchané po dobu výpadku už můžou být závažné a nevratné. Opět by měl být definován proces o tom, jak se budou řešit případné spory. Licenční modely a účtování Existuje celá řada modelů, jakým způsobem licencovat a účtovat cloud computing (jedna licence, sdílená licence, dočasné užívání, či platba podle užívání). Ať je již jakýkoliv model aplikován na veřejný, privátní či hybridní cloud, tak zákaznická organizace musí dobře chápat, jaký má profil a podle toho ustanovit licenční a účtovací model. Širokopásmé připojení a další náklady Širokopásmé připojení pro rozsáhlé aplikace a pro cloud služby se může i v dnešní době ještě docela prodražit. Pokud například plánujete přemístit velkou databázi (v rámci terabytů) do 1 13

20 cloud prostředí, tak se náklady na její přesunutí prostřednictvím internetu výrazně zvýší. Závislosti na jednom prodejci v oblasti cloudu není často zaručena přenositelnost mezi více poskytovateli. Je potřeba si tedy zajistit, aby poskytovatel zajistil zálohu vašich dat v přenositelné formě. 3.3 Platforma jako služba Do PaaS vrstvy se řadí většina vývojových prostředí založených na cloud computingu. PaaS je v podstatě virtuální sadou nástrojů se všemi pokročilými prostředky potřebnými k vytváření, testování a nasazování vlastního softwaru pro jakékoliv účely. Namísto nákupu stavebních bloků aplikací a jejich instalace na vlastním hardwaru, využívají uživatelé služby PaaS integrované webové vývojové prostředí, jako jsou.net 1 nebo Java, pomocí nichž mohou rychle vytvořit přesně to, co potřebují. V některých případech mohou dokonce obratem prodat to, co vytvořili nebo své řešení nabídnout jako službu pro jiné společnosti. Šlo by tedy říci, že PaaS představuje prostředí, ve kterém se vyvíjí určitá aplikace, která je po jejím dokončení nabízena jako služba SaaS. Jako příklady dnešních nejznámějších PaaS můžu uvést Amazon Web Services, Windows Azure Platform 2, na jiném přístupu založený Force.com platform 3, nebo Google App Engine 4, na který se zaměřím primárně a podrobněji ho popíši až v kapitole 4. Google App Engine (GAE)

21 Obrázek 3.4: Služby poskytovatelů znázorněné podle vrstev Amazon Web Services Jednou z prvních platforem, která byla uvedena do provozu, byla Amazon Web Services (AWS). Společnost Amazon hledala možnosti, jak využít volné serverové kapacity, které sama využívala jen přes svátky, především kolem vánočních svátků. Služby AWS proto, jak vidíme na obrázku 3.4, zasahují i do jiných vrstev cloud modelu. Amazon ve svých Web Services nabízí např. úložiště S3 (Simple Storage Service), které nabízí relativně neomezený úložný prostor a službu CDN - Content Delivery Network, při níž jsou data kopírována do uzlových serverů po celém světě a uživatelům jsou vždy poskytována z nejbližšího uzlu. Další klíčovou službou je EC2 (Elastic Computer Cloud), která nabízí virtuální servery. AWS dále poskytuje dvě databázové služby, SimpleDB (jednoduchá key-value databáze) a nedávno spuštěná RDS (Relational Database Service). Náročnějším zákazníkům nabízí vlastní privátní cloud, load ballancer, fulfillment service (službu kompletace zásilek a distribuce k zákazníkům), platební brány a další služby včetně např. "pronájmu pracovní síly", kdy 1 Zdroj obrázku - 15

22 si můžete pomocí služby Mechanical Turk 1 najmout lidi k tomu, aby dělali práci, kterou stroj nezvládne - například pro ohodnocení relevance výsledků vyhledávání.. Pro všechny tyto služby existuje API (Application Programming Interface), neboli aplikační programové rozhraní, takže je možné jejich provoz řídit programově - např. podle potřeby spouštět další servery Force.com Platform PaaS od firmy Salesforce se jmenuje Force.com Platform. Tato platforma podobně jako AWS zasahuje do více vrstev modelu cloudu. Hlavní rozdíl spočívá v tom, že neposkytuje svojí infrastrukturu, ale aplikace. Samotná tvorba vlastních aplikací probíhá v přehledném grafickém rozhraní, které umožňuje sestavit funkčně relativně rozsáhlý software bez nutné znalosti jakýchkoliv programovacích jazyků či jiných, jinak potřebných technologií. Aplikace jsou tedy jakousi nadstavbou již existujících aplikací firmy Salesforce, provozovaných na jejích serverech. Force.com umožňuje návrh vlastní aplikační logiky za použití programovacího jazyka Apex 2 (jazyk podobný Javě, který byl vytvořen primárně pro firmu Salesforce.com) nebo Visualforce 3 (metajazyk syntaxí podobný XML, který slouží pro budování rozhraní pro technologie HTML 4, AJAX 5 a Flex 6 ) Windows Azure Platform Platforma Azure od společnosti Microsoft 7 byla oficiálně ohlášena v roce 2008 a od ledna 2010 vstoupila do komerčního stádia, měsíc poté byla zpoplatněna. Celá 1 https://www.mturk.com/mturk/welcome 2 3http://wiki.developerforce.com/index.php/Introducing_Visualforce_- _Create_Any_User_Interface_as_a_Service

23 platforma je koncipována jako operační systém pro globální infrastrukturu serverů a datových center, založených na službách situovaných na nejnižší úrovni a jako základní podpůrný pilíř architektury, služby jádra pro cloud virtualizaci, škálovatelné služby a úložný prostor. Azure se skládá ze tří základních pilířů: Windows Azure jde o operační prostředí, umožňující pružné hostování aplikací, řízení služeb a správu místa pro uložení dat včetně zajištění rozsáhlého škálování. SQL Azure ve svém konceptu se jedná o relační databázi poskytovanou formou služeb. Technologicky se jedná o rozšíření funkcionality databázové platformy SQL Server 1. Databáze jsou virtuální, takže se uživatel nemusí starat o administraci, zabezpečení, zálohování ani replikace. AppFabric Primárním úkolem AppFabric je starat se o bezpečné propojení mezi službami, tedy nasazení aplikace a definování její konektivity. Kromě toho zahrnuje i caching paměti pro zvýšení výkonu, workflow hostování a sledování konektivity. Windows Azure je v současnosti provozován na šesti datových centrech, rozdělených na tři páry, které se mezi sebou vzájemně replikují. Jeden pár je umístěn v Severní Americe, druhý v Evropě a třetí v Asii. Počty center budou s narůstajícím počtem uživatelů přibývat. Služby Azure nejsou bezplatné, nebudu zde ale uvádět ceny, protože jsou proměnlivé. Vypočítávají se jako u běžné cloud služby (použitý výpočetní čas, disková kapacita, výkon, atd.). 3.4 Porovnání různých systémových řešení Obecně cloud computing přináší užitek jak malým, tak i velkým firmám. Malé firmy se díky cloud computingu mohou vyhnout dalším investicím do infrastruktury IT. Začínající firmy platí pouze za služby IT, které využívají a platí jen takovou kapacitu využitých prostředků, jakou potřebují. Velké firmy mohou využít hybridní cloud pro bezpečné uložení vlastních dat. Kdy je však vhodné využít cloud platformu pro vývoj 1 17

24 softwaru a kdy se vyplatí využít jiné řešení, ať už se jedná o hostované řešení či umístění na lokálním serveru? Pokusím se nejdůležitější body shrnout do tabulky. Cloud computing Hostované řešení Lokální server Technologie Většinou nové nebo Technologie, které Záleží na nás, jakou upravené technologie, nabízí poskytovatel na technologii zvolíme a jak se kterými je potřeba se svém webovém ji naimplementujeme. naučit zacházet. prostoru. Bezpečnost Na veřejném cloudu je Většinou na dobré Servery jsou umístěny bezpečnost úrovni, záleží opět na většinou za naším nedostatečná, lepším poskytovateli. firewallem, bezpečnost řešením je privátní je tedy dostatečná cloud. Databáze Nové nebo upravené Využívá různé komerční Je možná implementace virtuální databáze, i volně šiřitelné jakékoliv dostupné které jsou upravené databáze. databázové technologie. speciálně pro danou PaaS. Umístění Servery jsou Servery jsou Servery jsou umístěny serverů provozovány v centrech provozovány v dané společnosti. rozmístěných po celém v centrech, většinou na světě. jednom místě. Dostupnost Dostupnost obvykle Dostupné téměř vždy. Interně dostupné téměř přes spolehlivou Při výpadku je vždy. Vlastní personál se internetovou linku. provedena rychlá stará o správný chod. obnova. 18

25 Cena Platí se jen za to, co se Platí se měsíční Velká počáteční využije, ceny jsou proto pronájem, většinou investice, poté se platí různé a uživatel platí pevná částka. elektrická energie a jen to, co použije. správa zařízení. Správa Zákazník se nemusí o Zákazník si většinu Všechny věci, od nic starat. O vše se stará nastavení a technologii nasazení serveru po poskytovatel. implementuje sám. instalace, si zákazník zařizuje sám. Tabulka 1: Srovnání jednotlivých systémových řešení 19

26 4 GOOGLE APP ENGINE (GAE) Google App Engine nebyl první PaaS službou, ani dnes již není nejnovější produkt, přesto jsem si zvolil právě GAE, a to kvůli mému kladnému vztahu k firmě Google a jejím produktům. Dalším důvodem bylo, že v podstatě jako jediný nabízí téměř všechnu funkcionalitu zdarma a byl jsem tedy omezen jen dodatečnými limity, které ve své práci ještě podrobněji popíši 1. První beta verze platformy App Engine od firmy Google vznikla v dubnu roku Vznikla jako reakce na rozmáhající se fenomén Cloud computingu a také z důvodu, že servery Googlu, stejně jako ostatní velké společnosti, nevyužívají plně svoji výpočetní kapacitu. Na začátku se jednalo o prostředí, které překvapivě podporovalo pouze jazyk Python 2, který není přeci jenom dnes příliš rozšířený. U firmy Google je ale Python vcelku běžným jazykem a jde od roku 2006 po C++ 3 a Javě 4 o třetí podporovaný jazyk 5, což znamená, že vývojáři mohou vyvíjet aplikace pro Googlu v tomto jazyce. Během dalších měsíců vydal Google další verze GAE a na jaře roku 2009 byla přidána podpora jazyku Java. Nutno říci, že podpora Javy byla přidána i na četné žádosti komunity, která se vytvořila okolo App Engine. Tato komunita se od roku 2008, kdy čítala přibližně 10 tisíc vývojářů, značně rozrostla na dnešních 250 tisíc. 1 O omezeních GAE v kapitole 4.5 Kvóty a poplatky za používání aplikací sdforum.htm - zpráva o jazyku Phyton a jeho podpoře u firmy Google. 20

27 Obrázek 4.1: Růst počtu vývojářů na platformě GAE Prostředí Google App Engine Struktura App Engine je velmi odlišná od typického webového aplikačního serveru. Nejdůležitějším prvkem je, že GAE zakazuje vaší aplikaci jakýkoliv přístup k fyzické infrastruktuře, která leží pod aplikační vrstvou. Zabraňuje vám otvírat sockety, spouštět procesy na pozadí (výjimkou je softwarový démon CRON 2 ) a používat některé další rutinní operace, které jsou považovány vývojáři aplikací za běžné v jiných prostředích. Tato omezení jsou v App Engine převážně z toho důvodu, aby byla zachována jeho vysoká škálovatelnost a spolehlivost. Za tato omezení nám ovšem App Engine nabídne na oplátku možnost vybudovat aplikace rychle a s následujícími vlastnostmi: Dynamická webová obsluha s plnou podporou pro běžné webové technologie. Perzistentní datové úložiště s dotazovacím jazykem, řazením výsledků a transakcemi pro zajištění konzistence. Automatické škálování a vyvažování zátěže. 1 Zdroj Obrázku

28 Rozhraní pro autentizaci uživatelů a posílání elektronické pošty pomocí Google účtů. Plnohodnotné lokální vývojové prostředí, které simuluje Google App Engine na vašem počítači. Zpracování úloh ve frontě mimo rámec webového dotazu. Naplánované úlohy pro spouštění událostí v App Engine v daný čas nebo v pravidelných intervalech. Toto nejsou všechny vlastnosti, ani omezení, které jsou v GAE obsaženy. Vybral jsem jen některé, které demonstrují, že i přes některá omezení nám tato platforma přináší velké výhody a vyplatí se nám tato omezení dodržovat Sandbox Každá aplikace je spuštěna v bezpečném prostředí, které poskytuje pouze omezený přístup ke spodním funkcím operačního systému. Toto prostředí se nazývá sandbox. Daná omezení umožní App Enginu rozdělit webové dotazy pro aplikace na více serverů zároveň a upravovat běh serverů podle požadavků webového provozu. Sandbox izoluje vaši aplikaci ve svém vlastním bezpečném a spolehlivém prostředí, které je nezávislé na hardwaru, operačním systému a fyzickém umístění webového serveru. Jako příklady omezení uvedu: Aplikace nemůže zapisovat do souborového systému. Je dovoleno pouze čtení souborů, a to navíc jen souborů, které byly nahrány spolu s aplikací. Aplikace musí k práci se všemi daty, které si chce udržet mezi dotazy, použít datové úložiště App Engine, memcache nebo jinou službu poskytovanou platformou. Aplikace může komunikovat s ostatními počítači pomocí poskytované služby URL fetch a ových služeb. Ostatní počítače můžou být připojeny k aplikaci pouze přes HTTP (nebo HTTPs) dotazy na standardních portech. Kód aplikace může běžet pouze jako odpověď webového dotazu, úlohy na pozadí nebo naplánované úlohy a musí vrátit odpověď do 30 sekund. Aplikace také nemůže vytvářet více vláken, ani podprocesy. 22

29 4.2 Podporované jazyky, vývojové prostředí a použité technologie Google App Engine podporuje v základu dva jazyky pro psaní aplikací. Jedná se o Javu a Python, později se ukáže, že to není zcela přesná informace vzhledem tomu, že lze na Java platformě lze spustit i jiné programovací jazyky, které nejsou oficiálně podporovány. Obě prostředí, jak Java, tak Python, jsou budována tak, aby bylo zaručeno, že vaše aplikace budou fungovat rychle, bezpečně a bez jakéhokoliv ovlivnění ostatními aplikacemi v systému Python Prvním z jazyků, pro který je App Engine přizpůsoben, je Python. Já jsem se rozhodl aplikaci implementovat v jazyce Java, proto se budu věnovat jazyku Python pouze okrajově. GAE Python runtime prostředí dovolí implementovat vaše aplikace, které můžete programovat pomocí jazyku Python a ty se následně spouštějí na speciálně optimalizovaném Python interpretu. Prostředí App Engine obsahuje bohatou nabídku rozhraní a nástrojů pro vývoj webových aplikací v Pythonu. Tato nabídka čítá modelovací rozhraní, lehce použitelné vývojové rámce (framework) a nástroje pro správu a přístup k datům aplikace. Také můžete využít nabídky vyspělých knihoven a vývojových rámců třetích stran pro vývoj webových aplikací, jako je Django 1. Nyní prostředí Python runtime používá Python verzi Novější verze Python 3 je plánována do budoucích vydání. Aplikace psaná v Pythonu musí být naprogramována výhradně tímto jazykem, nejsou podporována běžná rozšíření v podobě kusů kódu v jazyce C 2. Poskytována jsou rozhraní na straně serveru pro datový sklad, Google účty, URL fetch a ovou službu. App Engine také poskytuje webový rámec nazvaný webapp, který pomáhá vytvořit nový projekt. S webovým serverem komunikují aplikace vytvořené v Pythonu pomocí CGI 3 standardu. Když

30 server obdrží dotaz na vaší aplikaci, spustí ji s daty dotazu v proměnných prostředích. Jako reakci na dotaz aplikace zapíše odpověď na standardní výstupní proud dat, včetně HTTP hlaviček a obsahu. Nyní jako příklad ukážu jednoduchý program Hello world napsaný v Pythonu, který lze spustit na GAE. Soubor programu je pojmenován helloworld.py : print 'Content-Type: text/plain' print '' print 'Hello, world!' Dále je pro správné fungování programu nutný soubor app.yaml, který kromě dalších věcí určuje, který řídící (handler) skript má být použit pro které URL. application: helloworld version: 1 runtime: python api_version: 1 handlers: - url: /.* script: helloworld.py Tyto soubory postačí spustit v lokálním prostředí nebo nahrát na server a jednoduchá aplikace je kompletní Prostředí Java runtime Dalším jazykem, který je oficiálně podporován, je Java. Aplikace pro Google App Engine lze v Javě vyvíjet v Java runtime prostředí pomocí běžných webových vývojových nástrojů a API standardů. Vaše aplikace bude komunikovat s prostředím pomocí standardu Java Servlet 1 a může používat například takové běžné webové technologie, jako jsou JavaServer Pages 2 (JSPs), ale i další Java Enterprise technologie, samozřejmě s jistými omezeními. Java runtime nyní využívá verzi Java 6. a Google App Engine Software Development Kit (GAESDK) pro Javu podporuje vývoj aplikací buď ve verzi 5. nebo

31 Samotný App Engine spouští aplikaci na Java Virtual Machine (JVM). JVM je spuštěn v bezpečném prostředí (sandbox), které ho odděluje od ostatních aplikací v systému. JVM má tu výhodu, že na něm lze spustit nejen Javu, ale i takzvané Javabased jazyky, tedy jazyky upravené, aby fungovaly na JVM. Jako příklad lze uvést JRuby, založené na jazyce Ruby, Quercus (PHP), nebo Rhino (JavaScript). Na stránkách firmy Google je kompletní seznam jazyků podporovaných z části, podporovaných i nepodporovaných. 1 Každá aplikace vyvíjená pro GAE v Javě musí mít danou stromovou strukturu souborů a adresářů. Soubory aplikace, včetně zkompilovaných tříd, JAR soubory 2, statické soubory a konfigurační soubory jsou poskládány v adresářové struktuře, která používá standardní rozložení WAR 3 pro Java webové aplikace. Tato struktura je následující: _NázevAplikace_/ src/...java zdrojový kód... META-INF/...ostatní konfigurace... war/...jsps, obrázky, dative soubory... WEB-INF/...konfigurace aplikace... lib/...jar pro knihovny... classes/...zkompilované třídy... Aby byl patrný rozdíl mezi oběma jazyky, vytvořím nyní program Hellou world i v jazyku Java. následující kód: Nejprve je třeba vytvořit servlet Helloworld.java, který obsahuje package guestbook import java.io.ioexception; import javax.servlet.http.*; public class GuestbookServlet extends HttpServlet { public void doget(httpservletrequest req, HttpServletResponse resp) throws IOException { resp.setcontenttype("text/plain"); resp.getwriter().println("hello, world"); } } Dalšími soubory, které jsou nezbytné k fungování programu, jsou dva konfigurační soubory web.xml a appengine-web.xml. Primárním účelem web.xml

32 (web application deployment descriptor) je, aby potom, co server obdrží požadavek, určil, která servletová třída má být zavolána. Vypadá takto: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5"> <servlet> <servlet-name>guestbook</servlet-name> <servlet-class>guestbook.guestbookservlet</servletclass> </servlet> <servlet-mapping> <servlet-name>guestbook</servlet-name> <url-pattern>/guestbook</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app> App Engine potřebuje ještě druhý konfigurační soubor, aby mohl určit, jak nahrát soubory na server a jak je správně spustit. Obsahuje ID a verzi vaší aplikace, poté statické soubory (např. obrázky, CSS styly 1 ) a zdrojové soubory (např. JSP soubory a ostatní aplikační data.). Struktura souboru vypadá následovně: <?xml version="1.0" encoding="utf-8"?> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> <application></application> <version>1</version> </appengine-web-app> App Engine Java SDK a vývojové prostředí Základní věcí pro fungování vývojového prostředí na lokálním počítači je App Engine SDK 2 a samozřejmě Java SE Development Kit 3 určený pro váš operační systém. Po nainstalování těchto dvou balíků je vám zajištěn běh aplikací vytvořených pro GAE

33 Poté, co je vytvořena správná adresářová struktura a vše korektně zpracováno, spustí se aplikační server Jetty 1, který simuluje prostředí App Enginu a jeho služeb, včetně omezení na jeho bezpečné běhové prostředí, datového skladu a služeb. Výhoda ladění programu v lokálním prostředí spočívá v serveru, který nekompiluje kód ihned, ale až před spuštěním stránky, což nám umožňuje přepisovat data ve zdrojovém kódu bez nutnosti restartovat server. Toto pravidlo platí bohužel jen na klientské straně programu, pokud měníme data na straně serveru nebo samotnou konfiguraci aplikace, tak je restart nutný. Nejpohodlnějším a nejrychlejším způsobem, jak vytvářet aplikace pro GAE, je propojení některého známého vývojového prostředí s App Enginem. Oficiálně podporovaným prostředím je Eclipse IDE 2. Po nainstalování GAE SDK přímo v aktualizacích programu se vám zpřístupní průvodce, který za vás vytvoří požadovaný základ projektu i s jeho počáteční konfigurací. V průvodci je implementovaná i možnost přidání základního nastavení pro Google Web Toolkit (GWT) 3. Dostupné jsou i pluginy třetích stran pro jiné Java IDE, jako je například NetBeans 4 a IntelliJ 5. Po vyzkoušení tohoto zásuvného modulu pro NetBeans jsem ale došel k názoru, že je příliš složitý a nepřináší tolik výhod jako oficiální plugin. 4.3 Ukládání dat Vybudovat vlastní distribuovaný datový sklad může být velmi obtížné. Uživatelé mohou komunikovat s jakýmkoliv z webových či databázových serverů. Dotaz od uživatele na server může být zpracován jiným serverem než předchozí a servery můžou být rozprostřeny do jiných data center, dokonce i do jiných zemí, což vyžaduje implementovat procesy, které chrání bezpečnost a zabezpečení dat i jejich synchronizaci. Také hardware a software, který je nutný k vybudování tak rozsáhlé infrastruktury je velmi drahý. App Engine poskytuje výkonné distribuované datové

34 úložiště, které nám umožňuje využívat dotazovací jazyky a používat transakce. Tyto všechny problémy řeší úložiště platformy GAE na pozadí a umožňuje nám zaměřit se pouze na implementaci byznys logiky. Datové úložiště GAE je postaveno na dvou základních technologiích Bigtable a Google file system (GFS) Databáze Bigtable Databáze Bigtable je vysoce distribuovaná a škálovatelná služba pro ukládání a správu strukturovaných dat. Byla vytvořena speciálně, aby mohla pracovat s obrovským množstvím dat na tisících různých serverů po celém světě. Bigtable je ta samá služba, kterou používá sama firma Google pro více než 60 svých aplikací včetně indexování webu, Google Finance 2, nebo Google Earth 3. Datový sklad využívá také GFS k ukládání dat a záznamových souborů. GFS je plně škálovatelný a proti chybám odolný souborový systém, určený pro velké, distribuované a datově náročné aplikace jako například Google služby Gmail 4 a Youtube 5. Původně byl sice GFS vyvinut pouze k ukládání procházených dat a vyhledávaných indexů, ale nyní ho Google využívá ve velkém množství svých produktů. První důležitá věc, kterou je třeba vědět o vnitřní struktuře databáze Bigtable je, že to není klasická relační databáze. GAE datový sklad ukládá a provádí dotazy nad datovými objekty, které zde nazýváme entity. Každá entita má jednu nebo více vlastností neboli pojmenovaných hodnot jednoho z několika podporovaných datových typů. Jedna vlastnost může odkazovat na jinou entitu. Datový sklad může vykonávat několik operací v jedné transakci a vrátit zpět změny celé transakce, pokud transakce selže. Tato vlastnost je důležitá právě ve velkých distribuovaných webových systémech, kde může ve stejný čas přistupovat nebo manipulovat se stejnými daty více uživatelů a tomu musí být zabráněno, aby nedošlo k nekonzistenci. Zavádíme tedy tzv. skupiny entit, které slouží k tomu, abychom mohli v aplikaci určit, které entity patří https://mail.google.com/ 5 28

35 k sobě a budou uloženy dohromady na jednom skladě. To je prováděno z důvodu, že každá transakce může být spuštěna jen v rámci jedné skupiny entit, aby byla zaručena efektivita celé operace. Jak již bylo řečeno, tato databáze používá, na rozdíl od tradičních databází, distribuovanou architekturu, aby umožnila dobře zvládnout škálování velkých datových souborů. V aplikacích App Enginu můžeme specifikovat, jak budou data distribuována tak, že popíšeme vzájemné vlastnosti mezi objekty v naší aplikaci a definujeme indexy pro vyhledávání Java Data Interface (JDI) Entity uložené v datovém skladu jsou bez schématu, to znamená, že dvě entity stejného typu nemusí mít ty samé vlastnosti (properties), nebo používat ty samé hodnotové typy pro tytéž vlastnosti. Za to, že entity budou vyhovovat schématu, když je bude potřeba použít, je odpovědná pouze sama aplikace. K ukládání a získávání informací z datového skladu nám slouží JDI. Datový sklad podporuje dvě standardní Java rozhraní: Java Data Objects (JDO) 1 a Java Persistence API (JPA) 2. Tato rozhraní jsou v Google App Engine implementována pomocí DataNucleus Access Platform, což je volně šiřitelná implementace těchto standardů. Tato rozhraní obsahují způsoby, jak definovat třídy, aby je bylo možné uložit do databáze. Datový sklad také poskytuje nízko-úrovňové rozhraní, které nám umožní implementovat jiné oficiálně nepodporované rozhraní, nebo jeho metody můžeme použít rovnou v aplikaci. Pokud budeme používat metody rozhraní, musíme počítat s tím, že naše aplikace nebude moci být přesunuta na jinou databázi, protože tyto metody a postupy jsou specifické pouze pro Bigtable. App Engine SDK obsahuje implementaci JDO verze 2.3 pro komunikaci s datovým skladem. Rozhraní JDO může pracovat nad různými databázemi, to je velmi důležité v situaci, kdy hodláme aplikaci přesunout nad jinou architekturu. Pro komunikaci s databází slouží jazyk JDOQL, aplikace totiž nepodporuje klasické SQL 3 dotazy. Naštěstí

36 je JDOQL syntaxí velmi podobný SQL, ale samozřejmě, jako všude v GAE, s jistými omezeními. Rozhraní JPA je implementováno pouze ve starší verzi 1.0 a platí pro něj podobné podmínky jako pro JDO. Záleží tedy pouze na uživateli, zda se rozhodne pro rozhraní JDO, JPA nebo pro řešení jiným oficiálně nepodporovaným způsobem. 4.4 Služby poskytované GAE Služby sloužící k poskytování přístupu k datovému skladu nejsou jediné, které GAE nabízí. Stejně jako u datového skladu, i zde se GAE snaží nabídnout nám upravené rozhraní, ke komunikaci se službami co nejvíce podobnými standardním Java rozhraním. To by mělo ulehčit migraci aplikace do App Engine nebo její přesouvání na jiný systém. Každá služba také poskytuje kompletní nízko-úrovňové rozhraní pro implementaci, ať už pro definování nových přístupových rozhraní nebo pro přímý přístup. Služby GAE jsou následující: Memcache service App Engine poskytuje rychlou vyrovnávací paměť, umístěnou před robustním, perzistentním datovým úložištěm, kterou můžeme využít k určitým krátkodobým paměťovým úkonům. Využívat takovouto paměť je vhodné v případech, kdy aplikace spouští několikrát dotazy nad stejnou skupinou dat. Například při vyhledávání v aplikaci, která podle parametrů určuje a zobrazuje instituce v okolí daného místa, se může stát, že několik uživatelů zadá stejné hledání za sebou, v takovém případě je dobré mít předchozí výsledky uloženy v krátkodobé paměti. Při takto podobných dotazech, se program může prvně podívat do krátkodobé paměti a až potom načítat z datového skladu. Nastavit dobu, po které budou data z krátkodobé paměti vymazány, lze dvěma způsoby. Zaprvé je možné nastavit relativní čas v sekundách od doby, kdy byl výsledek vyhledán nebo nastavit pevný (absolutní) čas na přesnou dobu. Memcache API podporuje rozhraní pro JCache. JCache je standard, který poskytuje rozhraní pro data uložená v krátkodobé paměti. Data jsou uložena v Java kolekci map 1. Tímto způsobem lze do páru klíč/hodnota uložit a získat Java třídu 1 30

37 nebo objekt jakéhokoliv typu. Můžeme tak získat data relace, výsledky dotazů, nebo skupiny dat, které můžou být použity během dalšího běhu aplikace. URL Fetch service Aplikace vybudované pomocí GAE můžou komunikovat s ostatními systémy pomocí HTTP a HTTPs volání. Tato služba běží na Google síťové infrastruktuře, je rychlá a spolehlivá, avšak má několik omezení. Například lze přistupovat ke zdrojům na jiných webech, pouze pokud jsou otevřené pro porty 80(HTTP) a 443(HTTPs), jiné porty služba URL Fetch nepodporuje. Při práci s URL Fetch se tedy nelze připojit přímo k webu, ale je nutné odeslat požadavek přes službu a dále pokračovat, až když přijde odpověď, kterou následně zpracováváme podobně jako ve standardní Javě. Takto můžeme zpracovávat datové proudy z různých serverů a využívat je dále v naší aplikaci. Images service Služba, která nám dovolí vkládat obrázky a dále s nimi manipulovat se jmenuje Image service. Běžné operace s obrázky, které lze pomocí Images service provádět, jsou zvětšování a zmenšování, otáčení kolem své osy, převrácení horizontálně i vertikálně a oříznutí části obrazu. K netradičním operacím patří speciální úprava I m feeling lucky, která se pokusí pomocí speciálního algoritmu automaticky upravit barvy, kontrast i světlo na obrázku. Velikost obrázků zpracovávaných službou je omezena na jeden megabyte. Google Accounts V Google App Engine máme dvě možnosti jak si poradit s autentizací uživatelů. Jedna možnost je využít služby MemCache a vytvořit zcela své přihlašovací rozhraní, zabezpečení a strukturu uživatelů. Toto řešení je ve velkém počtu případů zbytečné, protože můžeme použít řešení druhé a tím je využít službu Google Accounts, která slouží k autentizaci uživatelů pomocí účtů Google. Aplikace vytvořená na GAE a používající službu Google Accounts pozná, zda je uživatel, který ji má spuštěnou, přihlášen pod Google účtem a pokud ne, může ho přesměrovat na přihlašovací obrazovku, kde se může do aplikace přihlásit, nebo pokud nemá založený Google účet, může si ho zde vytvořit. Po dobu, po níž je uživatel v systému přihlášen může aplikace získat některé informace o uživateli. Nejedná se ale o informace čistě soukromé, jde pouze o ovou adresu, jméno a přezdívku. 31

38 Aplikace může také jednoduše rozlišit, zda se po přihlášení jedná o běžného uživatele nebo o administrátora. Poté lze v konfiguraci aplikace (soubor web.xml ) nastavit, do kterých sekcí aplikace je vyžadován autentizovaný přístup, do kterých sekcí mají přístup běžní uživatelé a do kterých má přístup pouze administrátor. Tato nastavení lze využívat i na lokálním vývojovém prostření, které simuluje jednoduché přihlašování podobné Google systému. Mail API První služba, která nám umožní komunikovat s okolím, se jmenuje Mail API. Tato služba implementuje rozhraní Javamail, které umožňuje posílat ové zprávy přímo z aplikace. Využíváno je rozhraní Google účtů a jeho vlastnosti získat ovou adresu přihlášeného uživatele, tato adresa poté funguje jako adresa odesílatele. Rozhraní Mail API je plně implementováno, s výjimkou možnosti připojovat se k ostatním ovým službám za účelem přijímání a odesílání zpráv. Můžeme tedy rozesílat jeden více adresátům, formátovat zprávu ve formátu HTML a připojovat ke zprávám přílohy daných typů, které jsou sice omezeny, ale v plně dostačujícím rozsahu. Počet zpráv odeslaných za dané časové období (1 min) je omezen, nejen pro zabránění přehlcení provozu, ale hlavně jako obrana proti uživatelům, kteří by chtěli GAE využívat jako nástroj k rozesílání spamu 1. Také velikost přílohy u je omezena jedním megabytem. XMPP Service Pokud je i ová služba málo interaktivní, mají uživatelé možnost implementovat do svých aplikací službu XMPP, která je založena na protokolu XMPP a slouží běžně jako instant messaging, tedy ke komunikaci v reálném čase. Při odesílání zprávy pomocí této služby musí uživatel, který je určen jako adresát, autorizovat aplikaci, aby byla zpráva korektně doručena. To je velký rozdíl oproti ovému API, které poslalo zprávu jinému uživateli, ať už si to přál či nikoliv. Aplikace využívá webové jméno dané aplikace ke komunikaci s dalšími klienty ve tvaru z čehož plyne, že tato služba nemůže být provozována na lokálním serveru a pro správný chod je nutné ji nahrát na servery GAE

39 Pro příjem zprávy lze využít Jabber klient 1. Do komunikačního klienta je nutné nejprve přidat uživatele, který představuje naši aplikaci a má jméno ve tvaru uvedené v předchozím odstavci. Pokud komunikujeme opačným směrem a Google App Engine obdrží zprávu služby XMPP, tak vytvoří HTTP dotaz typu POST, který je směrován na URL cestu /_ah/xmpp/message/chat/. Parametry POST dotazu následně zpracováváme dál v aplikaci. Task Queues (Zkušební) Poslední dvě nabízené služby jsou na rozdíl od ostatních zatím pouze v testovacím provozu. To znamená, že nejsou ještě dokončeny všechny vlastnosti rozhraní a jejich specifikace. Jejich knihovny jsou zatím zařazeny v testovacím balíčku a nejsou zpětně kompatibilní s verzemi v předchozích vydáních SDK. Pomocí rozhraní Task Queues může naše aplikace pracovat i mimo rámec HTTP dotazu uživatele. Služba musí být ovšem uživatelem inicializována. Práce je vykonávána na pozadí a rozhraní ji rozdělí do malých a oddělených jednotek zvaných Tasks, tyto malé jednotky jsou zařazeny do jedné nebo více front. App Engine automaticky rozpozná, zda je v nějaké frontě nová úloha a vykoná ji až ve chvíli, kdy jsou dostupné požadované systémové prostředky. Příkladem využití může být například agregátor datových proudů, který musí automaticky a periodicky získávat data z několika internetových zdrojů. Blobstore (Zkušební) Druhou novou službou je Blobstore. Toto rozhraní nám umožní pracovat s datovými objekty zvanými blob, které můžou být mnohem větší než sobory o maximální velikosti, které nám GAE dovolí ukládat do datového skladu. Tyto objekty jsou vytvářeny nahráním souboru pomocí HTTP dotazů do App Enginu, uživateli je vrácen tzv. blob key, který následně slouží jako identifikátor daného objektu. Tato služba dovolí uživatelům nahrávat soubory až do velikosti dvou gigabytů, je tedy vhodná pro soubory videí a velkých obrázků. Aplikace čte uložené hodnoty část po části pomocí volání rozhraní a tyto části jsou velké přibližně jeden megabyte. Služba využívající takto velké datové prostory již ovšem není nabízena společností Google zdarma a je nutné při plánování užívání služby Blobstore přejít na placený tarif

40 4.5 Kvóty a poplatky za používání aplikací Jednou z hlavních výhod společnosti Google je jejich cenová politika. Většina aplikací je nabízena zdarma nebo za mírné poplatky. Stejný přístup je použit i u Google App Engine, který využívá systém kvót a placených omezení. Každá aplikace využívá určité množství zdrojů, které GAE rozděluje na šířku pásma, výpočetní čas procesoru, uložená data a odeslané y. Tyto zdroje mohou být využívány do určitého maxima neboli kvóty. Tyto kvóty nám zajistí, že naše aplikace nepřekročí daný rozpočet a že ostatní aplikace spuštěné na App Enginu nebudou mít vliv na výkon naší aplikace. Každý výpočetní zdroj je porovnáván se dvěma druhy kvót: placenou a fixní. Zdroj Jednotky Cena za jednotku Odchozí šířka pásma gigabyte $0.12 Příchozí šířka pásma gigabyte $0.10 Výpočetní čas CPU CPU hodina $0.10 Uložená data gigabyte za měsíc $0.15 Obeslaní příjemci příjemce $ Tabulka 2: Poplatky za výpočetní zdroje Placená kvóta značí omezení maximálního množství zdrojů nastavené administrátory aplikace, které můžeme použít, abychom zabránili překročení rozpočtu na provoz aplikace. Každá z aplikací má určité množství každé placené kvóty zdarma, placený provoz je v základním nastavení vypnut. Zvýšit hodnoty placené kvóty můžeme tak, že povolíme placený provoz a manuálně nastavíme své maximální hodnoty využívaných zdrojů, které omezují naší aplikaci. Tyto operace se provádějí v administračním rozhraní 1. Fixní kvóta udává maximální možné použitelné zdroje nastavené App Enginem, aby bylo možné zajistit integritu celého systému. Tyto limity označují hranice 1 Informace o administrační rozhraní v kapitole 4.6 Administrační rozhraní. 34

41 architektury GAE a je nutné aplikace upravit do takové podoby, aby tyto limity nepřesahovaly. Kdyby nebyly zavedeny fixní limity, mohlo by se stát, že jedna aplikace bude využívat příliš mnoho zdrojů, které by následně chyběly ostatním aplikacím. Obě kvóty jsou vždy měřeny po dobu 24 hodin, začínající o půlnoci pacifického času a následně jsou po čtyřiadvaceti hodinách opět vynulovány. Jako další omezení placené a fixní kvóty používá App Engine minutové kvóty. Tyto kvóty stanovují, jak velké výpočetní zdroje může aplikace spotřebovat za minutu. Slouží převážně k ochraně naší aplikace, která by spotřebovala všechny své denní kvóty během krátké chvíle a zároveň i ostatních aplikací, které by mohly mít problém s přístupem k daným zdrojům. Celkem tedy App Engine používá 4 kvóty. Pokud aplikace překročí danou kvótu, tak se požadovaný zdroj stane nedostupným a aplikaci se vrátí jako odpověď chybová zpráva webového prohlížeče. Uživatel musí poté počkat do doby, než budou kvóty vynulovány a zdroje zpřístupněny. Zdroj Základní kvóta (zdarma) Placená kvóta Denní limit Minutový Denní limit Minutový HTTP dotaz limit dotazů dotazů limit dotazů Tabulka 3: Příklad kvóty u HTTP dotazů dotazů 4.6 Administrační rozhraní Přístup ke kompletní správě a přehledu o našich vystavených webových aplikacích, postavených na GAE, nám poskytuje Google App Engine administrační konzole. Rozhraní této konzole se nachází na webových stránkách 1 splečnosti Google. Správa aplikací Pomocí administračního rozhraní můžeme jednoduše vytvářet nové aplikace. Každá nová aplikace musí mít unikátní jméno, které následně slouží jako jedinečný identifikátor. Vytvořené aplikace jsou automaticky umístěny na webovou adresu identifikátor_aplikace.appspot.com. Toto hostování aplikace je nabízeno společností 1 Webová adresa administrační konzole GAE: https://appengine.google.com/ 35

42 Google zdarma. Pokud chceme umístit aplikaci na svojí vlastní doméně, lze to provést v nastavení aplikace. Spolupráce týmu Autor aplikace může v záložce oprávnění přidat další uživatele, kteří tím získají možnost přistupovat do administračního rozhraní určené aplikace a mohou nahrávat nový kód na server. Přidáním několika dalších lidí ve složce oprávnění nám jednoduše vznikne tým vývojářů, kteří budou moci spolupracovat na vývoji aplikace. Přehled nad aplikací Administrační konzole nám poskytuje kompletní přehled nad přístupovými daty aplikace a také umožňuje zobrazit logování. Soubory logování jsou dva, jeden nám zobrazuje logy samotné aplikace a druhý slouží k logování procesu nahrávání aplikace na server. Několik grafů a přehledných zobrazení nám dává ucelený přehled o využívaných výpočetních zdrojích. Z nich můžeme analyzovat, zda aplikace funguje správně nebo zda využívá některé zdroje ve větším množství než ostatní. V záložce administrační konzole CRON úlohy a seznamy úkolů vidíme natavení těchto dvou služeb a jejich status. Datový sklad Přímo ve webovém rozhraní můžeme také procházet všechny nahrané soubory. Dále nám umožňuje zobrazit entity uložené v databázi a spravovat indexy databázových dotazů. V sekci statistiky datového skladu je nám přehledně vypsáno procentuální rozložení využívaných datových typů entit a také rozložení jednotlivých entit vzhledem k celkové velikosti datového skladu. Správa verzí aplikace Při nahrávání aplikace na GAE server musíme zvolit, o jakou vývojovou verzi aplikace jde. Jednotlivé verze lze zobrazit v aplikační konzoli. Jedna z verzí musí být nastavena jako základní a je spouštěna při zadání webové adresy aplikace. Poplatky Správu finančních prostředků umožňuje sekce nastavení poplatků. Zde správce aplikace nastaví vlastní limity pro využívání zdrojů a prostředků. Každé účtovací období je automaticky vytvořen výpis využitých zdrojů s kompletními cenami 36

43 za poskytované služby. Tyto výpisy jsou uloženy v sekci platební historie a mohou sloužit například jako dokumenty pro finanční oddělení společnosti. 4.7 App Engine pro business Na konferenci firmy Google dne 19. května 2010 byla ohlášena podniková verze Google App Engine nazvaná Google App Engine for Business (GAEB). Podle představitelů společnosti Google jde o reakci na požadavky organizací vytvářet a umísťovat zákaznické aplikace v prostředí cloudů. GAEB řeší absenci některých parametrů požadovaných firemními vývojáři. Nové řešení nabízí centrální administrátorskou konzoli pro správu všech firemních aplikací, záruku pro 99,9% dostupnost aplikace či pokročilou technickou podporu. Administrátoři aplikací mají v GAEB rovněž možnost nastavit bezpečnostní pravidla pro přístup k firemním aplikacím. Cena za používání GAEB je v současnosti osm dolarů za jednoho uživatele na měsíc a každá společnost zaplatí maximálně tisíc dolarů. Nyní je produkt dostupný pouze omezenému počtu, ale během konce roku 2010 bude uveden pro neomezené množství uživatelů. Další významným prvkem, který bude teprve uveden do provozu, je možnost hostovat SQL databáze, které budou moci vývojáři používat jako alternativu k nyní používané BigTable. Také bude přidána podpora protokolu SSL 1, který umožní pomocí šifrovaní zabezpečit komunikaci s vlastními aplikacemi. Společnost Google zvažuje i poskytnutí možnosti nasadit v prostředí App Engine také Java aplikace, a to integrací nástroje RAD (Rapid Application Development) Spring Roo 2 od společnosti VMware 3, se kterou je v úzkém partnerském vztahu. Google App Engine pro Business by měl tedy v budoucnu nabídnout vhodnou alternativu pro ty, kteří upřednostňují programovací jazyk Java a chtějí pomocí něj budovat aplikace na cloudu

44 5 UKÁZKOVÁ APLIKACE Pro praktickou prezentaci jsem vytvořil ukázkovou aplikaci, která využívá služeb a technologií cloud computingu. Aplikaci jsem nazval GAE Project Centre a je zamýšlena pro firmu, která by zadávala a spravovala projekty partnerských firem externím zaměstnancům. Tato aplikace má převážně sloužit jako demonstrační program a ukázka některých možností cloud computingu, je ovšem založená na nových a moderních technologiích a bylo by možné ji rozvíjet dále do plně funkční a otestované verze, která by se dala využít i v praktickém provozu. Pro provoz GAE Project Centre byla určena doména comare.eu a samotná aplikace je umístěna na webové adrese 5.1 Použité technologie Rozhodl jsem se, že při vytváření aplikace využiji pouze služeb firmy Google, abych zjistil, zda je možné pouze pomocí nich vybudovat použitelný webový systém. Klientská strana aplikace je sestavena pomocí rámce Google Web Toolkit, který zajišťuje moderní vzhled a pokročilé uživatelské pohodlí, vytvořené například asynchronní komunikací AJAX. Na straně serveru aplikace využívá Google App Engine a jako v současné době jediná možná databáze byla zvolena BigTable. Služby a možnosti celé aplikace byly rozšířeny pomocí služeb Google Apps, které do aplikace přinášejí další prvky nezbytné pro IT systém. Jako programovací jazyk jsem využil převážně Javu a některé prvky HTML a kaskádových stylů. Projekt byl psán ve vývojovém prostředí Eclipse, do kterého byl nainstalován Google App Engine plugin pro snadnější psaní, testování, úpravy kódu a následné nahrávání zkompilovaného kódu na webový server. Použitá verze Google App 38

45 Engine SDK pro Javu je a Google Web Toolkit SDK ve verzi Tyto technologie nám zaopatřují kompletní prostředí pro vývoj a umístění aplikace Google Web Toolkit Prvním z produktů firmy Google, který jsem začlenil do vývoje ukázkové aplikace, je Google Web Toolkit (GWT). Ve své podstatě je GWT rámcem, ve kterém si uživatel může jednoduše vytvořit webovou aplikaci, složenou ze znovupoužitelných UI komponent (komponent uživatelského rozhraní) vykreslovaných jako HTML a logiky ve formě jazyku JavaScript na straně webového prohlížeče a asynchronního volání serverové logiky skrze AJAX. To vše využíváme na platformě Java s využitím jazyka a v případě App Engine některých knihoven. Programátor, který vytváří aplikaci pomocí GWT, píše zdrojový kód v jazyce Java, tento kód je po zkompilování automaticky přeložen do JavaScriptu. Hlavní výhodou tohoto přístupu je kompatibilita. V dnešní době je na trhu velké množství webových prohlížečů a je jen na uživateli, jaký zvolí. Mezi způsoby vykreslování webových prvků prohlížeči, se i přes snahu vývojářů vyskytují jisté odlišnosti, o které se většinou musí starat sám programátor. GWT tuto starost přebírá na sebe a jeden program vyvinutý pomocí něj bude vypadat stejně na širokém spektru prohlížečů Jak GWT funguje Jedním z dalších důvodů, proč používat vývojové prostředí, je, že nám dokáže spojit obě rozšíření a vytvořit základní projekt s využitím jak Google Web Toolkit, tak Google App Engine. Pokud tedy pracujeme s GWT ve vývojovém prostředí Eclipse, je nám po zadání jména a vybrání verze SDK vytvořena základní struktura projektu. V této struktuře je důležitým souborem nazev_aplikace.gwt.xml, který slouží pro základní nastavení GWT a v kterém specifikujeme, jaký soubor nám bude sloužit jako vstupní bod do systému. Jsou zde také obsaženy základní implementace, styly a určení balíčků aplikace, které budou následně při kompilaci přeloženy. 39

46 Panely a widgets UI komponenty, které GWT využívá, se dají rozdělit do dvou hlavních skupin panely a widgets 1. Widgety je skupina základních UI komponent, jako jsou tlačítka, tabulky, vstupní políčka, rozbalovací seznamy a podobně. Ve skupině panely se nalézají komponenty sloužící k nastavení rozložení aplikace. Hlavním prvkem v nově vytvořené aplikaci je kořenový panel, který musí být umístěn do aplikace jako první, poté tento kořenový panel rozdělujeme pomocí dalších panelů. Do takto vzniklé struktury můžeme volně vkládat jednotlivé widgety. Vznikne nám tedy komplexní prostředí složené z jednotlivých prvků. Každé komponentě, sestavené pomocí GWT, lze přiřadit styl nebo manipulátor (handler). Přiřazením stylů lze měnit, podobně jako kaskádovými styly vlastnosti komponent, jejich velikost, vzhled, či vnitřní písmo. Manipulátor přiřazený některé z komponent slouží k vyvolání určité události. V GWT rozlišujeme 2 druhy manipulátorů: ty, které reagují na událost vyvolanou stlačením klávesy počítače a ty, které reagují na některou z událostí vyvolanou myší. Manipulátory většinou v aplikaci slouží k asynchronní komunikaci, kdy daná komponenta čeká na určenou událost a pokud je tato událost vyvolána, spustí se kód, který je předem definován. Komunikace GWT se serverem Aby aplikace běžící v prohlížeči dokázala komunikovat se serverem, tedy volat aplikační logiku, je třeba implementovat nějakou formu vzdáleného volání metod, takzvané Remote Procedure Call (RPC). V prostředí webového prohlížeče je nejlepší cestou použít posílání souborů formátu XML před HTTP protokol, nejlépe asynchronní cestou pomocí modulu XMLHttpRequest 2. Díky RPC se nám volání serverové logiky jeví jako lokální a programátorům je usnadněna práce s kódem. Volání serveru je dáno následujícím rozložením rozhraní a tříd. 1 Widget lze přeložit pouze jako věcička, což se mi nezdá jako vhodný překlad, budu proto používat anglickou verzi slova

47 Obrázek 5.1: RPC přehled z hlediska serverového a klientského kódu Aby byla aplikace schopná komunikovat se serverem, musí vývojář vytvořit dvě rozhraní na straně klienta a jednu třídu na straně serveru, které implementují zbylé rozhraní a třídy definované již v základním balíku a následně si mohou předávat objekty či proměnné, pomocí nichž probíhá komunikace Verze 2.0 Jedním z důvodů, proč jsem se rozhodl použít GWT, bylo i vydání nové verze GWT rámce s pořadovým číslem 2.0, která vyšla v prosinci Nová verze nabízí nový způsob budování rozhraní UiBinding a pokročilé možnosti testování aplikace. Vývojové prostředí Nyní je možné testovat aplikaci přímo v našem oblíbeném prohlížeči. Vývojové prostředí je založeno na zásuvném modulu, který je nutné nainstalovat do prohlížeče a následně slouží jako most mezi aplikací a rozhraním. Při změně kódu na straně klienta ve vývojovém prostředí stačí pouze obnovit stránku v prohlížeči a nově napsaný kód je překompilován a načten do prohlížeče. Toto vylepšení nám mnohonásobně urychlí práci, protože nemusíme při změnách restartovat Java ladící program. Do spuštěného 1 Zdrojový kód komunikace RPC je uveden v příloze B. 41

48 vývojového módu se lze připojit z více prohlížečů různých druhů a urychlit tak testování aplikace. UiBinder Pomocí UiBinderu lze vytvářet uživatelské rozhraní tak, že oddělíme vizuální aspekty rozhraní od ostatní aplikační logiky. Deklarativně píšeme uživatelské rozhraní pomocí kódu HTML a widgetů do UiBinder XML šablony a následně ji spojíme se souborem třídy Java, ve kterém je aplikační logika. Kromě těchto dvou inovací byl vylepšen i GWT kompilátor 1, který nyní rozděluje kód při kompilaci na více částí a urychluje tak celý proces. Byly přidány nové panely pro lepší a snadnější rozložení rozhraní a nový způsob přidávání zdrojů do aplikace za běhu Google Apps Google Apps 2 je webová služba založená na technologii aplikace jako služba (AAAS), která nám poskytuje kancelářský balík aplikací dostupných díky cloud technologii odkudkoliv a bez ohledu na to, jaký operační systém používáme. Data zpracovávaná aplikacemi Google Apps jsou uložena na zabezpečených serverech firmy Google, takže uživatel, který si službu zaplatí, nemusí do vybavení hardwaru vkládat žádné další větší finanční prostředky. Základní varianta služby je dokonce zadarmo, stačí si vytvořit pouze účet a dále jen využívat možností Google Apps. Pro větší společnosti je však výhodné zakoupit si vyšší placenou verzi služby, se kterou dostanou záruku dostupnosti, větší úložný prostor, integraci služeb pomocí API rozhraní s existujícím prostředím IT a nepřetržitou technickou podporu. Pokud máme zaplacenou vlastní internetovou doménu, můžeme nastavit a převést aplikace a správu Google Apps pomocí DNS 3 záznamů tak, aby byly směrovány na danou adresu. Takto nám vznikne prostředí, ve kterém máme připravené pokročilé kancelářské aplikace a kde může dále neomezeně pracovat. Zákazník není limitován jen

49 výběrem ze základních aplikací, které ovšem ve většině případů stačí na běžný provoz, ale může si na Google Marketu dokoupit další aplikace vytvořené externími uživateli. Gmail pro firmy Gmail pro firmy nabízí 25 GB úložného prostoru na uživatele, výkonné filtrování spamu a spolupráci s externími zařízeními. Získáme tak svého ového klienta se zabudovaným komunikátorem, který může přenášet po internetu, kromě klasických ů také hlas a obraz. Kalendář Google Webová aplikace Kalendář umožní uživatelům účinně spolupracovat, ulehčí jim plánování schůzek a zpřehlední jejich osobní úkoly. Pokud je to nastavením povoleno, tak uživatel Kalendáře může zobrazit více kalendářů svých kolegů přes sebe a jednoduše tak zjistit, kdy mají kolegové volný čas. Výhodou je i přístup do aplikace z mobilního zařízení. Dokumenty Google Dokumenty, tabulky a prezentace jsou dostupné na webovém rozhraní Google Dokumentů. S jednotlivými soubory lze pracovat odkudkoliv a lze je také sdílet s libovolným počtem uživatelů a současně tak kooperovat na jedné práci. Díky tomu, že je soubor umístěn na serveru, tak máme jistotu, že se jedná o aktuální verzi dokumentu. Uživatelé nejsou omezeni ani formátem souborů a jejich nekompatibilitou s operačními systémy, protože vše probíhá mimo uživatelův operační systém. Nevýhoda při používaní Google Apps by mohla vzniknout, pokud by uživatel nebyl delší dobu v dosahu internetového spojení, či pokud by zákazník nechtěl svěřit data společnosti Google. Výběr použití Google Apps tedy záleží na konkrétní společnosti, zda se bude takovými situacemi zabývat či nikoliv. 5.2 Textový rozbor Při výběru zaměření ukázkové aplikace jsem musel vzít v úvahu několik faktorů, které omezovaly moje možnosti. Jedná se o malou či střední firmu, to znamená firmu do několika desítek zaměstnanců, kteří nemusí být v jedné pracovní budově. Taková firma chce mít aplikaci co nejrychleji vytvořenou, aby mohla uvést svoje pracovní plány do provozu, protože se bojí se o své místo na trhu. Také však nemá obvykle dostatek 43

50 financí, aby si mohla dovolit kupovat drahé hardwarové vybavení a zaplatit si rychlý vývoj aplikace. Na druhou stranu, pokud podnikatelský záměr podaří, je nutné stávající systém rozšířit a získat nový prostor v databázi. Webové aplikace Google Apps by měly zajistit rychlé vybudování webových kancelářských aplikací, které jsou v každé společnosti, ať už je to velká korporace, či malá začínající firma, potřebné. Zároveň by měly umožnit uživatelům mobilitu a možnost práce s firemními dokumenty odkudkoliv na světě. Google Web Toolkit by se měl postarat o rychlé sestavení aplikace a díky jeho systému modulů i o případné budoucí rozšíření funkcionality. A poslední, ale určitě ne nejméně důležitý Google App Engine zajistí chod vlastní aplikace pro konkrétní firmu tak, že v počátku by měla malé firmě stačit neplacená verze GAE a v případě potřeby by šla snadno rozšířit dále. Žádná z uvedených služeb a technologií nepotřebuje ke svému chodu speciální hardware, ani větší finanční prostředky a právě kvůli těmto důvodům jsem zvolil technologie od společnosti Google. Aplikace GAE Project Centre by měla být určena pro malou firmu, kterou pro zjednodušení popisu nazvu Společnost, která se stará o rozdělování a spravování projektů od partnerských firem. Společnost si nejdříve zajistí firmy, které budou chtít využít jejich služby a sepíše s nimi smlouvu, tím Společnosti vzniknou zákazníci, od kterých dostává zakázky. Zároveň manažeři Společnosti shánějí dobré pracovníky, kteří jsou ochotni v případě zakázky pro ně pracovat. Každý nový pracovník se stává externím zaměstnancem Společnosti. Pokud Společnost získá od zákazníků nový projekt, tak některý z manažerů vybere vhodné zaměstnance a přiřadí je k projektu. Každý projekt má tedy 3 fáze: nově zadaný, ve fázi rozpracování a dokončený projekt. Když je projekt hotový, může se vyřadit z databáze Společnosti. 5.3 Use case diagram a popis Role uživatelů, kteří budou komunikovat se systémem nebo systém s nimi, jsou tedy tři: Administrátor systému, Manažeři Společnosti a Externí zaměstnanci. 44

51 Administrátor systému, který nese zodpovědnost za vkládání externích entit do systému, má práva provádět operace vložení zaměstnance nebo zákaznické firmy a může provést i jejich odstranění. Přidává také zprávy do systému, ve kterých informuje manažery o nových zaměstnancích či společnostech, případně jakékoliv jiné události. V neposlední řadě nese zodpovědnost za správu domény, nastavení aplikací a upravování účtů manažerů. Roli administrátora vykonává v základním nastavení systému pouze jeden účet admin. Administrátor má však práva zvolit si další správce systému, kteří mu budou moci pomáhat s přibývající prací, tak je zajištěna rozšiřitelnost při rozrůstání firmy. Druhou rolí v systému je Manažer, který je zodpovědný za shánění zaměstnanců a zákaznických společností, tyto záznamy potom pošle administrátorovi buď pomocí pošty, nebo zprávy na nástěnce a ten je zadá do systému. Každý manažer má tedy přístup ke své ové schránce, svému kalendáři a dokumentům. Manažer si může zobrazit detaily zaměstnance, ve kterých přímo vidí, na kterých projektech zaměstnanec pracuje. A pokud je situace urgentní, lze mu přímo okna z aplikace odeslat mail, bez zbytečného vstupu do ové schránky. Nejdůležitějším úkolem manažera je spravovat projekty. Lze přidat nový projekt, otevřít existující, přidat nebo odebrat zaměstnance z projektu, upravit parametry a také projekt smazat. 45

52 Poslední rolí je Zaměstnanec, který nemá vlastní přístup do systému, je veden pouze jako entita. Se zaměstnancem manažeři komunikují pomocí u a samotný systém jim zasílá v pravidelných intervalech zprávy o jejich projektech podle záznamů v databázi. 5.4 Diagram entit a rozložení Databáze Bigtable sice není relační, ale dá se namodelovat pomocí vztahů entit. Jednotlivé tabulky reprezentují entity a hodnoty uvnitř jsou atributy těchto entit. Každá entita uložená v databázi Bigtable musí mít primární klíč, který je u atributu nazván PK. První entita Company reprezentuje zákaznickou společnost v systému. Společnost je uložena v databázi podle primárního klíče key který je vygenerován z třídy Company a unikátního jména společnosti. Dalšími atributy entity jsou ico, které reprezentuje ekonomické identifikační číslo společnosti a contact, obsahující nějaký druh kontaktu na společnost (v aplikaci webové stránky). Posledním atributem, který obsahuje klíče entity Projekt, které má společnost zadána a slouží v databázi Bigtable jako cizí klíč, je množina companyprojects Druhá entita v systému reprezentuje jeden projekt a je nazvána Project. Má vygenerován primární klíč key ze svého jména třídy a unikátního jména projektu. 46

53 Projekt má zadáno jméno společnosti, pro kterou je vypracováván v atributu company. Tento atribut nám zároveň buduje vztah 1:N mezi entitami Project a Company. Jedna společnost může mít zadáno nula až N projektů a jeden projekt může být vykonáván přesně pro jednu firmu. Dalším atributem Projektu je startdate, reprezentující datum začátku vykonávání projektu. Atribut Status slouží pro identifikaci stádia projektu, zda byl projekt právě zadán, pracuje se na něm, nebo byl ukončen. Množina klíčů assignedemployees entity Employee je zde uložena jako cizí klíč a také identifikátor vztahů mezi oběma relacemi. Další entita Employee je definována jako externí zaměstnanec Společnosti. Primární klíč Zaměstnance je vygenerován jako klíč ze třídy Zaměstnanec a z unikátního ového účtu, který je zadán. Entita dále obsahuje jméno name, příjmení surname a pozici position, ke které je zaměstnanec přiřazen. Posledním atributem entity je množina klíčů entity Projekt assignedprojects, reprezentující projekty, na nichž zaměstnanec pracuje. Dvě skupiny klíčů assignedprojects a assignedemployess nám v databázi Bigtable značí vztah mezi oběma entitami M:N. Tedy jeden zaměstnanec může pracovat na žádném, nebo neomezeně projektech a projekt může být přidělen žádnému nebo neomezeně zamestncům. Poslední entitou v systému, kterou popíši je MsgNews, ta je určena pro ukládání zpráv na hlavní stránce aplikace. Entita stojí sama o sobě, a proto není identifikována klíčem, ale jako primární klíč je přiřazeno unikátní číslo generované datovým skladem. Atribut entity je název zprávy title, datum vytvoření zprávy createdate a uživatel, který zprávu vložil. Samotný text zprávy je vložen do databáze ve formátu Text. Text je speciální datový typ databáze Bigtable, který slouží k ukládání String řetězců delších než 500 znaků. V systému se nachází ještě několik entit, ale ty jsou strukturou podobné těm popsaným a nemají složitější vztah s okolními entitami, proto popis vynechám. Většina atributů v entitách není nijak přísně kontrolována, protože jsou zadávány autorizovanou osobou, která je znalá práce se systémem. 5.5 Implementace aplikace Nyní uvedu některé důležité webové adresy, které budeme potřebovat při práci s aplikací GAE Project Centre. 47

54 GAE Project Centre Nastavení Google Apps - https://www.google.com/a/cpanel/comare.eu/ Admin konzole GAE - Na doménu comare.eu je přiřazena a nastavena standardní verze služby Google Apps, kterou aplikace využívá pro některé svoje funkce a lze je snadno propojit s aplikacemi postavenými na GAE. Tyto služby je možné nastavovat na adrese uvedené v seznamu. Rozhraní samotné aplikace GAE Project Centre je umístěno na subdoméně domény comare.eu, protože zatím není možnost přesměrovat aplikaci přímo na doménu. Lze používat i adresu ze které je na webovou adresu aplikace dotaz přesměrován přímo. Do administrační konzole Google App Engine se dá přistoupit na webové adrese uvedené výše v seznamu. Zde můžeme vidět všechna nastavení a spotřebované výpočetní zdroje aplikace Přihlášení do aplikace Po zadání webové adresy aplikace je spuštěn kód aplikace. První ze služeb, kterou program kontaktuje, je správy uživatelů. V naší aplikaci je služba nastavena tak, aby uživatele autentizovala vhledem k doméně comare.eu a službě Google Apps. Není zde možnost vytvoření nového uživatele, protože se jedná o uzavřenou firmu a uživatele může přidávat pouze administrátor. Na doméně jsou nyní vytvořeni čtyři uživatelé. Dva administrátoři (admin, ivos) a dva manažeři (tomas, jan). Všechna přístupová hesla jsou stejná a znějí engine. Po zkontrolování přihlášeného uživatele nebo případném přesměrování na přihlašovací stránku, se zobrazí hlavní strana aplikace GAE Project Centre. Rozhraní aplikace je vybudováno pomocí GWT a jeho UiBinding. Hlavní panel se dělí na další 4 panely a každý z nich obsahuje další panely, či widgety, které se opět mohou skládat z dalších prvků GWT. Tímto způsobem nám vzniká komplexní rozhraní složené z jednotlivých prvků. V jazyce Java je většinou implementován každý panel jako jedna třída se stejnou funkcionalitou. 48

55 Obrázek 5.2: Uživatelské rozhraní aplikace GAE Project Centre Vrchní panel Ve vrchním panelu je umístěno logo společnosti a platformy Google App Engine, dále je po přihlášení uživatele nastaven odkaz logout na správnou hodnotu, který uživatele opět přesměruje na přihlašovací stránku. Posledním odkazem je About, který otevře nové okno nad aplikací a vypíše informace o programu. Pravý panel V pravém panelu je umístěn komunikátor, který by měl sloužit ke komunikaci mezi více přihlášenými uživateli. Zprávy jsou aktualizovány buď po přidání nového příspěvku, nebo po určitém časovém úseku. Je vypisováno pouze posledních 20 zpráv, aby aplikace nepřenášela příliš velké datové objemy. Dále na pravém panelu umístěn webový rámec, který načítá agendu z veřejného kalendáře přihlášeného uživatele. Centrální panel Centrální panel je určen k zobrazování vybraného obsahu z okolních menu. Na rozdíl od ostatních panelů není určen velikostí, ale přizpůsobuje se okolí. Pokud potřebujeme vyměnit centrální panel za jiný, přistoupíme k hlavnímu root panelu, získáme odkaz na centrální panel, jenž je jeho potomkem a tento odkaz odebereme. Na jeho místo můžeme vložit jiný požadovaný panel podobným způsobem. 49

Cloudová Řešení UAI/612

Cloudová Řešení UAI/612 Cloudová Řešení UAI/612 Kontakt Ondřej Urbánek ondrej.urbanek@orchitech.cz Výuka 7.3. 2014 13:00 21.3.2014 13:00 11.4. 2014 13:00 24.5. 2014 13:00 Cloudová Řešení Co je to cloud? Co je pro něj charakteristické?

Více

CLOUD COMPUTING PRO MALÉ A STŘEDNÍ FIRMY

CLOUD COMPUTING PRO MALÉ A STŘEDNÍ FIRMY 1 CLOUD COMPUTING PRO MALÉ A STŘEDNÍ FIRMY Ing. Martin Pochyla, Ph.D. VŠB TU Ostrava, Ekonomická fakulta Katedra Aplikovaná informatika martin.pochyla@vsb.cz Informační technologie pro praxi 2010 Definice

Více

Publikujeme web. "Kam s ním?!"

Publikujeme web. Kam s ním?! Publikujeme web "Kam s ním?!" Publikujeme web Publikujeme web Máme webové stránky, hrajeme si s nimi doma, ale chceme je ukázat světu. Jak na to? 1. Vlastní server 2. Hosting (prostor na cizím serveru)

Více

Přizpůsobení JSTL pro Google App Engine Datastore

Přizpůsobení JSTL pro Google App Engine Datastore Přizpůsobení JSTL pro Google App Engine Datastore Vítězslav Novák Katedra Aplikovaná informatika Ekonomická fakulta, VŠB-TU Ostrava 1 Google App Engine Google App Engine je zástupcem distribučního modelu

Více

VÝBĚR CLOUDU, ANEB JAK ZVOLIT TEN NEJLEPŠÍ

VÝBĚR CLOUDU, ANEB JAK ZVOLIT TEN NEJLEPŠÍ VÝBĚR CLOUDU, ANEB JAK ZVOLIT TEN NEJLEPŠÍ Infinity, a.s. U Panasonicu 375 Pardubice 530 06 Tel.: (+420) 467 005 333 www.infinity.cz PROČ SE ZABÝVAT VÝBĚREM CLOUDU 2 IT služba Jakákoliv služba poskytovaná

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

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

O autorech 13 O odborném korektorovi 13. Poděkování 15 Úvod 17. Cílová skupina této knihy 17 Témata této knihy 17

O autorech 13 O odborném korektorovi 13. Poděkování 15 Úvod 17. Cílová skupina této knihy 17 Témata této knihy 17 Obsah O autorech 13 O odborném korektorovi 13 Poděkování 15 Úvod 17 Cílová skupina této knihy 17 Témata této knihy 17 Část I: Začínáme 18 Část II: Technologie cloud computingu 19 Část III: Cloud computing

Více

Virtualizace jako nástroj snížení nákladů. Periodické opakování nákladů nové verze Licence na pevný počet klientů

Virtualizace jako nástroj snížení nákladů. Periodické opakování nákladů nové verze Licence na pevný počet klientů Model Mainframe Centralizované řešení Cena za strojový čas Klientská zařízení nedisponují výkonem Vysoké pořizovací náklady na hardware Bez softwarových licencí software na míru Model Klient Server Přetrvává

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

P2P nebo PON? Jaké služby budou nabízené prostřednictvím sítě? Klíčová otázka na kterou si musí odpovědět každý FTTx poskytovatel

P2P nebo PON? Jaké služby budou nabízené prostřednictvím sítě? Klíčová otázka na kterou si musí odpovědět každý FTTx poskytovatel 14.2.2013 Ing. Martin Ťupa martin.tupa@profiber.cz www.profiber.eu P2P nebo PON? Jaké služby budou nabízené prostřednictvím sítě? Klíčová otázka na kterou si musí odpovědět každý FTTx poskytovatel Cílový

Více

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

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

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools jsou desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních zdrojů.

Více

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně vyhledávat informace,

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

Portfolio úložišť WD pro datová centra Kapacitní úložiště prošlo vývojem

Portfolio úložišť WD pro datová centra Kapacitní úložiště prošlo vývojem Kapacitní úložiště, které posune váš výkon k inovacím. WD a logo WD jsou registrované ochranné známky společnosti Western Digital Technologies, Inc. v USA a dalších zemích; WD Ae, WD Re+, WD Re, WD Se,

Více

Google Apps. Administrace

Google Apps. Administrace Google Apps Administrace Radim Turoň 2015 Administrátorská konzole Google Apps Místo, ve kterém se nacházejí administrační nástroje pro správu vašeho Google Apps Administrátorská konzole - kde ji naleznete

Více

Fenomén Cloudu v kontextu střední a východní Evropy. Petr Zajonc, IDC pzajonc@idc.com

Fenomén Cloudu v kontextu střední a východní Evropy. Petr Zajonc, IDC pzajonc@idc.com Fenomén Cloudu v kontextu střední a východní Evropy Petr Zajonc, IDC pzajonc@idc.com Představení IDC CEMA Výzkum IT trhu Komunikace s prodejci, poskytovateli a konzumenty Přes 1000+ analytiků (120+ v CEMA)

Více

Služby datového centra

Služby datového centra Služby datového centra Společnost DataSpring je poskytovatelem služeb ICT infrastruktury a provozu IT řešení, veškeré služby provozuje ve vlastních datových centrech v Praze (Lucerna) a v Lužicích u Hodonína.

Více

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje jsou souborem klientských desktopových aplikací určených k indexování dat, vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci s velkým objemem textových

Více

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

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

Více

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

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging 1. Vhodnost nasazení jednotlivých webových architektur - toto je podle Klímy

Více

PROVOZOVÁNÍ PRIVATE CLOUD VE VEŘEJNÉ SPRÁVĚ

PROVOZOVÁNÍ PRIVATE CLOUD VE VEŘEJNÉ SPRÁVĚ PROVOZOVÁNÍ PRIVATE CLOUD VE VEŘEJNÉ SPRÁVĚ Juraj Žoldák Vítkovice IT Solutions, Michal Osif Microsoft Services 2.4.2012 ISSS Hradec Králové http://itsolutions.vitkovice.cz Cíle a stav IT systémů ve veřejné

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

www.cdc-monitoring.cz

www.cdc-monitoring.cz Monitoring sítí a serverů Dnešní požadavky na výkon ethernetových, wifi nebo jiných sítí, jejich serverů a aktivních prvků jsou velmi striktně nastaveny. Síť musí být koncipována tak, aby byla zaručena

Více

Zabezpečení dat v cloudu. Ing. Miroslav Ludvík, Ph.D.

Zabezpečení dat v cloudu. Ing. Miroslav Ludvík, Ph.D. Zabezpečení dat v cloudu Ing. Miroslav Ludvík, Ph.D. Co je to cloud computing? Business model IT as a servis Co je to Cloud? Dodávka formou služby IT jako služba s definovaným rozhraním a kvalitou. Škálovatelný

Více

Registr živnostenského podnikání předchůdce cloudových řešení

Registr živnostenského podnikání předchůdce cloudových řešení Registr živnostenského podnikání předchůdce cloudových řešení Ing. Miloslav Marčan, Ministerstvo průmyslu a obchodu ČR Ing. Martin Záklasník, PhD., Sales Director T-Systems Czech Republic Deutsche Telekom

Více

Kerio IMAP Migration Tool

Kerio IMAP Migration Tool Kerio IMAP Migration Tool 2011 Kerio Technologies s.r.o. Všechna práva vyhrazena. Verze: 7.2 1 Úvod Tato příručka slouží jako průvodce migrací uživatelských účtů a dat z libovolného IMAP serveru do úložiště

Více

Webové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009

Webové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009 Webové rozhraní pro datové úložiště Obhajoba bakalářské práce Radek Šipka, jaro 2009 Úvod Cílem práce bylo reimplementovat stávající webové rozhraní datového úložiště MU. Obsah prezentace Úložiště nasazené

Více

GOOGLE APPS FOR WORK. TCL DigiTrade - 22.10.2015

GOOGLE APPS FOR WORK. TCL DigiTrade - 22.10.2015 GOOGLE APPS FOR WORK TCL DigiTrade - 22.10.2015 Seminář 22.10.2015 9.00-9.25 Co jsou Google Apps for Work (Stanislav Marszalek - TCL DigiTrade) 9.30 9.55 Praktické příklady použití Google Apps ve firmě

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

Ostrava. 16. dubna 2014

Ostrava. 16. dubna 2014 Ostrava 16. dubna 2014 1 SoftLayer Managed Services Roman Hlaváč 2 Co je a není SoftLayer 1-stránkový přehled Globální poskytovatel cloud služeb Poskytuje následující služby IaaS PaaS Virtuální Privátní

Více

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Trochu teorie Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Každá spuštěná aplikace má alespoň jeden proces

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

Cloudové řešení pro ŠKODA AUTO

Cloudové řešení pro ŠKODA AUTO Cloudové řešení pro ŠKODA AUTO Automobilový výrobce společnost ŠKODA AUTO, která působí na více než 100 trzích v rámci celého světa, implementovala cloudové řešení MS Azure. Nahrazením původního řešení

Více

Sísyfos Systém evidence činností

Sísyfos Systém evidence činností Sísyfos Systém evidence Sísyfos : Evidence pracovních Systém Sísyfos je firemní aplikace zaměřená na sledování pracovních úkonů jednotlivých zaměstnanců firmy. Umožňuje sledovat pracovní činnosti na různých

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

E-mailové kampaně. 2013 Byznys CRM s.r.o.

E-mailové kampaně. 2013 Byznys CRM s.r.o. E-mailové kampaně 2013 Byznys CRM s.r.o. Zákazník: Dne: 31. 5. 2015 Vytvořil: Pavel Šlesingr Schválil: Petr Hampejs Verze: 5.0 Emailové kampaně v CRM 2011 Strana 2 z 15 Obsah Obsah... 3 1. Popis... 4 1.1.

Více

Maturitní projekt do IVT Pavel Doleček

Maturitní projekt do IVT Pavel Doleček Maturitní projekt do IVT Pavel Doleček CO FILMBOOK JE Filmbook je uzavřená webová aplikace pro celkovou správu informací a dat souvisejících se sledováním filmů. Primárně je zaměřen na uchovávání a spravování

Více

Elektronická podpora výuky předmětu Komprese dat

Elektronická podpora výuky předmětu Komprese dat Elektronická podpora výuky předmětu Komprese dat Vojtěch Ouška ouskav1@fel.cvut.cz 19. června 2006 Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 1 /15 Co je to SyVyKod? SyVyKod = Systém

Více

VOIPEX Pavel Píštěk, strategie a nové Sdílet projek ts y práv, I né PEX inf a.s orm. ace se správnými lidmi ve správný čas WWW.IPEX.

VOIPEX Pavel Píštěk, strategie a nové Sdílet projek ts y práv, I né PEX inf a.s orm. ace se správnými lidmi ve správný čas WWW.IPEX. VOIPEX Pavel Píštěk, strategie a nové projekty, Sdílet správné IPEX a.s. informace se správnými lidmi ve správný čas Byznys začíná komunikací Agenda 1. Cesta do Cloud služeb. 2. Přínos pro nás a naše zákazníky.

Více

w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack

w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack http://www.ulticloud.com http://www.openstack.org Představení OpenStacku 1. Co OpenStack je a není 2.

Více

Microsoft Windows Server System

Microsoft Windows Server System Microsoft Windows Server System Uživatelský autentikační systém od společnosti truconnexion komplexně řeší otázku bezpečnosti interních počítačových systémů ebanky, a.s. Přehled Země: Česká republika Odvětví:

Více

ArcGIS Online Subscription

ArcGIS Online Subscription ArcGIS Online Subscription GIS pro organizace ArcGIS Online je GIS v cloudu. Poskytuje služby GIS v prostředí internetu, ať už se jedná o úložné místo, publikaci mapových a geoprocessingových služeb, nebo

Více

Případová studie. www.softwareone.cz

Případová studie. www.softwareone.cz Případová studie Skupina Metrostav díky SoftwareONE úspěšně prošla změnou multilicenčního programu, migrací na nové produkty i optimalizací procesů v oblasti nakládání se software dle ISO 19770-1 www.softwareone.cz

Více

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

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

Více

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

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

Více

plussystem Příručka k instalaci systému

plussystem Příručka k instalaci systému plussystem Příručka k instalaci systému Tato příručka je určena zejména prodejcům systému a případně koncovým uživatelům. Poskytuje návod, jak provést potřebná nastavení komponent. ITFutuRe s.r.o. 26.2.2015

Více

2012 (červen) Microsoft Sharepoint Portal Server. Microsoft Live Communications Server 2003 Řešení pro online komunikaci. Microsoft Exchange

2012 (červen) Microsoft Sharepoint Portal Server. Microsoft Live Communications Server 2003 Řešení pro online komunikaci. Microsoft Exchange 1989 1996 2001 2003 Microsoft Office Kancelářský balík Microsoft Exchange Emailové a groupwarové řešení Microsoft Sharepoint Portal Server Webová platforma pro spolupráci a správu obsahu Microsoft Live

Více

Cloud. historie, definice, modely a praktické využití. 7.4.2014 Ing. Karel Stýblo K2 atmitec s.r.o.

Cloud. historie, definice, modely a praktické využití. 7.4.2014 Ing. Karel Stýblo K2 atmitec s.r.o. Cloud historie, definice, modely a praktické využití 7.4.2014 Ing. Karel Stýblo K2 atmitec s.r.o. Agenda Agenda Cloud jak to začalo? Definice Cloudu Modely cloudových služeb Modely nasazení cloudových

Více

CLOUD ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště

CLOUD ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště CLOUD Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Cloudové služby Autor Martin Šimůnek Datum 10. 11. 2012 Stupeň atypvzdělávání

Více

Novinky ve Visual Studio 2010. Tomáš Kroupa Tomas.Kroupa@hotmail.com

Novinky ve Visual Studio 2010. Tomáš Kroupa Tomas.Kroupa@hotmail.com Novinky ve Visual Studio 2010 Tomáš Kroupa Tomas.Kroupa@hotmail.com O čem si dnes řekneme Visual studio 2010 (beta 2) Jazyk C# 4.0 ASP.NET 4.0.NET 4.0 Visual Studio 2010 Beta 2 Jak získat Testovací verze

Více

webmarketin Základní moduly aplikace

webmarketin Základní moduly aplikace webmarketin Aplikace webmarketing je komplexní online nástroj určený pro podporu a řízení marketingu a CRM ve společnosti. Její součástí jsou webové ankety, SMS kampaně nebo newslettery, které lze spravovat

Více

PRŮVODCE SPOLEČNOSTI DELL MOBILITA

PRŮVODCE SPOLEČNOSTI DELL MOBILITA PRŮVODCE SPOLEČNOSTI DELL MOBILITA JAK BY MĚLY NOTEBOOKY VYPADAT Požadujete notebook bez kompromisů. Chcete omezit prostoje pomocí systémů, které zvládnou i nejtěžší překážky na cestách. Chcete dosáhnout

Více

Co je Symantec pcanywhere 12.0? Hlavní výhody Snadné a bezpečné vzdálené připojení Hodnota Důvěra

Co je Symantec pcanywhere 12.0? Hlavní výhody Snadné a bezpečné vzdálené připojení Hodnota Důvěra Symantec pcanywhere 12.0 Špičkové řešení vzdáleného ovládání pro odbornou pomoc a řešení problémů Co je Symantec pcanywhere 12.0? Symantec pcanywhere, přední světové řešení vzdáleného ovládání*, pomáhá

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

P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing.

P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing. P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing. Tomáš Petránek tomas@petranek.eu Karviná, 21. 10. 2011 Obsah prezentace 1. Okolnosti

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

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída: DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP Maturitní projekt Vypracoval: Denis Ptáček Třída: 4B Rok: 2014/2015 Obsah 1. Použité nástroje... 3 1.1 NetBeans

Více

Konference economia - outsourcing

Konference economia - outsourcing Konference economia - outsourcing Tomáš Knoll 27. února 2013 Member of the Agenda 1. Představení společnosti 2. Reální zákazníci jak Cloud pomáhá 3. DEMO 4. Q&A, závěr 2. Představení společnosti O společnosti

Více

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10 Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 Poděkování 15 Earle Castledine 15 Myles Eftos 15 Max Wheeler

Více

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný Load Balancer RNDr. Václav Petříček Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný 1.4.2005 Co je Load Balancer Nástroj pro zvýšení výkonnosti serverů Virtuální server skrývající farmu skutečných

Více

Wonderware InTouch 2012 R2 Co je nového

Wonderware InTouch 2012 R2 Co je nového Wonderware InTouch 2012 R2 Co je nového Ivan Picek Pantek (CS) s.r.o. Strana 2 Úvod Wonderware InTouch je oblíbený software pro vizualizaci, sběr dat a supervizní řízení technologických procesů kategorie

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

Jakub Šesták. http://www.cesnet.cz/services/data-storage/?lang=en ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY

Jakub Šesták. http://www.cesnet.cz/services/data-storage/?lang=en ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Datové služby sdružení CESNET http://www.cesnet.cz/services/data-storage/?lang=en ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY Jakub Šesták 5. 12. 2014 1. ročník navazujícího

Více

OptimiDoc dokáže takové dokumenty zpracovat a distribuovat napříč firmou.

OptimiDoc dokáže takové dokumenty zpracovat a distribuovat napříč firmou. Automatizujte zpracování a distribuci dokumentů do vašich firemních procesů! Nemáte kontrolu nad stovkami papírových dokumentů, které přichází do vaší firmy? OptimiDoc dokáže takové dokumenty zpracovat

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

Jak spustit provoz v DR lokalitě snadno a rychle

Jak spustit provoz v DR lokalitě snadno a rychle Moderní a spolehlivá řešení pro ukládání dat Jak spustit provoz v DR lokalitě snadno a rychle David Gottvald GAPP System Požadavky zákazníků Potřebujeme mít data ve druhé lokalitě pro případ katastrofy.

Více

Windows Server 2012. Novinky. Petr Špetlík Cloud & Server PTA

Windows Server 2012. Novinky. Petr Špetlík Cloud & Server PTA Windows Server 2012 Novinky Petr Špetlík Cloud & Server PTA TOP Hotel Praha Více než virtualizace Síla mnoha serverů, jednoduchost jednoho Každá aplikace, Jakýkoliv Cloud 7. 8. 3. 2012 2 Moderní Pracovní

Více

Práce s e-mailovými schránkami v síti Selfnet

Práce s e-mailovými schránkami v síti Selfnet Práce s e-mailovými schránkami v síti Selfnet Obsah návodu Základní informace k nastavení schránky selfnet.cz...2 Doporučené parametry nastavení e-mailového klienta...2 Základní informace k nastavení e-mailové

Více

PRODEJ Prodej je pochopitelně základní funkcí pokladního systému. Systému MERCATOR umožňuje prodej realizovat ve 3 režimech:

PRODEJ Prodej je pochopitelně základní funkcí pokladního systému. Systému MERCATOR umožňuje prodej realizovat ve 3 režimech: MERCATOR Moderní pokladní systém od společnosti SICONET a.s. Co je MERCATOR MERCATOR je PC pokladní systém určený především maloobchodním a velkoobchodním prodejnám společností, jejichž podnikovým systémem

Více

CA AppLogic platforma typu cloud pro podnikové aplikace

CA AppLogic platforma typu cloud pro podnikové aplikace INFORMACE O PRODUKTU: CA AppLogic CA AppLogic platforma typu cloud pro podnikové aplikace agility made possible CA AppLogic je platforma na klíč založená na technologii cloud computing, která pomáhá podnikům

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

Případové studie a kulatý stůl. Dalibor Kačmář, Microsoft

Případové studie a kulatý stůl. Dalibor Kačmář, Microsoft Případové studie a kulatý stůl Dalibor Kačmář, Microsoft Případová studie využití Microsoft Azure společnosti Ness Akviziční systém společnosti Cofidis Vysoká dostupnost celého řešení Zeštíhlení IT oddělení

Více

Téma Školitel Počet dní Moderní principy řízení výrobního podniku

Téma Školitel Počet dní Moderní principy řízení výrobního podniku Katalog školení QAD Školení probíhají na adrese: Minerva ČR, Skálova 2490, Tábor začátek 9:00 hod do cca 16 hod Minerva ČR, AT Tower Pražákova 69, Brno začátek 9:00 hod do cca 16 hod cena 4000Kč/osoba,

Více

1 Příručka používání Google Apps

1 Příručka používání Google Apps 1 Příručka používání Google Apps Tento manuál vznikl pro účel seznámení se základní funkčností balíku Google Apps a má za úkol Vás seznámit s principy používání jednotlivých služeb (Gmail, Kalendáře, Disk).

Více

Migrace kompletní IT infrastruktury do prostředí Microsoft Azure

Migrace kompletní IT infrastruktury do prostředí Microsoft Azure Případová studie Migrace kompletní IT infrastruktury do prostředí Microsoft Azure Millennium je první společnost na Slovensku, která zcela zmigrovala svou IT infrastrukturu a profituje z flexibility a

Více

BALISTICKÝ MĚŘICÍ SYSTÉM

BALISTICKÝ MĚŘICÍ SYSTÉM BALISTICKÝ MĚŘICÍ SYSTÉM UŽIVATELSKÁ PŘÍRUČKA Verze 2.3 2007 OBSAH 1. ÚVOD... 5 2. HLAVNÍ OKNO... 6 3. MENU... 7 3.1 Soubor... 7 3.2 Měření...11 3.3 Zařízení...16 3.4 Graf...17 3.5 Pohled...17 1. ÚVOD

Více

Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití

Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití Programové prostředky PC - 5 Informatika 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah: Vrstvy programového

Více

Internet Information Services (IIS) 6.0

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

Více

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

Hospodářská informatika

Hospodářská informatika Hospodářská informatika HINFL, HINFK Vytvořeno s podporou projektu Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu reg.

Více

CA Business Service Insight

CA Business Service Insight SPECIFIKACE PRODUKTU: CA Business Service Insight CA Business Service Insight agility made possible Díky produktu CA Business Service Insight budete vědět, které služby jsou v rámci vaší společnosti využívány,

Více

Tomáš HEBELKA, MSc. Skepse vůči cloudu. 21. června 2011 VI. Konference ČIMIB, Hotel Continental, Brno

Tomáš HEBELKA, MSc. Skepse vůči cloudu. 21. června 2011 VI. Konference ČIMIB, Hotel Continental, Brno Tomáš HEBELKA, MSc Skepse vůči cloudu 21. června 2011 VI. Konference ČIMIB, Hotel Continental, Brno Co je to cloud? Cloud computing je na Internetu založený model vývoje a používání počítačových technologií.

Více

KATALOG SLUŽEB NÁSLEDNÉ PODPORY

KATALOG SLUŽEB NÁSLEDNÉ PODPORY KATALOG SLUŽEB NÁSLEDNÉ PODPORY Společnost WEBCOM a. s. Vám nabízí kompletní pokrytí Vašich požadavků na zajištění služeb technické podpory Microsoft Dynamics přesně podle Vašich potřeb a v požadovaném

Více

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Vyšší odborná škola ekonomická a zdravotnická a Střední škola, Boskovice INOVACE PŘEDMĚTŮ ICT MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Zpracoval: Jaroslav Kotlán srpen 2009s Úvod Modul Programování

Více

Jan Tkáč 27.5. 2014. AutoCont Privátní cloud

Jan Tkáč 27.5. 2014. AutoCont Privátní cloud Jan Tkáč 27.5. 2014 AutoCont Privátní cloud Co je to AC Privátní cloud? AC Privátní cloud = vlastní produkt AutoContu AC Privátní cloud = Privátní datacentrum, které se nespravuje AC Privátní cloud = UNIKÁTNÍ

Více

Konsolidace zálohování a archivace dat

Konsolidace zálohování a archivace dat České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačové grafiky a interakce Závěrečná zpráva projektu 493/2013/1 Konsolidace zálohování a archivace dat Řešitel: Jan Kubr Spoluřešitel:

Více

5/8 INSTANT MESSAGING A JEHO BEZPEČNOST V PODNIKOVÝCH SÍTÍCH

5/8 INSTANT MESSAGING A JEHO BEZPEČNOST V PODNIKOVÝCH SÍTÍCH BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 8, kap. 1, str. 1 5/8 INSTANT MESSAGING A JEHO BEZPEČNOST V PODNIKOVÝCH SÍTÍCH 5/8.1 ÚVOD DO PROBLEMATIKY IM Instant messaging (dále jen IM) poskytuje komunikaci uživatelů

Více

MARIE PACS S PACSem hezky od podlahy když se data sypou!

MARIE PACS S PACSem hezky od podlahy když se data sypou! MARIE PACS S PACSem hezky od podlahy když se data sypou! Telemedicína, Brno, 3. března 2014 RNDr. Milan Pilný MARIE PACS Je to systém pro práci s obrazovými DICOM daty v medicíně. Je klasifikován jako

Více

Je reálné využití cloudu pro logistického providera z pohledu CIO?

Je reálné využití cloudu pro logistického providera z pohledu CIO? Je reálné využití cloudu pro logistického providera z pohledu CIO? Ing. Petr Pokorný Osnova příspěvku Současné možnosti cloudu computingu Pro jaké aplikace je cloud vhodný? Pro koho je cloud dnes vhodný

Více

Obsah. Rozdíly mezi systémy Joomla 1.0 a 1.5...15 Systém Joomla coby jednička online komunity...16 Shrnutí...16

Obsah. Rozdíly mezi systémy Joomla 1.0 a 1.5...15 Systém Joomla coby jednička online komunity...16 Shrnutí...16 Obsah Kapitola 1 Seznámení se systémem Joomla!................................. 9 Přehled systémů pro správu obsahu....................................................10 Použití systému pro správu obsahu.....................................................11

Více

financnasprava.sk Portál Technologie Microsoft zjednodušují komunikaci občanů s Finanční správou SR a činí výběr daní transparentnějším.

financnasprava.sk Portál Technologie Microsoft zjednodušují komunikaci občanů s Finanční správou SR a činí výběr daní transparentnějším. Případová studie Portál financnasprava.sk Technologie Microsoft zjednodušují komunikaci občanů s Finanční správou SR a činí výběr daní transparentnějším. Portál financnasprava.sk Uvedení portálu do života

Více

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek Co je to webová aplikace? příklady virtuální obchodní dům intranetový IS podniku vyhledávací služby aplikace jako každá jiná přístupná

Více

Versiondog 2.1.1 Co je nového

Versiondog 2.1.1 Co je nového Versiondog 2.1.1 Co je nového Lukáš Rejfek, Pantek (CS) s.r.o. 11/2012 Strana 2 Úvod Nová verze produktu Versiondog 2.1.1 přináší oproti verzím 1.52.x mnoho nových funkčností i nové typy komponent, které

Více

Nasazení Microsoft Exchange Server 2010 a migrace z Microsoft Exchange Server 2007

Nasazení Microsoft Exchange Server 2010 a migrace z Microsoft Exchange Server 2007 Nasazení Microsoft Exchange Server 2010 a migrace z Microsoft Exchange Server 2007 Společnost AVE CZ nepoužívá nejmodernější technologie nejen ve svém oboru odpadového hospodářství, nýbrž i ve své IT infrastruktuře.

Více

Jak být online a ušetřit? Ing. Ondřej Helar

Jak být online a ušetřit? Ing. Ondřej Helar Jak být online a ušetřit? Ing. Ondřej Helar Obsah Co znamená být online ve škole? Rizika online přístupu Skryté náklady na straně školy Jak snížit rizika a náklady? Koncepce SaaS (Software as a Service)

Více

LINUX - INSTALACE & KONFIGURACE

LINUX - INSTALACE & KONFIGURACE LINUX - INSTALACE & KONFIGURACE LINUX - INSTALACE & KONFIGURACE Školení zaměřené na instalaci a správu systému. Účastník získá praktické znalosti vhodné pro instalaci a správu operačního systému na serveru.

Více