Prosta droga do usług Web

Dzięki narzędziom zawartym w SOAP Toolkit programista może również udostępniać funkcjonalność swoich aplikacji opartych na Microsoft Office w formie usługi Web. W tym przypadku musi jednak "ręcznie" definiować odpowiednie klasy COM, a następnie przy użyciu SOAP Toolkit wygenerować właściwe komponenty i interfejsy WSDL.

XML w SQL Server

Usługi Web mogą być dostępne bezpośrednio z poziomu serwera SQL Server 2000. Pakiet SQLXML 3.0, rozszerzający funkcjonalność bazy danych Microsoftu, zawiera elementy umożliwiające bezpośrednią komunikację z serwerem za pośrednictwem odwołań SOAP. Dzięki niemu można zarówno wywoływać poszczególne procedury składowane, jak i korzystać z wzorców XML zdefiniowanych w SQL.

Częścią SQLXML 3.0 są klasy .Net Framework. Schemat klas przypomina podstawowe obiekty ADO.Net (odpowiadające za "polecenie", "pa-rametr" czy uniwersalny adapter dostępu). Dzięki temu rozszerze- niu można bezpośrednio komunikować się z instancją SQL 2000, a następnie przetwarzać dane po stronie aplikacji .Net.

Prosta droga do usług Web

Przykład komunikacji ze strony klienta wykorzystującego Soap Toolkit

Warto podkreślić, że SQLXML 3.0 upraszcza aktualizację bazy za pośrednictwem XML. Można stosować tzw. DiffGrams (generowane automatycznie na podstawie mechanizmu DataSet z .Net Framework), które zawierają rejestr zmian, jakie zaszły w stosunku do oryginalnego zestawu danych. Jest to rozszerzenie "aktualizacji wsadowej", gdy po stronie klienckiej wykonuje się dowolne operacje na wielu różnych tabelach połączonych relacjami, a następnie niemal jedną instrukcją zatwierdza zmiany na serwerze. Można również stosować tzw. Updategrams - ręcznie generowane instrukcje XML, które pozwalają aktualizować dane na SQL Server.

Wraz z pakietem SQLXML jest dostępny provider OLE DB, który bezpośrednio przekazuje do stacji klienckiej strumień XML generowany przez serwer. Nowością jest możliwość przeniesienia części obciążenia związanego z formatowaniem XML na komputer kliencki. Dzięki SQLXML 3.0 rozszerzono także inne elementy obsługi XML w SQL 2000. Można np. wykorzystywać zarówno schematy XDR, jak i XSD. Ujednolicono również sposób odwoływania z pozio- mu XPath do obiektów bazoda- nowych. We wzorcach XML można także definiować wartości, które przyjmą wartości null.

Dzięki SQLXML 3.0 można zdefiniować całą infrastrukturę niezbędną do realizacji usług Web. Na serwerze WWW tworzone są wirtualne katalogi, które pośredniczą w komunikacji z SQL Server. Po zdefiniowaniu katalogu określa się, jak mają być mapowane poszczególne elementy bazy danych na usługę Web. Proces ten sprowadza się do dodawania kolejnych procedur wbudowanych.

Udostępnienie wirtualnego katalogu oznacza, że zewnętrzni użytkownicy będą mogli wywołać każdą zawartą w nim usługę Web. Nie przewidziano bowiem dodatkowego logowania na poziomie SQLXML.

Czy od podstaw?

Planując tworzenie usług Web, warto pamiętać, że tak naprawdę są one po prostu innym sposobem komunikacji. Tworzenie ich od podstaw, w odpowiednio wybranych narzędziach ma sens tylko dla nowych systemów - w momencie gdy dysponujemy kodem, który działa i jest dokładnie przetestowany, warto sprawdzić, czy nie można "opakować" odwołań do danych funkcji czy metod w niezbędną infrastrukturę związaną z Web Services i SOAP. Należy tylko pamiętać, że SOAP nie jest protokołem oszczędnym - przy komunikacji przekazywana jest duża część informacji nadmiarowych. Może to sprawić, że w intranecie jednak wygodniej będzie korzystać z innych mechanizmów - .Net Remoting czy DCOM w środowisku Windows.


TOP 200