Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Přehled Web technologie v systému PROMOTIC

Web server je aplikace, která poskytuje Web stránky (soubory HTML, XML, BMP, atd.) do intranetu/internetu, a tyto stránky pak lze prohlížet pomocí standardních prohlíž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 PC), 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 (například Chrome, Firefox, Edge, InternetExplorer).
- Jiné aplikace (na stejném nebo jiném PC) mohou využívat nabízená data a zpracovávat je. Takové aplikace mohou být zase PROMOTIC aplikace ale i jiné, které umí pracovat například s XML daty.
- Přenos dat je založen na standardu HTTP protokolu (nebo jeho zabezpečené variantě HTTPS viz HTTPS - zabezpečený HTTP protokol) a proto lze data přenášet i přes internet. 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.
- Stránky mohou být povoleny jen některým uživatelům. Může se provádět tzv. autorizace klienta zadáním oprávnění v záložce "Oprávnění". (Viz také událost PmaWeb.onNewRequest).
 
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.
- V aplikaci typu PmFree jsou vždy povoleni 2 klienti typu PmWebClient.
 
Aplikace PROMOTIC se stane Web serverem, pokud do této aplikace umístíte objekt PmaWeb. Běžně 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á Web komponenta PROMOTIC (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 INFO systému v položce /COMM/WebServer.
 
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 většinou jen základní stránka komponenty. Komponenta nabízí ještě (většinou spoustu) jiných stránek, a to nejen s příponou .htm, ale také .xml, .png, atd. Na stránce default.htm je většinou 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):

http://NázevPočítače
 
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:
- PmaData: (viz záložka "Web server") nabízí své hodnoty v podobě XML dat.
- PmaDataTable: (viz záložka "Web server") nabízí své hodnoty v podobě XML dat.
- PmaWorkspace: (viz záložka "Web server") nabízí celou vizuální podobu pracovní plochy jako HTML stránku.
- PmaPanel: (viz záložka "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 záložka "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.
- PmaAlarmGroup: (viz záložka "Web server") nabízí HTML stránky pro prohlížení stavových i historických údajů systému alarmů/eventů.
- PmaTrendGroup: (viz záložka "Web server") nabízí HTML stránky pro prohlížení průběhů trendů (tabulkově/graficky) a poskytuje XML data pro objekt PmgTrendViewer..
- PmaWebFolder: umožňuje vytvořit hierarchickou úrověň URL adresy.
- PmaWebDir: nabízí soubory v určené složce jako statické stránky do Webu.
- PmaWebInfo: nabízí INFO systém jako HTML stránky.
- PmaWebLang: nabízí výběr národního jazyka.

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ámců) najednou. V některých rámcích 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í obraz (ve formátu PNG souboru) a zašle jej klientovi.

 
Z hlediska licence je klient požadující data z této Web komponenty typu PmWebClient.

3. Sestavy aplikace (PmaReport)

Sestavy 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 v podobě 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 záložka "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. Lze tak vytvořit vhodnou stromovou stukturu 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 jej 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 podkladu, 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. INFO systém

Objekt PmaWebInfo umí nabízet HTML stránky, na kterých jsou informace INFO systému PROMOTIC. 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.

8. Jazykové verze HTML stránek (PmaWebLang)

Objekt PmaWebLang představuje volbu jazyka, tzn. nabízí do Webu stránku, ve které lze zvolit jazyk. Po volbě jazyka se zobrazí seznam komponent, které jsou do PmaWebLang objektu zaregistrovány. Všechny tyto komponenty však již budou zobrazeny ve zvoleném jazyce.

Například pokud zaregistrujete Web obraz (PmaPanel) do objektu PmaWebLang, pak se automaticky přeložená HTML stránka tohoto obrazu bude nabizet tak, že všechny texty obrazu, které jsou zadány pomocí Makro výraz $.text, budou zobrazeny ve zvolenem jazyce.

© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice