Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Współdzielenie danych XML

Współdzielenie danych XML jest założone na architekturze Klient-Server, tzn. tylko jedna aplikacja (Web serwer) posiada dane i jedna lub większa ilość aplikací (Web klienci) te dane odczytują lub zapisują.

aplikacja PROMOTIC potrafi być jak Web serwerem tak i Web klientem danych XML.

 

PROMOTIC Web serwer danych XML wytwarza się przy pomocy obiektu PmData (i jego zakładki Web serwer) lub przy pomocy obiektu PmDataTable (oraz jego zakładki Web serwer). Obiekt PmData/PmDataTable w tym przypadku przedstawia Web komponent. W danej aplikacji jeszcze musi konieczne znajdować się obiekt PmWeb, który wszystkie komponenty Web oferuje jako jeden Web serwer, patrz Podsumowanie technologii Web w systemie PROMOTIC.

PROMOTIC Web klient danych XML wytwarza się również przy pomocy obiektu PmData/PmDataTable i jego metod ReadFromWeb oraz WriteToWeb. Jeżeli aplikacja ma być tylko Web klientem, wtedy obiekt PmWeb nie musi znajdować się w aplikacji.

Takim sposobem mogą dwie aplikacje PROMOTIC w prosty sposób wymieniać dane. Obiekty PmData muszą w obu (lub większej ilości) aplikacjach zawierać takie same zmienne, zdefiniowane w zakładce Dane.

Przykład aplikacji patrz Przykład komunikacji przy pomocy XML.

 
Obiekt PmDataTable może dynamicznie zmieniać ilość danych w nim zawartych przy pomocy metod InsertRow, RemoveRow, InsertCol lub RemoveCol. W transmisji XML jednak z powodów bezpieczeństwa nie można automatycznie zmieniać ilość danych! Jeżeli więc jest na przykład w aplikacji klienckiej zmienić ilość danych tak, żeby była taka sama jak na serwerze, wtedy jest wpierw konieczne stwierdzić ilość wierszy na serwerze (np. stwierdzeniem XML przez obiekt PmData), następnie wykonać zmianę przy pomocy wyżej wymienionych metod i dopiero potem wywołać metodę ReadFromWeb.
 
Komunikacja XML wspomaga pomiędzy obiektami PmData transmisję hierarchicznym sposobem. Pod tym określeniem mamy na myśli to, że w danym obiekcie PmData nie muszą się znajdować wyłącznie proste zmienne (jakimi są np. Integer, Single, itd.) lecz na tej pozycji może być również odniesienie do danych innego obiektu PmData. Zważmy przykład, gdzie 1. pozycja obiektu /Data/DataA odnosi się do danych obiektu /Data/DataB (obiekt DataA i DataB są typu PmData). Wtedy 1. pozycja obiektu DataA musi być typu danych Object i ustawiona na przykład przez polecenie skryptowe:
VBScriptWybierz oraz skopiuj do schowka

Set pMe.Pm("/Data/DataA").Item(1) = pMe.Pm("/Data/DataB")

lub zamiast tego można na 1. pozycji wytworzyć powiązanie z danymi PP Właściwość PROMOTIC obiektu lub jego obiektu podrzędnego (Ini Przy inicjalizacji właściwości). W tym powiązaniu PP wypełnij ścieżkę do obiektu DataB lecz pozycję do wprowadzania włyściwości pozostaw pustą. W ten sposób będzie 1. pozycja obiektu DataA połączona bezpośrednio z obiektem DataB.

Jeżeli serwer i klient będą mieć oby dwa te obiekty ustawione tak samo, wtedy można przy jednym przeniesieniem zawartości obiektu DataA przenieść także zawartość obiektu DataB. Taka koncepcja jest zalecana wtedy, jeżeli w projekcie znajduje się większa ilość obiektów PmData, lecz chcesz przenosić dane pomiędzy wszystkimi jednocześnie w jednej wiadomości komunikacyjnej.

 
Poza tym Web klientem może być również na przykład strona HTML przeglądana przy pomocy Internet Explorera. W tym przypadku można w stronie HTML wykorzystać tag <xml>, który umożliwia odczyt danych XML z Web serwera. Można również wykorzystać dynamiczne strony HTML oraz obiekt Microsoft Msxml2.XMLHTTP (pisane w 2004 roku), który potrafi odczytywać i zapisywać do danych.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice