Technologie ASP.NET. Martin Trněný

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

Download "Technologie ASP.NET. Martin Trněný"

Transkript

1 České vysoké učení technické v Praze Fakulta elektrotechnická Bakalářská práce Technologie ASP.NET Martin Trněný Vedoucí práce: Doc. Ing. Ivan Jelínek, CSc. Studijní program: Elektrotechnika a informatika strukturovaný bakalářský Obor: Informatika a výpočetní technika červen 2008

2 ii

3 Poděkování Rád bych poděkoval vedoucímu mé práce panu Doc.Ing. Ivanu Jelínkovi, Csc., za ochotu v průběhu realizace bakalářské práce. Největší část ovšem patří mé přítelkyni Evě, která musela být poslední půlrok enormně trpělivá. Přesto mi byla velkou oporou v průběhu tvorby bakalářské práce. V neposlední řadě děkuji mé rodině za trpělivost a podporu. iii

4 iv

5 Prohlášení Prohlašuji, že jsem svou bakalářskou 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 v

6 vi

7 Abstract The main aim of this thesis is taking up with a technology for creation web applications the ASP.NET and a technology for data access ADO.NET, which contains.net Framework. By the help of ASP.NET and ADO.NET technologies I designed, implemented and tested web pages for a software company. The Part of the work is also analyse technologies for creation web applications like PHP and JSP. Abstrakt Hlavním cílem této bakalářské práce je seznámení se s technologií pro tvorbu webových aplikací ASP.NET a technologie přístupu k datům ADO.NET, kterou obsahuje.net Framework. Pomocí technologií ASP.NET a ADO.NET jsem navrhl, implementoval a otestoval webové stránky pro softwarovou firmu. Součástí práce je také analýza podobných technologií pro tvorbu webových aplikací jako je PHP a JSP. vii

8 Obsah Seznam obrázků xi Seznam tabulek xii 1 Proč právě ASP.NET od firmy Microsoft? 1 2 Úvod do technologie ASP.NET Počátky webového vývoje Web před nástupem ASP.NET Historie ASP - ASP.NET Jak funguje ASP.NET NET framework CLR Common Language Runtime Základní charakteristika jazyka C# Základní charakteristika jazyka VB.NET Přístup k datům ADO.NET Základ ADO.NET Poskytovatelé dat ADO.NET Připojené a odpojené aplikace Připojená aplikace Odpojená aplikace ASP.NET a konkurence Technologie možné jako konkurence JSP (JAVA SERVER PAGES) Srovnání JSP a ASP.NET PHP ( Hypertext Preprocesor ) Srovnání PHP a ASP.NET Vnitřní struktura Podporované jazyky Kód na straně serveru Objekty a webové služby Shrnutí Shrnutí konkurenčních technologií Návrh webových stránek Společnosti a internetové stránky Na které vlastnosti je kladen důraz a co nesmí chybět Zadání Informace o společnosti MISS Software, pro kterou navrhuji webové stránky Vlastní návrh Implementace Menší odbočka Express Edice Konkrétně o implementaci Testování Funkčnost stránek viii

9 7.2 Validita Korektnost Odolnost databáze Závěr Splnění cílů Další vývoj aplikace Seznam Literatury 33 A Seznam použitých zkratek 36 B Uživatelská příručka 38 C Obsah přiloženého CD 39 ix

10 x

11 Seznam obrázků Obrázek 2.1: Kompilace webové stránky ASP.NET [1]... 4 Obrázek 2.2. Struktura celého.net frameworku [13]... 5 Obrázek 2.3: Common Language Runtime - kompilace a spuštění [2]... 6 Obrázek 3.1: Architektura ADO.NET [1] Obrázek 3.2: Schéma připojené aplikace Obrázek 3.3: Schéma odpojené aplikace Obrázek 4.1: JSP princip činnosti Obrázek 4.2: Princip činnosti PHP [12] Obrázek 6.1: Microsoft Visual Web Developer 2008 Express Edition [13] xi

12 Seznam tabulek Tabulka 3.1: Zdrojový kód jazyka C#... 7 Tabulka 3.2: Zdrojový kód jazyka VB.NET... 8 Tabulka 4.1: Zdrojový kód JSP Tabulka 4.2: Zdrojový kód PHP xii

13 xiii

14 1 Proč právě ASP.NET od firmy Microsoft? Mnoho z vás zběhlých v oblasti IT by si mohla položit právě tuto otázku. Už jen slovo Microsoft je pro někoho strašák ne-li noční můra. Produkty firmy Microsoft jsou považovány za výlučně komerční a mnohdy také proto jsou lidmi odsuzovány. Další stinnou stránkou produktů firmy Microsoft může být jejich celosvětové používání a z toho plynoucí odhalování i těch nejmenších a nejnepravděpodobnějších chyb. Což samozřejmě běžného uživatele velmi odrazuje. Za komerční produkty se platí, ale není pravidlem, že za vše komerční musíme platit. Microsoft si i v případě ASP.NET uvědomil, sice později ale přece, nutnost uvést na trh produkty volně ke stažení tj. zdarma. Určeny jsou pro ty, kteří si chtějí danou technologii vyzkoušet, používat pro osobní potřebu a nechtějí za ni utrácet peníze. Bez možnosti zdarma si vyzkoušet danou technologii, je spousta lidí odrazena placením za něco, co ve skutečnosti nebudou potřebovat nebo jim nebude vyhovovat. ASP.NET tedy díky pozdějšímu uvedení produktové řady Express, která je k dispozici zdarma ke stažení a díky malému počtu serverů určeného pro hostování a provozování webových aplikací na platformě Microsoft.NET tzv. webhosting, ale zejména freehosting, se rozšiřuje pomalu. ASP.NET podle mého názoru přinesla do vytváření webových stránek nový proud. Proud skutečného OOP. Schopnost dívat se na vytváření webových stránek, jako na vývoj běžné okenní aplikace, dává náskok před konkurencí, která nemá, tak koncepčně vyřešené své produkty. 1

15 2 Úvod do technologie ASP.NET Úvodem by se patřilo ozřejmit několik pojmů související s vývojem internetu. Projdeme si také v rychlosti historickou cestu webového vývoje, která nás dovede až k ASP.NET. 2.1 Počátky webového vývoje První přenos dat přes HTTP uskutečnil Tim Bernes-Lee už před více než deseti lety. Tim Bernes-Lee předsedá mezinárodnímu konsorciu W3C a je autorem nebo spoluautorem služby WWW a specifikací URL, HTTP a HTML - základních pilířů Webu. Od té doby zaznamenalo HTTP prudký růst popularity a proniklo téměř do všech sfér lidského života. Když bylo HTTP zřízeno poprvé, nebylo jednoduché navrhovat aplikace, které se uměly vyhledat a vzájemně spolu komunikovat. Proto byly pro vývojáře vytvořeny různé standardy, jako je HTML nebo XML. HTML definovalo prostý jazyk, jak popsat a zobrazit složité dokumenty na prakticky jakékoliv počítačové platformě. XML naproti tomu tvořilo sadu pravidel, pro vytváření formátů dat nezávislých na platformě, díky níž si mohou různé aplikace vyměňovat informace. Standardy garantovaly, že web mohl využívat kdokoliv, odkudkoliv, a s jakýmkoliv typem operačního systému. Výrobci softwaru měli před sebou výzvu. Potřebovali vyvinout takové jazyky a programovací nástroje, které by uměly komunikovat s webem. Největší výrobci softwaru IBM, Microsoft nebo Sun Microsystems urputně sváděly boj, kdo přijde s lepším produktem, a proto se jich zde nahromadila celá řada. 2.2 Web před nástupem ASP.NET Starší technologie určené pro webové aplikace byly založené na serveru a spoléhaly se na skriptovací jazyky nebo na proprietární konvence značkování. Neposkytovaly moderní a integrovaný pracovní rámec pro webové programování. Obecně můžeme pracovní rámce pro webový vývoj před ASP.NET rozdělit do dvou skupin: Skripty interpretované na serveru Oddělené, malé aplikace, které se vykonávají voláním na straně serveru Klasické ASP patří do první skupiny. Vývojář má za úkol vytvořit soubor se skriptem, který obsahuje vložený kód. Tento soubor je pak zpracováván komponentou, která střídá zpracování běžného HTML kódu a vykonávání vloženého kódu. Skriptované aplikace se provádějí pomaleji než aplikace zkompilované. Principy druhé skupiny využívá ve značné míře Perl (Perl je interpretovaný programovací jazyk vytvořený Larry Wallem v roce 1987, používá se pro tvorbu CGI skriptů.), který také přináší další problémy. V těchto pracovních rámcích spouští webový server oddělenou aplikaci, která má za úkol zpracovat požadavek klienta. Přestože se tyto aplikace vykonávají rychleji než skriptované verze, vykazují větší tendenci spotřebovávat více paměti, jsou méně škálovatelné, hůř se píší a není snadné je integrovat s jinými komponentami. 2

