Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Podsumowanie technologii Web w systemie PROMOTIC

Web serwer jest aplikacją, która oferuje strony Web (pliki HTML, XML, BMP, itd.) do intranetu/internetu, i strony te można następnie przeglądać przy pomocz standardowych przeglądarek (Chrome, Firefox, Edge, InternetExplorer ..). Aplikacja PROMOTIC może stać się tekim Web serwerem i poniższy tekst opisuje zasady wytwarzania takiej aplikacji.
 
aplikacja PROMOTIC działająca jako Web serwer posiada zalety zwłaszcza z następujących powodów:
- Klienci (na innych PC), którzy chcą przeglądać dane (które są oferowane przez PROMOTIC Web serwer), nie muszą instalować systemu PROMOTIC. Klienci mogą te dane przeglądać przy pomocy przeglądarki internetowej (na przykład Chrome, Firefox, Edge, InternetExplorer).
- Inne aplikacje (na tym samym lub innym komputerze) mogą wykorzystać oferowane dane i dalej je opracowywać. Takimi aplikacjami mogą być ponownie aplikacje PROMOTIC ale i inne, które potrafią pracować na przykład z danymi XML.
- Transmisja danych jest założona na standardzie protokołu HTTP (lub jego zabezpieczonej wersji HTTPS patrz HTTPS - zabezpieczony protokół HTTP) i z tego powodu można dane przenosić nawet przez internet. Przez firmowy firewall protokół HTTP (standardowy port 80) i protokół HTTPS (standardowy port 443) standardowo przechodzi i nie jest konieczna ingerencja do tych urządzeń.
- Strony mogą być dostępne tylko niektórym użytkownikom. Może wykonywać się tzw. upoważnienie klienta przez wprowadzenie uprawnień w zakładce "Uprawnienia". (Patrz również zdarzenie PmaWeb.onNewRequest).
 
Uwaga! Web serwer w systemie PROMOTIC podlega licencjowaniu, tzn. żeby działał w trybie runtime (z licencją runtime), jest konieczne zakup pozycji dla klientów sieciowych do licencji runtime (Data lub Web klient - według rodzaju oferowanych komponentów Web - patrz dalej). Jest konieczne zakupić taką ilość licencji, jaka jest maksymalna przewidywana ilość klientów, z którymi aplikacja ma komunikować się w jednej chwili (okres 10 minut). Patrz cennik systemu PROMOTIC.
- Klucz do środowiska deweloperskiego posiada w celach testowania licencje dla 10 klientów typu PmWebClient.
- W aplikacji typu PmFree są zawsze dostępni 2 klienci typu PmWebClient.
 
Aplikacja PROMOTIC stanie się Web serwerem jeżeli umieścisz do niej obiekt PmaWeb. Zazwyczaj taki obiekt znajduje się w aplikacji tylko raz. Obiekt ten jest odpowiedzialny za to, że jakikolwiek Web element systemu PROMOTIC może zostać do tego obiektu zarejestrowany i po tym komponent ten może oferować swoje dane. Każdy PROMOTIC Web komponent (lista tych komponentów patrz dalej) posiada jednoznaczny tekstowy identyfikator (dalej będziemy go oznaczać jako "IdElementu").
 
Informacje w trybie runtime o stanie komunikacji Web serwera PROMOTIC z klientami (statystyka transmisji HTTP, zawartość kilku ostatnich transmisji, itd.) można obserwować w INFO systemie pod pozycją /COMM/WebServer.
 
W obiekcie PmaWeb można ustawić tzw. port. Port jest bardzo ważną informacją prza transmisji poprzez Ethernet (TCP/IP). Jego standardowa wartość wynosi 80 dla HTTP i 443 dla HTTPS. Jeżeli aplikacja PROMOTIC stanie się Web serwerem, wtedy każdy jego Web komponent jest w intranecie dostępny pod adresem URL:
http://NazwaKomputera:Port/IdElementu/default.htm

lub jeżeli port w obiekcie PmaWeb jest ustawiony na wartość standardową, wtedy prościej:

http://NazwaKomputera/IdElementu/default.htm

Strona default.htm jest zazwyczaj tylko podstawową stroną komponentu. Komponent oferuje jeszcze dużo innych (zazwyczaj pustych) stron, i to nie tylko z rozszerzeniem .htm, lecz również .xml, .png, itd. Na stronie default.htm znajduje się w większości lista pozostałych możliwych stron z odniesieniami do tych stron.

