# Control Web a Internet

Internet jako síť sítí spojuje stále více počítačů a poskytuje stále více služeb stále většímu množství uživatelů. Obrovská užitečnost Internetu tkví právě v jeho univerzálnosti a světové rozšířenosti. A právě rozšířenost a všeobecné přijetí je způsobeno standardizací provozu v této síti. Počínaje základním síťovým protokolem TCP/IP až po standardní služby zajišťující výměnu elektronické pošty, účast v diskusních skupinách či snad nejpopulárnější službu rozšířenou na Internetu — World Wide Web (zkratka WWW). Služba WWW se stala na Internetu nejpopulárnější hlavně díky velmi přívětivému uživatelskému prostředí a snadnému ovládání. Dnes je prostřednictvím WWW nabízeno obrovské množství informací — svou prezentaci službou WWW nabízí největší světové firmy, vědecké instituce a školy i milióny soukromých osob.

## TCP/IP

Jak již bylo řečeno, pod pojmem Internet se nerozumí nějaká konkrétní síť, ale spíše propojení existujících počítačových sítí, dodržujících standardy rodiny protokolů TCP/IP. Označení TCP/IP je poněkud matoucí, něboť zkratky TCP a IP označují různé součásti celé rodiny protokolů a mnohé služby např. protokol TCP vůbec nepoužívají. Toto označení je ale natolik zaužívané, že jej všichni akceptují.

Podrobné vysvětlení protokolů TCP/IP a jejich konfigurace naleznete v řadě publikací (např. W. Stevens: TCP/IP Illustrated). Zde se spokojíme jen se stručným přehledem. Jako většina technických problémů je i komunikace v počítačové síti řešena na několika úrovních. Nižší úrovně jsou méně abstraktní, poskytují základnější služby. Naopak vyšší úrovně poskytují kvalitnější služby, ale používají k tomu služeb nižších úrovní.

- Na základní úrovni musí existovat nějaké fyzické médium a základní způsob výměny dat po tomto médiu, např. síťové karty standardu Ethernet, kabely a přepínače apod. Někdy bývá tato úroveň označována jako dvě vrstvy — kabely tvoří základní vrstvu a např. protokol Ethernet tvoří další vrstvu.
- Nad touto základní úrovní pracuje první člen rodiny protokolů TCP/IP — protokol IP (Internet Protocol). Protokol IP dokáže v podstatě jen odeslat balík dat (nazývaný IP paket) z jednoho počítače na druhý. Aby bylo možno počítače rozlišit, musí mít každý počítač přiděleno unikátní (v celé síti jedinečné) číslo, nazývané IP adresa. IP adresa je 32bitové (4 byte) číslo, existují tedy asi 4 miliardy IP adres. Z organizačních důvodů bývají tyto adresy zapisovány jako čtveřice čísel oddělených tečkou, každé v rozsahu 0 až 255 (každé číslo reprezentuje jeden byte), např. 194.108.72.1. IP adresa ale nemůže být prostě jen nějaké číslo, byť by bylo skutečně jedinečné. Důvod je ten, že neexistuje (ani nemůže existovat) přímé propojení mezi všemi počítači do Internetu zapojenými. Jestliže je tedy nutno poslat IP paket z jednoho počítače na druhý, zpravidla musí tento paket projít menším či větším počtem jiných počítačů, zvaných směrovače (routery). Aby směrovače poznaly, kam mají IP paket odeslat, musí IP adresa odpovídat ještě dalším pravidlům. IP adresu si tedy nemůžete vymyslet, musíte ji obdržet od vašeho správce sítě nebo ji musíte se znalostí věci vhodně zvolit z intervalu adres vaší sítě.
- V naprosté většině případů aplikace nepoužívají přímo protokol IP, i když by to bylo v zásadě možné, ale zbytečně komplikované. Proto nad IP protokolem existují další protokoly pro přenos dat, např. UDP (User Datagram Protocol) nebo TCP (Transmission Control Protocol). UDP a TCP se zásadně liší.