16 2.3 Historie ASP - ASP.NET Za počátek můžeme vzít rok 1996 a technologii ASP od Microsoftu, která byla svými možnostmi velmi podobná jazyku PHP. ASP je technologie nezávislá na programovacím jazyce, která umožňuje vykonávání kódu na straně serveru a následné odeslání výsledku uživateli. To znamená, že webová stránka s příponou.asp obsahuje kód, vykonávaný na IIS serveru a prohlížeči odešle pouze výsledek ve značkovacím jazyce HTML, který umí bez problému zobrazit. Programovací jazyky, které se u technologie ASP používají nejvíce jsou: VBScript a JScript. ASP ale představovalo narychlo sestavenou sadu nástrojů pro vkládání dynamického obsahu do obyčejných webových stránek, proto postupem času přestalo vyhovovat a nestačilo pro vývoj moderních webových stránek. Vydány byly tři verze: ASP verze 1.0 (distribuováno s IIS 3.0) v prosinci 1996 ASP verze 2.0 (distribuováno s IIS 4.0) v září 1997 ASP verze 3.0 (distribuováno s IIS 5.0) v listopadu 2000 Dalším milníkem bylo vydání ASP.NET. Je nástupcem technologie ASP a přímým konkurentem JSP. Blíže se s ASP.NET seznámíme dále v textu. Přehled vydaných verzí: ASP.NET verze 1.0 (součást rozhraní.net Framework) v lednu 2002 ASP.NET verze 1.1 v dubnu 2003 ASP.NET verze 2.0 v listopadu 2005 ASP.NET verze 3.5 v prosinci 2007 Převratnou se stala verze 1.0 a její doplnění na verzi 1.1. Důkazem jejich dobrého návrhu je i to, že pouze velmi málo změn v ASP.NET 2.0 jsou opravami existujících schopností. ASP.NET 2.0 se zaměřuje především na přidávání nových funkcionalit a zredukování počtu řádků kódu, které musíme napsat, až o 50 procent. 2.4 Jak funguje ASP.NET Ačkoliv název ASP.NET je odvozen od starší technologie pro vývoj webů ASP, obě technologie mají jen pramálo společného. ASP.NET přichází s kompletně novým vývojovým modelem. Hlavní rozdíl je v tom, že je do hloubky integrováno se svým podkladovým pracovním rámcem. ASP.NET je založen na CLR (Common Language Runtime), který je sdílen všemi aplikacemi postavenými na.net Frameworku. Aplikace založené na ASP.NET se neinterpretují, ale kompilují do jednoho či několika málo DLL (Dynamic-link library) souborů tzv. assembly (což je termín.net pro jakoukoliv jednotku zkompilovaného kódu). Díky tomu je možné napsat kód pro webovou stránku i v poznámkovém bloku, zkopírovat jej přímo do nějakého virtuálního adresáře na webovém serveru a aplikace se dynamicky zkompiluje, jakmile k ní přistoupí nějaký klient a její kopie se uloží do cache pro potřeby budoucích požadavků. Jestliže se po kompilaci jakýkoliv ze souborů změní, aplikace se automaticky překompiluje, jakmile ji bude nějaký klient vyžadovat. Na rozdíl od ryze skriptovacích jazyků, kde jsou stránky při každém přístupu znovu a znovu parsovány. 3

17 Aplikace ASP.NET procházejí dvěma kompilačními etapami. V první etapě se kód v jazyce C# nebo ve VB.NET (Visul Basic.NET), zkompiluje do přechodného jazyka, který se nazývá jako Microsoft Intermediate Language (MSIL), také jen IL. Tento první krok je fundamentální příčinou toho, že v.net je možné používat různé programovací jazyky. Všechny jazyky.net (včetně C#, Visual Basicu, a mnoha dalších) se totiž zkompilují do virtuálně identického kódu IL. První kompilační krok může nastat automaticky, když se stránka poprvé požaduje, nebo se může vykonat předem (to je proces, kterému se říká předběžná kompilace, precompiling). Zkompilovanému souboru s kódem IL se říká assembly. Druhá úroveň kompilace nastává těsně předtím, než se stránka skutečně vykoná. V tomto okamžiku se kód IL zkompiluje do nativního nízkoúrovňového strojového kódu. Tato etapa se nazývá jako kompilace just-in-time (JIT) a probíhá stejně pro všechny aplikace.net (včetně například aplikací Windows). Oba kroky kompilačního procesu jsou znázorněny na obrázku 2.1. Obrázek 2.1: Kompilace webové stránky ASP.NET [1] Kompilace.NET je rozdělena do dvou kroků proto, aby se vývojářům mohlo nabídnout co největší pohodlí a co nejlepší přenositelnost. Předtím, než může kompilátor vytvořit nízkoúrovňový strojový kód, potřebuje znát typ operačního systému a hardwarovou platformu, kde bude aplikace běžet (například 32bitový nebo 64bitový operační systém). Když máme dvě kompilační etapy, můžeme vytvořit zkompilovanou assembly s kódem.net, kterou je možné distribuovat na více než jednu platformu. ASP.NET ulehčuje programátorům přechod od programování klasických aplikací pro Windows do prostředí webu. V podstatě odstraňuje dělící čáru mezi vývojem aplikací a 4

18 webovým vývojem, protože rozšiřuje nástroje a technologie, které se používaly výhradně vývojáři desktopových aplikací, do světa webového vývoje. Stránky jsou poskládány z objektů, ovládacích prvků (Controls), což se dá považovat za protějšek ovládacích prvků ve Windows. Při tvorbě webových stránek je tedy možné používat ovládací prvky jako tlačítko (Button), nápis (Label) a další. Těmto prvkům lze přiřazovat určité vlastnosti, zachytávat na nich události, atd. Tak, jako se ovládací prvky pro Windows samy kreslí do formulářů na obrazovku, webové ovládací prvky produkují HTML kód, tvořící část výsledné stránky poslané ke klientova do prohlížeče. ASP.NET podporuje zejména jazyky C# a Visual Basic.NET. Z těchto dvou jazyků si můžeme vybrat podle svých osobních preferencí, výsledek bude stejný pokud jde o funkčnost i výkonnost. Visual Basic.NET připomíná dobře známé skriptovací jazyky, je pro začátečníky lépe čitelnější, ovšem na úkor větší ukecanosti. C# je elegantní, moderní, sevřený, ale pro začátečníka pravděpodobně obtížněji čitelný NET framework.net ( dotnet podle anglického dot NET = tečka NET, NET pochází z network, síť) je zastřešující název pro soubor technologií v softwarových produktech, které tvoří celou platformu, dostupnou nejen pro Web, Windows, ale i Pocket PC. Common Language Infrastructure je standardizovaná specifikace jádra.net. Základní komponentou je Microsoft.NET Framework, prostředí potřebné pro běh aplikací a nabízející jak spouštěcí rozhraní, tak potřebné knihovny. Programátoři tak mohou realizovat své projekty v jakémkoliv jazyce podporujícím CLR, např. Visual Basic.NET, JScript.NET, C#, Managed C++, ale i mutace Perlu, Pythonu a další. Pro vývoj.net aplikací vydal Microsoft Visual Studio.NET..NET Framework se otočením kohoutku postará o řadu nízkoúrovňových a nezáživných povinností jakými jsou: správa paměti, vytváření a rušení objektů spouštění a zastavování vláken kódu bezpečnost kódu a kontrola oprávnění k prováděným operacím natahování potřebných knihoven a komponent do paměti apod. Obrázek 2.2. Struktura celého.net frameworku [13] 5

19 Stručně popíšeme jednotlivé komponenty, kromě CLR, které je popsáno níže obsáhleji. Base Class Library (BCL) je knihovna obsahující nejčastější pomocné funkce práci se soubory, třídění, diagnostiku, síťovou komunikaci apod. ADO.NET je knihovna pro práci s daty s možností jejich XML reprezentace. Dále jsou na obrázku dvě knihovny pro vývoj uživatelského rozhraní Windows Forms pro desktopové aplikace a ASP.NET pro webové uživatelské rozhraní. My se budeme zajímat pouze o druhou uvedenou možnost CLR Common Language Runtime CLR si lze ztotožnit s pojmem virtuálního stroje při použití programovacího jazyka Java. Podobně jako u programovacího jazyka Java, nejsou zdrojové kódy kompilovány přímo do nativního kódu, který lze provádět, ale do intermediárního jazyka. U programovacího jazyka Java je výsledkem soubor s příponou.class a tento je pak prováděn virtuálním strojem Javy. Podobně v prostředí.net jsou zdrojové soubory libovolného programovacího jazyka zkompilovány do intermediárního jazyka (nazvaného MSIL Microsoft Intermediate Language). V případě, že má být taková aplikace spuštěna, systém detekuje, že jde o aplikaci v MSIL a spustí Just-In-Time kompilátor. Ten vygeneruje skutečné instrukce cílové platformy. Vše je přehledně zobrazeno na obrázku 2.3. Obrázek 2.3: Common Language Runtime - kompilace a spuštění [2] Jedním z hlavních cílů při vývoji.net je podpora různých programovacích jazyků. Důležitým prvkem CLR je podpora společného typového systému (Common Type System CTS). Vedle CTS definovaném na systémové úrovni, CLR realizuje typovou bezpečnost a obecný objektově orientovaný model. Na základě používání CLR nám vznikají následují výhody: Automatická správa paměti a svoz odpadků (garbage collection) Typová bezpečnost Rozšiřitelná metadata Strukturované zpracování chyb Multithreading 6

20 2.5 Základní charakteristika jazyka C# Jazyk C# vyvinula firma Microsoft. Byl představen spolu s celým vývojovým prostředím.net. Jak název napovídá, vychází tento jazyk v mnohém z programovacího jazyka C/C++, ale v mnoha ohledech je daleko bližší programovacímu jazyku Java. Základní charakteristiky jazyka jsou: Jazyk C# je čistě objektově orientovaný. Obsahuje nativní podporu komponentového programování. Podobně jako Java obsahuje pouze jednoduchou dědičnost s možností násobné implementace rozhraní. Vedle členských dat a metod přidává vlastnosti a události. Správa paměti je automatická. O korektní uvolňování zdrojů aplikace se stará garbage collector. Podporuje zpracování chyb pomocí výjimek. Zajišťuje typovou bezpečnost a podporuje řízení verzí. Podporuje atributové programování. Zajišťuje zpětnou kompatibilitu se stávajícím kódem, jak na binární, tak na zdrojové úrovni. Většina uvedených vlastností vychází přímo s funkcionality vývojového rámce.net. Jazyk C# je také integrován do vývojového prostředí Visual Studio.NET. Překladače jazyka C# jsou case sensitive. Rozlišují tedy velká a malá písmena. Podobně jako v jiných programovacích jazycích, i v jazyce C# bylo zavedeno několik konvencí. Jména balíků, tříd, rozhraní a většiny dalších položek začínají velkým písmenem. Malým začínají privátní a chráněné (protected) atributy, lokální proměnné a parametry. Více informací o používaných konvencích najdeme v dokumentaci [11]. Na závěr jazyka C# malá ukázka zdrojového kódu: public partial class Default5 : System.Web.UI.Page { protected void Button1_Click(object sender, EventArgs e) { Button1.Visible = false; } } Tabulka 3.1: Zdrojový kód jazyka C# 2.6 Základní charakteristika jazyka VB.NET Visual Basic byl první jazyk, který se přizpůsobil operačnímu systému Windows a umožňoval jednoduše vytvářet složité aplikace. Vyvinul se z jazyka QBASIC, což byla mutace původního jazyka BASIC v operačním systému MS-DOS. Poslední verze jazyka Visual Basic je verze 6 z roku Dnes v ní stále ještě programuje mnoho lidí, ale postupně přechází na Visual Basic.NET, což je nová generace jazyka Visual Basic. 7

