Vytvo ení rozhraní pro MS Exchange formou web service pro IIS server. Petr Dousek

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

Download "Vytvo ení rozhraní pro MS Exchange formou web service pro IIS server. Petr Dousek"

Transkript

1 ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta Bakalá ská práce Vytvo ení rozhraní pro MS Exchange formou web service pro IIS server Petr Dousek Vedoucí práce: Ing. Pavel Náplava Studijní program: Softwarové technologie a management, Bakalá ský Obor: Softwarové inºenýrství 25. kv tna 2011

2 iv

3 v Pod kování D kuji vedoucímu bakalá ské práce Ing. Pavlu Náplavovi za poskytnutí cenných rad a p ipomínek nutných k vypracování této bakalá ské práce.

4 vi

5 vii Prohlá²ení Prohla²uji, ºe jsem práci vypracoval samostatn a pouºil jsem pouze podklady uvedené v p iloºeném seznamu. Nemám závaºný d vod proti uºití tohoto ²kolního díla ve smyslu Ÿ60 Zákona. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o zm n n kterých zákon (autorský zákon). V Praze dne

6 viii

7 Abstract The theoretical part of this bachelor's thesis analyzes and evaluates application programming interface of Microsoft Exchange server and the practical part is aimed at implementation of web service for Microsoft Exchange server and ligthweigth user interface for this web service. This bachelor's thesis has two main parts. The rst part is aimed at anlyzing and evaluating Microsoft Exchange server's application programming interface. In this part I also desing a web service which uses previously mentioned API to connect and manage items stored at Microsoft Exchange server. In the second, I describe implementation of above mentioned web service. Furthermore, I decsribe implementation of lightweigth web user interface which uses the web service for connecting to MS Exchange server. I oer some possible extensions of this web service and of it's user interface at the end of this thesis. Keywords: Microsoft, Exchange, web service, application programming interface, Exchange Web Services Abstrakt Zám rem této bakalá ské práce je z teoretického hlediska analýza aplika ního rozhraní Microsoft Exchange serveru, praktická ást se zabývá implementací webové sluºby pro Microsoft Exchange server a implementací odleh eného uºivatelského rozhraní, které bude tuto sluºbu vyuºívat. Tato práce je rozd lena do dvou hlavních ástí. V první ásti se zabývám zhodnocením výchozího stavu Microsoft Exchange serveru, analýzou jeho aplika ního rozhraní a návrhem webové sluºby, která bude vyuºívat toto aplika ní rozhraní vyuºívat k p ístupu k prost edk m serveru. V druhé ásti se zabývám implementací této webové sluºby podle ix

8 x poºadavk specikovaných vý²e. Dále je zde popsána implementace odleh eného webového rozhraní, které tuto sluºbu vyuºívá k napojení na MS Exchange server. V záv ru práce nabízím n kolik moºných roz²í ení této webové sluºby i jejího uºivatelského rozhraní. Klí ová slova: Microsoft, Exchange, webová sluºba, aplika ní rozhraní, Exchange Web Services

9 Obsah 1 Úvod Cíle projektu Sou asný stav Specikace projektu Struktura bakalá ské práce Analýza sou asného stavu Popis e²eného problému Aplika ní rozhraní Microsoft Exchange Web Services Aplikace vyuºívající Microsoft Exchange server Analýza a návrh e²ení Implementa ní moºnosti Analýza poºadavk na webovou sluºbu Analýza webové sluºby Analýza webového rozhraní Realizace P ípravná fáze Poznámka Implementace datových hierarchií ExItem a Response Základ webové sluºby Základ webového rozhraní Realizace p ihla²ování Vytvá ení poloºek Získávání poloºek Úprava a mazání poloºek Roz²i itelnost webové sluºby Realizace klientské aplikace Komponenty uºivatelského rozhraní Testování a zhodnocení implementované funkcionality Testování Zhodnocení implementované funkcionality xi

10 xii OBSAH 6 Záv r Napln ní cíl Moºnosti dal²ího vývoje A Seznam pouºitých zkratek 31 B Instala ní a uºivatelská p íru ka 33 C Obsah p iloºeného CD 35

11 Seznam obrázk 2.1 Schéma interakcí mezi MSE serverem a klientskými aplikacemi[11] UML diagram návrhového vzoru Adapter Diagram t íd pro hierarchii ExItem Diagram t íd pro hierarchii Response Návrhový vzor proxy Schéma testovacího prost edí xiii

12 xiv SEZNAM OBRÁZK

13 Kapitola 1 Úvod 1.1 Cíle projektu Základním stavebním prvkem této práce je vytvo ení webové sluºby pro Microsoft Exchange server[13] (dále jen 'MSE'), která bude umoº ovat pohodlnou moºnost p ístupu k poloºkám na MSE. Tato webová sluºba usnadní vývojá i klientské aplikace napojeni MSE a základní práci s poloºkami typu Po²ta, Kalendá, Úkol a Kontakt. Dále mu poskytne solidní základ, který je velice snadné upravit pro pot eby nov vyvíjeného produktu. Vzhledem k tomu, ºe webové sluºby jsou p ed zraky b ºného uºivatele internetu skryty (ne snad proto, ºe by je b ºný uºivatel nevyuºíval/nepot eboval, ale spí²e proto, ºe si jejich existenci neuv domuje) je p edpokládaným uºivatelem této práce vývojá webové/klientské aplikace pracující na integraci funkcionality MSE do jiº existující remní infrastruktury. Sou ástí této práce je i ukázková aplikace, na které demonstruji moºnosti této webové sluºby. Z d vodu existence knihovny Microsoft Exchange Web Services[10], která e²í velkou ást zadání této práce, jsme se po dohod s vedoucím práce ing. Náplavou dohodli na roz²í ení p vodního zadaní o implementaci webového rozhraní, které bude vyuºívat webovou sluºbu implementovanou v rámci této práce. 1.2 Sou asný stav V sou asné dob je ze strany výrobce MSE (spole nosti Microsoft Corporation) podporováno n kolik API 1 pro p ístup k prost edk m MSE. Primárním protokolem je proprietární RPC/MAPI 2, který vyuºívají nap íklad MS Outlook nebo Novell Evolution[4]. Dal²í moºností bylo d íve pouºití protokolu WebDAV 3, které bylo ve verzi MSE 2007 nahrazeno rozhraním Exchange Web Services (dále jen 'EWS') a od verze MSE 2010 není dále podporováno. Nejnov j²ím rozhraním je EWS, které je zaloºeno na protokolu SOAP 4 a oproti d íve pouºívanému protokolu WebDAV usnad uje komunikaci mezi klientem a serverem. Dal²í výhodou 1 Application Programming Interface 2 Remote Procedure Call, Messaging API 3 Web-based Distributed Authoring and Versioning 4 Simple Object Access Protocol - protokol, pro vým nu objekt p es po íta ovou sí zaloºený na jazyku XML 1

14 2 KAPITOLA 1. ÚVOD pouºití tohoto protokolu je zkrácení asu synchronizace oproti pouºití WebDAVu. EWS je obdobn jako RPC/MAPI proprietárním e²ením spole nosti Microsoft, je ale voln dostupné ke staºení a jeho podrobná dokumentace (v etn p íklad ) je dostupná na MSDN 5. Samoz ejmostí je i podpora ²iroce roz²í ených protokol pro vým nu po²ty POP, IMAP a SMTP Specikace projektu Hlavním cílem tohoto projektu je usnadnit vývojá m práci p i integraci funkcí MSE do jejich projekt. I p esto, ºe Microsoft ud lal velký kus práce za vývojá e tím, ºe poskytl dobré (a dob e dokumentované!) API pro MSE, stále je struktura relativn sloºitá a navíc jej nelze pouºít p ímo v n kterých projektech 7. T ºi²t m funkcionality této webové sluºby jsou CRUD 8 operace s poloºkami typu Po²ta, Kalendá, Úkol a Kontakt. Cílem této práce není poskytnout v rámci webové sluºby kompletní funkcionalitu MSE (coº by byla do jisté míry práce zbyte ná, protoºe tuto funkcionalitu nabízí MS OWA 9 ). Cílem je vytvo it webovou sluºbu, která bude poskytovat odleh enou funkcionalitu MSE a bude umoº ovat jednoduchou roz²i itelnost o p vodn neposkytované funkce a parametry. D leºitou vlastností je také kompletní odstín ní klientské aplikace od EWS a MSE. Díky tomuto odstín ní nám vzniká t ívrstvá aplikace, kde datový model (MSE), bussiness logika (webová sluºba) a prezenta ní vrstva (klientssá aplikace) jsou vzájemn nezávislé. Druhým cílem je vytvo ení uºivatelsky p ív tivého, odleh eného webového rozhraní, které bude tuto webovou sluºbu vyuºívat. Toto rozhraní bude umoº ovat základní správu v²ech typ poloºek, které poskytuje vý²e zmi ovaná webová sluºba a také vylep²enou podporu kalendá e, jehoº implementace MS Outlooku je pon kud ne²tastná. 1.4 Struktura bakalá ské práce Tato práce je strukturována do kapitol, jejichº obsah je ve stru nosti shrnut dále. Následující, 2., kapitola se zabývá sou asnými aplikacemi, které m ºeme vyuºít pro p ipojení k MSE. V této kapitole také rozebírám jednotlivá API, které MSE poskytuje pro klientské aplikace. Ve 3. kapitole se zabývám analýzou a návrhem webové sluºby, která byla popsána d íve v této kapitole. 3. kapitola také obsahuje moºné alternativní e²ení díl ích problém spojených s návrhem této webové sluºby. Obsahem 4. kapitoly je implementace webové sluºby podle zadání práce s vyuºitím analýzy provedené ve 3. kapitole. V 5. kapitole se zabývám analýzou, návrhem a popisem implementace odleh eného webového rozhraní pro MSE. V záv re né 6. kapitole shrnuji dosaºené výsledky práce a nabízím n kolik moºných vylep²ení projektu. V p ílohách jsou obsaºeny instrukce pro instalaci, obsah p iloºeného CD a seznam pouºitých zkratek. Z d vodu pouºití velkého mnoºství zkratek jsem se rozhodl, ºe kaºdou zkratku vysv tlit v poznámce pod arou a zárove uvádím kompletní seznam pouºitých zkratek v záv ru práce. 5 Microsoft Developer Network 6 Post Oce Protocol, Internet Message Access Protocol, Simple Mail Transfer Protocol 7 Nap íklad ho nem ºeme vyuºít v MS Silverlight 4 aplikaci, protoºe nepodporuje p idání dynamicky linkovaných knihoven (*.dll) 8 Create, Retrieve, Update, Delete 9 Outlook Webb App

15 Kapitola 2 Analýza sou asného stavu 2.1 Popis e²eného problému Jedním z významných faktor, které ovliv ují chod a efektivitu st edn velkých a velkých podnik je efektivnost vnitropodnikové komunikace. Tato komunikace m ºe mít mnoho r zných forem od komunikace osobní, p es telefonickou aº po komunikaci elektronickou. A práv význam elektronické komunikace se v sou asné dob je²t více prohlubuje. S rostoucím významem elektronické komunikace investuje mnoho podnik do budování vlastní IT infrastruktury za ú elem podpory komunikace. Základním stavebním kamenem takové infrastruktury je bezesporu server pro správu elektronické po²ty - . Naprostou v t²inu trhu (více neº 85 %[6]) s ovými servery ovládají sendmail, MSE, Postx a Exim. Zajímavým faktem je, ºe jediným ist proprietárním e²ením je MSE, který je dodáván v rámci licen ních podmínek MS CAL 1. V²echny ostatní ové servery jsou poskytovány zdarma, sendmail 2 a Postx v rámci vlastních otev ených licencí, Exim v rámci GNU/GPL 3 licence. Výhodou placeného MSE oproti jeho konkurenci je komplexní správa nejen ových zpráv, ale i dal²ích organiza ních a plánovacích funkcí jako jsou kalendá e, úkoly a kontakty. MSE také t ºí z velké provázanosti s MS Windows Server infrastrukturou, ze které vyuºívá sluºby Domain Controlleru, Active Directory a dal²ích. Tato pom rn vysoká míra závislosti na dal²ích komponentách omezuje moºnost instalace MSE pouze na opera ní systémy rodiny MS Windows Server. 2.2 Aplika ní rozhraní Microsoft Exchange Web Services EWS je API pro p ístup a správu poloºek na MSE serveru verze 2007 a nov j²ích verzí. Bylo uvedeno spole n s MSE 2007 a od verze MSE 2010 nahrazuje d íve podporovaný protokol WebDAV, který jiº není dále podporován. EWS jsou poskytovány zdarma jako dynamicky linkovaná knihovna (p idat odkaz na stazeni). Velkou výhodou tohoto API je i kvalitní dokumentace dostupná online na MSDN 4. Obrázek 2.1 znázor uje schéma interakcí mezi EWS 1 Microsoft Client Access License ve verzi pro serverové produkty 2 sendmail existuje v Open Source i v propritární verzi 3 GNU General Public Licence 4 Microsoft Developer Network[12] 3

