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í.

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:

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:

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:

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 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í