21 V současnosti je nejnovější verze Visual Basic.NET 2008 vydaná spolu s Microsoft.NET Framework 3.5 v listopadu 2007, označovaná někdy jako číslo 9. Visual Basic.NET je nová generace jazyka Visual Basic postavená na platformě.net Framework. Jedná se o moderní objektově orientovaný jazyk, neustále se vyvíjí a má velmi širokou základnu vývojářů po celém světě. Visual Basic.NET je plnohodnotný jazyk, mající stejné možnosti a stejnou výkonnost při psaní webových stránek nebo služeb, jako jeho největší rival C#. VB.NET je jednodušší na naučení, obsahuje totiž mnoho klíčových slov a jak začátečník, tak i programátor, který jej v životě neviděli, jsou schopni rozumět kódu, pokud umí anglicky. Díky podpoře.net se z Visual Basicu současně stal plnohodnotný nástroj pro vývoj profesionálních aplikací. A protože se od verze Windows XP + Service Pack 1.0 platforma.net spolu s jazyky C#, Script.NET a VB.NET stala nedílnou součástí Windows, můžeme VB.NET používat pro tvorbu jednoduchých aplikací namísto skriptovacích prostředí (jako je Windows Script, Python a další), protože je srovnatelně jednoduchý a současně mnohem výkonnější. Programy ve VB.NET na rozdíl od skriptů totiž běží jako aplikace kompilované do strojového kódu a to se srovnatelnou rychlostí jako aplikace v C++. Na rozdíl od většiny skriptovacích jazyků, které nemají podporu grafického prostředí Windows VB.NET disponuje plnohodnotnou podporou a knihovnami pro tvorbu grafických aplikací s formuláři, systémovými funkcemi, databázovým rozhraním a dokonce rozhraním pro multimédia a hry jako je DirectX nebo OpenGL. Přitom všem - na rozdíl od starších verzí Visual Basicu - nejsme při vytváření aplikací pro VB.NET omezeni na vývojové prostředí Microsoftu, jako je Microsoft Visual Studio. A konečně - jelikož prostředí.net bylo nedávno portováno i na některé další platformy (jako Linux, BSD nebo MacOS), budeme moci své programy (s případnými úpravami) spouštět dokonce i pod dalšími operačními systémy. Opět na závěr malá ukázka zdrojového kódu jazyka VB.NET: Partial Class Default4 Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Visible = False End Sub End Class Tabulka 3.2: Zdrojový kód jazyka VB.NET 8

22 3 Přístup k datům ADO.NET V mnoha typech aplikací a nejčastěji v podnikových aplikacích je potřebné přistupovat k datům uloženým v nějakém datovém zdroji, kterým často bývá relační databázový systém, ale mohou to být i jiné. Před nástupem internetu, jsme měli zejména desktopové aplikace poháněné daty. S rostoucím počtem lidí, využívající internet jako zdroj neomezených informací, se také zvyšuje počet webových aplikací (stránek), využívající rozmanité typy databází. Tyto aplikace se zejména soustřeďují na získávání, zobrazování a modifikaci dat. Za poslední léta se hodně změnil způsob, jakým aplikace používají data, která se neustále mění. Vývojáři se přesunuli od vývoje prostých klientských aplikací, pracujících s lokálními databázemi, na distribuované systémy. Distribuované systémy pracují s centralizovanými databázemi, které jsou umístěny na serverech určených k tomuto účelu. Kontinuálně s tím probíhá vývoj i u technologií určených k přístupu k datům. Jestliže si vezmeme technologie přístupu k datům od Microsoftu, zpozorujeme mix písmenkových zkratek ODBC, DAO, RDO, RDS, ADO a ADO.NET, jakožto nejnovější technologie přístupu k datům, která bude rozebrána podrobněji v dalších odstavcích této práce. 3.1 Základ ADO.NET Cestou jak přistupovat k datům v prostředí.net Framework je jeho součást, nebo jinými slovy komponenta, ADO.NET. Tato komponenta je následníkem technologie společnosti Microsoft s názvem ADO (ActiveX Data Objects). Oproti staršímu ADO, je již technologie ADO.NET mimo jiné připravena na použití v odpojených aplikacích (bude upřesněno níže) a také na nasazení ve vícevrstvých aplikacích, které jsou v dnešní době následníky aplikací s architekturou klient-server. Jednou s dalších důležitých vlastností komponenty ADO.NET je, že je možné standardizovaným způsobem přistupovat k datům v různých datových zdrojích, což lze do určité míry chápat jako odpověď na technologii JDBC (Java database connectivity) pro platformu Java. V ADO.NET však nenajdeme třeba možnost aktualizovat data (update) při otevřeném spojení klienta s databází za pomoci pesimistického zamykání záznamů, což je v klasickém ADO běžné. Lze říci, že ADO.NET je projektováno pro použití v síťovém (a ještě více webovém) prostředí. ADO.NET se skládá z řízených tříd, které umožňují aplikacím.net se připojovat ke zdrojům dat, vykonávat příkazy a spravovat data. ADO.NET má tu schopnost, že ve webových aplikacích píšeme víceméně stejný kód pro přístup k datům, jako je ten, který píšeme v desktopových aplikacích klient/server, a jaký píšeme v jednouživatelských aplikacích, které se připojují k lokální databázi. ADO.NET používá vícevrstevnou architekturu, pracující zejména s objekty Connection, Command či DataSet (objekty pro připojení, příkazy a sadu dat). Technologie ADO.NET je spojena s formátem XML, o čemž se během našeho poznávání této technologie několikrát přesvědčíme. Typy spojené s komponentou ADO.NET se nacházejí ve jmenných prostorech rozšiřující jmenný prostor System.Data (System.Data.Common, System.Data.SqlClient, System.Data.Odbc, ). Mimo tyto jmenné prostory do komponenty ADO.NET spadají i některé třídy ze jmenného prostoru System.Xml. V technologii ADO.NET máme možnost přístupu k datům v 9

23 různých datových zdrojích tak, že jsou předepsána určitá rozhraní (IDbConnection, IDbCommand, IDataReader, IDataAdapter, ), kde každé má svou specifickou úlohu. Použitím přístupu pomocí rozhraní je dosaženo toho, že je možné psát takový kód, který bude fungovat pro jakýkoli datový zdroj. To znamená, že pokud se změní datový zdroj naší aplikace (např. databáze ORACLE na databázi MS SQL) a naše aplikace je napsána s použitím přístupu přes zmíněná obecná rozhraní ADO.NET, chod aplikace zůstane stejný. Pokud chceme například v technologii ADO získat nějaký záznam z nějaké databáze Oracle, použijeme stejnou třídu Connection, kterou by jsme použili, kdyby jsme řešili stejný úkol s využitím SQL Serveru, ovšem v ADO.NET je to jinak zde se používá model poskytovatelů dat. 3.2 Poskytovatelé dat ADO.NET Poskytovatel dat (data provider) je sada tříd ADO.NET, umožňující nejenom přístup ke konkrétní databázi, ale také umožňují vykonávat příkazy SQL a získávat data. V podstatě je poskytovatel dat jakýmsi mostem mezi aplikací a zdroji dat. Do tříd, z nichž se skládá poskytovatel dat, patří: Connection (připojení). S jeho pomocí zřizujeme připojení ke zdroji dat. Command (příkaz). S jeho pomocí vykonáváme příkazy SQL a uložené procedury. DataReader (čtenář dat). Poskytuje rychlý přístup (jen ke čtení a jen směrem dolů) k datům získaným z nějakého dotazu. DataAdaptor (datový adaptér). Dělá dvě věci. Za prvé s ním můžeme naplnit sadu dat (objekt DataSet) informacemi extrahovanými ze zdroje dat. A za druhé s jeho pomocí můžeme promítnout změny do zdroje dat (na základě modifikací, které jsme udělali v sadě dat). ADO.NET obsahuje konkrétní poskytovatele dat, kteří byli navrženi pro různé druhy zdrojů dat. Každý poskytovatel dat specificky implementuje třídy Connection, Command, DataReader, DataAdapter, které jsou optimalizovány pro konkrétní RBDMS (Relational Database Management System - relační databázový systém). A tedy pokud budeme vytvářet připojení například k databázi SQL Serveru, použijeme třídu připojení, která se jmenuje SqlConnection. Model poskytovatelů ADO.NET je výhodný také díky možnosti rozšiřitelnosti (extensible). Z čehož vyplývá, že si mohou vývojáři vytvářet vlastní poskytovatele dat pro různorodé zdroje dat. Někteří výrobci dokonce prodávají vlastní poskytovatele pro.net. Základní knihovna tříd.net Frameworku obsahuje čtyři základní ADO.NET data providery: Poskytovatel SQL Serveru. Poskytuje optimalizovaný přístup k databázi SQL Serveru (verze 7.0 nebo novější). jmenný prostor System.Data.SqlClient Poskytovatel OLE DB. Poskytuje přístup k jakémukoliv zdroji dat, který má nějaký ovladač OLE DB. Patří sem také databáze SQL Serveru starších verzí než 7.0. jmenný prostor System.Data.OleDb Poskytovatel Oracle. Poskytuje optimalizovaný přístup k databázi Oracle (verze 8i nebo novější). jmenný prostor System.Data.Oracle 10

24 Poskytovatel ODBC. Poskytuje přístup k jakémukoliv zdroji dat, který má nějaký ovladač ODBC. jmenný prostor System.Data.Odbc Vrstvy modelu poskytovatelů ADO.NET jsou znázorněny na obrázku 3.1. Obrázek 3.1: Architektura ADO.NET [1] 3.3 Připojené a odpojené aplikace Pokud budeme tvořit aplikace komunikující s nějakým datovým zdrojem, můžeme použít dva scénáře pro přístup k datům a to scénář, kdy je aplikace takzvaně připojena k datovému zdroji (on-line) nebo naopak je od datového zdroje většinu času odpojena (offline). Každý z těchto scénářů má své výhody a nevýhody, a proto se hodí v různých typech situací. Komponenta ADO.NET je navržena tak, aby bylo možné ji použít v obou těchto scénářích. Následujících pár řádků bude podrobněji pojednávat o jednotlivých scénářích a o obecném pohledu na jejich implementaci v rámci ADO.NET Připojená aplikace Pokud se jedná o připojenou aplikaci, tak tato aplikace má vždy při manipulaci se souvisejícím datovým zdrojem aktivní připojení k tomuto zdroji. To je vhodné v případech, kdy potřebujeme přistupovat k datům, která jsou často měněna a v aplikaci potřebujeme vždy aktuální verzi těchto dat. Na druhou stranu to může představovat nevýhodu v podobě zvýšené komunikace mezi aplikační vrstvou a vrstvou datovou (to znamená mezi aplikací a například databází). 11

