Web XML rozhraní SQL serveru

Web XML rozhraní nabízí nejjednodušší způsob, jak zpřístupnit 602SQL databázi na webu:

Toto rozhraní lze využít například pro import XML dat do databáze, export XML dat z databáze, zobrazení dat z databáze ve webovém prohlížeči, vkládání a editaci obsahu databáze pomocí webových formulářů atd.

Dva způsoby provozu webového XML rozhraní

Web XML rozhraní SQL serveru lze provozovat:

  1. buď ve spolupráci web serveru Apache a SQL serveru,
  2. anebo v režimu emulace web serveru SQL serverem.

Zprovoznění první varianty vyžaduje více kroků než zprovoznění emulace. Emulace nepodporuje protokol HTTPS, proto se využívá při ladění, ale ne při ostrém provozu aplikací vyžadujících vysoké zabezpečení.

Web XML rozhraní je navrženo tak, aby se chovalo při obou provozních režimech totožně, až na vyjmenovaná omezení emulace. Proto způsob provozu rozhraní lze kdykoliv změnit.

Využijte popis uvedení rozhraní do provozu.

Autentizace klienta přes webové XML rozhraní

Webové XML rozhraní využívá webovou autentizaci podle RFC 2617, metodu "Basic". SQL server může být nastaven dvojím způsobem:

Provoz bez autentizace se používá například v informačních aplikacích nebo otevřených fórech.

Uživatelská jména používaná při webové autentizaci se shodují se jmény uživatelů definovanými v databázi. Hesla používaná na webu jsou odlišná od hesel pro normální přihlášení k databázi. Definují se v tabulce hesel pro webový přístup.

Odposlechem protokolu HTTP v síti lze zachytit a snadno dešifrovat hesla z metody Basic. Proto v aplikacích s kritickou bezpečností používejte protokol HTTPS.

Klient přistupující přes web XML rozhraní bez autentizace je z pohledu databázového serveru anonymním klientem. Autentizovaný klient je na server přihlášen pod uvedeným uživatelským jménem. V obou případech platí, že:

Pomocí URL lze vyvolat nebo potlačit proces autentizace nezávisle na nastavení provedeném pro SQL server:

Obecný formát URL pro webové XML rozhraní

Oba způsoby provozu webového XML rozhraní používají stejná URL. Proto lze přejít mezi emulací web serveru a nasazením skutečného web serveru beze změn v aplikaci.

URL má tento základní tvar (hranaté závorky vymezují nepovinné části):

http[s]://<host_name>[:<port_number>]/[<path>/]602.php/<server_name>/<schema_name>/<category>/<object>[?<parameters>]

Parametry se uvádějí ve tvaru:

param1=hodnota1&param2=hodnota2&...paramx=hodnotax

Příklady:

http://www.thecompany.com/602.php/databank/forms/DAD/registration

URL slouží k importu XML dat obsažených v těle požadavku POST na server databank do schématu forms pomocí DAD objektu registration. Objekt registration popisuje, jak se data obsažena v XML souboru mapují na databázové tabulky. Autentizace se vyžaduje, pokud je tak nastaveno web XML rozhraní SQL serveru.

http://www.thecompany.com/602.php/databank/forms/-DAD/registration

Jako výše, ale autentizace se nevyžaduje. Na SQL serveru nesmí být zablokován účet anonymního uživatele.

http://www.thecompany.com/602.php/databank/forms/!DAD/registration

Jako výše, ale autentizace se vždy vyžaduje bez ohledu na nastavení web XML rozhraní SQL serveru.

https://secureweb.thecompany.com:8080/scripts/602.php/databank/forms/DAD/showinfo?ID=12345

URL slouží k zobrazení dat z databáze ve webovém prohlížeči pomocí metody GET. Apache server secureweb.thecompany.com pracující na portu 8080 spustí script 602.php z adresáře scripts. Ten se obrátí na server databank a ve schématu forms provede export dat popsaný v DAD objektu showinfo. Výběr dat je určen zadanou hodnotou parametru ID, na nějž tento DAD odkazuje. Data exportovaná ve formátu XML jsou pak v prohlížeči transformována do HTML formátu pomocí styleshhetu uvedeného v DAD.

http://www.thecompany.com/602.php/databank/forms/QUERYDATA/select ID,NAME,REGDATE from registry WHERE REGDATE>=cast(startfrom as date)?startfrom=1.6.2006

URL umožňuje pomocí metody GET získat odpověď na SQL dotaz ve standardním XML formátu. Výběr dat je parametrizován hodnotou startfrom.