16 4 KAPITOLA 2. ANALÝZA SOUƒASNÉHO STAVU Obrázek 2.1: Schéma interakcí mezi MSE serverem a klientskými aplikacemi[11] a klientskými aplikacemi. EWS odsti uje vývojá e webové sluºby/klientské aplikace od MSE, protokol pro p enos dat p es sí (TCP 5 /UDP 6 ) a nabízí pln objektový p ístup k e²ení problému. Tento p ístup je pro vývojá e velice pohodlný a p ipojení k MSE se sloºitostí blíºí nap íklad otev ení lokálního souboru. EWS podporují dva typy p ihlá²ení. Prvním z nich je p ihlá²ení za pouºití lokálního ú tu na klientském po íta i 7 nebo pomocí tzv. 'WebCredentials'. WebCredentials 5 Transmission Control Protocol 6 User Datagram Protocol 7 Podobn jako MS Outlook pouºijí jméno a heslo práv p ihlá²eného uºivatele, coº je vhodné u do domény

17 2.3. APLIKACE VYUšÍVAJÍCÍ MICROSOFT EXCHANGE SERVER 5 je p ihla²ování za pomoci manuáln zadaného jména a hesla - tento zp sob budu vyuºívat pro p ihla²ování p es webovou sluºbu. D leºitou vlastností je také ²ifrování spojení mezi EWS a MSE za pomoci protokolu SSL 8. V této knihovn jsou obsaºeny namespacy Microsoft.Exchange.WebServices.Autodiscover, Microsoft.Exchange.WebServices.Dns a Microsoft.Exchange.WebServices.Data. Z t chto namespac je nejd leºit j²í ten poslední jmenovaný. Namespace Microsoft.Exchange.WebServices.Data obsahuje (mimo mnoho dal²ích) abstraktní t ídu ServiceObject obsahující základní vlastnosti, které zd dí v²echny typy poloºek, se kterými bude navrhovaná webová sluºba pracovat. D leºitými vlastnostmi této t ídy jsou Service typu ExchangeService a Schema typu ServiceObjectSchema. ExchangeService je t ída zaji² ující napojení na MSE server - tzn. obsahuje p ihla²ovací údaje uºivatele, adresu EWS 9 a dal²í (pro ú ely navrhované webové sluºby) mén d leºité vlastnosti. Abstraktní t ída ServiceObjectSchema bude dále zd d na pro kaºdý typ poloºky. U jednotlivých poloºek bude obsahovat seznam dostupných parametr pro danou poloºku. Od t ídy Service je odd d na t ída Item, která spole ným p edkem pro v²echny ostatní typy poloºek, které bude navrhovaná webová sluºba obsluhovat. T ída Item obsahuje základní vlastnosti, jako jsou Body, Subject a Attachements. Po dal- ²ím d d ní se dostaneme jiº dostaneme k jednotlivým typ m poloºek. Jsou to t ídy - Message, Appointment 10, Task a Contact. Posledními t ídami, které zmíním jsou ItemView a FindItemResults 11 (a její potomci). Tyto t ídy jsou d leºité pro vyhledávání poloºek na MSE serveru, pro které neznáme jejich ID. V rámci ItemView m ºeme za pomoci p íslu²ných t íd z hierarchie ServiceObjectSchema specikovat, které vlastnosti vyhledávaných objekt chceme získat (a sníºit tak zatíºení sít ). Pomocí metody FindItems 12 s parametry parentfolderid 13 a ItemView. Návratovým typem metody FindItems je generická t ída FindItemResults<Item>. 2.3 Aplikace vyuºívající Microsoft Exchange server Obdobným platformním omezením jako MSE trpí i klientské aplikace pro p ístup k poloºkám na MSE a jejich správu. Nejlépe propracovanou aplikací a podporovanou aplikací je MS Outlook, jehoº cílovou platformou jsou opera ní systémy rodiny MS Windows a Apple Mac OS 14. Dal²ími klienty podporujícími protokol MAPI/RPC jsou Novell Evolution, Mozilla Thunderbird, SquirellMail a The Bat!. Podpora funkcí u t chto 'alternativních' klient bohuºel nedosahuje kvality MS Outlooku, který z stává daleko p ed konkurencí 15. p ipojených po íta a desktopových aplikací, ale pro ú ely webové sluºby je zcela nepouºitelné 8 Secured Socket Layer 9 EWS je v tomto kontextu sluºba spu²t ná na MSE serveru, která zaji² uje spojení webové sluºby a MSE serveru 10 T ída Appointment nahrazuje CalendarItemType z EWS verze Exituje i varianta FindFolderResults pro vyhledávání adresá, její pouºití je obdobné 12 Metoda FindItems náleºí (trochu nelogicky) t íd ExchangeService 13 Pro zji²t ní ID základních adresá uºivatele lze vyuºít t ídu WellKnownFolderName 14 Mac OS není primární platformou pro MS Oce a nemusí podporovat ve²keré funkce MS Outlooku pro MS Windows 15 Toto porovnání vychází z p edpokladu, ºe chceme pouºívat ve²keré funkce MSE. Pokud bysme cht li vyuºívat MSE 'pouze' jako ový server, potom máme moºnost pouºít jakéhokoli klienta s podporou

18 6 KAPITOLA 2. ANALÝZA SOUƒASNÉHO STAVU protokol POP3/IMAP a SMTP.