25 V případě ADO.NET jsou tyto scénáře řešeny pomocí kombinace jednotlivých implementací rozhraní IDbConnection, IDbCommand (v případě potřeby v souvislosti s implementací rozhraní IDbParameter) a IDataReader pro konkrétní datový zdroj. Obrázek 3.2: Schéma připojené aplikace Odpojená aplikace Novějším, a v některých situacích také o mnoho vhodnějším, způsobem je použití odpojeného datového zdroje, díky čemuž se aplikace tohoto způsobu užívající, nazývají odpojenými aplikacemi. V tomto případě jsou data získána z datového zdroje do aplikace a po té je spojení s datovým zdrojem ukončeno. Od chvíle odpojení od datového zdroje, aplikace manipuluje s obrazem získaných dat, který je uložen v paměti. Po dokončení potřebných modifikací dat na úrovní aplikační logiky, je opět vytvořeno aktivní spojení k datovému zdroji, zjištěny rozdíly mezi daty z aplikace a daty v datovém zdroji a po té jsou tyto rozdíly promítnuty do příslušného datového zdroje. Toto řešení je vhodné pro aplikace, u kterých chceme redukovat komunikaci mezi jednotlivými vrstvami aplikace (aplikační a datovou). To se nejvíce hodí v situacích, kdy se aplikace a datový zdroj nacházejí na rozdílných počítačích a tím pádem se vyhýbáme komunikaci po síti. Samozřejmě je potřeba zvážit počet uživatelů, kteří k daným datům přistupují, aby nedocházelo k častým změnovým konfliktům. Technologie ADO.NET má pro toto řešení výbornou podporu a to v podobě třídy DataSet, která představuje onen kýžený obraz získaných dat v paměti. Instance této třídy je naplněna daty pomocí konkrétní implementace rozhraní IDataAdapter, který využívá implementace rozhraní IDbConnection a IDbCommand. 12

26 Obrázek 3.3: Schéma odpojené aplikace 13

27 4 ASP.NET a konkurence V oblasti tvorby webových stránek, lépe řečeno programování webových stránek, je v dnešní době spousta technologií, soupeřících o pomyslný největší kus koláče, který může reprezentovat buď celkový počet vytvořených webových stránek v dané technologii nebo počet vývojářů pracující s danou technologií. Za nejrozšířenější technologie pro programování webových stránek můžeme v dnešní době označit ASP, ASP.NET, JSP (Java Server Pages) a PHP (Personal Home Pages resp. Hypertext Preprocesor). Ani jedna z nich se nedá přímo srovnávat s druhou, protože se ve většině případů velmi liší. Pro alespoň obecnou představu si zkusíme jednotlivé technologie v dalších odstavcích přece jenom porovnat. 4.1 Technologie možné jako konkurence Technologie ASP, jak již bylo dříve uvedeno, je překonána a nahrazena ASP.NET, proto se i v praxi od této technologie upouští a nové webové stránky se již prakticky nevytvářejí a spíše se jen udržují již hotové webové stránky. Z toho důvodu nepředstavuje ASP konkurenci ASP.NET a také není mnoho důvodů, proč by se měla tato technologie srovnávat s ostatními, jestliže bude za pár let jen minulostí. Daleko zajímavější je PHP skriptovací jazyk, vytvářený jako open-source projekt. PHP spatřuje světlo světa více než 10 let, má mnoho verzí za sebou a možná i několik před sebou. Srovnání ASP.NET a PHP může vyznít podobně jako by jsme chtěli srovnávat v našich poměrech Škodu Favorit se Superbem. Favorit dnes upravují a zlepšují jen nadšenci, sice je stále oblíben a hojně používán i díky tomu, že si každý náhradní díl stále můžete sehnat a ve většině případů i samy opravit. Naproti tomu za vývojem nového Superbu stojí koncern Volkswagen. Stávajících majitelů Superbu jistě nebude zatím tolik, kolik majitelů Favoritu, ale tyto počty nebudou dlouho pravda a majitelů Superbu bude rozhodně časem přibývat, čím dál více oproti Favoritu. Počet Favoritů by mohl začít růst snad jen v případě vývoje nového prototypu. Tolik co do automobilové řeči. Nehledě na mnohé rozdíly se pokusíme ASP.NET a PHP porovnat dále v textu, poněvadž je dnes PHP hojně používáno a rozhodně si zaslouží pozornost. Poslední na řadě, ale rozhodně ne méně významná, je technologie od dalšího světového hráče na poli software Sun Microsystems a jejich JSP na bázi programovacího jazyka JAVA. S uváděných technologií je JSP nejvíce podobná ASP.NET, jelikož se prolíná plně objektové programování v plnohodnotném programovacím jazyku s html tagy jako u ASP.NET. Opět i zde je srovnání obtížné. Obě společnosti investují nemalé prostředky do vývoje, ovšem každá společnost má jiné pracovní pomůcky a podle toho vypadá konečný produkt. 14

28 4.2 JSP (JAVA SERVER PAGES) Roku 1997 byly firmou Sun Microsystems představeny malé programy, generující webové stránky na straně serveru - servlety. O rok později Sun představuje komplexní platformu J2EE (Java 2 Enterprise Edition), na jejímž základě jsou postaveny i produkty jiných softwarových společností. Roku 1999 se Sun nechal inspirovat technologií ASP a uvádí specifikaci JSP, která je postavena na platformě J2EE. Java Server Pages je v podstatě Java běžící na serveru, liší se tak od appletů, které jsou vykonávány u klienta. JSP je skriptovací jazyk a má oproti servletům, tedy věci výkonově mohutné, tu výhodu, že je pro její programátory jednodušší. Není totiž nezbytné programovat celý servlet, ale pouze dodat do HTML kódu několik značek a efekt je nakonec stejný. Při prvním volání JSP stránky od její změny, je stránka nejprve konvertována do podoby zdrojového kódu servletu (okolní "statický" HTML text je převeden do příkazů print v metodě service()), pak zkompilována do bytového kódu (.class) a posléze pomocí rozhraní JVM (Java Virtual Machine) spuštěna. Výsledek je pak odeslán webovému serveru a následně je výsledná HTML (popř. XML aj.) stránka odeslána ke klientovi. Při dalším požadavku klienta již není stránka převáděna do bytového kódu. Odpadá tedy konverze na servlet a bytový kód. Stránka je tedy podruhé mnohem rychleji nahrána. Celá aplikace je tedy hodně výkonná, protože jsou skripty vyvolávány v již přeloženém stavu. Fakt, že JSP je v podstatě budoucí servlet, má bezprostřední vliv na její programování, zejména na způsob získávání parametrů od klienta a generování výstupu. Uvnitř kódu každé JSP má programátor přístup k několika předdefinovaným proměnným, tzv. implicitním objektům. Mezi nejdůležitější z nich patří request (instance třídy HttpServletRequest; pomocí této proměnné lze především číst parametry požadavku), response (instance HttpServletResponse), a out (výstupní proud, kterým posíláme data klientovi). Při vytváření JSP se v hojné míře používají tzv. JavaBeans. Java Bean je opakovaně využitelná programová komponenta. Jde v podstatě o třídu, která má určité vlastnosti (properties). Každé vlastnosti odpovídá dvojice metod s ustálenými názvy. Hodnoty těchto vlastností mají vliv na čtení nebo nastavení (např. pracují s nastavením nějaké proměnné). Při vhodném použití JavaBeans bude kód uvnitř JSP kratší, přehlednější a bude se snáze udržovat. JavaBeans umožňují oddělit obsah (co chceme vložit do vygenerovaného dokumentu) od konkrétní implementace (např. způsob získávání dat z databáze), která se může později změnit bez nutnosti zásahu do JSP. Technologie J2EE je nezávislá na hardwarové platformě a operačním systému. Vytvořené řešení lze bez újmy na zdraví přenést na jinou platformu, na jiný webový server. Webový server samozřejmě musí mít nainstalovanou podporu JSP. Jde o komplexní a nákladné řešení, hodící se pro vývoj velkých internetových a intranetových aplikací. 15

29 Obrázek 4.1: JSP princip činnosti 1. Uživatel požádá o webovou stránku, která byla vytvořená jako JSP. Klient vytvoří požadavek (request) a směřuje ji přes síť na server. 2. Požadavek je nasměrovaný na příslušný web server. 3. Web server zjistí, že požadovaný soubor je speciální, protože má koncovku "jsp". Proto přesměruje JSP soubor do JSP Servlet stroje. 4. V případě, že tento soubor byl volaný poprvé, JSP stroj ho překontroluje. V opačném případě pokračuje bodem V dalším kroku je vygenerovaný speciální servlet, vytvořený na základě souboru JSP. Všechno statické HTML je uložené v out.println() příkazech. 6. Zdrojový kód servletu je zkompilovaný a je vytvořený ".class" soubor. 7. Je vytvořená instance servletu a zavolají se metody init() a service(). 8. Výstupem ze servletu je HTML, které je poslané přes síť. 9. Uživateli se zobrazí výsledky. Na tomto jednoduchém příkladu (Tabulka 4.1) je vidět propojenost klasického HTML a Java kódu, uzavřeného mezi tagy <% a %>. 16

