Vždy se ale může vyskytnout požadavek zapojit do sítě další
počítače a sdílet data mezi aplikacemi, případně zpřístupnit aplikaci
nebo její část v rámci podnikového intranetu nebo i celého Internetu.
Pak je příjemné vědět, že pracujete se systémem, který tyto možnosti
plně podporuje a nenechá vás na holičkách, pokud je budete muset
implementovat.
Požadavky na architekturu distribuované aplikace se mohou velmi
měnit. Někteří uživatelé preferují maximální kvalitu uživatelského
rozhraní a flexibilitu celé aplikace a fakt, že tyto vlastnosti jsou
dosažitelné jen na určité platformě (počítači a operačním systému)
není na závadu. Na druhé straně existují požadavky na dosažitelnost
aplikace z co možná největšího množství klientů, z kteréhokoliv místa
na Zeměkouli.
Aby systém Control Web vyhověl těmto protichůdným
požadavkům, podporuje tři způsoby tvorby distribuovaných aplikací.
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. Jsou tedy použitelné v prostředí firemních intranetů i
celosvětového Internetu.
Aplikace systému Control Web dokáží mezi sebou komunikovat po
libovolné TCP/IP síti. 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.
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. K
aplikaci tak lze přistupovat i ze systémů MacOS, UNIX apod.
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řenostný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.
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ýkoný
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).
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
(HTML tags) apod.
Obecnější možností generování textu výsledného HTML
dokumentu je použití procedur. Struktura i velikost výsledného
dokumentu je určena čistě algoritmem procedury (procedur). Je
tak možné generovat obecné dokumenty obecné délky, např. tabulku
obsahující výsledek databázového dotazu jemuž vyhovuje předem
neznámý počet záznamů.
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.
Java applety systému Control Web
Přes všechny nenaplněné pří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 ze 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í.
|