Sam obiekt PmaWeb również oferuje własną stronę. Jest zatem również komponentem lecz z pustym identyfikatorem. Na tej stronie znajduje się lista komponentów Web udostępnionych aplikacji z odniesieniami do tych komponentów Adres tej strony jest następujcy:

http://NazwaKomputera:Port/default.htm

Lub prościej (na standardowym porcie):

http://NazwaKomputera
 
Możliwości oferowania danych w systemie PROMOTIC w formie Web-u rozwijają się bardzo dynamicznie. Podsumujmy więc, co wszystko może aplikacja PROMOTIC zaoferować jako Web serwer. W aplikacji PROMOTIC mogą być komponentem Web następujące obiekty:
- PmaData: (patrz zakładka "Web serwer") oferuje swoje wartości w postaci danych XML.
- PmaDataTable: (patrz zakładka "Web serwer") oferuje swoje wartości w postaci danych XML.
- PmaWorkspace: (patrz zakładka "Web serwer") oferuje cały wygląd graficzny obszaru roboczego w formie strony HTML.
- PmaPanel: (patrz zakładka "Web serwer") oferuje wygląd graficzny (włącznie ze sterowaniem i transmisją danych bieżących) w formie dynamicznej strony HTML.
- PmaReport: (patrz zakładka "Web serwer") oferuje HTML stronę definiowaną przez użytkownika z możliwością bardzo ogólnych zmian takiej strony przed jej wyświetleniem u klienta.
- PmaAlarmGroup: (patrz zakładka "Web serwer") oferuje strony HTML do przeglądania stanu bieżącego i danych historycznych systemu alarmów/eventów.
- PmaTrendGroup: (patrz zakładka "Web serwer") oferuje strony HTML do przeglądania trendów (w formie tabelkowej/wykresu) i oferuje dane XML dla obiektu PmgTrendViewer..
- PmaWebFolder: umożliwia wytworzenie hierarchicznego poziomu adresu URL.
- PmaWebDir: oferuje pliki w określonym folderze jako statyczne strony do Webu.
- PmaWebInfo: oferuje INFO system jako strony HTML.
- PmaWebLang: oferuje wybór języka narodowego.

Przy pomocy tych obiektów aplikacja PROMOTIC może oferować następująca dane:

 

1. Obszar roboczy aplikacji (PmaWorkspace)

Przy pomocy obiektu PmaWorkspace można w ten sposób oferować rozłożenie obszaru roboczego tak, że jest oferowanych kilka paneli (framug) równocześnie. W niektórych framugach só wyświetlane strony HTML obiektu PmaPanel, w innych mogą jednak być także inne Web elementy, jak PmaReport, PmaWebDir, itd. Podstawą do wyświetlenia graficznej postaci są jednak dynamiczne strony obiektu PmaPanel.
 
Z punktu widzenia licencji jest klient, wymagający dane z tego Web komponentu klientem typu PmWebClient.

2. Panele aplikacji (PmaPanel)

Panele aplikacji można udostępnić w obiekcie Web serwera przy pomocy obiektu PmaPanel.
 
Obiekt PmaPanel oferuje swoje dane w formie dynamicznych stron HTML, które (jeżeli to jest dozwolone w konfiguratorze "Udostępnić obiekt do Webu") automatycznie wytwarzają się. Te strony mają niektóre ograniczenia w porównaniu z obrazami uruchomionymi bezpośrednio w aplikacji PROMOTIC. Opis i ograniczenia patrz Web panele.

Obiekt PmaPanel oferuje również statyczne strony danego obrazu. Obiekt na życzenie Web klienta wytworzy bieżący obraz (pod postacią pliku w formacie PNG) i odeśle go do klienta.

 
Z punktu widzenia licencji jest klient, wymagający dane z tego Web komponentu klientem typu PmWebClient.

3. Raporty aplikacji (PmaReport)

Raporty aplikacji można udostępnić do Web serwera przy pomocy obiektu PmaReport.
 
Z punktu widzenia licencji jest klient, wymagający dane z tego Web komponentu klientem typu PmWebClient.

4. Dane bieżące w formie XML (PmaData, PmaDataTable)

Aplikacja potrafi oferować dane bieżące, które są ulokowane W obiekcie PmaData oraz PmaDataTable. Obiekty te są wtedy Web serwerem danych, patrz zakładka "Web serwer". Oferowane dane są dostępne pod postacią tekstu XML w kilku możliwych formatach. Taki sposób oferowania umożliwia odczyt i zapisywanie danych do obiektu PmaData/PmaDataTable. Patrz również: Współdzielenie danych XML.