30 taglib uri=" prefix="h" %> taglib uri=" prefix="f" %> <html> <body> <p> <f:view> <h:form> <i>name:</i><br/> <h:inputtext id="name" value="#{loginbean.name}" required="true" /> <i>password:</i><br/> <h:inputsecret value="#{loginbean.password}" /> <h:message for="name" /> <h:commandbutton action="#{loginbean.login}" value="login" /> <h:commandbutton value="reset" type="reset" /> </h:form> </f:view> </p> </body> </html> Tabulka 4.1: Zdrojový kód JSP Srovnání JSP a ASP.NET Po stručném úvodu do JSP se pokusíme srovnat základní stavební kameny JSP a ASP.NET technologií. Jakékoliv srovnání mezi dvěma vývojovými platformami bude samozřejmě ovlivněno osobními preferencemi daného pisatele. Po shlédnutí několika vývojářských diskusních fór to vypadá tak, že je zde tendence pro ty, kteří používali obě platformy, se přiklonit směrem k Microsoft řešení v podobě ASP.NET. Mohli by jsme se ale mylně domnívat, že je to důsledek rozsáhlé marketingové kampaně ze strany Microsoftu, ovšem to se zdá být liché. Faktem zůstává umožnění lepší a rychlejší práce pro vývojáře ASP.NET díky: Znovu použitelnosti Webové ovládací prvky umožňují postavit znovu použitelné kousky uživatelského kódu, které mohou být jednoduše vyzvednuty a opět položeny na ASP.NET stránku. Jednoduchosti vývoje Visual Studio.NET bylo vyvinuto pro použití s ASP.NET a následkem toho vykonává dvojí úlohu: editoru kódu a také vyobrazení stránky. Oproti tomu NetBeans byly prvotně určeny pro vývoj okenních aplikací pod Javou. Výkonu Takové inovace jako částečné cachování stránek a způsob kompilace stránek, poskytují ASP.NET lepší výkon ve srovnání s JSP. Rozšiřitelnosti Výkonnostní výhody se také projeví na rozšiřitelnosti a společně s možností ukládat data relace do centrální databáze, dělá vývoj aplikací pro webové farmy mnohem jednodušší. Architektuře Model událostí ASP.NET na straně serveru, jenž odděluje kód od obsahu, dovolujícím WYSIWYG ( What you see is what you get, Co vidíš, to dostaneš. ) editaci stránky, je integrován s ostatními komponentami.net platformy. Takové, jako je například Visual 17

31 Studio.NET, poskytují silné výhody, ve srovnání s tím, co poskytuje Java JSP stránkám. Významný rozdíl mezi nimi je i ten, že JSP nazývá Java programem ten program, který je realizovaný Webovým Serverem, zatímco ASP.NET obsahuje skript, který je interpretován skriptovým interpreterem (VBScript) před tím, než je stránka odeslána k uživateli. Již z popisu JSP jde zpozorovat velká rozdílnost mezi těmito dvěmi technologiemi. Na jejich základě je i vidět odlišnost co do výkonu, jednoduchosti, přehlednosti a přenositelnosti. Každá z těchto vlastností se více či méně, to například v přenositelnosti, kde ASP.NET dohání co se dá, podepisuje na převaze ASP.NET. Srovnání můžeme také zaměřit na vývojové prostředí dostupné od jednotlivých společností. Sun a jeho NetBeans byl prvotně tvořen pouze pro podporu vývoje desktopových aplikací v jazyce Java, kdežto Visual Studio.NET byl od počátku zaměřen, jak na vývoj desktopových, tak webových aplikací a to v různých programových jazycích. Dle mého subjektivního pozorování a zkoušení se mi jeví NetBeans pro tvorbu webových stránek až příliš složitý, hlavně díky nepřehledným nabídkám, kde je spousta možností na výběr, kdežto vy jako začátečník požadujete jen tu jednu. Pro zkušené vývojové pracovníky by to samozřejmě neměl být problém a spíše ocení možnost výběru. Začátečníkům ovšem doporučuji raději použít nějaký HTML editor s podporou JSP. Vyhodnocení srovnání ASP.NET a JSP by dle mého názoru dopadlo kladně pro ASP.NET, avšak to neznamená, že se JSP pro tvorbu webových aplikací nehodí. Pro JSP hovoří pozitivně zejména znalost programovacího jazyka Java mezi vývojáři a vhodné využití pro rozsáhlé webové aplikace. Naproti tomu jednoduché osobní webové stránky se budou vytvářet daleko snadněji v PHP. Sun Microsystems se rozhodně nebude chtít vzdát své technologie pro tvorbu webových aplikací JSP a bude se snažit vyvíjet další nové technologie a přizpůsobovat stávající dle současných trendů, aby nezůstal ani krok za svým největším konkurentem v oblasti webových aplikací - Microsoftem. Napovídá tomu i fakt neustále rostoucí poptávky po webových službách určených nejen pro osobní počítače, ale zejména pro mobilní zařízení, kde může Java s JSP technologií snadno uspět, za předpokladu neustálého zlepšování a zdokonalování svých technologií. Jestliže si společnost Sun Microsystems uvědomuje současné trendy v oblasti webových služeb, o čemž nepochybuji, může být vyrovnaným konkurentem Microsoftu a dalších i do budoucna. 4.3 PHP ( Hypertext Preprocesor ) PHP (původně označováno jako Personal Home Page) je skriptovací programovací jazyk, určený především pro programování dynamických internetových stránek. Nejčastěji se začleňuje přímo do struktury jazyka HTML, XHTML či WML, což je velmi výhodné pro tvorbu webových aplikací. PHP lze ovšem také použít i k tvorbě konzolových a desktopových aplikací. Jeho počátky spadají do roku Tehdy se pan Rasmus Lerdorf rozhodl vytvořit jednoduchý systém pro počítání přístupu ke svým stránkám, byl napsán v PERLu. Za nějakou dobu byl systém přepsán do jazyka C, protože perlovský kód dost zatěžoval 18

32 server. Sada těchto skriptů byla ještě později téhož roku vydána pod názvem "Personal Home Page Tools", zkráceně PHP. Ještě později publikováno pod názvem "Personal Home Page Construction Kit". U toho však dlouho nezůstalo. V polovině roku 1995 se systém PHP spojil s jiným programem stejného autora, a to sice s nástrojem "Form Interpreter" neboli zkráceně FI. Tak vzniklo PHP/FI 2.0, systém, který si postupně získal celosvětovou proslulost a byl velmi rozšířen. Zeev Suraski a Andi Gutmans v roce 1997 přepsali parser a zformovali tak základ PHP3. Koncem roku 1998 byla již k dispozici verze PHP 3.0, která byla mnohem rychlejší (a vybavenější) než "dvojka" a byla k dispozici rovněž pod operačními systémy Windows. Počet webů používající PHP se zvyšoval, až dosáhl cca Verze PHP 4 přidala do jazyka mnoho nových funkcí a rovněž přinesla přepracované a tudíž podstatně rychlejší jádro Zend. Poslední uveřejněná verze PHP 5 v roce 2004 přinesla jádro Zend II, kompletně přepsaná podpora XML, nové objektové rozhraní pro práci s databází MySQL a mnoho dalšího. S verzí PHP 5 se výrazně zlepšil přístup k objektově orientovanému programování podobný Javě. Podle údajů z dubna 2007 běží PHP na více než doménách a je to bezkonkurenčně nejčastěji používaný modul webového serveru Apache. Jazyk PHP je interpretovaný, což znamená, že až do okamžiku svého použití (spuštění) je uchováváno ve zdrojovém tvaru. Interpret jazyka tento kód vezme a překládá jej do strojového kódu pro počítač, na kterém PHP běží. To je samozřejmě pomalejší než v případě kompilovaného kódu, který je k dispozici již přímo ve spustitelném tvaru. Cílový počítač soubor vezme, uvedeným instrukcím rozumí a může je ihned provádět. PHP skripty jsou prováděny na straně serveru, k uživateli je přenášen až výsledek jejich činnosti. Syntaxe jazyka kombinuje hned několik programovacích jazyků (Perl, C, Pascal a Java). PHP je nezávislý na platformě. Skripty fungují bez úprav na mnoha různých operačních systémech. Obsahuje rozsáhlé knihovny funkcí pro zpracování textu, grafiky, práci se soubory, přístup k většině databázových serverů (mj. MySQL, ODBC, Oracle, PostgreSQL, MSSQL) a podporu celé řady internetových protokolů (HTTP, SMTP, SNMP, FTP, IMAP, POP3, LDAP, ). 19

33 Obrázek 4.2: Princip činnosti PHP [12] Pokusíme se popsat typické vlastnosti skriptovacího jazyka PHP. Jazyk PHP je dynamicky typový, tzn. že datový typ proměnné se určí v okamžiku přiřazení hodnoty. Díky tomu má PHP dva typy porovnání, '= =' stejný jako v C a '= = =', který platí jen když jsou oba dva výrazy stejného typu. Pole v PHP jsou heterogenní, mohou tedy obsahovat jakékoli údaje, stejně tak jako jejich indexy a řetězce lze uzavírat jak do uvozovek (obsah je parsován), tak do apostrofů (obsah není parsován). Proč je PHP tak oblíbené? K tomu vede celá řada věcí: PHP je relativně jednoduché na pochopení a použití. PHP má syntaxi velmi podobnou jazyku C a je tedy většině vývojářů dost blízký. PHP podporuje širokou řadu souvisejících technologií, formátů a standardů. Kombinuje vlastnosti více programovacích jazyků a nechává tak vývojáři částečnou svobodu v syntaxi. Je to otevřený projekt s rozsáhlou podporou komunity. Dají se najít kvanta již hotového kódu k okamžitému použití nebo funkční PHP aplikace. Podstatná část z hotového kódu je šířena pod nějakou svobodnou licencí a dá se použít ve vlastních projektech. PHP si dobře rozumí s webovým serverem Apache. PHP snadno komunikuje s databázemi jako je MySQL, PostgreSQL a řadou dalších. PHP je multiplatformní a lze jej provozovat s většinou webových serverů a na většině dnes existujících operačních systémech. 20