- UDP je protokol schopný odeslat blok dat z jednoho počítače na druhý bez ustavení spojení mezi oběma počítači. Je poměrně rychlý, ale nezaručuje spolehlivé spojení — pokud se UDP paket po cestě ztratí, aplikace sama musí na tuto situaci reagovat. Taktéž pokud jedna aplikace odešle několik UDP paketů, druhá aplikace je může obdržet v libovolném pořadí.
- TCP protokol vyžaduje nejprve navázání spojení mezi počítači a sám hlídá doručení paketů a jejich opakované vyslání v případě ztráty. Rovněž zaručí zachování pořadí odeslaných a přijatých paketů. TCP protokol tedy poskytuje aplikacím vyšší úroveň služeb, ale platí za to nižším výkonem.

- Nad protokoly TCP a UDP již mohou pracovat přímo aplikace (např. Control Web inicializuje spojení pomocí protokolu UDP, vlastní komunikace probíhá přes TCP) nebo služby ještě vyšší úrovně. TCP využívají další protokoly, např. protokol pro přenos souborů FTP (File Transfer Protocol) a HTTP (HyperText Transfer Protocol), nejnovější verze protokolu pro sdílení souborů v systémech UNIX NFS nebo protokol pro přenos elektronické pošty SMTP.

Tento popis je jen velmi povrchní a neobsahuje celou řadu daších protokolů a služeb nutných ke spolehlivému fungování Internetu. Pro základní orientaci ale naprosto stačí.

Lidé si mnohem snáze pamatují jména než čísla. Pokud chcete zadat IP adresu nějakého počítače v Internetu, je velmi obtížné zapamatovat si ji přímo jako číslo. Navíc pokud uvidíte číselný zápis IP adresy nějakého počítače, vůbec z něj není patrné o jaký počítač se jedná. Proto se v rámci Internetu rozšířila služba nazývaná DNS (Domain Name System). Tato služba využívá hierarchického (stromového) členění jmen na tzv. domény. DNS dokáže pomocí postupných dotazů přeložit textově zadané jméno počítače na IP adresu, která mu odpovídá, a tuto adresu pak používá ve vzájemné komunikaci.

Každý název počítače zapojeného do Internetu se skládá z několika jmen oddělených tečkami. I když na první pohled může použití teček připomínat tečky v zápisu IP adresy, tato podobnost je čistě náhodná. Jednotlivá jména reprezentují jednotlivé domény, uspořádané do stromové struktury. Nejvíce napravo zápisu jsou domény nejvyšší úrovně (top-level domény), zpravidla reprezentující stát. Např. cz je Česká Republika, uk Velká Británie apod. Protože Internet se začal rozvíjet v USA jako vnitrostátní záležitost, vznikla řada domén nejvyšší úrovně bez uvedení státu. Jaksi "samozřejmě" se předpokládá, že patří do USA: com reprezentuje firmy komerční sféry, gov vládní instituce, edu vzdělávací instituce a školy, net organizace zajišťující běh sítě apod.

Pak např. jméno www.mii.cz bude přeloženo na IP adresu 194.108.72.2, aniž by si tuto adresu kdokoliv musel pamatovat. Stačí si zapamatovat, že firma Moravské přístroje (Moravian Instruments, Inc.) z České Republiky má doménu mii.cz a že chcete server služby www.

Před doménou nejvyšší úrovně je zpravidla jméno dané instituce nebo firmy. Řada firem ale nevlastní celou síťovou infrastrukturu a může využít služeb nějaké jiné firmy a pak se její jméno muže objevit až jako třetí úroveň.

## Internet a intranet

Rozvoj Internetu s sebou přinesl rychlý vývoj a současně standardizaci celé řady komponent informačních systémů — počínaje síťovými protokoly TCP/IP, FTP, HTTP, SMTP apod. přes zařízení pro budování sítí, směrovače, až po aplikace, jako např. FTP a HTTP servery, klientské aplikace elektronické pošty, WWW prohlížeče apod.

