Zapewnić płynną wymianę danych
- Tomasz Kopacz,
- 18.11.2002
Liquid Data for WebLogic to interesujący produkt BEA, przeznaczony do integracji w czasie rzeczywistym danych pochodzących z rozmaitych systemów.
Liquid Data for WebLogic to interesujący produkt BEA, przeznaczony do integracji w czasie rzeczywistym danych pochodzących z rozmaitych systemów.
Źródła danych
Liquid Data czerpie dane z dowolnej bazy relacyjnej, dla której dostępny jest sterownik JDBC, komponent JCA (pozwalający na łączenie się z systemami klasy Enterprise). Brakuje niestety opracowanego przez BEA interfejsu do hurtowni danych i kostek OLAP. Co prawda producenci oprogramowania business intelligence dostarczają zwykle mechanizmy dostępu do danych w programach Java, to dodatkowo do Liquid Data można podłączyć komponenty EJB będące źródłem danych.
Źródłem danych może być dowolna usługa Web lub plik XML zapisany na serwerze. Użytkownicy korzystający z serwera aplikacyjnego BEA mają do dyspozycji tzw. Application Views. Są to specjalne komponenty, które pozwalają na dostęp do widoków biznesowych danych w konkretnej aplikacji osadzonej na serwerze aplikacyjnym Web Logic (częściowo jest wykorzystywany mechanizm JCA).
Co prawda w motorze Liquid Data nie ma mechanizmu definiowania metadanych ani dodatkowego opisu wykorzystywanych źródeł, ale z powodzeniem można zastosować kaskadowe odwołania do innych, zdefiniowanych już struktur czy dokumentów transformacyjnych. Częścią Liquid Data jest repozytorium, w którym są umieszczane zapytania, widoki danych, definicje schematów XML i specjalne definicje funkcji użytkownika. Repozytorium jest wspólne dla wszystkich zapytań i może być tylko jedno dla całej instalacji klastrowej. Nie zawiera mechanizmów "podpisywania" obiektów. Nie ma też narzędzia do kontroli wersji.
Pytania do źródeł
Zapytania XQuery tworzy się przy użyciu narzędzia graficznego Data View Builder. Pozwala ono "przeciągać" odpowiednie kolumny źródłowe, definiować dokument wyjściowy, określać transformacje. Umożliwia też określenie sposobu parametryzacji zapytania.
Specjalna zakładka Data View Buildera zawiera narzędzia do optymalizacji zapytań XQuery - i to zarówno na poziomie języka, jak i "podpowiedzi" do konkretnego systemu docelowego. Każdemu wyrażeniu towarzyszy dodatkowa informacja, z której wynika, w jaki sposób docelowy motor danych wykona zapytanie. W przypadku zapytań do baz relacyjnych można określić sposób blokowania, wykorzystanie indeksów itp. Mechanizm ten stwarza duże możliwości "strojenia" systemu, szkoda tylko, że nie został zautomatyzowany. BEA zatroszczyła się również o narzędzie testujące zapytania XQuery.
Prawa dostępu
Problemem w Liquid Data jest tzw. propagacja praw dostępu. Podczas definiowania źródeł danych określane są np. nazwy użytkowników, którzy te dane mogą przeglądać. Liquid Data, wykonując zapytanie Xquery, wykorzystuje te informacje, komunikując się z docelowym systemem. Nie ma jednak możliwości połączenia informacji o użytkowniku, który spowodował wykonanie zapytania w Liquid Data, z informacjami przekazywanymi do docelowej bazy. Innymi słowy, może się zdarzyć, że użytkownik wykonujący zapytanie uzyska wgląd w zapisane w bazie danych informacje finansowe, do czego nie był upoważniony. Aby tego uniknąć, należy odpowiednio weryfikować sposób wywoływania motoru Liquid Data, np. na poziomie interfejsu WWW udostępnianego użytkownikom.