34 PHP podporuje mnoho existujících poskytovatelů webhostingových služeb V kombinaci s databázovým serverem (především s MySQL nebo PostgreSQL) a webovým serverem Apache je často využíván k tvorbě webových aplikací. Díky velmi častému nasazení na serverech se vžila zkratka LAMP tedy spojení Linux, Apache, MySQL a PHP nebo Perl. PHP má i své nevýhody, a pokud budeme chtít napsat dynamický web, s některými věcmi by jsme se měli při použití PHP seznámit: PHP je interpretovaný a ne kompilovaný jazyk, což má za následek zpomalení výkonu. Kdokoli má přímý přístup k serveru, může nahlédnout do PHP skriptů. Podpora objektového programování není v PHP na moc dobré úrovni. Poněvadž je PHP aktivně vyvíjen, v budoucích verzích jazyka se mohou některé funkce změnit nebo se mohou chovat jinak než dosud a to má za následek nekompatibilitu s předchozími verzemi. V PHP se dá napsat téměř všechno, co nějak souvisí s dynamickým webem anebo s databázemi. Mezi nejčastější aplikace psané v PHP patří například: internetové obchody podnikové informační systémy (ať už intranetové nebo internetové) diskusní fóra redakční systémy firemní prezentace dynamické osobní stránky webový poštovní či databázový klienti vyhledávače a katalogy drobnosti typu počítadla, ankety a mnoho dalších Ukázka použití kódu PHP ve webové stránce: <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <title>php ukázka</title> </head> <body bgcolor="#eeeeee" text="#050004"> <center><font face="arial CE, Arial" size="10"> <?php $martin = 194; // Martinova výška $honza = 174; // Honzova výška $petr = 165; // Petrova výška $prumerna_vyska = ($martin + $honza + $petr)/3; echo "Průměrná výška je $prumerna_vyska cm.";?> </font></center> </body> </html> Tabulka 4.2: Zdrojový kód PHP 21

35 4.3.1 Srovnání PHP a ASP.NET V těchto pár odstavcích se pokusím přehledně a jednoduše porovnat některé z části technologií ASP.NET a PHP Vnitřní struktura Srovnání obou technologií začneme jejich technologickým pozadím, tedy tím, o co se mohou opřít. Vše podstatné už vlastně bylo napsáno v představení technologií, proto jen krátké shrnutí: PHP je subtilní samostatná technologie, která pro vývojáře poskytuje poměrně dobrou infrastrukturu, sama se ale o nic většího neopírá. Naproti tomu je ASP.NET součástí rozsáhlého.net Frameworku a samostatně ani existovat nemůže. Oba přístupy mají něco do sebe. Speciálně vytvořené PHP je přímočarou platformou, která bez okolků poskytuje účelové nástroje pro vývoj webových aplikací. Také proto bývá PHP označováno jako jedno-duché. ASP.NET je naopak součástí víceúčelové platformy. Obrázek 2.2 ukazuje, že ASP.NET využívá úplně stejné knihovny funkcí (Base Class Library) jako Windows Forms, společná je také vrstva pro přístup k datům (v obrázku označena jako ADO.NET a XML ). Tato integrace na jednu stranu zaručuje konzistenci s ostatními oblastmi vývoje, na druhou stranu je ASP.NET tak trochu spoutáno pravidly, které platí pro celý framework. Rozsáhlost.NET Frameworku je také nepříjemnou vlastností pro začátečníky ASP.NET působí při prvním setkání složitým dojmem (v kontrastu s jednoduchostí PHP). Ačkoliv tedy každý přístup má svá pro a proti, výhodou PHP je, že se ho lze kvůli jeho jednoduchosti rychle naučit. Ovšem člověk znalí alespoň základům objektově orientovaného programování nebude mít problém ani s ASP.NET Podporované jazyky PHP není jen platformou pro vývoj webových aplikací, ale i skriptovacím jazykem této platformy, a to jazykem jediným. Existuje sice možnost integrace s Javou [9] nebo modul pro Python [10], nicméně nelze říct, že by PHP obecně podporovalo více jazyků. Naproti tomu celý.net Framework je jazykově neutrální lze používat libovolný jazyk, který vyhovuje určitým pravidlům (Common Language Specification). ASP.NET 2 obsahuje přímou podporu pro Visual Basic.NET a C#, jinak je možno využívat z nabídky více než 25 jazyků. Jazyková neutralita je nádherná vlastnost, která má mnoho příjemných důsledků. První je samozřejmě možnost volby. Vývojář ve Visual Basicu se nemusí učit nějaký nový jazyk, který je už od pohledu zcela odlišný, vývojář v Javě má okamžitě k dispozici J#, což je jazyk se shodnou syntaxí, vývojář v C++ může svůj oblíbený jazyk okamžitě začít používat atd.. Tím, že se zdrojový kód kompiluje do MSIL (Microsoft Intermediate Language), je ale jazyková neutralita dotažena k dokonalosti. Není nejmenší problém napsat některé třídy třeba v COBOLu, jiné v Pascalu a přitom využívat funkčnosti tříd napsaných v C#. Co se týče podpory jazyků, je ASP.NET nepochybně lepší. 22

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework úvod, historie, základy.net framework, programovací jazyky, vývojové prostředky Úvod strana 2 Cíl předmětu Seznámit se s vývojem aplikací

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

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

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

Více

Seznámení s prostředím dot.net Framework

Seznámení s prostředím dot.net Framework Základy programování v jazyce C# Seznámení s prostředím dot.net Framework PL-Prostředí dot.net - NET Framework Je základním stavebním prvkem, na kterém lze vytvářet software. Jeho součásti a jádro je založené

Více

Microsoft Office 2003 Souhrnný technický dokument white paper

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

Více

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita Aktivní webové stránky Úvod: - statické webové stránky: pevně vytvořený kód HTML uložený na serveru, ke kterému se přistupuje obvykle pomocí protokolu HTTP (HTTPS - zabezpečený). Je možno používat i různé

Více

Kapitola 1: Co je Microsoft Access? 27 Kapitola 2: Mnoho tváří aplikace Microsoft Access 41 Kapitola 3: Návrh databázové aplikace 75

Kapitola 1: Co je Microsoft Access? 27 Kapitola 2: Mnoho tváří aplikace Microsoft Access 41 Kapitola 3: Návrh databázové aplikace 75 Stručný obsah Část 1 Základy aplikace Microsoft Access Kapitola 1: Co je Microsoft Access? 27 Kapitola 2: Mnoho tváří aplikace Microsoft Access 41 Kapitola 3: Návrh databázové aplikace 75 Část 2 Vytváření

Více

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Vývoj aplikací Téma: Visual Studio Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 19,2 Číslo: V/5 Programování

Více

Vladimír Mach. @vladimirmach 2. 1. 2013

Vladimír Mach. @vladimirmach 2. 1. 2013 Vladimír Mach @vladimirmach 2. 1. 2013 SQL Server Compact Edition Jednoduchá relační databáze Použití i v malých zařízeních s omezenými zdroji Dříve pod názvem SQL Server Mobile Časté využití při programování

Více

C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí

C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí C# - Databáze úvod, ADO.NET Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Co je to databáze? Databáze je určitá uspořádaná množina informací

Více

Společnost Xerox vytváří škálovatelné, hostované řešení pro optimalizaci globální správy tiskových aktiv

Společnost Xerox vytváří škálovatelné, hostované řešení pro optimalizaci globální správy tiskových aktiv Microsoft Visual Studio 2005 a Microsoft SQL Server 2005 Případová studie zákaznického řešení Společnost Xerox vytváří škálovatelné, hostované řešení pro optimalizaci globální správy tiskových aktiv Přehled

Více

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25 Programování v C# Úvodní slovo 1 / 25 Obsah přednášky Seznámení s předmětem Co je.net Vlastnosti.NET 2 / 25 Kdo je kdo Petr Vaněček vanecek@pf.jcu.cz J 502 Václav Novák vacnovak@pf.jcu.cz?? Při komunikaci

Více

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web,

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web, Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web, v doslovném překladu "světová rozsáhlá síť neboli celosvětová síť, je označení

Více

Technologie Java. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Technologie Java. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Technologie Java Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Trocha historie Java vznikla v roce 1995 jak minimalistický programovací jazyk (211 tříd). Syntaxe vycházela z C/C++. V

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Programovací jazyky Přehled a vývoj

Programovací jazyky Přehled a vývoj Programovací jazyky Přehled a vývoj 1 Programování a programovací jazyk Historie a současnost programovacích jazyků Objektově orientované a vizuální programování Značkovací a skriptovací jazyky 2 Programování

Více

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

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

Více

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nástroje a frameworky pro automatizovaný vývoj Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Proces vývoje webové aplikace Předepsaná adresářová struktura. Kompilace zdrojových kódů.

Více

Obsah Úvod... 9 Visual Basic.NET 2003 na první pohled... 17 Visual Basic.NET 2003 Základy programování v jazyce Visual Basic.NET 2003...

Obsah Úvod... 9 Visual Basic.NET 2003 na první pohled... 17 Visual Basic.NET 2003 Základy programování v jazyce Visual Basic.NET 2003... Obsah Úvod... 9 Struktura knihy... 10 Pro koho je kniha určena... 12 Co budete potřebovat... 13 Typografické konvence... 14 Soubory ke stažení... 15 Vaše reakce jsou vítané... 15 Poděkování... 15 Visual

Více

Programování v jazyku C# II. 5.kapitola

Programování v jazyku C# II. 5.kapitola Programování v jazyku C# II. 5.kapitola Obsah O ADO.NET Spojení s DB Příkazy Jednoduché čtení DataSet 2/28 ADO.NET ADO - ActiveX Data Object Orientováno na webové aplikace neexistence stavu v HTTP Obecný

Více

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

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

Více

TÉMATICKÝ OKRUH TZD, DIS a TIS

TÉMATICKÝ OKRUH TZD, DIS a TIS TÉMATICKÝ OKRUH TZD, DIS a TIS Číslo otázky : 20. Otázka : Datová vrstva informačního systému. Nezávislý přístup k datům - standardy ODBC/JDBC. Architektura a použití ADO.NET. Obsah : 1. ODBC 2. JDBC 2.1

Více

1 - Úvod do platformy.net. IW5 - Programování v.net a C#

1 - Úvod do platformy.net. IW5 - Programování v.net a C# 1 - Úvod do platformy.net IW5 - Programování v.net a C# Strana 1 Obsah přednášky Objektově orientované paradigma.net Framework Základní rysy jazyka C# Strana 2 Objektová orientace C# implementuje základní

Více

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

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

Více

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče. KAPITOLA 3 Architektura aplikací na frameworku Rails V této kapitole: modely, pohledy, řadiče. 58 Část I: Začínáme Jedna ze zajímavých vlastností frameworku Rails spočívá v tom, že klade docela závažná