Všechny tyto komponenty pracující na Internetu lze samozřejmě s výhodou použít i pro budování interních podnikových informačních systémů. Z technologického hlediska není mezi Internetem a vnitřní podnikovou sítí žádný rozdíl. Tak vznikl termín intranet — vnitřní podniková síť využívající Internetových technologií.

Protože intranet zpravidla nebývá rozprostřen po celé zeměkouli, většinou bývají jednotlivé intranetové servery připojeny podstatně rychlejšími linkami než internetové servery. Taktéž se v rámci intranetu přenáší citlivá data a tak intranety bývají od Internetu chráněny speciálním počítačem zvaným firewall (ohnivá zeď), bránícím nepovoleným osobám zvenku přistupovat k utajeným datům, či dokonce bývají od Internetu úplně odpojeny.

Výše popsaný princip se bez výjimky vztahuje i na systém Control Web. Distribuované a modulární aplikace popsané v kapitole Modulární a distribuované aplikace i vizualizace a řízení prostřednictvím WWW, popsané dále, lze realizovat na libovolné IP síti. Platí tedy, že aplikaci systému Control Web lze stejně tak distribuovat v rámci relativně pomalých spojení celosvětového Internetu jako i v rámci uzavřeného podnikového intranetu, využívajícího rychlých spojení lokálních sítí.

## WWW — World Wide Web

Princip funkce WWW je velmi jednoduchý. Kdo chce prezentovat nějaké informace, umístí na počítač zapojený do Internetu program zvaný server, který dokáže odpovídat na požadavky uživatelů (klientů) a poskytovat jim data. Uživatel pak musí zadat internetové jméno počítače (serveru) a server pak poskytne požadovaná data klientskému počítači.

Ve skutečnosti to ale až tak jednoduché samozřejme není. Aby se dva lidé domluvili, musí hovořit stejným jazykem a s počítaci je to také tak. Bylo tedy třeba definovat standardní způsob výměny informací nazývaný protokol. V případě služby WWW se jím stal protokol HTTP (HyperText Transfer Protocol). Stejný jazyk je sice nutnou podmínkou dorozumění, sám o sobě je ale nezajišťuje. Jestliže server pošle data klientovi a klient data přijme, je nutno je prezentovat uživateli a umožnit mu se v nich orientovat — to je možné, pokud data vyhovují dalšímu standardu, formátu HTML (HyperText Markup Language). HTML definuje standardní způsob, jak formátovat text, jak zvýraznit nadpisy, jak do textu začlenit obrázky apod. Velmi podstatnou částí HTML je možnost umístit do textu odkaz na jiný zdroj informací — tzv. hyperlink (odtud slovo HyperText v názvu komunikačního protokolu i formátu dokumentů).

Naposled jmenovaná vlastnost HTML je z uživatelského hlediska velmi příjemná. Není nutno vždy zadávat zdroj informace (umístění dokumentu nebo jméno serveru). Autoři HTML dokumentů umístí jmého nového dokumentu jako odkaz do svého dokumentu a uživateli pak stačí na odkaz jenom kliknout. WWW prohlížeč načte nový dokument a zobrazí jej.

HTML dokumenty bývají pojmenovávány podle pravidel shrnutých do označení URI (Universal Resource Identifier). URI je textový řetězec obsahující identifikaci protokolu (v našem případě http), dále jméno počítače a jméno požadovaného dokumentu i s cestou — označením adresáře, ve kterém dokument leží. Kompletní řetězec URI tak může vypadat např. následovně: http://www.mii.cz/index.htm. Dosti často bývá taktéž používáno označení URL (Universal Resource Locator), avšak dokument RFC`2068 (RFC je název souboru dokumentací Request For Comments, které je možno nalézt na celé řadě internetových serverů) popisující protokol HTTP 1.1 důsledně používá označení URI. Z tohoto důvodu je označení URI používáno i v tomto textu.

## Dynamické generování dokumentů

HTML dokumenty spolu s vloženými obrázky bývají zpravidla uloženy na serveru v podobě souborů. URI obsahuje identifikaci souboru (cestu v adresářovém stromu a jméno souboru), server soubor prostě přečte a odešle jej protokolem HTTP klientovi.

