Webový server je aplikace, která poskytuje webové stránky (soubory
HTML, XML, BMP, atd.) do Internetu/Intranetu, a tyto stránky pak lze prohlížet pomocí webového prohlížeče (
Chrome,
Firefox,
Edge,
InternetExplorer ...). Aplikace PROMOTIC se může stát takovýmto Web serverem a následující text popisuje principy tvorby takové aplikace.
Aplikace PROMOTIC jako webový server má
výhody zejména z těchto důvodů:
- Klienti (na jiných počítačích), kteří si chtějí prohlížet data (která jsou na PROMOTIC Web serveru), nemusí instalovat systém PROMOTIC. Klienti mohou tato data prohlížet jen pomocí webového prohlížeče (Chrome, Firefox, Edge, InternetExplorer ...).
- Jiné aplikace (na stejném nebo na jiném počítači) mohou využívat nabízená data a zpracovávat je. Takové aplikace mohou být zase aplikace PROMOTIC ale i jiné, které umí pracovat například s XML daty.
- Přenos dat je založen na standardu protokolu
HTTP (nebo jeho zabezpečené variantě
HTTPS viz
HTTPS - zabezpečený HTTP protokol) a proto lze data přenášet i přes Ethernet.
Podnikové firewally standardně HTTP protokol (standardní port
80) a HTTPS protokol (standardní port
443) propouštějí a není tedy nutno dělat velké zásahy do těchto zařízení.
Upozornění! Webový server je v systému PROMOTIC
licencován, tzn. aby běžel v runtime (s runtime licencí), je nutno přikoupit do runtime licence položku pro síťové klienty (
Data nebo webový klient - podle typu nabízených Web komponent - viz dále). Je nutno přikoupit tolik licencí, s kolika klienty se předpokládá, že aplikace bude maximálně komunikovat v jednu chvíli (
10 minut). Viz
ceník systému PROMOTIC.
-
Vývojový klíč má vždy pro testovací účely povoleno 10 klientů typu
PmWebClient.
Aplikace PROMOTIC se stane Web serverem, pokud do této aplikace umístíte objekt
PmaWeb. Obvykle je takový objekt v aplikaci pouze jednou. Tento objekt je zodpovědný za to, že jakákoli Web komponenta systému PROMOTIC může být do tohoto objektu zaregistrována a pak tato komponenta může nabízet své údaje. Každá PROMOTIC Web komponenta (seznam komponent viz dále) má jednoznačný textový identifikátor (dále ho budeme označovat jako "IdKomponenty").
Runtime informace o stavu komunikace PROMOTIC webového serveru s klienty (statistika HTTP přenosů, obsah několika posledních přenosů, atd.) lze pozorovat v položce "
/COMM/WebServer" INFO systému.
V objektu
PmaWeb lze nastavit tzv.
port. Port je důležitý údaj pro přenos dat přes Ethernet (TCP/IP). Standardní hodnota pro HTTP je
80 a pro HTTPS je
443.
Pokud aplikace PROMOTIC se stane Web serverem, pak je každá jeho Web komponenta v intranetu přístupná na URL adrese:
http://NázevPočítače:Port/IdKomponenty/default.htm
nebo pokud port v objektu
PmaWeb je nastaven na standardní hodnotu, pak jednodušeji:
http://NázevPočítače/IdKomponenty/default.htm
Stránka
default.htm je obvykle jen základní stránka komponenty. Komponenta nabízí ještě (obvykle spoustu) jiných stránek, a to nejen s příponou
.htm, ale také
.xml,
.png, atd. Na stránce
default.htm je obvykle seznam těchto dalších možných stránek s odkazy na ně.
Sám objekt
PmaWeb nabízí také svou stránku. Je to tedy také komponenta ale s prázdným identifikátorem. Na této stránce je seznam Web komponent aplikace s odkazy na ně. Adresa této stránky je:
http://NázevPočítače:Port/default.htm
Na tuto stránku se také dostanete pomocí jednodušší adresy (na standardním portu):
Možnosti Web nabízení dat se v systému PROMOTIC rychle rozšiřují. Shrneme proto nyní, co vše může aplikace PROMOTIC jako webový server nabídnout. V aplikaci PROMOTIC mohou být Web komponentou následující objekty:
-
PmaPanel: (viz karta "
Webový server") Nabízí vizuální podobu (včetně ovládání a přenosu aktuálních hodnot) jako dynamickou HTML stránku.
-
PmaReport: (viz karta "
Webový server") Nabízí uživatelsky definovanou HTML stránku s možností velmi obecných změn této stránky před poskytnutím klientovi.
-
PmaWebFolder: Umožňuje vytvořit hierarchickou úrověň URL adresy.
-
PmaWebDir: Nabízí soubory v určené složce jako statické stránky do Webu.
Pomocí těchto objektů aplikace PROMOTIC nabízí následující údaje:
1. Pracovní plocha aplikace (PmaWorkspace)
Pomocí objektu
PmaWorkspace lze nabízet rozvržení pracovní plochy aplikace tak, že se nabízí více oken (rámů) současně. V některých rámech jsou zobrazeny HTML stránky objektu
PmaPanel, v jiných však mohou být i jiné Web komponenty jako
PmaReport,
PmaWebDir, atd. Základem pro zobrazení vizualní podoby jsou však dynamické stránky objektu
PmaPanel.
Z hlediska licence je klient požadující data z této Web komponenty typu
PmWebClient.
2. Obrazy aplikace (PmaPanel)
Obrazy aplikace lze zpřístupnit do webového serveru objektem
PmaPanel.
Objekt
PmaPanel nabízí své údaje v podobě dynamických HTML stránek, které (pokud je to povoleno v konfigurátoru "
Povolit jako Web komponentu") se
automaticky vytvářejí. Tyto stránky mají některá omezení oproti obrazům spouštěným přímo v aplikaci PROMOTIC. Popis a omezení viz
Web obrazy.
Objekt
PmaPanel také nabízí statické stránky daného obrazu. Objekt na žádost webového klienta vytvoří aktuální obrázek (ve formátu PNG souboru) a zašle ho klientovi.
Z hlediska licence je klient požadující data z této Web komponenty typu
PmWebClient.
3. Reporty aplikace (PmaReport)
Reporty aplikace lze zpřístupnit do webového serveru objektem
PmaReport.
Z hlediska licence je klient požadující data z této Web komponenty typu
PmWebClient.
4. Aktuální data ve formátu XML (PmaData, PmaDataTable)
Aplikace nabízí aktuální data, která jsou umístěna V objektu
PmaData a
PmaDataTable. Tyto objekty jsou tehdy Web serverem dat, viz karta "
Webový server". Nabízená data jsou v podobě XML textu v několika možných formátech. Toto nabízení umožňuje čtení i zápis do objektu
PmaData/
PmaDataTable. Viz také:
Sdílení XML dat.
První použití je
komunikace mezi dvěma nebo více aplikacemi PROMOTIC. Jedna aplikace má objekt
PmaData/
PmaDataTable nastaven jako webový server a druhá má totožný objekt nastaven jako webový klient. Webový klient čte nebo zapisuje data do webového serveru (viz metoda
PmaData.WriteToWeb a metoda
PmaData.ReadFromWeb).
Druhé použití je
při prohlížení dynamických HTML stránek. Pokud se nabízejí jen HTML stránky, jejichž obsah se má měnit, pak je nutno obnovovat tyto stránky periodicky, což může být pomalé a způsobuje blikání. Pomocí XML lze vytvořit dynamickou HTML stránku, která na pozadí načítá periodicky XML data a obnovuje jen potřebné vizuální části. Tento přístup je v této době nejlepší pro vytváření "živých" HTML stránek. Pokud chce však projektant takovou stránky vytvořit, pak musí mít znalosti v tvorbě dynamických HTML stránek a používání XML. To může být náročné a proto existují v systému PROMOTIC jednodušší postupy jak vytvářet "živé" HTML stránky - viz dále.
Samozřejmě lze však nabízená XML data využívat
ke spoustě jiných učelů, protože práce s XML daty začíná být jedním z největších standardů v počítačovém světě. Díky tomu lze tato data nabízet i do jiných operačních systému jako je
UNIX,
LINUX, atd.
Z hlediska licence je klient požadující data z této Web komponenty typu
PmDataClient.
5. Vytvoření stromové struktury adres Web komponent (PmaWebFolder)
Objekt
PmaWebFolder představuje Web adresu, do které lze vložit Web adresy jiných Web komponent. Tak lze vytvořit vhodnou stromovou strukturu adres Web komponent. Například na jedné adrese mohou být Web komponenty všech dat, na další adrese komponenty pro obrazy, na další pro trendy, alarmy, atd.
6. Nabízení HTML stránek vytvořených projektantem aplikace (PmaWebDir)
Objekt
PmaWebDir nabízí HTML (ale i jiné) soubory, které jsou umístěny v zadané složce na disku. Klient požádá o nějaký soubor a webový server tento soubor nalezne v této složce a odešle ho klientovi.
Toto by však nebylo příliš užitečné, protože takto by se nabízely jen statické stránky. Proto objekt
PmaWebDir má koncepci, která umožňuje statický soubor na disku před odesláním klientovi pozměnit na aktuální stav. Je to umožněno pomocí
klíčových slov, které se mohou do statické HTML stránky napsat a tato klíčová slova se pak před odesláním zamění za aktuální hodnoty. Klíčové slovo se tak může zaměnit například za číslo, které představuje teplotu, může se zaměnit za určení barvy pozadí, může se dokonce zaměnit za kus HTML textu a zobrazovat tak v různých časech různé informace.
Tímto způsobem lze jednoduše vytvářet i velmi obecné "živé" stránky.
Z hlediska licence je klient požadující data z této Web komponenty typu
PmDataClient.
7. Download souborů
Objekt
PmaWebDir umožňuje zvolit složku na serveru, jejiž obsah (soubory) budou nabídnuty Web klientovi k zobrazení nebo stažení. Viz:
Download souborů
9. INFO systém
Objekt
PmaWebInfo nabízí HTML stránky, na kterých jsou informace
INFO systému. Tyto webové stránky jsou generovány automaticky a projektant tak může velice snadno zajistit, že informace o běhu aplikace bude moci pozorovat vzdáleně přes Web.
Z hlediska licence je klient požadující data z této Web komponenty typu
PmDataClient.
10. Jazykové verze HTML stránek (PmaWebLang)
Objekt
PmaWebLang představuje volbu národního jazyka, tzn. nabízí do Webu stránku, ve které lze vybrat jazyk. Po volbě jazyka se zobrazí seznam komponent, které jsou zaregistrovány do objektu
PmaWebLang. Všechny tyto komponenty však již budou zobrazeny ve zvoleném jazyce.
Například pokud zaregistrujete
Web obraz (objekt
PmaPanel) do objektu
PmaWebLang, pak se automaticky přeložená HTML stránka tohoto obrazu bude nabízet tak, že všechny texty obrazu, které jsou zadány pomocí
Makro výraz $.text, budou zobrazeny ve zvolenem jazyce.