Více

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Databázové aplikace pro internetové prostředí 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Projekt: Inovace výuky prostřednictvím ICT Registrační číslo: CZ.1.07/1.5.00/34.250

Více

Programovací jazyk Úvod do programování v C#

Programovací jazyk Úvod do programování v C# Programovací jazyk C# Úvod do programování v C# Ing. Marek Běhálek Katedra informatiky FEI VŠB-TUO A-1018 / 597 324 251 http://www.cs.vsb.cz/behalek marek.behalek@vsb.cz .NET Framework Dramaticky zjednodušit

Více

Server-side technologie pro webové aplikace

Server-side technologie pro webové aplikace Server-side technologie pro webové aplikace PIA 2011/2012 Téma 6 Copyright 2006 Přemysl Brada, Západočeská univerzita Server-side scriptování Cíl dynamické generování webového obsahu/rozhraní integrace

Více

InterSystems Caché Post-Relational Database

InterSystems Caché Post-Relational Database InterSystems Caché Post-Relational Database Martin Holoubek xholoub@fi.muni.cz Úvod InterSystems byla založena shodou okolností ve stejném roce jako její největší konkurent Oracle 1978 Caché je velmi vyspělý

Více

Programovací jazyk C# Úvod do programování v C#

Programovací jazyk C# Úvod do programování v C# Programovací jazyk C# Úvod do programování v C# Ing. Marek Běhálek Katedra informatiky FEI VŠB-TUO A-1018 / 597 324 251 http://www.cs.vsb.cz/behalek marek.behalek@vsb.cz.net Framework Dramaticky zjednodušit

Více

Kentico CMS. Hledáte rychlý, snadný a efektivní způsob jak si vytvořit firemní web? Dál už hledat nemusíte. Snadné použití pro marketéry

Kentico CMS. Hledáte rychlý, snadný a efektivní způsob jak si vytvořit firemní web? Dál už hledat nemusíte. Snadné použití pro marketéry Hledáte rychlý, snadný a efektivní způsob jak si vytvořit firemní web? Dál už hledat nemusíte. Snadné použití pro marketéry Kvalitní a nepřetržitá globální podpora Flexibilní nástroj pro vývojáře Kentico

Více

VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL

VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL Petr Štefan Václav Trunec, KP-sys, Čacké 155, Pardubice 1 Úvod Firma KP-SYS spol. s r. o. dodává na náš trh integrované

Více

Komponentní technologie

Komponentní technologie Komponentní technologie doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Motivace Aplikace v IT Vývoj přístupů

Více

MS ACCESS A MS WORD V KAŽDODENNÍ PRAXI

MS ACCESS A MS WORD V KAŽDODENNÍ PRAXI MS ACCESS A MS WORD V KAŽDODENNÍ PRAXI Martin Fussek VL Servis s.r.o., Ruská 24/83, 706 02 Ostrava Vítkovice, fussek@lahvarna.cz Abstrakt Příspěvek volně navazuje na můj příspěvek na TS 1999, přičemž nyní

Více

Programovací jazyk C# Úvod do programování v C#

Programovací jazyk C# Úvod do programování v C# Programovací jazyk C# Úvod do programování v C# Ing. Marek Běhálek Katedra informatiky FEI VŠB-TUO A-1018 / 597 324 251 http://www.cs.vsb.cz/behalek marek.behalek@vsb.cz.net Framework Dramaticky zjednodušit

Více

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

Sem vložte zadání Vaší práce. Sem vložte zadání Vaší práce. České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Rezervační komponenta pro informační systém sportovního

Více

Obsah. Stručná historie World Wide Webu 7

Obsah. Stručná historie World Wide Webu 7 KAPITOLA I Web bez tajemství 1 Kde se vzal web a jeho stránky 2 Kouzlo jménem HTML 3 Jak stránky připravovat 5 Webová grafika 6 Web aktivní a interaktivní 6 Na straně serveru 6 Jak studovat tuto knihu

Více

Instalace a konfigurace web serveru. WA1 Martin Klíma

Instalace a konfigurace web serveru. WA1 Martin Klíma Instalace a konfigurace web serveru WA1 Martin Klíma Instalace a konfigurace Apache 1. Instalace stáhnout z http://httpd.apache.org/ nebo nějaký balíček předkonfigurovaného apache, např. WinLamp http://sourceforge.net/projects/winlamp/

Více

Informační systém pro rezervaci pokojů hotelu SPORT

Informační systém pro rezervaci pokojů hotelu SPORT VŠB Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Informační systém pro rezervaci pokojů hotelu SPORT Programátorská příručka systému Příloha bakalářské práce 2006

Více

Compatibility List. GORDIC spol. s r. o. Verze 3.60.5 8.4.2009

Compatibility List. GORDIC spol. s r. o. Verze 3.60.5 8.4.2009 Compatibility List Verze 3.60.5 8.4.2009 GORDIC spol. s r. o. Copyright 1993-2009 1 Obsah Obsah 1 2 3 4 5 6 7 8 9 3.1 3.2 Úvodní informace Podporované databázové systémy Klientské prostředí Tlustý klient...

Více

Obchodní podmínky technické podpory programu ESRI Developer Network (EDN)

Obchodní podmínky technické podpory programu ESRI Developer Network (EDN) Obchodní podmínky technické podpory programu ESRI Developer Network (EDN) Technická podpora EDN programu je poskytována ve formě balíčku 10 předplacených konzultačních hodin za cenu 15.000,- Kč. 1) V rámci

Více

Tvorba informačních systémů

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

Více

Architektura aplikace

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

Více

BankKlient. FAQs. verze 9.50

BankKlient. FAQs. verze 9.50 BankKlient FAQs verze 9.50 2 BankKlient Obsah: Úvod... 3 Instalace BankKlient možné problémy... 3 1. Nejsou instalovány požadované aktualizace systému Windows... 3 2. Instalační program hlásí, že nemáte

Více

SharePoint 2010 produktové portfolio a licencování

SharePoint 2010 produktové portfolio a licencování SharePoint 2010 produktové portfolio a licencování Kamil Juřík SharePoint MVP Lead Consultant & Platform Architect Kamil.Jurik@ProSharePoint.cz Systémové požadavky software Aneb co potřebujeme? 64-bit

Více

Malý průvodce Internetem

Malý průvodce Internetem Malý průvodce Internetem Úvod Toto povídání by mělo sloužit jako užitečný zdroj informací pro ty, co o Internetu zatím mnoho neví nebo o něm jen slyšeli a neví, co si pod tím slovem představit. Klade si

Více

Databázové systémy trocha teorie

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

Více

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě PHP PHP původně znamenalo Personal Home Page a vzniklo v roce 1996, od té doby prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. PHP je skriptovací programovací jazyk, určený především

Více

Tvorba informačních systémů

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

Více

Úvod do aplikací internetu a přehled možností při tvorbě webu

Úvod do aplikací internetu a přehled možností při tvorbě webu CVT6 01a Úvod do aplikací internetu a přehled možností při tvorbě webu Internet a www Internet? Služby www ftp e-mail telnet NetNews konference IM komunikace Chaty Remote Access P2P aplikace Online games

Více

Michal Krátký, Miroslav Beneš

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

Více

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

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

Více

Statistica, kdo je kdo?

Statistica, kdo je kdo? Statistica, kdo je kdo? Newsletter Statistica ACADEMY Téma: Typy instalací Typ článku: Teorie Někteří z vás používají univerzitní licence, někteří síťové, podnikové atd. V tomto článku Vám představíme,

Více

IBM TRIRIGA Application Platform Verze 3 Vydání 4.2. Příručka instalace a implementace

IBM TRIRIGA Application Platform Verze 3 Vydání 4.2. Příručka instalace a implementace IBM TRIRIGA Application Platform Verze 3 Vydání 4.2 Příručka instalace a implementace Poznámka Před použitím těchto informací a produktu, který podporují, si přečtěte informace v části Upozornění na stránce

Více

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém Software Co je to software? Software je ve světě IT vše, co není Hardware Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém Podívejme se tedy na jednotlivé

Více

Tvorba pluginu Licensing do informačního systému Helios Orange

Tvorba pluginu Licensing do informačního systému Helios Orange Tvorba pluginu Licensing do informačního systému Helios Orange Creation of plugin Licensing into information system Helios Orange Bc. Kateřina Valchářová Diplomová práce 2011 UTB ve Zlíně, Fakulta aplikované

Více

Architektury informačních systémů

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

Více

Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Vyšší odborná škola informačních služeb v Praze

Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Vyšší odborná škola informačních služeb v Praze Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Vyšší odborná škola informačních služeb v Praze Dominik Kostka Databázová aplikace pomocí ASP.NET Bakalářská práce 2011 Prohlášení Prohlašuji,

Více

language="javascript">... </script>.

language=javascript>... </script>. WWW (World Wide Web) je dnes společně s elektronickou poštou nejvyužívanější službou internetu. URL (Uniform Resource Locator) slouží ke kompletní adresaci informace na internetu. Udává jak protokol, který

Více

Architektury informačních systémů

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

Více

VNITŘNÍ POKYN Č. 3/2004 PROVOZNÍ ŘÁD POČÍTAČOVÉ SÍTĚ

VNITŘNÍ POKYN Č. 3/2004 PROVOZNÍ ŘÁD POČÍTAČOVÉ SÍTĚ MĚSTSKÝ ÚŘAD Masarykovo nám. 189, 766 01 Valašské Klobouky VALAŠSKÉ KLOBOUKY VNITŘNÍ POKYN Č. 3/2004 PROVOZNÍ ŘÁD POČÍTAČOVÉ SÍTĚ 1. ÚČEL Směrnice Provozní řád počítačové sítě stanovuje pravidla pro užívání

Více

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA Metodický list č. 1 Způsob zakončení : Úvod Technologie webových aplikací Protokol HTTP Po zvládnutí tématického celku bude student mít základní přehled o problematice programování internetových (webových)

Více

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

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

Více

Název Popis Lhůta. dne Odmítnuté platby Zobrazení, tisk a export seznamu odmítnutých plateb. Informace připraveny k vyzvednutí z bankovního