Služba WWW je ale mnohem mocnější, než je pouhé přenesení souboru na počítač klienta. Nic totiž nebrání serveru vygenerovat HTML dokument nebo obrázek definovaný URI dynamicky, v době zaslání požadavku klientem. Takový dokument pak může být jiný pro každého klienta, i když se na něj všichni odkazují stejným URI. Technika dynamického generování HTML stránek začíná být poměrně rozšířená u ekonomických informačních systémů hlavně z důvodu naprosté obecnosti a nezávislosti na software na straně klienta (k přístupu do takového systému stačí jakýkoliv WWW prohlížeč — a samozřejmě uživatelský účet a heslo). Control Web přináší všechny tyto výhody i do oblasti průmyslových vizualizačních a řídicích systémů.

## HTTP server jako virtuální přístroj

Server služby WWW (HTTP server) je součástí každé instalace systému Control Web. Záleží jen na návrháři aplikace, jestli jej použije. Pro prezentaci dat na Internetu není tedy zapotřebí instalovat a konfigurovat žádný další software. HTTP server je jen další komponenta (virtuální přístroj), kterou lze prostě přetáhnout z palety přístrojů do aplikace.

Zabudovaný HTTP server je zcela plnohodnotný výkonný server schopný pracovat např. jako firemní WWW server. Navíc je HTTP server zcela integrován do systému Control Web:

- Do HTML dokumentu lze dynamicky vygenerovat jakoukoliv část textu na základě vyhodnocení výrazu (kanálů či proměnných) nebo přímo vytvořenou kódem procedur. Tento text může být nejen informativní (např. číselné hodnoty v tabulce), ale může tvořit také např. odkazy na jiné stránky (hyperlinky) apod.
- Požádá-li klient o obrázek přemapovaný jako vzhled přístroje, server dynamicky vrátí klientovi okamžitou grafickou podobu přístroje, aniž by tato podoba existovala jako soubor na disku.
- Požádá-li klient o specifikovanou stránku, přístroj httpd dokáže aktivovat libovolné jiné přístroje v běžící aplikaci ještě před vygenerováním a odesláním dokumentu.
- Data vrácená z HTML formulářů lze promítnout zpět do řízeného procesu. Proces lze prostřednictvím Internetu nejen vizualizovat, ale i řídit.
- Prostřednictvím HTML formulářů lze nejen nastavovat hodnoty datových elementů, ale i spouštět libovolné jiné přístroje v systému, např. obecný skriptovací přístroj program.

Virtuální přístroj httpd nikdy nezobrazuje přímo data z technologie a nenastavuje přímo datové elementy. Vždy je nutno explicitně definovat přemapování mezi světem aplikace a vnějším světem. Neexistuje tedy možnost zobrazit nebo nastavit hodnoty aplikace z WWW klienta nebo i speciálně napsaným programem, pokud je návrhář aplikace pomocí httpd přístroje nepřemapuje a tím nezveřejní.

Celému přístroji httpd lze nastavit úroveň přístupových práv. V takovém případě odmítne server poskytnout požadované informace a požaduje po klientovi zadání uživatelského jména a hesla. Toto jméno a heslo je porovnáno s databází uživatelů pracující aplikace systému Control Web.

Způsoby integrace HTTP serveru do aplikace, definice výchozích souborů i adresářů a přemapovávání výrazů a virtuálních přístrojů v rámci přístroje httpd je podrobně popsáno v referenční části dokumentace v popisu přístroje httpd.

## Omezení plynoucí z definice HTML

V rámci služby WWW je prakticky celá tíže prezentace dat ponechána na klientské části — WWW prohlížeči. Proto při návrhu aplikace můžete používat nejnovějších standardů a vlastností podporovaných prohlížečem, který budou používat vaši zákazníci. HTTP server nerozlišuje, jestli odesílaný HTML dokument je formátován podle nejstarších velmi jednoduchých norem HTML`2 nebo používá nejnovější vlastnosti definované v HTML`4, kaskádní styly, skripty apod. Musíte si ale uvědomit, že čím novější a komplexnější formáty dokumentů použijete, tím více zúžíte množství klientských prohlížečů a taktéž platforem (operačních systémů) schopných tyto dokumenty korektně zobrazovat.