19 Kapitola 3 Analýza a návrh e²ení 3.1 Implementa ní moºnosti V následujícím textu jsou uvád ny jen technologie spole nosti MS. Toto omezení vyplývá ze snahy o technologickou jednotnost celého systému 1. Dal²ím d vodem je snaha o osobní rozvoj (pochopení a vyuºití platformy MS.NET framework a jazyka C#). V ím, ºe podobného výsledku je moºné dosáhnout i za pouºití platformy Java spole nosti Oracle nebo mnoha jiných, ale z vý²e zmín ných d vod jsem tyto technologie opomenul. Jak jiº bylo zmín no vý²e, hlavním cílem této práce je vytvo it webovou sluºbu pro zp ístupn ní poloºek uloºených na MSE serveru klientským aplikacím. Vyuºití konceptu webových sluºeb pro napojení na MSE je velmi výhodné, protoºe ú elem webových sluºeb je práv zp ístup ování zdroj dostupných v síti Internet webovým aplikacím. Webové sluºby nám tímto zp sobem usnad ují vytvá ení sloºitých webových aplikací, které se nemusejí (v tak velké mí e) zabývat bussiness logikou, ale spí²e vlastní prezentací a zp ístupn ním obsahu. Také nám umoº ují snadnou roz²i itelnost jiº existujících aplikací, obzvlá²t v p ípad, ºe jednotlivé sluºby poskytující obsah dané aplikaci implementují stejné rozhraní. V na²em p ípad by takovou sluºbou mohla být nap íklad sluºba, která bude poskytovat p ipojení k mailserveru pomocí protokolu IMAP/SMTP, díky emuº bysme získali mnohem univerzáln ji pouºitelného klienta bez nutnosti velkých zásah do jeho zdrojového kódu. Dal²ím e²ení tohoto problému by mohlo být vytvo ení knihovny funkcí, která by poskytovala podobnou funk nost. Toto e²ení by m lo n kolik velkých výhod, ale i nevýhod. Nejspí²e nejv t²í výhodou vyuºití knihovny funkcí místo webové sluºby by bylo zna né zefektivn ní a zrychlení komunikace. D vodem tohoto zrychlení by bylo zpracování odpov di MSE p ímo na stran klienta bez nutnosti odpov znovu serializovat a posílat po pomalé síti zp t klientovi. Naopak nevýhodami tohoto e²ení je náro n j²í pouºití v rámci webové aplikace 2 a výrazn obtíºn j²í aktualizace knihovny na stran klienta (z d vodu aktualizace a roz²í ení). 1 MS Windows Server 2008 R2, MSE, MS Internet Information Services jsou nutnými komponentami vyplývajícími ze zadaní práce 2 Nap íklad MS Silverlight nepodporuje dynamicky linkované knihovny kompilované do Common Language Runtime (CLR), ale jen vlastní verzi t chto knihoven, které jsou kompilovány do mini-clr. mini-clr je podmnoºinou CLR a proto je moºné tyto 'o ezané' knihovny vyuºívat v desktopových aplikacích. 7

20 8 KAPITOLA 3. ANALÝZA A NÁVRH E ENÍ Z vý²e uvedených d vod je z ejmé, ºe pro tvorbu webových aplikací je vhodn j²í vytvo it a dále vyuºívat webovou sluºbu. Pro desktopové aplikace m ºeme úsp ²n a snadno vyuºívat ob moºnosti s ohledem na poºadavky na implementovaný systém. Druhým cílem této práce je implementace webového rozhraní. Zde máme k dispozici dv hlavní technologie ASP 3.NET a Silverlight. ASP.NET je ur eno pro tvorbu webových aplikací, které jsou zaloºeny na komunikaci se serverem. Server v tomto p ípad provádí poºadavky od klienta (v na²em p ípad by vysílal poºadavky a zpracovával odpov di od webové sluºby) a zp t odesílá kompletní webové stránky, které klient pouze zobrazí v prohlíºe i. Moºným roz²í ením je pouºití AJAXu 4 pro skriptování na stran klienta. Výhodou je nezávislost na platform klienta (jedinou podmínkou je pouºití moderního webového prohlíºe e). Nevýhodou je nutnost vºdy skriptovat na stran serveru, coº m ºe vést k jeho p etíºení a zhor²ení odezvy celého systému. Druhou zmi ovanou technologií je MS Silverlight. Silverlight je aplika ní framework pro tvorbu webových aplikací s podobnou funk ností jakou nabízí Adobe Flash. Aplikace vytvo ená v Silverlightu je po staºení do klientského po íta e m ºe být nezávislá na serveru (aplikace je spu²t na u klienta v prohlíºe i, ale m ºe vysílat poºadavky zdroj m dostupným v síti). Výhodou tedy je men²í zát º serveru a urychlení komunikace se sí ovými zdroji (nap íklad s webovými sluºbami). Zna nou nevýhodou této technologie (a spu²t ní aplikací v prohlíºe i obecn ) je nutnost instalace pluginu pro spu²t ní aplikace na klientském po íta i. Silverlight je v sou asné dob podporován na platformách MS Windows, MS Windows Phone 7, Apple Mac OS X a Symbian OS. Ociální podpora pro opera ní systémy z rodiny UNIX (Linux, Oracle Solaris a jiné) zatím neexistuje a z ejm jedinou moºností, jak na t chto opera ních systémech spustit aplikace v Silverlightu je vyuºít neociální runtime Novell Moonlight 5. Také výkon t chto aplikací je v porovnání se srovnatelnými desktopovými aplikacemi niº²í a mohou zp sobovat pády a 'mrznutí' prohlíºe e 6. Pro implementaci webového rozhraní jsem si vybral technologii MS Silverlight, protoºe umoº uje b h aplikace na stran klienta a proto, ºe implementace webového rozhraní se blíºí implementaci desktopové aplikace. 3.2 Analýza poºadavk na webovou sluºbu V t²ina funk ních poºadavk vychází ze zadání této práce: Sluºba bude poskytovat CRUD operace pro poloºky typu Po²ta, Kalendá, Úkol a Kontakt Sluºba bude poskytovat adresá e v ové schránce uºivatele Sluºba bude poskytovat hromadné operace s hlavi kami ových zpráv Sluºba bude poskytovat hromadné operace s poloºkami podporovaných typ 3 Active Server Pages 4 Asynchronous JavaScript and XML 5 Moonlight je zaloºen na projektu Mono (Open source implementace MS.NET frameworku pro UNIXové opera ní systémy) a v sou asné dob nepodporuje Silverlight 4 aplikace. Také má problémy se stabilitou a výkonem. 6 Typickým p íkladem je nestabilita a nízký výkon jiº d íve zmi ovaného Adobe Flash Playeru, zejména mimo platformu MS Windows

21 3.3. ANALÝZA WEBOVÉ SLUšBY 9 Sluºba bude poskytovat zabezpe ené p ipojení k MSE Sluºba bude vyuºívat standardní p ihla²ovací mechanismu pro p ihlá²ení z webové aplikace Sluºba bude odsti ovat klientskou aplikaci od logiky a typ MSE serveru Z d vodu zam ení webové sluºby na odleh ená webová rozhraní pro MSE a po dohod s vedoucím práce jsem se rozhodl neimplementovat kompletní správu v²ech vlastností jednotlivých poloºek, na místo toho jsem vybral jen ty (z mého pohledu) nejd leºit j²í a ty zahrnul do implementace. Implementace v²ech dostupných vlastností podporovaných typ by m la za následek nadbyte n velký objem p ená²ených dat 7. Pokud by budoucí uºivatel pot eboval n které vlastnosti poloºek, které nejsou v základu webovou sluºbou poskytovány, lze tyto vlastnosti s minimálním úsilím do webové sluºby doimplementovat 8. Nefunk ní poºadavky na webovou sluºbu: Sluºba bude fungovat v prost edí IIS serveru Sluºba bude kompatibilní s MSE 2010 Sluºba bude implementována v MS.NET frameworku a bude napsána v jazyce C# První poºadavek vyplývá ze zadání této práce, ostatní poºadavky jsou také v souladu s tímto zadáním. 3.3 Analýza webové sluºby P i návrhu webové sluºby jsem se snaºil zachovat strukturu, kterou pouºívá EWS. D vod pro tuto snahu bylo n kolik. V prvé ad to bylo zjednodu²ení návrhu (není t eba znovu vynalézat kolo, kdyº jiº bylo vynalezeno). Dal²ím d leºitým d sledkem je p ehlednost návrhu, která je d leºitá nejen pro vlastní vývoj, ale také pro p ípadné pozd j²í úpravy. Poslední výhodou tohoto rozhodnutí je usnadn ní odstín ní MSE a EWS od klientské (webové) aplikace. Odstín ní MSE a EWS m ºe být realizováno za pomoci návrhového vzoru (dále jen 'NV') Adapter[2] jehoº diagram je na obrázku 3.1. Tento NV e²í problém nekompatibility dvou rozhraní objekt, která nelze jednodu²e upravit (nap íklad z d vodu, ºe nemáme p ístup ke zdrojovému kódu jednoho z t chto rozhraní). Adapter p istupuje k e²ení tohoto problému tak, ºe od d dí novou t ídu (která tak nutn implementuje jednu rozhraní jednoho z objekt ) a zárove implementuje rozhraní druhého z objekt. A koli je tento p ístup z hlediska návrhu velice istý, jeho d sledkem je zv t²ení po tu t íd a p ínos je v pom ru k pracnosti implementace nízký. Proto jsem se rozhodl vytvo it statickou metodou map() u jednotlivých t íd, která zaji² uje mapování zpracovávaných parametr mezi typy z EWS a z webové sluºby. 7 Tento objem by byl zv t²en i kv li faktu, ºe SOAP pouºívá k serializaci XML, které není vhodné pro p ená²ení binárních dat 8 Vyºaduje rekompilaci a aktualizaci reference webové sluºby v cílovém projektu

22 10 KAPITOLA 3. ANALÝZA A NÁVRH E ENÍ Obrázek 3.1: UML diagram návrhového vzoru Adapter Hierarchie t íd je zobrazená na obrázku 3.2[11]. Tato hierarchie se velmi blíºí struktu e EWS, je zde ale n kolik zm n. P edn byly vytvo eny t ídy Ex Header a ExFolderHeader, které reprezentují 'hlavi kové' informace pro poloºky typu Message, resp. Folder. Ve t íd Ex Header navíc existuje vlastnost pro uchování za átku 9 t la ové zprávy, coº je výhodné pro zobrazení náhledu zprávy p i procházení adresá e se zprávami a zárove to sniºuje datovou zát º p i hromadném na ítání z adresá e. Mén významnou zm nou je denice t ídy ExItem jako abstraktní. Druhou hierarchií t íd, kterou bylo nutné vytvo it je hierarchie Response (Obrázek 3.2[11]). Tyto t ídy zaji² ují komunikaci s klientem webové sluºby. Základem je (op t) abstraktní t ída Response, která zaji² uje propagaci vyjímek, které byly vyhozeny p i zpracování poºadavku klienta na stran webové sluºby a/nebo EWS. T chto vyjímek m ºe být vyhozena celá ada, mezi ty nej ast j²í pat í odmítnutí p ihlá²ení uºivatele a nedostupnost EWS na zadané adrese. Dal²í t ídy v této hierarchii implementují komunikaci pro jednotlivý typy z hierarchie ExItem. Navíc byla p idána t ída StringResponse pro poºadavky, které nap íklad vytvá ejí poloºky na MSE serveru nebo ºádají jen o ID n které z poloºek. 3.4 Analýza webového rozhraní Pro vytvo ení rozhraní byla zvolena technologie MS Silverlight, která umoº uje tvorbu aplikací spou²t ných v prost edí prohlíºe e. Tato aplikace je pouze prezenta ní vrstvou celého systému. P i návrhu webového rozhraní jsem vyuºil návrhový vzor proxy[5]. Ú elem tohoto vzoru je 'zastoupit' objekt, se kterým se snaºíme manipulovat za pomoci jiného objektu, který 9 Prvních 80 znak po odstran ní HTML formátování

23 3.4. ANALÝZA WEBOVÉHO ROZHRANÍ 11 Obrázek 3.2: Diagram t íd pro hierarchii ExItem Obrázek 3.3: Diagram t íd pro hierarchii Response

24 12 KAPITOLA 3. ANALÝZA A NÁVRH E ENÍ Obrázek 3.4: Návrhový vzor proxy implementuje stejné rozhraní. Tento zástupný objekt se tak tvá í jako prost edník a zaji²- uje p edávání poºadavk od klienta na objekt, který zastupuje. Varianta, kterou jsem pouºil v tomto projektu se nazývá Remote Proxy jejím ú elem je lokáln zastoupit vzdálený (sí- ový) objekt. U tohoto webového rozhraní zastupuje Remote Proxy instanci webové sluºby - díky této proxy m ºeme volat metody webové sluºby stejným zp sobem, jako voláme metody jakéhokoli jiného lokáln dostupného objektu. Velkou výhodou tohoto návrhového vzoru je transparentnost volání, díky kterému a polymorsmu m ºeme vyuºívat lokální i vzdálené objekty sou asn, aniº bychom museli rozli²ovat s jakým objektem pracujeme. Je zde ale n kolik omezení, která musíme mít na pam ti. Nejd leºit j²í v cí, se kterou se setkáme je propustnost volání p es proxy. Volání webové sluºby je nutné omezit na nejnutn j²í minimum, protoºe její odezva je oproti volání (stejn náro ných metod 10 ) na lokálních objektech o n kolik ád pomalej²í. Z tohoto d vodu je nutné p i implementaci pouºívat cache. Dal²í v cí, na kterou si musíme dát pozor je bezstavovost webové sluºby, která v tomto p ípad vyústila v nutnost posílat s kaºdým poºadavkem znovu p ihla²ovací údaje uºivatele. Tento fakt má za následek nutnost uchovávat v pam ti heslo uºivatele po celou dobu b hu aplikace. Toto bezpe nostní riziko je u desktopových aplikací relativn snadno e²itelné - nap íklad v.net Frameworku 4 m ºeme vyuºít t ídu SecureString (z namespace System.Security), která má podobné pouºití jako klasický String, ale zaji² uje jeho ²ifrování v opera ní pam ti 11. SecureString není dostupný pro Silverlight, jedinou moºností tak z - stává ²ifrovat tyto údaje za pomoci t íd, které sami implementujeme 12. Poslední v cí, kterou 10 Pokud tyto metody nejsou p íli² výkonov náro né, kde by se mohl projevit vy²²í výpo etní výkon serveru 11 Pouºití t ídy SecureString není 100% bezpe né, ale poskytuje solidní zvý²ení bezpe nosti dostupné s minimálním úsilím 12 Silverlight nabízí n které t ídy z namespace System.Security, nap íklad ²ifrovací algoritmus AES, hashovací funkci SHA-1 a knihovnu pro práci certikáty X.509

25 3.4. ANALÝZA WEBOVÉHO ROZHRANÍ 13 je dobré zmínit je absence logiky u objekt, které vrací webová sluºba v odpov di. To je zp - sobeno p enosem objekt p es protokol SOAP. Po p idání reference na webovou sluºbu do projektu získáme datové typy dostupné z webové sluºby, ale nezískáme jejich logiku. Tyto 'objekty' se budou chovat pouze jako kontejnery na data (v²echny vlastnosti mají public), tedy podobn jako C++ typ struct (ale bez p idaných metod!). Z tohoto d vodu je nutné, aby byla konzistence objekt kontrolována na stran webové sluºby (zde objekty obsahují vlastní logiku).

26 14 KAPITOLA 3. ANALÝZA A NÁVRH E ENÍ

27 Kapitola 4 Realizace 4.1 P ípravná fáze Pro úsp ²nou realizaci jsem pot eboval funk ní MSE server, na kterém bych mohl testovat funk nost webové sluºby. Spln ní této podmínky se ukázalo být náro n j²í, neº jsem o ekával. Nejd íve jsem musel provést upgrade svého laptopu 1 o 2GB RAM, aby bylo moºné virtualizovat 2. opera ní systém. Tento upgrade si vyºádal instalaci opera ního systému (dále jen 'OS') MS Windows 7 Professional ve verzi 64-bit (d íve jsem pouºíval 32-bit verzi tohoto OS, protoºe 64-bit by mi nep inesl ºádnou výhodu). Dal²ím krokem bylo nainstalování MS Windows Server 2008 R2 do virtuálního stroje. Pro virtualizací jsem zvolil Oracle VirtualBox 2. Po instalaci bylo nutné na serveru nastavit vytvo it nový Domain Controller, DNS 3 server, aktivovat a p ipravit Active Directory na instalaci MSE 2010 serveru. Dále bylo nutné nakongurovat sí ová spojení mezi tímto virtuální serverem a OS Windows 7, který jeho b h umoº oval. Bohuºel mi chyb ly zku²enosti s instalací MSE a MS Windows Server, proto se mi instalace nepoda ila napoprvé a bylo jí nutné n kolikrát opakovat. Úsp ²nost instalace byla ov ena funk ností n kolika r zných ú t v aplikaci MS Outlook Schéma testovacího prost edí je znázorn no na Obrázku Poznámka V následující ásti práce je popsáno pouºití EWS a vytvo ené webové sluºby. Pro správnou funk nost zde uvedeného kódu je nutné do projektu naimportovat knihovnu EWS, respektive namespace Microsoft.Exchange.WebServices a Microsoft.Exchange.WebServices.Data. Pro funk nost p íklad z pouºitím webové sluºby je nutné tuto webovou sluºbu p idat do projektu, udrºovat její referenci aktuální a pouºít namespace této sluºby. 1 Kongurace: Intel Core 2 Duo 2GB RAM; 160 GB, 5400 otá ek HDD 2 Dostupný pod GNU GPL v2 licencí 3 Domain Name System 15

28 16 KAPITOLA 4. REALIZACE Obrázek 4.1: Schéma testovacího prost edí 4.3 Implementace datových hierarchií ExItem a Response V analýze byly tyto hierarchie t íd navrºeny jako kontejnery pro p enos dat protokolem SOAP, ale v pr b hu implementace se objevila nutnost p idat do t chto t íd základní logiku. V prvé ad bylo nutné zajistit obousm rné mapování mezi objekty z hierarchie ExItem a jejími ekvivalenty z EWS. Tuto funkcionalitu jsem zprvu implementoval vn t chto objekt ve statické t íd Mapper, ale pozd ji se toto e²ení ukázalo nepraktické, a proto je nyní obsaºena v jednotlivých t ídách hierarchie. Druhou t ídou s podobným osudem byla t ída Properties, která zaji² ovala správu dynamicky poskytovaných vlastností poloºek MSE. Metoda getproperies() je v t chto t ídách ozna ena jako statická, takºe byla zachována funkcionalita zamý²lená ve t íd Properties, jen byla refaktorována do jednotlivých t íd. V návrhu hierarchie Response jsem nena²el zásadn j²í nedostatky, je implementována podle analýzy v p edchozí kapitole.

29 4.4. ZÁKLAD WEBOVÉ SLUšBY Základ webové sluºby Implementace webové sluºby je velice podobná implementaci b ºné knihovny funkcí s tím rozdílem, ºe musíme mít na pam ti bezstavovost (stateless) webové sluºby. Bezstavovost se projeví tím, ºe s kaºdým poºadavkem na MSE je nutné znovu odeslat uºivatelské jméno, heslo a adresu EWS, které jsou nutné k vytvo ení instance t ídy ExchangeService. ExchangeService spravuje p ipojení k EWS 4. Pro usnadn ní p edávání t chto povinných parametr jsem pouºil t ídu ExLogin, která uchovává vý²e zmín né poloºky a zkracuje hlavi ky metod. Implementace je následující: private ExchangeService getexchangeservice(exlogin el) { ExchangeService es = new ExchangeService(ExchangeVersion.Exchange2010); es.credentials = new WebCredentials(el.username, el.password); es.url = new Uri(el.ewsAddress); return es; } [WebMethod] public StringResponse login(exlogin el) { StringResponse response = new StringResponse(); ExchangeService es = getexchangeservice(el); //dalsi logika, vytvareni odpovedi... return response; } Bezstavovost webové sluºby lze obejít za pouºití HttpCache, do které budeme ukládat aktivní spojení. Toto e²ení by bylo implementováno nap íklad takto: [WebMethod] public StringResponse login(exlogin el) { StringResponse response = new StringResponse(); ExchangeService es = getexchangeservice(el); string token = Guid.NewGuid().ToString(); Cache cache = HttpRuntime.Cache; cache.insert(token, es, null, Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(30)); //dalsi logika, vytvareni odpovedi... return response; } 4 v kontextu webové sluºby, která je spu²t na na stran MSE serveru

30 18 KAPITOLA 4. REALIZACE [WebMethod] public StringResponse foo(string token) { Cache cache = HttpRuntime.Cache; object obj = cache[token]; ExchangeService es; if(obj!= null) { es = (ExchangeService) obj; } //vlastni logika, vytvoreni odpovedi... } Na tomto p íkladu je dob e patrné, ºe implementace této webové sluºby jako stavové (stateful) nep inese ºádné zjednodu²ení ani výkonové optimalizace, spí²e naopak. Vytvá ení instance t ídy ExchangeService probíhá lokáln a správnost zadaných údaj není p i volání konstruktoru ov ována. Celkem je pot eba p enést 3 parametry typu string. Ve stateful implementaci je nutné na obou stranách udrºovat token spojení a dále musí server udrºovat kolekci aktivních spojení. Pro vyslání poºadavku je tedy nutné p edat token, server jej musí vyhledat, provést p etypování a následn tuto instanci pouºít ke spojení s MSE. Navíc je zde nutné ov ovat platnost jednotlivých token, coº má za následek dal²í logiku a sníºení výkonu. Vý²e zmín né argumenty m vedly k rozhodnutí neimplementovat vnit ní stav webové sluºby. 4.5 Základ webového rozhraní Webové rozhraní je implementováno za pomoci MS Silverlight Navigation Frameworku, který byl p edstaven v Silverlightu 3. Tento framework je zam en na tvorbu webových aplikací a zjednodu²uje tvorbu webových aplikací. Zárove p iná²í upravený vzhled (podobá se spí²e dynamickým webovým stránkám neº desktopové aplikaci) a podporu template schématu. Template schéma se skládá z hlavní 'stránky' 5, která obsahuje menu a v²echny ostatní prvky, které budou ostatní stránky obshahovat. Navíc obsahuje tzv. Frame, do kterého bude vkládán obsah ostatních stránek. Tento princip pouºívají i ASP.NET, JSF 6, zde popisovaný Frame je obdobou ContentPlaceHolder z ASP.NET. Frame navíc obsahuje moºnost mapování jednotlivých stránek na specická URL 7 - nap íklad.../views/about.xaml m ºe být dostupné jako.../about. Tato vlastnost nám umoº uje efektnivn skrýt vnit ní strukturu aplikace p ed uºivatelem. S tím souvisí i moºnost vyuºívat tla ítka Zp t a Vp ed webového prohlíºe e pro navigaci v rámci aplikace. Posledním d sledkem je moºnost generování URL na obsah - nap..../customers/3 (tato vlastnost m ºe záviset na vnit ním stavu aplikace). 5 P esn j²í ozna ení by bylo formulá, ale vzhledem k zam ení na web jsem zvolil tento mén p esný, ale výstiºn j²í termín 6 Java Server Faces 7 Uniform Resource Locator

31 4.6. REALIZACE P IHLA OVÁNÍ Realizace p ihla²ování První v cí, kterou bylo nutné vy e²it bylo p ihla²ování k MSE. Zde jsem narazil na problém, ºe EWS neobsahují moºnost p ihlá²ení uºivatele. Autentizace uºivatele probíhá p i kaºdém poºadavku. O správu p ipojení k serveru zaji² uje t ída ExchangeService. Zde je d leºité zmínit, ºe tato ást kódu uºivatele nep ihlásí ani nijak neov uje platnost zadaných hodnot. Tento p edp ipravený objekt bude pouze pouºit pro vyhledávání poloºek na MSE a také bude injektován 8 do n kterých nov vytvo ených objekt. Pro ov ení zadaných p ihla²ovacích údaj je nutné poºádat server o data. Pro toto ov ení jsem zvolil poºadavek na ID ko enového adresá e uºivatele. Pokud toto volání usp je, bylo zadáno platné uºivatelské jméno, heslo a na zadané webové adrese je dostupný MSE. Klientovi je p edáno ID ko enového adresá e. V opa ném p ípad je vyhozena výjimka, kterou je nutné zpracovat a p edat uºivateli. Z tohoto d vodu jsem vytvo il hierarchii Response popsanou v p edchozí kapitole. ExLogin 'kontejner' pro snadn j²í a p ehledn j²í p edávání p ihla²ovacích parametr metod. Obsahuje uºivatelské jméno, heslo a adresu MSE. Struktura t la metody je následující: [WebMethod] public StringResponse foo(exlogin el) { StringResponse response = new StringResponse(); try { ExchangeService es = getexchageservice(el); // logika metody response.response = 'Foo succeded'; response.exceptionoccured = false; } catch (Exception e) { response.exceptionoccured = true; response.exceptionmessage = e.message; } } return response; V²echny t ídy z hierarchie Response mají bezparametrický konstruktor, který je inicializuje do chybového stavu (ag excptionoccured je true). Stav tohoto agu musí být nastavován jako poslední v dané metod a zárove musí být kontrolován na stran klienta. Vý²e zmín ný kód tedy zaji² uje spolehlivou propagaci výjimek ke klientovi. V uºivatelském rozhraní jsem p ihla²ování vy e²il pouºitím modálního 9 okna, které se otev e p i spu²t ní aplikace a je automaticky zav eno p i úsp ²ném p ihlá²ení. Uºivatelské jméno okna 8 Dependency Injection je také návrhový vzor[3] 9 Modální okno blokuje ostatní okna aplikace ltrování smy ky zpráv - zahazuje v²echny zprávy pro ostatní

32 20 KAPITOLA 4. REALIZACE a heslo je uchováno v otev ené podob pro pozd j²í pouºití v instanci t ídy ExLogin 10. V následujících p íkladech uvádím pouze obsah bloku try { } zbytek metody je analogický s p íkladem vý²e. Vstupní parametry budou okomentovány. 4.7 Vytvá ení poloºek Pro vytvo ení poloºky na MSE (nap. odeslání ové zprávy nebo vytvo ení poloºky v kalendá i) je nutné vytvo it objekt daného typu. Konstruktory t chto typ vyºadují jako parametr instanci ExchangeService. Dále musíme provést mapování dostupných vlastností pro poloºku a nakonec jí uloºit. Pro ukládání do specických adresá m ºeme pouºít statickou t ídu WellKnownFolderName, která poskytuje ID základních adresá (Inbox, Calendar a dal²í) specikovaného uºivatele. P íklad implementace odeslání ové zprávy: ExchangeService es = getexchageservice(el); //ee je vstupním parametrem typu Ex Message message = Ex .map(es, ee); message.sendandsavecopy(); response.response = 'Sending succeded'; response.exceptionoccured = false; 4.8 Získávání poloºek Pro stahování poloºek z MSE je pouºívána t ída ItemView 11. Tato t ída umoº uje stránkování výsledk, specikaci poskytovaných parametr (zde je omezení na poloºky typu Item) a azení. Výsledky vyhledávání jsou obsaºeny v generické t íd FindItemsResults<>. Tato t ída také obsahuje celkový po et poloºek v daném adresá i a implementuje rozhraní IEnumerable. V p íkladu jsou v 1. ásti získány pouze ID jednotlivých poloºek, které jsou pozd ji staºeny pomocí statické metody Bind() t ídy Message. Stahované vlastnosti jsou specikovány pomocí t ídy PropertySet. ExchangeService es = getexchageservice(el); //vstupní parametry pagesize a pageoffset, int ItemView view = new ItemView(pageSize, pageoffset, OffsetBasePoint.Beginning); view.orderby.add(itemschema.datetimereceived, SortDirection.Descending); view.propertyset = new PropertySet(BasePropertySet.IdOnly); PropertySet ps = Ex .getProperties(); //vstupní parametr folderid, string 10 Toto je bezpe nostní riziko nelze odstranit pouºitím t ídy SecureString, která není pro Silverlight dostupná 11 A její potomci jako je CalendarView

33 4.9. ÚPRAVA A MAZÁNÍ POLOšEK 21 FindItemsResults<Item> results = es.finditems(folderid, view); response.foldersize = results.totalcount; response.pagesize = pagesize; response.pageoffset = pageoffset; response.headers = new Header[pageSize]; int max = pagesize; if (results.totalcount < max) { max = results.totalcount; } for (int i = 0; i < max; i++) { response.headers[i] = Ex .map( Message.Bind( es, results.items.elementat(i).id.uniqueid, ps)); } response.exceptionoccured = false; response.exceptionmessage = ''; 4.9 Úprava a mazání poloºek Pro úpravu a mazání jednotlivých poloºek je nutné znát jejich ID. ID poloºky získáme spolu s dal²ími parametry p i stahování poloºek dle popisu vý²e. Pro úpravu musíme nejd íve za pomoci metody Bind() získat tento objekt (volání metody Bind() zaji² uje metoda Appointment.map()), provést mapování nových dat a následn tento objekt uloºit. ExchangeService es = getexchageservice(el); Appointment appointment = Appointment.map(es, ea); appointment.save(sendinvitationsmode.sendtonone); response.exceptionoccured = false; response.response = 'Appointment succesfuly updated'; Vlastní mazání probíhá tak, ºe pouºijeme statickou metodu Bind() nad objektem daného typu a zavoláme metodu Delete() tohoto objektu. Povinným parametrem metody Delete() je DeleteMode, který specikuje typ smazání s ohledem na typ mazané poloºky (p esunout do ko²e, smazat, ale nap íklad pro sch zky odesílá oznámení o zru²ení). Následující kód p esune poloºku typu Message do ko²e. ExchangeService es = getexchageservice(el); // id je vstupní prametr, string Message = Message.Bind(es, id); .delete(deletemode.movetodeleteditems);

34 22 KAPITOLA 4. REALIZACE response.exceptionoccured = false; response.exceptionmessage = ''; response.response = ' succesfuly deleted'; 4.10 Roz²i itelnost webové sluºby Roz²i itelnost webové sluºby je jedním z cíl této práce. Pro budoucí roz²í ení je tato webová dob e p ipravena. Roz²i itelnost t íd z hierarchie ExItem je velice snadná. Pro p idání nové vlastnosti poloºky musíme nejd íve deklarovat prom nou pro tuto vlastnost v odpovídající t íd hierarchie ExItem, dále p idat tuto vlastnost do PropertySet této t ídy a zajistit pat- i né mapování. Tato zm na se bez nutnosti zásahu programátora projeví i v pat i né t íd hierarchie Response. To je na stran webové sluºby v²e. Po rekompilaci kódu a obnovení reference v klientské aplikaci m ºeme za ít tuto novou vlastnost vyuºívat Realizace klientské aplikace Abychom mohli vyuºít webovou sluºbu, jejíº implementace je zmín na vý²e, musíme tuto sluºbu p idat mezi reference projektu. Dále musíme do kaºdé t ídy, která bude tuto sluºbu vyuºívat p idat namespace specikovaný p i p idávání této sluºby do referencí projektu. Nyní m ºeme vytvo it proxy objekt, který nám poskytuje metody webové sluºby. Zde je nutné zmínit, ºe ve²kerá volání webových sluºeb jsou v Silverlightu asynchronní 12. Volání metody tedy vypadá takto: private void ButtonOK_Click(object sender, RoutedEventArgs e) { WebServiceSoapClient proxy = new WebServiceSoapClient(); proxy.foocompleted += new EventHandler<fooCompletedEventArgs> (proxy_foocompleted); proxy.getfooasync(); } private void proxy_foocompleted(object sender, foocompletedeventargs e) { } Pokud tedy voláme n jakou metodu webové sluºby (v p íkladu se jedná o metodu foo()), musíme nejd íve p idat Event Handler na její dokon ení a následn jí zavolat. Po p ijetí a zpracování odpov di je zavolán Event Handler, který má k dipozici návratovou hodnotu volání asynchronní funkce. Programová ást webového rozhraní tedy za pomoci vytvá ení a zachycování Událostí (Event) zobrazuje obsah poskytovaný webovou sluºbou. 12 Ale probíhají v rámci hlavního vlákna aplikace

35 4.12. KOMPONENTY UšIVATELSKÉHO ROZHRANÍ Komponenty uºivatelského rozhraní D leºitou ástí této aplikace je p epracovaná práce s kalendá em a práv s komponentou na vizualizaci dat z kalendá e jsem m l nejvíce potíºí. V základní stavu Silverlight poskytuje jedinou komponentu na zobrazení kalendá e - velice jednoduchý Calendar, který umí krom zobrazení m síc vrátit zvolený den. Vyhledávání komponent, které by m ly poºadovanou funk nost a byly dostupné po GNU/GPL licencí je velice málo 13. P esto se mi poda ilo nalézt dv komponenty, které jsou voln dostupné a nabízejí pohodlnou práci s kalendá em. První z t chto komponent je Calendar Control[1]. Tento projekt nabízí velmi p kné komponenty, ale z d vodu, který se mi nepoda ilo zjistit, jsou nestabilní 14. Oproti nim jednodu²²í Silverlight Scheduler Control[14] je stabilní a funk ní (v sou asné dob stále ve fázi vývoje). Ve webovém rozhraní je pouºita komponenta Silverlight Scheduler Control. Mírn rozporupln na mne p sobí je²t komponenta Pager, která je ur ena na stránkování velkého objemu dat. Tato komponenta je velice snadno pouºitelná a dob e plní sv j ú el, ale pro její správnou funk nost je nutné, aby stránkovaná data byla dostupná lokáln. Pokud lokáln dostupná nejsou, tak jí nelze pouºít 15. Z tohoto d vodu není pro stránkování a kontakt tato komponenta pouºita. Poslední v cí, kterou jsem se snaºil vy e²it je cachování dat (nap íklad p i listování mezi ovými zprávami). Tento problém bohuºel nemá uspokojivé e²ení, protoºe nelze na stran klienta efektivn zjistit, zda jeho cache obsahuje aktuální data nebo ne. EWS poskytují moºnost push/pull a streamované notikace, ale bezstavovost webové sluºby znemoº uje propagaci t chto notikací sm rem ke klientovi. 13 Placených komponent, které tuto funkcionalitu nabízejí je opravdu mnoho, p íkladem m ºe být spole nost Telerik 14 Ve vizuálním návrhá i MS Visual Studia nefunguje jejich dynamické na ítání 15 Moºné e²ení lokální nedostupnosti je podvrºení stránkované kolekce a zachycování událostí

36 24 KAPITOLA 4. REALIZACE

37 Kapitola 5 Testování a zhodnocení implementované funkcionality 5.1 Testování Testování probíhalo pr b ºn po celou dobu vývoje obou ástí práce. Pro testování byla pou- ºita infrastruktura popsaná v kapitole 4.1. Testování probíhalo metodami Black Box Testing a White Box Testing. Ov ení implementované funkcionality bylo provád no za pomoci referen ní aplikace MS Outlook P i testování bylo odhaleno mnoho neo ekávaných chyb a zárove byl kladen d raz na informativní charakter chybových hlá²ení. Výsledkem tohoto snaºení jsou chybové hlá²ky, které mají v t²í vypovídající hodnotu neº 'Unexpected error', 'Unhandled exception occured' a dal²í jim podobné, které jsou bohuºel stále velmi roz²í ené. 5.2 Zhodnocení implementované funkcionality Funkcionalita obsaºená ve webové sluºb poskytuje dobrý základ, na kterém je moºné postavit uºivatelsky p ív tivou aplikaci nebo jej vyuºít pro integraci do nap íklad vnitropodnikového informa ního systému. Zárove je dob e p ipravenou platformou pro dal²í roz²í ení o nové funkce. Budoucí uºivatel, který ji bude chtít vyuºít v rámci svého projektu získá solidní základ, který m ºe vyuºít 'tak jak je' nebo z n ho m ºe vyjít a upravit jeho funkcionalitu do poºadovaného stavu. 25

38 26KAPITOLA 5. TESTOVÁNÍ A ZHODNOCENÍ IMPLEMENTOVANÉ FUNKCIONALITY

39 Kapitola 6 Záv r 6.1 Napln ní cíl Hlavním cílem této práce bylo vytvo ení webové sluºby pro správu poloºek na MSE serveru. Pro jeho napln ní byla implementována webová sluºba, která poskytuje poºadovanou funkcionalitu, a proto se domnívám, ºe byl tento cíl napln n. Druhým cílem byla implementace odleh eného webového rozhraní s p epracovanou správou kalendá a jejich vylep²enou podporou. Tento cíl byl napln n pouze z ásti, protoºe se nepoda ilo implementovat rozhraní pro správu kalendá zp sobem, který bych ozna il za inovativní nebo p ínosn j²í neº jaká nabízejí stávající aplikace. Zpo átku mírn opomíjené webové rozhraní se v kone ném d sledku ukázalo jako velmi pracné na implementaci, p edev²ím z d vodu nedostupnosti vhodných komponent pro vizualizaci dat a také jiným p ístupem k prezentaci jako takové. V záv ru tvorby webového rozhraní mi velmi pomohla volba Navigation Frameworku, který umoº uje tvorbu klientských aplikací, které jsou vzhledov velmi blízké b ºným webovým aplikacím. 6.2 Moºnosti dal²ího vývoje Sm r dal²ího vývoje webové sluºby je celkem jasný - roz²í it paletu poskytovaných funkcí. S tím souvisí i nutnost pozm nit doménový model. Zajímavým sm rem by mohlo být implementování notikací, pro které je nutná alespo áste ná podpora stav. Dal²ím zajímavým roz²í ením by byla podpora p íloh, coº je funkce, bez které se jen malé procento uºivatel obejde. Posledním nemén zajímavým roz²í ením je internacionalizace celého projektu. Tato moºnost by byla velmi vítaná zejména v p ípad, ºe by umoº ovala snadné p idávání jazykových balí k bez nutnosti rekompilace zdrojového kódu. Pro dal²í vývoj webového rozhraní tohoto projektu je v sou asné dob asi nejzásadn j²í nalezení (nebo vytvo ení) nové a lep²í komponenty pro vizualizaci poloºek kalendá e. P i vytvá ení této komponenty by bylo jist dobré zváºit implementaci funkce drag&drop, která by posunula komfort práce o velký kus vp ed. Dal²í funkcí, kterou by uºivatelé ocenili je lep²í integrace pravého tla ítka my²i do celého projektu. V sou asnosti podporuje práci s pravým tla ítkem pouze komponenta kalendá e, coº je ²koda. Posledním vylep²ením, které bych rád 27

Nastavení vestav ného p evodníku Ethernet -> sériová linka ES01

Nastavení vestav ného p evodníku Ethernet -> sériová linka ES01 KMB systems, s. r. o. Dr. M. Horákové 559, 460 06 Liberec 7, Czech Republic tel. +420 485 130 314, fax +420 482 736 896 E-mail: kmb@kmb.cz, Web: www.kmb.cz Nastavení vestav ného p evodníku Ethernet ->

Více

Odpov di na dotazy k ve ejné zakázce. 30/2014-53-27. SSZ Registr IKP

Odpov di na dotazy k ve ejné zakázce. 30/2014-53-27. SSZ Registr IKP Odpov di na dotazy k ve ejné zakázce. 30/2014-53-27 SSZ Registr IKP 1. V dokumentu 4_Priloha_1_Specifikace-predmetu-technicke-pozadavky_Rozvoj-podpora-RIKP v kapitole 2.1 Popis architektury a vazeb v APV

Více

Server. Software serveru. Služby serveru

Server. Software serveru. Služby serveru Server Server je v informatice obecné označení pro počítač či skupinu počítačů, kteří poskytují nějaké služby. Rovněž pojmem server můžeme označit počítačový program, který tyto služby realizuje. Služby

Více

Specifikace systému ESHOP

Specifikace systému ESHOP Nabídka: Specifikace systému ESHOP březen 2009 Obsah 1 Strana zákazníka 1 1.1 Nabídka produkt, strom kategorií..................... 1 1.2 Objednávka a ko²ík.............................. 1 1.3 Registrace

Více

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné Analyzujte, navrhněte a implementujte aplikaci pro sledování spánku dětí Chůvička pro telefony na platformě Android. Od existujících aplikací se bude aplikace odlišovat tímto: funkční na dual-sim telefonech

Více

DeepBurner (testování UI)

DeepBurner (testování UI) ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Semestrální práce DeepBurner (testování UI) Blaºej, Friebel, Olexová, Volf P edm t: Testování uºivatelských rozhraní Obor: Softwarové inºenýrství

Více

Prohlá²ení. V Praze dne 18. dubna 2010...

Prohlá²ení. V Praze dne 18. dubna 2010... ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta Bakalá ská práce Studentova Berli ka III - Jádro aplikace Jaromír Van k Vedoucí práce: Ing. Ji í Chludil Studijní program: Softwarové

Více

Inovace výuky prostřednictvím šablon pro SŠ

Inovace výuky prostřednictvím šablon pro SŠ Název projektu Číslo projektu Název školy Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Vzdělávací obor Tematický okruh Inovace výuky prostřednictvím šablon pro SŠ CZ.1.07/1.5.00/34.0748

Více

WEBMAP Mapový server PŘÍRUČKA PRO WWW UŽIVATELE. 2005-2008 Hydrosoft Veleslavín, s.r.o., U Sadu 13, Praha 6 www.hydrosoft.eu

WEBMAP Mapový server PŘÍRUČKA PRO WWW UŽIVATELE. 2005-2008 Hydrosoft Veleslavín, s.r.o., U Sadu 13, Praha 6 www.hydrosoft.eu WEBMAP Mapový server PŘÍRUČKA PRO WWW UŽIVATELE 2005-2008 Hydrosoft Veleslavín, s.r.o., U Sadu 13, Praha 6 www.hydrosoft.eu Obsah Obsah 1 1.1 3 Internetový... prohlížeč map 4 Rozložení ovládacích... prvků

Více

Sazba zdrojových kód. Jakub Kadl ík 20. 03. 2014

Sazba zdrojových kód. Jakub Kadl ík 20. 03. 2014 Sazba zdrojových kód Jakub Kadl ík 20. 03. 2014 1 Obsah 1 Základní prost edí verbatim 3 2 Balí ek listings 3 3 Sazba kódu z externího souboru 5 4 Téma Solarized 5 4.1 Solarized light.............................

Více

Návod pro vzdálené p ipojení do sít UP pomocí VPN pro MS Windows 7

Návod pro vzdálené p ipojení do sít UP pomocí VPN pro MS Windows 7 Návod pro vzdálené p ipojení do sít UP pomocí VPN pro MS Windows 7 1. Úvod nezbytné kroky ne se p ipojíte 2. Jak si vytvo it heslo 3. Nastavení VPN p ipojení pro Windows 7 1. Úvod Slu ba VPN umo uje vstoupit

Více

Praktické úlohy- zaměření specializace

Praktické úlohy- zaměření specializace Praktické úlohy- zaměření specializace Realizace praktických úloh zaměřených na dovednosti v oblastech specializace POS: Síťový OS, instalace, konfigurace a optimalizace podle zamýšleného použití; Inicializace

Více

2C06028-00-Tisk-ePROJEKTY

2C06028-00-Tisk-ePROJEKTY Stránka. 27 z 50 3.2. ASOVÝ POSTUP PRACÍ - rok 2009 3.2.0. P EHLED DÍL ÍCH CÍL PLÁNOVANÉ 2009 íslo podrobn Datum pln ní matematicky formulovat postup výpo t V001 výpo etní postup ve form matematických

Více

účetních informací státu při přenosu účetního záznamu,

účetních informací státu při přenosu účetního záznamu, Strana 6230 Sbírka zákonů č. 383 / 2009 Částka 124 383 VYHLÁŠKA ze dne 27. října 2009 o účetních záznamech v technické formě vybraných účetních jednotek a jejich předávání do centrálního systému účetních

Více

1. TECHNICKÉ POŽADAVKY PRODUKTŮ VEMA... 7. 1.1 Klasifikace konfigurací z hlediska podpory... 7

1. TECHNICKÉ POŽADAVKY PRODUKTŮ VEMA... 7. 1.1 Klasifikace konfigurací z hlediska podpory... 7 Vema, a. s. Okružní 871/3a, 638 00 Brno http://www.vema.cz 17. února 2016 Obsah Obsah 1. TECHNICKÉ POŽADAVKY PRODUKTŮ VEMA... 7 1.1 Klasifikace konfigurací z hlediska podpory... 7 1.2 Technické požadavky

Více

Prezentace. Ing. Petr V elák 6. b ezna 2009

Prezentace. Ing. Petr V elák 6. b ezna 2009 Prezentace Ing. Petr V elák 6. b ezna 2009 1 OBSAH OBSAH Obsah 1 Úvodní slovo 3 2 P íprava prezentace 4 2.1 Jak prezentace ned lat........................ 4 2.1.1 Kontrast písma a pozadí...................

Více

SAFETICA 7 DATA LOSS PREVENTION

SAFETICA 7 DATA LOSS PREVENTION SAFETICA 7 DATA LOSS PREVENTION Nejsou Vaše citlivá data u konkurence? Jsou náklady na IT efektivně vynaložené? Víte, kudy z Vaší firmy unikají důležité dokumenty? Firmy mají problém s tím, že zaměstnanci

Více

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM Zadavatel: Moravskoslezský kraj se sídlem Ostrava, 28. října 117, PSČ 702 18 IČ: 70890692 Veřejná zakázka: Datové sklady - SW Technologie a metadatový systém, Datová tržiště ekonomiky, Školství, statistiky,

Více

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy -1- I I. N á v r h VYHLÁŠKY ze dne 2009 o účetních záznamech v technické formě vybraných účetních jednotek a jejich předávání do centrálního systému účetních informací státu a o požadavcích na technické

Více

ISZR Referenční agent.net

ISZR Referenční agent.net Informační systém základních registrů ISZR Referenční agent.net Název dokumentu: ISZR Referenční agent.net Verze: 1.02 Projekt: ISZR Stádium: Pracovní Autor/Autoři: Pavel Odstrčil Jméno souboru: ISZR Referenční

Více

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: e-mail: jan.skrbek@tul.cz tel.: 48 535 2442 Konzultace: úterý 14 20-15 50

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: e-mail: jan.skrbek@tul.cz tel.: 48 535 2442 Konzultace: úterý 14 20-15 50 Informační systémy 2 Data v počítači EIS MIS TPS strategické řízení taktické řízení operativní řízení a provozu Spojení: e-mail: jan.skrbek@tul.cz tel.: 48 535 2442 Konzultace: úterý 14 20-15 50 18.3.2014

Více

Online komunikace a videokonference

Online komunikace a videokonference Online komunikace a videokonference Vít Rus ák PROJEKT nancovaný z Opera ního programu Vzd lávání pro konkurenceschopnost ZVY OVÁNÍ IT GRAMOTNOSTI ZAM STNANC VYBRANÝCH FAKULT MU Registra ní íslo: CZ.1.07/2.2.00/15.0224

Více

Dálkové p enosy ze za ízení aktivní protikorozní ochrany Severomoravské plynárenské, a.s.

Dálkové p enosy ze za ízení aktivní protikorozní ochrany Severomoravské plynárenské, a.s. Dálkové p enosy ze za ízení aktivní protikorozní ochrany Severomoravské plynárenské, a.s. Tomáš D dina, Lubomír Herman Severomoravská plynárenská, a.s. Hlavní d vody realizace Podmínkou bezpe nosti a spolehlivosti

Více

IP kamerový systém Catr - uºivatelský návod k obsluze

IP kamerový systém Catr - uºivatelský návod k obsluze IP kamerový systém Catr - uºivatelský návod k obsluze Obsah P ipoj se k nám! Úvod 3 P ístup do systému 3 Po íta s Windows 3 Prvotní instalace 3 Ovládání kamerového systému na po íta i 5 šivý náhled...................................................

Více

Rozšířená nastavení. Kapitola 4

Rozšířená nastavení. Kapitola 4 Kapitola 4 Rozšířená nastavení 4 Nástroje databáze Jak již bylo zmíněno, BCM používá jako úložiště veškerých informací databázi SQL, která běží na všech lokálních počítačích s BCM. Jeden z počítačů nebo

Více

Programs and Updates Desktop. Verze 2016.04 (16.04.19.1) Insider Preview Uživatelská příručka

Programs and Updates Desktop. Verze 2016.04 (16.04.19.1) Insider Preview Uživatelská příručka Programs and Updates Desktop Verze 2016.04 (16.04.19.1) Insider Preview KONTAKT ZOBEC Consulting, Renneská třída 393/12, 63900 Brno, Česká Republika www.zobecconsulting.cz obchod@zobec.net Facebook Twitter

Více

Knihovna QT4 a moºnosti jejího vyuºití

Knihovna QT4 a moºnosti jejího vyuºití Fakulta jaderná a fyzikáln inºenýrská ƒeské vysoké u ení technické v Praze 2.6.2010 Osnova 1 Úvod 2 Seznámení s Qt4 3 Prost edí QtCreator 4 Vyuºití v praxi Problém Aplikace pro ovládání realtime PCR za

Více

Zakázka bude pln na b hem roku 2014 a v následujících 48 sících od uzav ení smlouvy.

Zakázka bude pln na b hem roku 2014 a v následujících 48 sících od uzav ení smlouvy. OD VODN NÍ VE EJNÉ ZAKÁZKY Služba na zajišt ní provozu a expertní podpory datové sít Od vodn ní ve ejné zakázky pro ú ely p edb žného oznámení Od vodn ní ú elnosti ve ejné zakázky obsahuje alespo Popis

Více

Kapitola 5 WCF, webové služby a mezidoménové zásady

Kapitola 5 WCF, webové služby a mezidoménové zásady Kapitola 5 WCF, webové služby a mezidoménové zásady Silverlight 2 přináší obrovské množství nástrojů, s jejichž pomocí lze vytvářet propracovaná uživatelská rozhraní. Může také využívat různé služby v

Více

Manuál Kentico CMSDesk pro KDU-ČSL

Manuál Kentico CMSDesk pro KDU-ČSL Manuál Kentico CMSDesk pro KDU-ČSL 2011 KDU-ČSL Obsah 1 Obecně... 3 1.1 Přihlašování... 3 1.2 Uživatelské prostředí... 4 2 Stránky... 4 2.1 Vytvoření nové stránky... 4 2.1.1 Texty... 7 2.1.2 Styly textu...

Více

KOMISE EVROPSKÝCH SPOLEČENSTVÍ

KOMISE EVROPSKÝCH SPOLEČENSTVÍ KOMISE EVROPSKÝCH SPOLEČENSTVÍ Brusel, 29. 6. 1999 COM(1999) 317 final SDĚLENÍ KOMISE RADĚ, EVROPSKÉMU PARLAMENTU, HOSPODÁŘSKÉMU A SOCIÁLNÍMU VÝBORU A VÝBORU REGIONŮ Rozvoj krátké námořní dopravy v Evropě

Více

IPCorder KNR-100 Instala ní p íru ka

IPCorder KNR-100 Instala ní p íru ka IPCorder KNR-100 Instala ní p íru ka 12. srpna 2007 2 Obsah 1 Instalace 5 1.1 Obsah balení....................................... 5 1.2 Instalace pevného disku................................. 5 1.3 Zapojení

Více

Přednáška Tablety a chytré telefony. Ing. Michaela Mudrochová Algoritmus individuálního vzdělávání CZ.1.07/3.1.00/50.0078

Přednáška Tablety a chytré telefony. Ing. Michaela Mudrochová Algoritmus individuálního vzdělávání CZ.1.07/3.1.00/50.0078 Přednáška Tablety a chytré telefony Ing. Michaela Mudrochová Algoritmus individuálního vzdělávání CZ.1.07/3.1.00/50.0078 1 Tablety a chytré telefony o o o Nové operační systémy Historie Vývoj současnost

Více

WinCC V7.3. SIMATIC Logon. Siemens, s.r.o., Digital Factory 2015 Všechnapráva vyhrazena. Strana1 2015-05 Ladislav Plachý / RC-CZ DF SUP

WinCC V7.3. SIMATIC Logon. Siemens, s.r.o., Digital Factory 2015 Všechnapráva vyhrazena. Strana1 2015-05 Ladislav Plachý / RC-CZ DF SUP WinCC V7.3 SIMATIC Logon Strana1 2015-05 Ladislav Plachý / RC-CZ DF SUP Sou ást Siemens industrial security konceptu Ochrana proti neautorizovanému p ístupu s využitím Windows mechanism Pro WinCC to znamená

Více

Testování p ístupnosti stránek státní správy ƒeské republiky. Václav Trpák

Testování p ístupnosti stránek státní správy ƒeské republiky. Václav Trpák ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta ové graky a interakce Bakalá ská práce Testování p ístupnosti stránek státní správy ƒeské republiky Václav Trpák Vedoucí práce:

Více

Analýza nákladů na implementaci groupwarového řešení

Analýza nákladů na implementaci groupwarového řešení Analýza nákladů na implementaci groupwarového řešení pro typickou SMB společnost se 40 uživateli Groupware Na trhu groupwarových řešení jsou dva hlavní lídři Microsoft a IBM. Produkty od obou těchto společností

Více

obecně závazné vyhlášky o vedení technické mapy obce A. OBECNÁ ČÁST Vysvětlení navrhované právní úpravy a jejích hlavních principů

obecně závazné vyhlášky o vedení technické mapy obce A. OBECNÁ ČÁST Vysvětlení navrhované právní úpravy a jejích hlavních principů O D Ů V O D N Ě N Í obecně závazné vyhlášky o vedení technické mapy obce A. OBECNÁ ČÁST Vysvětlení navrhované právní úpravy a jejích hlavních principů 1. Definice technické mapy Technickou mapou obce (TMO)

Více

Návod k použití aplikace MARKETINGOVÉ PRŮZKUMY.CZ

Návod k použití aplikace MARKETINGOVÉ PRŮZKUMY.CZ www.marketingovepruzkumy.cz Návod k použití aplikace MARKETINGOVÉ PRŮZKUMY.CZ 28.4.2011 Miloš Voborník Obsah 1. Uživatelská příručka... 1 1.1. Běžný uživatel... 1 1.1.1. Celkové rozvržení, úvodní strana...

Více

Rozší ení infrastrukturních Blade a diskových polí

Rozší ení infrastrukturních Blade a diskových polí OD VODN NÍ VE EJNÉ ZAKÁZKY Rozší ení infrastrukturních Blade a diskových polí Od vodn ní ve ejné zakázky pro ú ely p edb žného oznámení Od vodn ní elnosti ve ejné zakázky obsahuje alespo - Popis pot eb,

Více

Efektivní vyuºívání programových nástroj Ansys na infrastrukturách MetaCentra / CERIT-SC

Efektivní vyuºívání programových nástroj Ansys na infrastrukturách MetaCentra / CERIT-SC Efektivní vyuºívání programových nástroj Ansys na infrastrukturách MetaCentra / CERIT-SC Slávek Licehammer MetaCentrum 25. listopadu 2013 S. Licehammer (MetaCentrum) Efektivní vyuºívání programových nástroj

Více

HLAVA III ODVOLACÍ FINANČNÍ ŘEDITELSTVÍ 5 ÚZEMNÍ PŮSOBNOST A SÍDLO

HLAVA III ODVOLACÍ FINANČNÍ ŘEDITELSTVÍ 5 ÚZEMNÍ PŮSOBNOST A SÍDLO Územní působnost a sídlo při vymáhání některých finančních pohledávek. Tato pověření se publikují ve Finančním zpravodaji. Postup a podmínky, za kterých je prováděna mezinárodní pomoc ve vztahu k jiným

Více

Centrum digitální optiky

Centrum digitální optiky Centrum digitální optiky Software pro ízení PMS a digitální rekonstrukci obrazu Interní i.. RC201301 Rok vydání: 2013 Interní identika ní íslo: RC201301 Autor: Mgr. Radek ƒelechovský, Ph.D. Vlastník: Univerzita

Více

Obsah ÚVOD. Participanti. Nastavení testu. - úvod - participanti - nastavení testu - přehled úkolů testu - soupis problémů a návrh řešení - závěr

Obsah ÚVOD. Participanti. Nastavení testu. - úvod - participanti - nastavení testu - přehled úkolů testu - soupis problémů a návrh řešení - závěr B2 Obsah - úvod - participanti - nastavení testu - přehled úkolů testu - soupis problémů a návrh řešení - závěr ÚVOD Test prováděný naší skupinou, měl za úkol najít chyby a nedostatky v designu programu

Více

ICT plán školy 2015/2016

ICT plán školy 2015/2016 Základní škola s rozšířeným vyučováním informatiky a výpočetní techniky ICT plán školy 2015/2016 1. Základní údaje o škole Název školy: Základní škola s rozšířeným vyučováním informatiky a výpočetní techniky

Více

Charakteristika kurzu BE4

Charakteristika kurzu BE4 CZ.1.07/3.2.03/04.0040 - Partnerská síť Aktivní angličtina s online lektory strana 1 z 6 Charakteristika kurzu BE4 Aktualizace: 31. 3. 2015 Kurz vytvořil: Jazyková škola ATHENA s.r.o. Kurz ověřil: Jazyková

Více

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné Analyzujte, navrhněte a implementujte aplikaci pro sledování spánku dětí Chůvička pro telefony na platformě Android. Od existujících aplikací se bude aplikace odlišovat tímto: funkční na dual-sim telefonech

Více

Pokyny k vyplnění Průběžné zprávy

Pokyny k vyplnění Průběžné zprávy Pokyny k vyplnění Průběžné zprávy Verze: 2 Platná od: 15. 1. 2013 Doplnění nebo úpravy v pokynech jsou odlišeny červenou barvou písma. Termín pro podání elektronické verze průběžné zprávy obou částí je

Více

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ Pozemkem se podle 2 písm. a) katastrálního zákona rozumí část zemského povrchu, a to část taková, která je od sousedních částí zemského povrchu (sousedních pozemků)

Více

Java a Caché IV: Manipulace s objekty

Java a Caché IV: Manipulace s objekty 1 z 6 11.1.2007 11:13 přihlašovací jméno heslo Registrace Přihlásit články odkazy aktuality CZJUG konference o portálu přidejte se o nás Vyhledávání Text: najdi Oborový filtr J2ME J2SE J2EE Enterprise

Více

Kočí, R.: Účelové pozemní komunikace a jejich právní ochrana Leges Praha, 2011

Kočí, R.: Účelové pozemní komunikace a jejich právní ochrana Leges Praha, 2011 Kočí, R.: Účelové pozemní komunikace a jejich právní ochrana Leges Praha, 2011 Účelové komunikace jsou důležitou a rozsáhlou částí sítě pozemních komunikací v České republice. Na rozdíl od ostatních kategorií

Více

Pravidla. používání Národního elektronického nástroje při realizaci zadávacích postupů prostřednictvím národního elektronického nástroje

Pravidla. používání Národního elektronického nástroje při realizaci zadávacích postupů prostřednictvím národního elektronického nástroje Příloha usnesení vlády ze dne 18. ledna 2016 č. 25 Pravidla používání Národního elektronického nástroje při realizaci zadávacích postupů prostřednictvím národního elektronického nástroje Preambule V souladu

Více

Pokyn D - 293. Sdělení Ministerstva financí k rozsahu dokumentace způsobu tvorby cen mezi spojenými osobami

Pokyn D - 293. Sdělení Ministerstva financí k rozsahu dokumentace způsobu tvorby cen mezi spojenými osobami PŘEVZATO Z MINISTERSTVA FINANCÍ ČESKÉ REPUBLIKY Ministerstvo financí Odbor 39 Č.j.: 39/116 682/2005-393 Referent: Mgr. Lucie Vojáčková, tel. 257 044 157 Ing. Michal Roháček, tel. 257 044 162 Pokyn D -

Více

Inovované řešení VDT/VT

Inovované řešení VDT/VT Inovované řešení VDT/VT Spojujeme trhy a příležitosti Inovované řešení pro obchodování na vnitrodenním a vyrovnávacím trhu v ČR, vyvinuté společností OTE, a.s., umožní uživatelům rychlou reakci na aktuální

Více

Zadávání tiskových zakázek prostřednictvím JDF a Adobe Acrobat Professional

Zadávání tiskových zakázek prostřednictvím JDF a Adobe Acrobat Professional Zadávání tiskových zakázek prostřednictvím JDF a Adobe Acrobat Professional Nejčastěji se o JDF hovoří při řízení procesů v tiskových provozech. JDF se však má stát komunikačním prostředkem mezi všemi

Více

Bezdrátová sada s klávesnicí a myší. Stručný návod k použití WUR - 0108T

Bezdrátová sada s klávesnicí a myší. Stručný návod k použití WUR - 0108T Bezdrátová sada s klávesnicí a myší WUR - 0108T Obsah Začínáme....................................................... 1 Funkce......................................................... 1 Příprava klávesnice,

Více

téma: Formuláře v MS Access

téma: Formuláře v MS Access DUM 06 téma: Formuláře v MS Access ze sady: 3 tematický okruh sady: Databáze ze šablony: 07 - Kancelářský software určeno pro: 2. ročník vzdělávací obor: vzdělávací oblast: číslo projektu: anotace: metodika:

Více

1. Požadavky na provoz aplikací IISPP

1. Požadavky na provoz aplikací IISPP 1. Požadavky na provoz aplikací IISPP 1.1. Podporované prohlížeče Aplikace IISPP jsou primárně vyvíjeny a testovány v prohlížečích Internet Explorer a Mozilla Firefox. V jiných než uvedených prohlížečích

Více

MĚSTO LITVÍNOV se sídlem Městský úřad Litvínov, náměstí Míru 11, 436 91 Litvínov

MĚSTO LITVÍNOV se sídlem Městský úřad Litvínov, náměstí Míru 11, 436 91 Litvínov MĚSTO LITVÍNOV se sídlem Městský úřad Litvínov, náměstí Míru 11, 436 91 Litvínov VÝZVA K PODÁNÍ NABÍDKY Město Litvínov, zastoupené níže uvedeným zadavatelem, vyzývá, v souladu se směrnicí rady města č.

Více

ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta Bakalá ská práce Software pro skupinovou spolupráci v programátorském týmu Ji í Nápravník Vedoucí práce: Mgr. Jan Stoklasa Studijní

Více

Poukázky v obálkách. MOJESODEXO.CZ - Poukázky v obálkách Uživatelská příručka MOJESODEXO.CZ. Uživatelská příručka. Strana 1 / 1. Verze aplikace: 1.4.

Poukázky v obálkách. MOJESODEXO.CZ - Poukázky v obálkách Uživatelská příručka MOJESODEXO.CZ. Uživatelská příručka. Strana 1 / 1. Verze aplikace: 1.4. MOJESODEXO.CZ Poukázky v obálkách Verze aplikace: 1.4.0 Aktualizováno: 22. 9. 2014 17:44 Strana 1 / 1 OBSAH DOKUMENTU 1. ÚVOD... 2 1.1. CO JSOU TO POUKÁZKY V OBÁLKÁCH?... 2 1.2. JAKÉ POUKÁZKY MOHOU BÝT

Více

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 Zálohování dat Většina výkladových slovníků definuje zálohu jako kopii dat na samostatný datový nosič pro případ

Více

VÝZVA. Česká republika-ministerstvo školství, mládeže a tělovýchovy (dále jen zadavatel) se sídlem Karmelitská 7, 118 12 Praha 1, IČ 00022985.

VÝZVA. Česká republika-ministerstvo školství, mládeže a tělovýchovy (dále jen zadavatel) se sídlem Karmelitská 7, 118 12 Praha 1, IČ 00022985. VÝZVA k podání nabídky na veřejnou zakázku malého rozsahu na službu dle 12 odst. 3 a 18 odst. 3 zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů (dále jen zákon ), Směrnice MŠMT,

Více

Uživatelský manuál pro práci se stránkami OMS a MS provozované portálem Myslivost.cz. Verze 1.0

Uživatelský manuál pro práci se stránkami OMS a MS provozované portálem Myslivost.cz. Verze 1.0 Uživatelský manuál pro práci se stránkami OMS a MS provozované portálem Myslivost.cz Verze 1.0 Obsah Základní nastavení stránek po vytvoření... 3 Prázdný web... 3 Přihlášení do administrace... 3 Rozložení

Více

Využití EduBase ve výuce 10

Využití EduBase ve výuce 10 B.I.B.S., a. s. Využití EduBase ve výuce 10 Projekt Vzdělávání pedagogů v prostředí cloudu reg. č. CZ.1.07/1.3.00/51.0011 Mgr. Jitka Kominácká, Ph.D. a kol. 2015 1 Obsah 1 Obsah... 2 2 Úvod... 3 3 Autorský

Více

Windows 7 kompletní příručka. Bohdan Cafourek. Vydala Grada Publishing a.s. U Průhonu 22, Praha 7 jako svou 4211. publikaci

Windows 7 kompletní příručka. Bohdan Cafourek. Vydala Grada Publishing a.s. U Průhonu 22, Praha 7 jako svou 4211. publikaci Windows 7 kompletní příručka Bohdan Cafourek Vydala Grada Publishing a.s. U Průhonu 22, Praha 7 jako svou 4211. publikaci Odpovědný redaktor Petr Somogyi Sazba Petr Somogyi Počet stran 336 První vydání,

Více

29 Evidence smluv. Popis modulu. Záložka Evidence smluv

29 Evidence smluv. Popis modulu. Záložka Evidence smluv 29 Evidence smluv Uživatelský modul Evidence smluv slouží ke správě a evidenci smluv organizace s možností připojení vlastní smlouvy v elektronické podobě včetně přidělování závazků ze smluv jednotlivým

Více

ZADÁVACÍ DOKUMENTACE

ZADÁVACÍ DOKUMENTACE ZADÁVACÍ DOKUMENTACE ve smyslu 44 zákona.137/2006 Sb., o ve ejných zakázkách, ve zn ní pozd jších p edpis (dále jen zákon ) Název ve ejné zakázky Rozší ení personálního ešení MMR Zadavatel ve ejné zakázky:

Více

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

Uložené procedury Úvod ulehčit správu zabezpečení rychleji Uložené procedury Úvod Uložená procedura (rutina) je sada příkazů SQL, které jsou uložené na databázovém serveru a vykonává se tak, že je zavolána prostřednictvím dotazu názvem, který jim byl přiřazen

Více

Vyvažování tuhého rotoru v jedné rovině přístrojem Adash 4900 - Vibrio

Vyvažování tuhého rotoru v jedné rovině přístrojem Adash 4900 - Vibrio Aplikační list Vyvažování tuhého rotoru v jedné rovině přístrojem Adash 4900 - Vibrio Ref: 15032007 KM Obsah Vyvažování v jedné rovině bez měření fáze signálu...3 Nevýhody vyvažování jednoduchými přístroji...3

Více

Meze použití dílčího hodnotícího kritéria kvalita plnění a problematika stanovování vah kritérií

Meze použití dílčího hodnotícího kritéria kvalita plnění a problematika stanovování vah kritérií kritéria kvalita plnění a problematika Příloha č. B6 Dokumentu Jak zohledňovat principy 3E (hospodárnost, efektivnost a účelnost) v postupech zadávání veřejných zakázek Vydal: Ministerstvo pro místní rozvoj

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování V algoritmizaci a programování je důležitá schopnost analyzovat a myslet. Všeobecně jsou odrazovým můstkem pro řešení neobvyklých, ale i každodenních problémů. Naučí nás rozdělit

Více

Replikace uºivatelských dat. Bc. Jan Vo avka

Replikace uºivatelských dat. Bc. Jan Vo avka ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta ové graky a interakce Diplomová práce Replikace uºivatelských dat Bc. Jan Vo avka Vedoucí práce: Ing. Jan Kubr Studijní program:

Více

Mapa kamer mobilní aplikace pro Android

Mapa kamer mobilní aplikace pro Android ƒeské vysoké u ení technické v Praze Fakulta stavební Projekt Informatika 2 Akedemický rok 2012/2013 Mapa kamer mobilní aplikace pro Android Dokumentace Auto i: Martin Lºí a Dan Dluho² Michal Med Vedoucí:

Více

Na tomto míst bude ociální zadání va²í práce

Na tomto míst bude ociální zadání va²í práce Na tomto míst bude ociální zadání va²í práce Toto zadání je podepsané d kanem a vedoucím katedry, musíte si ho vyzvednout na studijním odd lení Katedry po íta na Karlov nám stí, v jedné odevzdané práci

Více

Příloha III TECHNICKÉ A PROVOZNÍ PARAMETRY VNITROZEMSKÝCH VODNÍCH CEST MEZINÁRODNÍHO VÝZNAMU

Příloha III TECHNICKÉ A PROVOZNÍ PARAMETRY VNITROZEMSKÝCH VODNÍCH CEST MEZINÁRODNÍHO VÝZNAMU Příloha III TECHNICKÉ A PROVOZNÍ PARAMETRY VNITROZEMSKÝCH VODNÍCH CEST MEZINÁRODNÍHO VÝZNAMU (a) Technické parametry vodních cest E Hlavní technické parametry vodních cest E mají v zásadě odpovídat klasifikaci

Více

Registr UJO. Příručka pro uživatele. Institut biostatistiky a analýz. Lékařské a Přírodovědecké fakulty Masarykovy univerzity.

Registr UJO. Příručka pro uživatele. Institut biostatistiky a analýz. Lékařské a Přírodovědecké fakulty Masarykovy univerzity. Registr UJO Příručka pro uživatele Vytvořil: Lékařské a Přírodovědecké fakulty Masarykovy univerzity Obsah Projekt UJO...... 3 On-line klinický registr obecná charakteristika. 4 On-line Registr UJO - základní

Více

INTERNETOVÝ TRH S POHLEDÁVKAMI. Uživatelská příručka

INTERNETOVÝ TRH S POHLEDÁVKAMI. Uživatelská příručka INTERNETOVÝ TRH S POHLEDÁVKAMI Uživatelská příručka 1. března 2013 Obsah Registrace... 3 Registrace fyzické osoby... 3 Registrace právnické osoby... 6 Uživatelské role v systému... 8 Přihlášení do systému...

Více

Obrázek. Základní popis, zadání úkolu. Struktura tříd,

Obrázek. Základní popis, zadání úkolu. Struktura tříd, Obrázek Základní popis, zadání úkolu Pracujeme na projektu Domecek, který je ke stažení na http://java.vse.cz/. Po otevření v BlueJ vytvoříme instanci třídy Obrazek a zavoláme metodu kresli(). Výsledkem

Více

Inteligentní zastávky Ústí nad Labem

Inteligentní zastávky Ústí nad Labem Příloha č. 7 Technická specifikace pro veřejnou zakázku Inteligentní zastávky Ústí nad Labem nadlimitní veřejná zakázka na realizaci inteligentních zastávek zadávaná v otevřeném řízení, dle zákona o veřejných

Více

Využití mobilního klienta při správě inženýrských sítí. Petr Skála Pontech s.r.o.

Využití mobilního klienta při správě inženýrských sítí. Petr Skála Pontech s.r.o. Využití mobilního klienta při správě inženýrských sítí Petr Skála Pontech s.r.o. Proč mít mobilní GIS? Mobilní GIS umožňuje práci s GIS daty v terénu: Mapy - orientace a navigace GIS data - sběr, pořizování

Více

PV239/WP. Vývoj univerzálních Windows Store aplikací. Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP gesvindr@mail.muni.

PV239/WP. Vývoj univerzálních Windows Store aplikací. Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP gesvindr@mail.muni. PV239/WP Vývoj univerzálních Windows Store aplikací Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP gesvindr@mail.muni.cz Cíle kurzu Osnova kurzu 1. Seznámení s platformou a nástroji

Více

Čtvrtletní výkaz o zaměstnancích a mzdových prostředcích v regionálním školství a škol v přímé působnosti MŠMT za 1. -.

Čtvrtletní výkaz o zaměstnancích a mzdových prostředcích v regionálním školství a škol v přímé působnosti MŠMT za 1. -. Škol (MŠMT) P 1-04 Čtvrtletní výkaz o zaměstnancích a mzdových prostředcích v regionálním školství a škol v přímé působnosti MŠMT za 1. -. čtvrtletí 2010 Pokyny a vysvětlivky pro vyplnění Do nadpisu výkazu

Více

PHP Best Practices. Please try to fit your code to 80 columns. That's decimal 80. A. Morton

PHP Best Practices. Please try to fit your code to 80 columns. That's decimal 80. A. Morton PHP Best Practices Please try to fit your code to 80 columns. That's decimal 80. A. Morton Koncepce větších aplikací Front Controller Design Pattern Celý web má jeden přístupový bod, přes který se posílají

Více

Bezdrátové připojení (pouze u vybraných modelů) Uživatelská příručka

Bezdrátové připojení (pouze u vybraných modelů) Uživatelská příručka Bezdrátové připojení (pouze u vybraných modelů) Uživatelská příručka Copyright 2007 Hewlett-Packard Development Company, L.P. Windows je registrovaná ochranná známka Microsoft Corporation v USA. Bluetooth

Více

Směrnice pro vedení, vypracování a zveřejňování bakalářských prací na Vysoké škole polytechnické Jihlava

Směrnice pro vedení, vypracování a zveřejňování bakalářských prací na Vysoké škole polytechnické Jihlava Vysoká škola polytechnická Jihlava Č. j. KR/11/00111 11/02088 Směrnice pro vedení, vypracování a zveřejňování bakalářských prací na Vysoké škole polytechnické Jihlava Úvod Tato směrnice obsahuje základní

Více

Inovace (praxe) 1 Úvod, p edstavení rmy, omezení práce. 16. listopadu 2010, Organizace a informace. Karel Kohout

Inovace (praxe) 1 Úvod, p edstavení rmy, omezení práce. 16. listopadu 2010, Organizace a informace. Karel Kohout Inovace (praxe) 1 Úvod, p edstavení rmy, omezení práce V rámci seminární práce jsou rozebrány t i inovace, realizované záºitkovou agenturou FAN MOTION 1. Dv z nich jsou spí²e technického rázu (sb r údaj

Více

3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java

3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java 3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java Studijní cíl V tomto bloku navážeme na konec předchozího bloku a seznámíme se s vývojovými prostředími, které se nejčastěji používají

Více

Soubory a databáze. Soubor označuje množinu dat, která jsou kompletní k určitému zpracování a popisují vybrané vlastnosti reálných objektů

Soubory a databáze. Soubor označuje množinu dat, která jsou kompletní k určitému zpracování a popisují vybrané vlastnosti reálných objektů Datový typ soubor Soubory a databáze Soubor označuje množinu dat, která jsou kompletní k určitému zpracování a popisují vybrané vlastnosti reálných objektů Záznam soubor se skládá ze záznamů, které popisují

Více

PROCESORY. Typy procesorů

PROCESORY. Typy procesorů PROCESORY Procesor (CPU Central Processing Unit) je ústřední výkonnou jednotkou počítače, která čte z paměti instrukce a na jejich základě vykonává program. Primárním úkolem procesoru je řídit činnost

Více

EDUX - personalizace UI. Luká² Komárek. ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta ové graky a interakce

EDUX - personalizace UI. Luká² Komárek. ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta ové graky a interakce ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta ové graky a interakce Bakalá ská práce EDUX - personalizace UI Luká² Komárek Vedoucí práce: Ing. Tomá² Kadlec Studijní program:

Více

Nástroj pro snadný návrh uºivatelského rozhraní. Petr Mach. ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta

Nástroj pro snadný návrh uºivatelského rozhraní. Petr Mach. ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta Bakalá ská práce Nástroj pro snadný návrh uºivatelského rozhraní Petr Mach Vedoucí práce: Ing. Tomá² Novotný Studijní program:

Více

Manuál uživatele čipové karty s certifikátem

Manuál uživatele čipové karty s certifikátem Manuál uživatele čipové karty s certifikátem Obsah 1 Úvod... 3 2 Instalace čipové karty s certifikátem... 5 3 Instalace čtečky čipových karet... 10 3.1 Instalace z Windows Update... 10 3.2 Manuální instalace

Více

Aktualizace softwaru Uživatelská příručka

Aktualizace softwaru Uživatelská příručka Aktualizace softwaru Uživatelská příručka Copyright 2007 Hewlett-Packard Development Company, L.P. Windows je ochranná známka Microsoft Corporation registrovaná v USA. Informace uvedené v této příručce

Více

ZADÁVACÍ DOKUMENTACE

ZADÁVACÍ DOKUMENTACE Příloha č. 7 ZADÁVACÍ DOKUMENTACE pro veřejnou zakázku na stavební práce mimo režim zákona o veřejných zakázkách č. 137/2006 Sb., o veřejných zakázkách v platném znění, a dle Závazných pokynů pro žadatele

Více

Aplikace počítačů v provozu vozidel 9

Aplikace počítačů v provozu vozidel 9 Aplikace počítačů v provozu vozidel 9 2 Databázové systémy Rozvoj IS je spjatý s rozvojem výpočetní techniky, především počítačů. V počátcích se zpracovávaly velké objemy informací na jednom počítači,

Více

Jindřich Mičán, vedoucí oddělení Technické podpory a správy sítí. uzavírají níže uvedeného dne, měsíce a roku tuto kupní smlouvu (dále jen smlouva ):

Jindřich Mičán, vedoucí oddělení Technické podpory a správy sítí. uzavírají níže uvedeného dne, měsíce a roku tuto kupní smlouvu (dále jen smlouva ): K U P N Í S M L O U V A ÚZSVM č. XX/2014 uzavřená dle ustanovení 2079 a násl. zákona č. 89/2012 Sb., občanský zákoník (dále jen občanský zákoník ), na veřejnou zakázku: Nákup pracovních stanic pro ÚZSVM,

Více