Pierwszą możliwością wykorzystania jest komunikacja pomiędzy dwoma lub większą ilością aplikacji PROMOTIC. Jedna aplikacja ma obiekt PmaData/PmaDataTable ustawiony jako Web serwer a następna posiada identyczny obiekt ustawiony jako Web klient. Web klient odczytuje lub zapisuje dane do Web serwera (patrz metoda PmaData.WriteToWeb oraz metoda PmaData.ReadFromWeb).

Drugą możliwością wykorzystania jest przeglądanie dynamicznych stron HTML. Jeżeli oferują się tylko strony HTML, których zawartość ma się zmieniać, wtedy jest konieczne cykliczne wznawianie tych stron, co może okazać się zbyt wolnym i może powodować migotanie. Przy pomocy XML można wytworzyć dynamiczną stronę HTML, która w tle cyklicznie odczytuje dane XML i odświeża tylko konieczne części wizualne. Ten sposób jest w chwili obecnej najlepszy jeżeli chodzi o wytwarzanie "żywych" stron HTML. Jeżeli projektant chce takie strony wytworzyć, wtedy musi posiadać znajomość w sferze wytwarzania dynamicznych stron HTML i wykorzystania XML. To może być dosyć trudne i dlatego w systemie PROMOTIC istnieją prostsze sposoby jak wytwarzać "żywe" strony HTML - patrz dalej.

Oczywiście w ten sposób oferowane dane XML można wykorzystać do różnych innych celów, ponieważ praca z danymi XML powoli staje się jednym z największych standardów w świecie komputerów. DZięki temu można takie dane przenosić również na inne systemy operacyjne, jakimi są UNIX, LINUX, itd.

Z punktu widzenia licencji jest klient, wymagający dane z tego Web komponentu klientem typu PmDataClient.

5. Wytworzenie struktury drzewiastej adresów Web komponentów (PmaWebFolder)

Obiekt PmaWebFolder przedstawia adres Web-owy, pod który można włożyć adresy Web-owe innych komponentów. W ten sposób można wytworzyć strukturę drzewiastą adresów Web komponentów. Na przykład pod jednym adresem mogę się znajdować Web komponenty wszystkich danych, pod dalszym adresem komponenty obrazów, pod dalszym trendy, alarmy, itd.

6. Oferowanie stron HTML wytworzonych przez projektanta aplikacji (PmaWebDir)

Obiekt PmaWebDir potrafi oferować HTML (ale i inne) pliki, które są ulokowane w ustawionym folderze na dysku. Klient zażąda o jakić plik i Web serwer ten plik odnajdzie w tym folderze i odeśle go klientowi.

To jednak nie było by zbyt pożyteczne, ponieważ w ten sposób byłyby oferowane tylko strony statyczne. Dlatego obiekt PmaWebDir posiada koncepcję, która umożliwia statyczny plik na dysku przed odesłaniem klientowi zmienić według stanu bieżącego. To jest umożliwione przy pomocy słów kluczowych, które mogą zostać zapisane do statycznej strony HTML a następnie dane słowa kluczowe zamienić na wartości bieżące przed odesłaniem. Słowo kluczowe może się w ten sposób zamienić na przykład za numer, który przedstawia temperaturę, może się zamienić za określenie koloru tła czy nawet za część kodu HTML i przedstawiać w różnym czasie różne informacje.

W ten sposób można prosto wytwarzać nawet bardzop ogólne "żywe" strony.

Z punktu widzenia licencji jest klient, wymagający dane z tego Web komponentu klientem typu PmDataClient.

7. INFO system

Obiekt PmaWebInfo potrafi oferować strony HTML, które zawierają informacje INFO systemu PROMOTIC. Te strony wewbowe są wytwarzane automatycznie i projektant może w prosty sposób zapewnić, że informacje o biegu aplikacji będzie można obserwować zdalnie poprzez Web.

Z punktu widzenia licencji jest klient, wymagający dane z tego Web komponentu klientem typu PmDataClient.

8. Wersje językowe stron HTML (PmaWebLang)

Obiekt PmaWebLang przedstawia wybór języka, tzn. oferuje do Webu stronę, w której można wybrać język. Po wyborze języka zostanie wyświetlona lista komponentów, które są zarejestrowane do obiektu PmaWebLang. Wszystkie te komponenty jednak będą wyświetlane już w wybranym języku.

Na przykład jeżeli zarejestrujesz Web panel (PmaPanel) do obiektu PmaWebLang, wtedy automatycznie generowana strona HTML danego panelu będzie oferować w ten sposób, że wszystkie teksty panelu, które są wprowadzone przy pomocy Makro wyrażenie $.text, zostaną wyświetlone w wybranym języku.

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