Za obrovskou univerzálnost a platformovou nezávislost prezentace dat prostřednictvím HTML se ale v každém případě platí cena v podobě relativně skromných možností ve srovnání s aplikacemi psanými pro určitou platformu (operační systém a počítač). HTML i HTTP vznikly jako projekt umožňující vědeckým pracovníkům sdílet textové dokumenty jen s velmi malými nároky na grafické zpracování. Proto při návrhu aplikace vizualizující data prostřednictvím HTML mějte na paměti, že:

- Služba WWW pracuje čistě na principu požadavek — odpověď. Není možné, aby server sám poslal data klientovi např. při změně stavu nějaké veličiny, vzniku poruchy apod. Jediná možnost, jak zobrazit data v klientském prohlížeči, je požádat o ně. Existuje způsob, jak pomocí meta značek přimět prohlížeč periodicky vyžadovat data. Pokud bude dokument obsahovat v rámci své hlavičky následující meta značku, bude prohlížeč periodicky žádat server o obnovu stránky v intervalu daném parametrem "content":

    <head>
      <meta http-equiv="Refresh" content="5">
      <title>Periodicky načítaný dokument</title>
    </head>

Pozor! Tento způsob nemusí pracovat ve všech prohlížečích, a pokud už pracuje, nemusí pracovat stejně v různých verzích prohlížečů nebo způsob obnovy nemusí být vyhovující. Např. Netscape Navigator verze 4 reaguje tak, že sice opět přečte hlavní HTML dokument, ale již nepožádá o opětovné zaslání vnořených obrázků, čímž dokument zcela znehodnocuje. Proto v případě použití této konstrukce vždy prověřte, jestli správně pracuje s WWW prohlížeči vašich zákazníků.
- HTML stránku zobrazenou v prohlížeči nelze obnovovat po částech. I pokud chcete měnit jedinou hodnotu, v principu musí klient znovu obnovit celou stranu. To vede k probliknutí celého dokumentu v prohlížeči. To samozřejmě není chyba systému Control Web ani vaše, ale omezení plynoucí z podstaty HTML a HTTP.
- HTML má relativně omezené možnosti formátování. Většinou se dokumenty pružně přizpůsobují velikosti stránky prohlížeče. Stejné HTML konstrukce mohou v různých prohlížečích vypadat různě — zejména mezery před a za odstavcem, tabulkách apod. Některé HTML konstrukce mohou být daným prohlížečem interpretovány špatně či zcela pominuty. Nejprostší metodou jak vytvořit pevné formátování je použití HTML tabulek pevných velikostí. Pokročilejší technikou (a také mnohem obtížněji použitelnou) je použití kaskádních stylů CSS (Cascading Style Sheets). Zejména starší prohlížeče ale CSS vůbec nerozumí a i nejnovější prohlížeče s nimi mají problémy.
- HTTP je bezstavový protokol. Pokud např. klient požádá o dokument, server mu jej odešle. Jestliže jsou v dokumentu odkazy na obrázky, klient o obrázky požádá server a ten je opět odešle. Z hlediska klienta se jedná o konstrukci jediného dokumentu, z hlediska serveru se ale jedná o samostatné a naprosto nezáviské dotazy. HTTP nedává prostředky, jak by server rozpoznal, že se jedná o dotazy jednoho klienta nebo o části jednoho dokumentu (ve skutečnosti takové prostředky existují, ale nejsou součástí HTTP, spíše se jedná o využití některých vedlejších efektů HTML). Server tedy neuchovává žádný stav spojení s daným klientem a jakýkoliv dotaz vyřizuje bez ohledu na předcházející nebo následující dotazy ať již od stejného klienta nebo z druhé strany zeměkoule.

## Java

