Rzeka nowych możliwości (cz. 1)

Od września 2002 r. Notification Services są dostępne jako dodatkowy komponent do SQL Server 2000. Wersja Notification Services, która pojawi się w serwerze Yukon (i ADO .Net 2.0), będzie jednak zawierać dodatkową możliwość, bardzo przydatną w aplikacjach bazodanowych (czy też komponentach biznesowych). Przykładowo, będzie możliwe skonstruowanie aplikacji, która będzie "powiadamiana" o tym, że m.in. określony zbiór rekordów w bazie zmienił się i w związku z tym trzeba np. odświeżyć interfejs użytkownika, ponownie pobierając informacje. Z punktu widzenia programisty wykorzystanie takich usług sprowadza się do skonstruowania obiektu SQLDependency, który "wyzwala" zdarzenie po stronie klienckiej w momencie, gdy po stronie serwera nastąpiła zmiana. Taki obiekt jest kojarzony z określonymi poleceniami, które ma monitorować.

Technicznie rzecz biorąc, po stronie klienta specjalny proces prowadzi nasłuch na określonym porcie TCP. Można też wykorzystać protokół HTTP. Aplikacja kliencka jest więc w stanie monitorować aktualność danych w bazie bez konieczności odwoływania się do "kosztownych" serwerowych.

Raporty bardziej elastyczne

Integralną częścią Yukona będzie komponent odpowiedzialny za raportowanie wykorzystujący język XML Report Definitor Language. Wraz z serwerem firma dostarczy także zintegrowane z pakietem Visual Studio .Net narzędzia do projektowania raportów. Projektant ma do dyspozycji wiele gotowych kontrolek oraz potężny motor do tworzenia własnych wyrażeń za pomocą języka Visual Basic .Net. Jedną z kontrolek jest również komponent do tworzenia wykresów - jego możliwości są podobne do tych znanych z Excela. W Yukonie jednym z możliwych układów raportu jest tzw. układ macierzowy, w którym kolumny są generowane na podstawie kolejnych wierszy tabeli. Nowa baza ułatwi ponadto tworzenie raportów z możliwością "drążenia" danych od ogółu do szczegółu. Firma ma też udostępnić specjalne biblioteki upraszczające generowanie definicji raportu w czasie działania aplikacji.

Jeżeli raport sparametryzujemy, np. w celu dodatkowego filtrowania, usługa Reporting Services automatycznie utworzy interfejs do wprowadzania tego parametru. Do pisania własnych wyrażeń jest wykorzystywany język Visual Basic .Net, bez problemu można jednak dodać zewnętrzne biblioteki funkcji. W Reporting Services dzięki specjalnemu parserowi języka SQL można generować raporty nie tylko przez TSQL, ale także ODBC Oracle.

Motor raportowania może być rozszerzany. Można definiować dodatkowe typy danych i sposoby prezentacji, wcześniej należy jednak zaimplementować interfejs przekształcający zewnętrzne dane do postaci zrozumiałej dla Reporting Services. Co do prezentacji, kontrolki wizualne są dosyć proste do stworzenia, gdyż większa część operacji jest wykonywana automatycznie przez moduły renderujące odpowiedzialne za generowanie treści dla danego sposobu prezentacji. Standardowo są obsługiwane formaty HTML, PDF oraz DHTML. Z gotowego raportu można łatwo wygenerować plik CVS zawierający dane bez żadnego formatowania.

Yukon pozwala ograniczać dostęp od pewnego poziomu szczegółowości, np. przejrzeć sumaryczne wydatki na pensje, ale nie każdy może zobaczyć, ile zarabia przykładowy Kowalski. Zarządzanie raportami odbywa się z poziomu interfejsu WWW.

Usługi Reporting Services są dostępne w wersji Beta 2 dla serwera SQL Server 2000. Aby z nich korzystać, wystarczy licencja na serwer bazodanowy - nie są potrzebne żadne dodatkowe licencje. W wersji dla Yukona będzie dostępnych więcej źródeł danych, a ponadto moduł raportowy będzie integrować się z usługami analitycznymi. Będą też dostępne gotowe kontrolki do osadzenia - zarówno dla "grubych" aplikacji Windows, jak i dla aplikacji "przeglądarkowych". Nadal jednak raport jest tworzony po stronie serwera.

Najważniejsze nowości Yukona

  • Mechanizm Common Table Expression oraz obsługa błędów oparta na try/catch

  • Bogatsze możliwości motoru DTS, w tym oddzielnie określany przepływ i transformacja danych

  • Zupełnie nowe, zintegrowane środowisko projektanta/administratora bazy

  • Typ XMLData pozwalający na tworzenie indeksów na wyrażeniach XPath

  • Możliwość pisania procedur składowanych, funkcji i własnych typów z wykorzystaniem .Net

  • Dodatkowe usługi będące integralną częś-cią bazy danych - powiadamianie, broker komunikatów oraz usługi raportowania

  • Pełna funkcjonalność serwera dostępna poprzez HTTP

Pełnym tekstem

W Yukonie zostanie znacznie poprawiona obsługa tzw. wyszukiwania pełnotekstowego. Po pierwsze, baza "full-text search" staje się integralną częścią bazy danych - dotychczas był to okresowo synchronizowany indeks przechowywany w oddzielnym pliku, w Yukonie zaś stanowi integralną część bazy. Microsoft przeprowadzał testy na tabelach z ponad 2 mld wierszy. Co ciekawe, nowe algorytmy indeksowania zapewniają niemal liniową skalowalność rozwiązania. DDL (Data Definition Language) pozwala elegancko zarządzać wyszukiwaniem pełnotekstowym. Wyszukiwanie pełnotekstowe ma objąć nie tylko kolumny, ale także umieszczone w polach obiekty XML.

Drugą część artykułu zamieścimy w następnym numerze.