Název Popis Lhůta. dne Odmítnuté platby Zobrazení, tisk a export seznamu odmítnutých plateb. Informace připraveny k vyzvednutí z bankovního PŘEHLED SLUŽEB A PARAMETRŮ ELEKTRONICKÉHO BANKOVNICTVÍ A) PŘEHLED SLUŽEB A PARAMETRŮ - ELTRANS 2000 Přehled pasivních služeb Eltrans 2000 Informace o zůstatcích Zobrazení, tisk a export Informací o zůstatcích

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Aktivní serverové stránky ASP. Active Server Pages. Activex Data Objects. LDAP database.

Informační systémy 2008/2009. Radim Farana. Obsah. Aktivní serverové stránky ASP. Active Server Pages. Activex Data Objects. LDAP database. 11 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Tvorba webových aplikací. Active Server Pages. Activex Data Objects.

Více

KIV/PIA Semestrální práce

KIV/PIA Semestrální práce KIV/PIA Semestrální práce Diskuzní fórum Tomáš Časta(A10N0057P) casta@students.zcu.cz 1. Architektura aplikace 1.1 MVC Model-view-controller (MVC) je softwarová architektura, která rozděluje datový model

Více

Databázový systém Matylda

Databázový systém Matylda Databázový systém Matylda Návrh softwarového projektu Vývojový tým Předpokládaný počet řešitelů: 5 Vedoucí: Mgr. Martin Nečaský Ph.D. Motivace V současné době se mnoho nákupů odehrává v internetových obchodech.

Více

PREPROCESOR POKRAČOVÁNÍ

PREPROCESOR POKRAČOVÁNÍ PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,

Více

1. Jak pracuje počítač 3. Už víme, jak pracuje počítač, ale jak se pracuje s počítačem? 9

1. Jak pracuje počítač 3. Už víme, jak pracuje počítač, ale jak se pracuje s počítačem? 9 Počítače pro úplné začátečníky Obsah 1. Jak pracuje počítač 3 Základní princip je velmi jednoduchý 3 Dokumenty a nástroje (datové soubory a programy) 3 Složky (adresáře) 4 Jak to tedy vlastně funguje 5

Více

KIV/PIA 2013 Jan Tichava

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

Více

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

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

Více

Úvod. Únor Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 23

Úvod. Únor Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 23 Seminář Java Úvod Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Úvod 1/ 23 Téma přednášky Organizace semináře Java úvod, distribuce Radek Kočí Seminář Java Úvod 2/ 23

Více

Kolaborativní aplikace

Kolaborativní aplikace Kolaborativní aplikace Michal Máčel Vema, a. s. Okružní 3a, 638 00 Brno - Lesná, macel@vema.cz Tomáš Hruška Fakulta informačních technologií Vysokého učení technického v Brně, Ústav informačních systémů,

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

Individuální projekt z předmětu webových stránek 2012 - Anketa Jan Livora

Individuální projekt z předmětu webových stránek 2012 - Anketa Jan Livora UŽIVATELSKÁ TECHNICKÁ DOKUMENTACE ANKETA : Individuální projekt z předmětu webových stránek 2012 - Anketa Jan Livora [2ITa] [sk1] 1 Obsah DŮLEŽITÉ UPOZORNĚNÍ!!!... 3 PROHLÁŠENÍ O AUTORSTVÍ:... 3 ANOTACE:...

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0185. Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

Registrační číslo projektu: CZ.1.07/1.5.00/34.0185. Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce: STŘEDNÍ ODBORNÁ ŠKOLA A STŘEDNÍ ODBORNÉ UČILIŠTĚ NERATOVICE Školní 664, 277 11 Neratovice, tel.: 315 682 314, IČO: 683 834 95, IZO: 110 450 639 Ředitelství školy: Spojovací 632, 277 11 Neratovice tel.:

Více

Architektura. Vedení sesterské dokumentace

Architektura. Vedení sesterské dokumentace Architektura Tým Lorem Ipsum Verze 1.1 29.3.2015 Obsah 1 Kontext...3 1.1 Cíle projektu...3 2 Technologie...3 2.1 Zvolená alternativa tvorby GUI...3 3 Datové schéma...4 4 Navržená architektura...5 4.1 Fyzický

Více

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

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

Více

Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika

Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika Vývoj informačních systémů Architektura, návrh Vzory: Doménová logika Zachman Framework Zdroje Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented

Více

DB2 Connect verze 9.5

DB2 Connect verze 9.5 DB2 Connect verze 9.5 Uživatelská příručka produktu DB2 Connect Aktualizace: březen 2008 SC09-3803-01 DB2 Connect verze 9.5 Uživatelská příručka produktu DB2 Connect Aktualizace: březen 2008 SC09-3803-01

Více

X36 WWW Šablony Martin Klíma xklima@fel.cvut.cz Čtryřvrstvá architektura Server Klient Prezentační logika Aplikační Logika Databáze 2 Výhody Jednotlivé vrstvy jsou nezávislé Lze je samostatně spravovat

Více

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

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

Více

Skriptovací jazyky. Obsah

Skriptovací jazyky. Obsah Skriptovací jazyky doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Co je to skriptovací jazyk? Výhody a nevýhody

Více

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

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

Více

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Vývoj aplikací Téma: Visual Studio Vyučující: Ing. Milan Káža Třída: EK4 Hodina: 4-6 Číslo: V/5 Programování

Více

ROZVOJ ICT A PDA ZAŘÍZENÍ THE DEVELOPMENT OF ICT AND PDA DEVICES Jiří Vaněk

ROZVOJ ICT A PDA ZAŘÍZENÍ THE DEVELOPMENT OF ICT AND PDA DEVICES Jiří Vaněk ROZVOJ ICT A PDA ZAŘÍZENÍ THE DEVELOPMENT OF ICT AND PDA DEVICES Jiří Vaněk Anotace: Příspěvek se zabývá rozvojem informačních a komunikačních technologií se zaměřením na trendy technického a programového

Více

Analýza dat na PC I.

Analýza dat na PC I. Lékařská a Přírodovědecká fakulta, Masarykova univerzita Analýza dat na PC I. Základy programu STATISTICA IBA výuka 2008/2009 StatSoft, Inc., http://www.statsoft.com/, http://www.statsoft.cz Verze pro

Více

IMPLEMENTACE SYSTÉMU GROUPWISE NA PEF ČZU V PRAZE IMPLEMENTATION OF THE SYSTEM GROUPWISE ON THE PEF ČZU PRAGUE. Jiří Vaněk, Jan Jarolímek

IMPLEMENTACE SYSTÉMU GROUPWISE NA PEF ČZU V PRAZE IMPLEMENTATION OF THE SYSTEM GROUPWISE ON THE PEF ČZU PRAGUE. Jiří Vaněk, Jan Jarolímek IMPLEMENTACE SYSTÉMU GROUPWISE NA PEF ČZU V PRAZE IMPLEMENTATION OF THE SYSTEM GROUPWISE ON THE PEF ČZU PRAGUE Jiří Vaněk, Jan Jarolímek Anotace: Příspěvek se zabývá hlavními trendy rozvoje programů pro

Více

HEIS VÚV V ROCE 2006 Jiří Picek Klíčová slova Hydroekologický informační systém VÚV T.G.M. (HEIS VÚV) je centrálním informačním systémem odborných sekcí ústavu. Jeho hlavním posláním je zajištění zpracování,

Více

Datec News 2012/1. Moderní marketingové technologie v řešení Datec Retail Solutions. OBSAH Datum vydání: 20.4.2012

Datec News 2012/1. Moderní marketingové technologie v řešení Datec Retail Solutions. OBSAH Datum vydání: 20.4.2012 1 OBSAH Datum vydání: 20.4.2012 Moderní marketingové technologie v řešení Datec Retail Solutions webové aplikace mobilní technologie QR kódy Moderní marketingové technologie v řešení Datec Retail Solutions

Více

MATURITNÍ PRÁCE dokumentace

MATURITNÍ PRÁCE dokumentace MATURITNÍ PRÁCE dokumentace Jídelníček SŠIEŘ pro Android Martin Bartoň školní rok: 2012/2013 obor: třída: Počítačové systémy PS4.A ABSTRAKT Práce je zaměřená na problematiku tvorby Android aplikací,

Více

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování Tvorba WWW stránek přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování HTML/XHTML kaskádové styly PHP spolupráce PHP s databázemi Technologie

Více

10. Editor databází dotazy a relace

10. Editor databází dotazy a relace 10. Editor databází dotazy a relace Dotazy Dotazy tvoří velkou samostatnou kapitolu Accessu, která je svým významem téměř stejně důležitá jako oblast návrhu a úpravy tabulek. Svým rozsahem je to ale oblast

Více

Vysoká škola ekonomická v Praze

Vysoká škola ekonomická v Praze Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky obor informatika 2007 Srovnání portálů zdravotních pojišťoven z pohledu malého a středního podniku jako zaměstnavatele (bakalářská práce)

Více

UNIVERZITA PARDUBICE DOPRAVNÍ FAKULTA JANA PERNERA

UNIVERZITA PARDUBICE DOPRAVNÍ FAKULTA JANA PERNERA UNIVERZITA PARDUBICE DOPRAVNÍ FAKULTA JANA PERNERA SOFTWAROVÁ PODPORA PRO TECHNICKOU PŘÍPRAVU PROJEKTU V ELEKTRIZACI ŽELEZNIC PRAHA A.S. BC. LUKÁŠ HRON DIPLOMOVÁ PRÁCE 2008 Souhrn Tato práce si klade

Více

DUM 02 téma: Úvod do textového editoru MS Word a výběr klávesových zkratek

DUM 02 téma: Úvod do textového editoru MS Word a výběr klávesových zkratek DUM 02 téma: Úvod do textového editoru MS Word a výběr klávesových zkratek ze sady: 01 tematický okruh sady: Textový editor ze šablony: 07 kancelářský software určeno pro: 1-4. ročník vzdělávací obor:

Více

InTouch 8.0 Subsystém distribuovaných alarmů

InTouch 8.0 Subsystém distribuovaných alarmů InTouch 8.0 Subsystém distribuovaných alarmů Pavel Průša Pantek (CS) s.r.o. Strana 2 Obsah Úvod Úvod Subsystém distribuovaných alarmů Ukládání alarmů do relační databáze Zobrazování, potvrzování a potlačování

Více