Veškerá omezení popsaná v předchozí podkapitole motivovala řadu vývojových týmů tato omezení překonat. Nakonec HTML je pouze popis formátu dokumentů a to v řadě případů nestačí — mnohdy je zapotřebí k dosažení žádaného efektu skutečně vykonat nějaký program. Ačkoliv pokusů spojit WWW s programováním bylo více, patrně nejrozšířenější je kombinace programovacího jazyka a virtuálního prostředí nazývaná Java firmy Sun Microsystems.

Prostředí Java je navrženo tak, aby bylo snadno přenositelné mezi různými operačními systémy. Protože klientské aplikace (WWW prohlížeče) jsou rozšířeny po celé řadě platforem a HTML je platformově nezávislá specifikace, snažili se autoři systému Java, aby i programovací prostředí bylo stejně platformově nezávislé. Naneštěstí vytvořit přenositelný formát dokumentů je dramaticky jednodušší než vytvořit přenositelné programovací prostředí. Do pojmu Java se tedy skrývá více komponent:

- Programovací jazyk Java je čistě objektově-orientovaný jazyk se silným důrazem na bezpečnost vytvořeného kódu. Java se snaží pomocí omezení zavedených přímo do programovacího jazyka zabránit většině programátorských chyb. Např. v jazyku Java nelze přistupovat přímo k paměti počítače, lze jen vytvářet objekty a přistupovat na jejich data. Rovněž není možné vytvořit aplikaci, která by zapomínala vracet do systému nepotřebnou paměť, Java vrací paměť automaticky.
- Aby pracovaly programy psané v jazyku Java na více platformách, nejsou překládány do strojového kódu konkrétního procesoru, ale do univerzálního mezikódu zvaného byte-code. Původní představa autorů systému Java byla, že tento byte-code bude interpretován (vykonáván) dalším programem. Protože ale rychlost zpracování interpretovaného kódu je podstatně menší než přímo přeloženého programu (někdy až 100×), prakticky vždy je byte-code těsně před vykonáváním přeložen do kódu procesoru.
- Samotný program nikdy neobsahuje veškerou funkčnost ve svém kódu, vždy používá služby operačního systému. Programy psané v jazyku Java musí pracovat na všech platformách a proto ke své práci vyžadují virtuální prostředí, které se bude chovat stejně, i když bude pracovat pod různými operačními systémy. Toto prostředí se nazývá JVM (Java Virtual Machine). JVM zajišťuje zavedení byte-code představujícího program, jeho interpretaci nebo přeložení do strojového kódu daného procesoru a taktéž pro tento byte-code vytváří prostředí maskující specifické rysy skutečného operačního systému.

Firma Sun Microsystems propagovala systém Java jako malý, rychlý, efektivní, bezpečný, nenáročný na prostředky počítače (paměť a výkon procesoru), výkonný a přitom platformově nezávislý, pracující na většině existujících počítačů a operačních systémů. Systém s těmito vlastnostmi měl postupně nahradit vlastnické operační systémy a vytvořit novou platformu. Prakticky žádný z těchto cílů se ale nepodařilo splnit, a tak nová platforma nevznikla. Příčin je několik:

