Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Sdílení XML dat

XML sdílení dat je postaveno na architektuře Klient-Server, tzn. jen jedna aplikace (Web server) vlastní data a jedna nebo více aplikací (Web klienti) tato data čtou nebo do nich zapisují.

PROMOTIC aplikace umí být jak Web serverem tak Web klientem XML dat.

 
PROMOTIC Web server XML dat se realizuje pomocí objektu PmData (a jeho záložky Web Server) nebo pomocí objektu PmDataTable (a jeho záložky Web Server). Objekt PmData/PmDataTable v tomto případě představuje Web komponentu. V dané aplikaci je však ještě potřeba mít jeden objekt PmWeb, který všechny Web komponenty aplikace nabízí jako jeden Web server, viz Přehled WEB technologie v systému PROMOTIC.

PROMOTIC Web klient XML dat se realizuje také pomocí objektu PmData/PmDataTable a jeho metod ReadFromWeb a WriteToWeb. V případě, že aplikace má být pouze Web klientem, nemusí být objekt PmWeb přítomen.

Tímto způsobem si mohou dvě PROMOTIC aplikace jednoduše vyměňovat realtime data. Objekty PmData musí v obou (nebo více) aplikacích obsahovat stejné datové položky, definované v záložce Data.

Příklad aplikace viz Příklad na komunikaci pomocí XML.

 
Objekt PmDataTable může dynamicky měnit počet svých dat pomocí metod InsertRow, RemoveRow, InsertCol nebo RemoveCol. XML přenosem však z bezpečnostních důvodů počet dat automaticky měnit nelze! Pokud je tedy například potřeba na klient aplikaci změnit počet dat tak aby byl stejný jako na serveru, pak je nejdřív nutné zjistit počet řádků na serveru (např. XML dotazem objektem PmData), pak provést změnu pomocí výše zmíněných metod a teprve pak zavolat metodu ReadFromWeb.
 
XML komunikace podporuje mezi objekty PmData přenos hierarchickým způsobem. Myslíme tím to, že v daném objektu PmData nemusí být jen jednoduché datové položky (jako je Integer, Single, atd.) ale datovou položkou může být i odkaz na data jiného PmData objektu. Uvažujme příklad, kdy 1.položka objektu /Data/DataA se má odkazovat na data objektu /Data/DataB (objekt DataA i DataB jsou typu PmData). Tehdy 1.datová položka objektu DataA musí být datového typu Object a nastavena například scriptovým příkazem:
Set pMe.Pm("/Data/DataA").Item(1) = pMe.Pm("/Data/DataB")

nebo místo toho lze v 1.datové položce vytvořit datovou vazbu PP Vlastnost Promotic objektu nebo jeho podobjektu (Ini Při inicializaci vlastnosti). V této PP vazbě vyplníme cestu k objektu DataB ale položku pro zadávání vlastnosti necháme prázdnou. Tak bude 1.položka objektu DataA spojena přímo s objektem DataB.

Pokud server i klient budou mít tyto objekty nakonfigurovány stejně, pak lze jedním přenosem obsahu objektu DataA přenášet i obsah objektu DataB. Tato koncepce je výhodná, pokud máte v projektu více PmData objektů, ale všechny chcete přenášet najednou v jedné zprávě.

 
Web klientem může být také například HTML stránka prohlížená Internet Explorerem. V tomto případě lze v HTML stránce použít tag <xml>, který umožňuje číst XML data z Web serveru. Lze také využít dynamické HTML a Microsoft objekt Msxml2.XMLHTTP (psáno v roce 2004), který umí číst i zapisovat do XML dat.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice