Web serwer jest aplikacją, która oferuje strony Webowe (pliki
HTML, XML, BMP, itd.) do Internetu/Intranetu, i strony te można następnie przeglądać przy pomocy przeglądarki internetowej (
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 komoputerach), 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 (Chrome, Firefox, Edge, InternetExplorer ...).
- Inne aplikacje (na tym samym lub na 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 dlatego można dane przenosić nawet poprzez Ethernet.
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ń.
Uwaga! Web serwer w systemie PROMOTIC podlega
licencjowaniu, tzn. żeby działał w runtime (z licencją runtime), jest konieczne zakup pozycji dla klientów sieciowych do licencji runtime (
Data lub Web klient - według rodzaju oferowanych Web komponentów - 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.
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 komponent 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 identyfikator tekstowy (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 pozycji "
/COMM/WebServer" INFO systemu.
W obiekcie
PmaWeb można ustawić tzw.
port. Port jest bardzo ważną informacją prza transmisji poprzez Ethernet (TCP/IP). Jego Wartość standardowa 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ę zazwyczaj 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 Web komponentów 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):
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ć Web komponentem następujące obiekty:
-
PmaWorkspace: (patrz karta "
Web serwer") Oferuje cały wygląd graficzny obszaru roboczego w formie strony HTML.
-
PmaPanel: (patrz karta "
Web serwer") Oferuje wygląd graficzny (włącznie ze sterowaniem i transmisją bieżących wartości) w formie dynamicznej strony HTML.
-
PmaReport: (patrz karta "
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.
-
PmaWebFolder: Umożliwia wytworzenie hierarchicznego poziomu adresu URL.
-
PmaWebDir: Oferuje pliki w określonym folderze jako statyczne strony do Webu.
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 aplikacji tak, że jest oferowanych kilka paneli (ramek) równocześnie. W niektórych ramkach są wyświetlane strony HTML obiektu
PmaPanel, w innych mogą być jednak także inne Web komponenty, 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ć do 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 "
Zezwól jako komponent WEBowy")
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 panela. 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 formacie XML (PmaData, PmaDataTable)
Aplikacja potrafi oferować dane bieżące, które są ulokowane W obiekcie
PmaData oraz
PmaDataTable. Te obiekty są wtedy Web serwerem danych, patrz karta "
Web serwer". Oferowane dane są dostępne w formie 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ęcej 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 periodycznie 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 periodycznie 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 Web 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 dla paneli, 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 bieżące wartości 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ęść tekstu 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. Download plików
Obiekt
PmaWebDir umożliwia wybrać folder na serwerze, którego zawartość (pliki) zostaną oferowane Web klientowi do wyświetlenia lub pobrania. Patrz:
Download plików
9. INFO system
Obiekt
PmaWebInfo potrafi oferować strony HTML, które zawierają informacje
INFO systemu. Te strony Webowe 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.
10. 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 (obiekt
PmaPanel) do obiektu
PmaWebLang, wtedy automatycznie generowana strona HTML danego panela będzie oferować w ten sposób, że wszystkie teksty panela, które są wprowadzone przy pomocy
Makro wyrażenie $.text, zostaną wyświetlone w wybranym języku.