- Java svou rychlostí nedokáže konkurovat aplikacím psaným v jiných jazycích. I když je byte-code přeložen a maximálně optimalizován pro konkrétní procesor, řada vlastností jazyka Java (např. automatické vracení nepoužívané paměti systému) brání dosažení rychlosti jiných aplikací.
- Java je podstatně náročnější na paměť a výkon procesoru, než jiné aplikace. Přes prohlášení firmy Sun bývá spotřeba paměti proti jiným aplikacím mnohonásobná.
- Aby Java pracovala na většině platforem, musí obsahovat jen nejmenší společnou množinu vlastností všech operačních systémů. Oproti vlastním službám operačních systémů jsou proto možnosti systému Java velmi omezené. Tato omezení se projevují v oblasti sítí a komunikací, grafiky a uživatelského rozhraní apod.
- Uživatelská zkušenost je u aplikací psaných v systému Java horší než u jiných aplikací. Aplikace v systému Java reagují velmi pomalu, překreslují se trhaně apod.
- Snaha o maximální zabezpečení je v protikladu k celkové flexibilitě systému. I když Java, stejně jako ostatní systémy, nezaručuje naprostou bezpečnost v síťovém prostředí, použití systému Java v rámci WWW prohlížeče přináší z bezpečnostních důvodů celou řadu omezení a vyžaduje pečlivé nastavení vlastností konkrétního prohlížeče.
- Java je stále vhodná jen na malé a jednoduché aplikace a stále více se používá na straně serverů, kde se její nedostatečný výkon projevuje jen na době odezvy a nezhoršuje uživatelskou zkušenost nekvalitním uživatelským rozhraním. Na straně klienta se většinou omezuje na jednoduché formuláře nebo panely.
- Java je prakticky omezena na jediný programovací jazyk. Tento jazyk je silně objektově orientován a jak známo, silná objektová orientace je obtížněji zvládnutelná než klasické procedurální metody programování. Tím se zužuje potenciální množství programátorů schopných v systému Java psát programy. Navíc Java přináší z výše jmenovaných důvodů oproti jiným jazykům (např. C++) řadu omezení.

## Java applety systému Control Web

Přes všechny zápory a nenaplněné sliby je dnes Java nejrozšířenějším a nejuniverzálnějším prostředkem pro psaní programů nezávislých na konkrétní platformě, navíc velmi dobře integrovaným se službami WWW. Tato integrace spočívá v možnosti zabudovat do HTML dokumentu tzv. Java applet — objekt vytvořený v jazyce Java, který WWW prohlížeč zavede ze serveru podobně jako např. obrázek. Tento applet je serverem poskytnut v podobě byte-code souboru a na straně klienta interpretován JVM, který musí být součástí prohlížeče. Co bude v ploše dokumentu zabrané Java appletem zobrazeno závisí už na kódu appletu samotného.

Součástí instalace systému Control Web je i sada appletů pracujících podobně jako virtuální přístroje dostupné ve vlastním vývojovém prostředí. Protože jsou ale implementovány v jazyce Java, je možné je zabudovat do HTML dokumentů a spouštět v prostředí WWW prohlížečů podporujících JVM.

Mezi čistou HTML stránkou a stránkou obsahující applet (programový modul) je dramatický rozdíl. Klient již nemusí žádat server o překreslení stránky v případě změny dat. Applety žijí svým vlastním životem (vykonávají svůj kód) a mohou se přímo napojit na běžící aplikaci systému Control Web již mimo HTTP server, mohou číst i zapisovat data a překreslovat se při změně dat. To znamená, že stránka vytvořená s použitím appletů se chová více jako aplikace než jako dokument, což přináší podstatně lepší uživatelskou zkušenost.

Ačkoliv applety komunikují přímo se systémem Control Web a do přenosu dat není zapojen HTTP server, bezpečnostní omezení JVM předepisují, že applet může navázat IP spojení jen s počítačem, z něhož byl zaveden (tedy s počítačem, na kterém běží HTTP server). V principu tedy není možné, aby byl applet obsažen ve stránkách poskytovaných jiným počítačem než počítačem s běžícím systémem Control Web.

K úspěšnému navázání spojení mezi applety a systémem Control Web je zapotřebí, aby na počítači s běžící aplikací byl spuštěn proces Control Web Daemon, potřebný také při tvorbě distribuovaných aplikací. Standardně jsou tímto procesem přijímány pouze požadavky kryptované, aby se zamezilo nepovolanému čtení dat z aplikace po síti. Použití Java appletů ale vyžaduje povolení i nekryptovaných spojení. Více se o procesu Control Web Daemon i jeho nastaveních dočtete v kapitole Modulární a distribuované aplikace.

Detailní popis jednotlivých appletů, jejich parametrů i příklady použití naleznete v referenční části, v kapitole Java applety systému Control Web.

## Shrnutí

