Web server je aplikace, která poskytuje Web stránky (soubory
HTML, XML, BMP, atd.) do Internetu/Intranetu, a tyto stránky pak lze prohlížet pomocí Web 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 Web 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í Web prohlížeče (Chrome, Firefox, Edge, InternetExplorer ...).
- Jiné aplikace (na stejném nebo 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 SW.
Upozornění! Web server je v systému PROMOTIC
licencován, tzn. aby běžel v runtimu (s runtime licencí), je nutno přikoupit do runtime licence položku pro síťové klienty (
Data nebo Web 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 jen 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 Web 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 se aplikace PROMOTIC 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 Web server nabídnout. V aplikaci PROMOTIC mohou být Web komponentou následující objekty:
-
PmaPanel: (viz karta "
Web 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 "
Web server") Nabízí uživatelskou 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ů může aplikace PROMOTIC nabízet 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 Web 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 Web 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 Web 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 umí nabízet aktuální data, která jsou umístěna V objektu
PmaData a
PmaDataTable. Tyto objekty jsou tehdy Web serverem dat, viz karta "
Web server". Nabízená data jsou v podobě XML textu v několika možných formátech. Toto nabízení umožňuje číst i zapisovat 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 Web server a druhá má totožný objekt nastaven jako Web klient. Web klient čte nebo zapisuje data do Web 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 níž 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 umí nabízet HTML (ale i jiné) soubory, které jsou umístěny v zadané složce na disku. Klient požádá o nějaký soubor a Web 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ů
8. Upload - Přenos souborů z Web klienta na server
Objekt
PmaWebDir umožňuje také nabídnout html stránku s formulářem, který umožňuje klientovi vybrat soubor (nebo soubory) umístěné na počítači Web klienta a ty odeslat na server. Viz:
Upload - Přenos souborů z Web klienta na server
9. INFO systém
Objekt
PmaWebInfo umí nabízet HTML stránky, na kterých jsou informace
INFO systému. Tyto Web 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 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.