Internet není konkrétní síť, ale spojení řady existujících sítí pracujících s protokoly TCP/IP. Připojením k jakékoliv síti zapojené do Internetu tak získáte přístup k ostatním propojeným sítím a všem informačním zdrojům na Internetu dostupným.
- Rozvoj Internetu vedl k vývoji a standardizaci celé řady technologií pro skladování, vyhledávání, výměnu a prezentaci dat. Těchto technologií mohou využívat i místní nebo uzavřené podnikové sítě, které se pak označují termínem intranet.
- Ačkoliv v rámci Internetu existuje celá řada aplikací pro sdílení a přenos informací (např. FTP, GOPHER apod.), největšího rozmachu a popularity dosáhla služba WWW (World Wide Web). Příčinou úspěchu WWW je především velmi snadné používání a tím i dostupnost pro celou řadu uživatelů. Dokumenty poskytované službou WWW používají formát HTML a jsou přenášeny protokolem HTTP. HTML i HTTP jsou standardy nezávislé na platformě (počítači a operačním systému). WWW služba má vždy dvě komponenty — HTTP server, který odesílá data na základě požadavku a WWW klient, který žádá server o dokumenty a přijaté dokumenty zobrazuje.
Control Web obsahuje zabudovaný HTTP server integrovaný do celého systému. To znamená, že dokáže poskytovat klientům statické soubory i dokumenty dynamicky vygenerované na základě stavu běžící aplikace. Rovněž dokáže přijímat data z HTML formulářů, aktivovat virtuální přístroje na základě požadavků WWW klientů apod.
- Pouhým začleněním HTTP serveru do aplikace ještě nelze zpřístupnit WWW klientům žádná data. Z bezpečnostních důvodů je nutno explicitně uvést které datové elementy a které přístroje budou viditelné přes WWW.
- HTTP server systému Control Web pracuje na jakémkoliv systému na kterém Control Web běží, není limitován jen na Windows NT Server.
- HTML je především formát dokumentů, a i když je v rámci HTML možné používat formuláře, přeci jen skýtá řadu omezení, která nedovolují vytvořit HTML aplikaci pracující stejně jako skutečná aplikace.
- Částečně jsou omezení HTML odstraněna systémem Java umožňujícím začlenění programů do HTML stránek. Systém Control Web obsahuje řadu Java appletů, které dokáží přímo komunikovat s běžící aplikací mimo HTTP server.
- V zásadě existují tři způsoby tvorby distribuovaných aplikací v prostředí Control Web. Všechny tři způsoby jsou plně postaveny na internetových technologiích, protokolech TCP/IP a HTTP, formátu HTML, standardu Java apod.

1. Aplikace systému Control Web dokáží mezi sebou komunikovat po libovolné TCP/IP síti, tedy i po Internetu. Samozřejmě aplikace komunikující po rychlé lokální síti mohou přenášet častěji větší bloky dat než aplikace komunikující přes půl zeměkoule. Takto distribuovaná aplikace přináší nejlepší uživatelskou zkušenost, neboť lze využít všech vlastností systému Control Web i operačního systému Windows. Na druhé straně aplikace pracuje jen pokud je na všech počítačích instalován alespoň Control Web Runtime, který pracuje pouze pod systémem Windows.
2. Data lze prezentovat pomocí Java appletů zabudovaných do HTML stránek. Java applety zdaleka neposkytují takové možnosti jako samotný Control Web, ale na druhé straně pracují ve všech WWW prohlížečích podporujících JVM, tedy i mimo systémy Windows.
3. Při použití čistého HTML lze pomocí zabudovaného HTTP serveru prezentovat data libovolnému WWW klientovi pracujícímu na velkém možství počítačů, včetně přenosných počítačů do dlaně. Za tuto obecnost se ale platí nejchudšími vyjadřovacími prostředky.

Tyto způsoby samozřejmě nejsou výlučné a lze je libovolně kombinovat — distribuovaná aplikace může prezentovat data pomocí Java appletů pro lépe vybavené klienty a pomocí čistého HTML pro obecné klienty.