Zastosowanie Oracle Business Intelligence Beans w

Transkrypt

Zastosowanie Oracle Business Intelligence Beans w
X Konferencja PLOUG
Kościelisko
Październik 2004
Zastosowanie Oracle Business Intelligence Beans
w budowaniu aplikacji OLAP
Bartosz Bębel
Politechnika Poznańska, Instytut Informatyki
e-mail: [email protected]
Abstrakt
Oracle Business Intelligence Beans (w skrócie BI Beans) to zestaw komponentów JavaBeans, pozwalających na prostą i
szybką implementację w aplikacji bazodanowej zaawansowanych mechanizmów przetwarzania analitycznego OLAP.
Komponenty BI Beans dzielą się na trzy kategorie: komponenty prezentacyjne, takie jak wykresy i tabele do prezentacji
danych, komponenty OLAP, umożliwiające zadawanie skomplikowanych zapytań analitycznych oraz komponenty
katalogowe, których zadaniem jest przechowywanie i ogólnie pojęte zarządzanie obiektami analitycznymi, takimi jak:
raporty, wykresy, zapytania i inne, definiowanymi zarówno przez projektanta w trakcie budowania aplikacji, jak i przez
użytkownika podczas pracy z aplikacją. Wykład przedstawi podstawy instalacji, konfiguracji i stosowania komponentów
BI Beans w aplikacjach OLAP.
170
Bartosz Bębel
Zastosowanie Oracle Business Intelligence Beans w budowaniu aplikacji OLAP
171
1. Wstęp
Projektanci aplikacji dla analityków, pracujących z magazynami danych, stają przed problemem: jak szybko zaimplementować w aplikacji funkcjonalność, dzięki której użytkownik, posługując się intuicyjnym interfejsem będzie mógł:
• samodzielnie definiować skomplikowane zapytania analityczne do bazy danych,
• uzyskać wizualizację wyników zapytań w formie zestawień danych i wykresów, w miarę
możliwości konfigurowalnych.
Co więcej, różni użytkownicy potrzebują różnych klas narzędzi: z jednej strony aplikacji analitycznych o dużych możliwościach konfiguracyjnych, z drugiej strony lekkich aplikacji webowych,
wyświetlających jedynie wybrane zestawienia, itd.
Propozycją Oracle w obszarze problematyki projektowania aplikacji OLAP są komponenty
JavaBeans o nazwie Oracle Business Intelligence Beans. Obecnie dostępna wersja opisana jest
numerem 9.0.4 (wrzesień 2004). Oracle proponuje integrację komponentów z własnym środowiskiem budowy aplikacji Oracle JDeveloper.
Niniejszy artykuł prezentuje ogólny opis technologii BI Beans. W punkcie 2. przedstawione
zostaną informacje o modelu JavaBeans. Punkt 3. opisuje różne rodzaje komponentów BI Beans.
Punkt 4. prezentuje proces instalacji komponentów, w punkcie 5. omówiony zostanie proces budowy aplikacji przy użyciu BI Beans w środowisku Oracle JDeveloper. Punkt 6. podsumowuje
artykuł.
2. Komponenty JavaBeans
JavaBeans to model przenośnych komponentów programowych, służących do wizualnego tworzenia aplikacji. Utworzenie komponentu polega na zaimplementowaniu oferowanej przez niego
funkcjonalności w postaci klasy języka Java o ustalonej konwencji nazewnictwa metod, a następnie spakowaniu jej wraz z dodatkowymi informacjami w postaci pliku tzw. manifestu do archiwum JAR, będącego standardowym pojemnikiem komponentów Java Beans; w takiej postaci
komponenty są dalej publikowane w celu użycia ich przez twórców aplikacji.
Wizualne tworzenie aplikacji jest jedną z fundamentalnych cech modelu JavaBeans. Środowisko programistyczne budowy aplikacji (IDE), działające w technologii JavaBeans (np. Borland
JBuilder, Oracle JDeveloper), oferuje twórcy paletę komponentów, z których ten wybiera interesujący go komponent i przeciąga na formatkę tworzonej aplikacji. Środowisko automatycznie wygeneruje odpowiedni kod, który utworzy komponent wraz z oferowaną przez niego funkcjonalnością
w powstającej aplikacji. Tworzenie aplikacji w technologii JavaBeans można przedstawić jako
składanie jej z „klocków” – komponentów. Twórca w trakcie projektowania ustala charakterystyki
komponentu, nazywane właściwościami, dostępne w środowisku najczęściej w postaci palet właściwości. Właściwości określają np. nazwę i wygląd komponentu w działającej aplikacji, jego
zachowanie, itd. Z kolei zdarzenia komponentu pozwalają twórcy aplikacji określić, co się ma stać
w momencie wystąpienia danej sytuacji w ramach komponentu (np. dla komponentu będącego
przyciskiem interfejsu użytkownika – po kliknięciu na nim myszką). Programista wiąże z danym
zdarzeniem odpowiedni kod, który ma zostać wykonany po wystąpieniu tego zdarzenia. Często
komponent jest również wyposażony w zbiór metod, pozwalający programiście na manipulację
komponentem w trakcie działania aplikacji.
Oprócz licznej grupy komponentów, implementujących elementy graficzne aplikacji (np. elementy interfejsu użytkownika: przyciski, suwaki, pola tekstowe), istnieją również komponenty nie
posiadające w działającej aplikacji reprezentacji wizualnej, a jedynie dostarczające jej odpowiedniej funkcjonalności (np. umożliwiające połączenie aplikacji z bazą danych). Ich użycie w procesie tworzenia aplikacji jest nadal wizualne.
172
Bartosz Bębel
Środowiska do budowy aplikacji, działające w technologii JavaBeans, potrafią samodzielnie
„zanalizować” dostarczony im komponent JavaBeans (najczęściej po prostu skopiowany do określonego katalogu), wydobyć zbiór jego właściwości i zdarzeń wraz z kodem potrzebnym do zaimplementowania komponentu, wreszcie dodać sam komponent do palety komponentów oferowanych twórcy aplikacji (cały proces nosi nazwę introspekcji). Dzięki temu twórcy aplikacji mogą
w prosty sposób korzystać z dużego zbioru dostępnych komponentów JavaBeans, a programiści,
udostępniający zaprojektowane przez siebie komponenty, nie martwią się o proces ich właściwej
instalacji.
3. Oracle Business Intelligence Beans
Oracle dostarcza zestaw komponentów JavaBeans, nazwanych Business Intelligence Beans
(w skrócie BI Beans), służących do szybkiego i prostego tworzenia biznesowych aplikacji analitycznych. BI Beans są ściśle związane z rozszerzeniem OLAP bazy danych Oracle. Miejsce BI
Beans w architekturze bazy danych przedstawiono na rysunku 1.
Rys. 1. Miejsce BI Beans w architekturze bazy danych
Komponenty BI Beans dzielą się na trzy główne kategorie: komponenty prezentacyjne, komponenty OLAP oraz komponenty katalogowe.
Komponenty prezentacyjne
Służą do prezentacji użytkownikowi aplikacji wyników zapytań analitycznych do bazy danych
w postaci wykresów, tablic oraz arkuszy. Komponenty posiadają pokaźny zbiór właściwości, pozwalających na ich dostosowanie do konkretnych potrzeb użytkowników, wraz z zestawem metod,
umożliwiających manipulację komponentami w trakcie działania aplikacji. Wszystkie komponenty
prezentacyjne wyposażone są również w możliwość tworzenia wydruków.
Wykres. Komponent oferuje ponad siedemdziesiąt typów różnorakich wykresów (słupkowe,
kołowe, liniowe i inne), wyposażonych w szerokie możliwości konfiguracyjne, takich jak wybór
różnorakich układów, sposób prezentacji legendy, wybór serii danych, układ osi, kolory, opis danych, itd. Wykresy zapewniają końcowemu użytkownikowi wysoki stopień interaktywności, pozwalając na takie operacje jak drążenie, zwijanie, obracanie, filtrowanie danych, itd.
Tablica i arkusz. Prezentują dane w postaci tabelarycznej, dając użytkownikowi możliwość
wpływania na sposób wyświetlania informacji przez wykonywanie takich operacji, jak drążenie
i zwijanie, obracanie, filtrowanie, formatowanie warunkowe komórek (np. zmiana koloru tła w zależności od wartości komórki), itd.
Na rysunku 2 przedstawiono przykładową aplikację, używającą komponentu wykresu i arkusza.
Zastosowanie Oracle Business Intelligence Beans w budowaniu aplikacji OLAP
173
Rys. 2. Przykładowa aplikacja z wykresem i arkuszem
Komponenty OLAP
Zapewniają definiowane logiki biznesowej w aplikacji. Dzięki oddzieleniu warstwy implementującej logikę biznesową od warstwy prezentacyjnej zapewniono możliwość współdzielenia kodu
logiki biznesowej przez różne aplikacje klienckie.
Połączenie. Komponent zapewniający dołączenie aplikacji do serwera bazy danych Oracle.
Aplikacja analityczna może wykorzystywać wiele połączeń do różnych baz danych.
Budowniczy Zapytań (ang. QueryBuilder). Komponent wyposażony w prosty interfejs, umożliwiający użytkownikowi nie znającemu języka SQL definiowanie skomplikowanych zapytań
analitycznych. Komponent dostarcza użytkownikowi listę miar i wymiarów bazy danych oraz
szablony najczęstszych zapytań (np. „10 najlepiej sprzedających się produktów”); zadaniem użytkownika jest wskazanie odpowiednich elementów i ewentualna zmiana ich właściwości. Wybierane elementy użytkownik może zachować jako „ulubione” celem późniejszego szybszego dostępu
do nich przy definiowaniu kolejnych zapytań. Okno Budowniczego Zapytań, wyświetlającego
dostępne miary i wymiary przykładowego magazynu danych, przedstawiono na rysunku 3.
Rys. 3. Budowniczy Wyliczeń i Budowniczy Zapytań
174
Bartosz Bębel
Budowniczy Wyliczeń (ang. Calculation Builder). Komponent pozwalający użytkownikowi na
definiowanie nowych wyliczeń na podstawie istniejących w bazie wartości (miar lub wymiarów).
I tu również użytkownik nie musi znać języka SQL, posługując się listami elementów i predefiniowanych szablonów najczęstszych wyliczeń. Okno Budowniczego Wyliczeń przedstawiono na
rysunku 3.
Komponenty katalogowe
Katalog. Zapewnia bezpieczny mechanizm składowania definicji obiektów, utworzonych przez
projektanta aplikacji lub jej końcowego użytkownika: wykresów, tablic, arkuszy, zapytań i wyliczeń; format składowanych informacji to XML. Obiekty w katalogu mogą być współdzielone
przez wielu użytkowników końcowych, wykorzystujących je w swoich aplikacjach analitycznych.
Katalog zorganizowany jest w postaci folderów; możliwe jest ograniczenie dostępu użytkowników
do poszczególnych folderów. Definicje obiektów mogą być składowane w lokalnym systemie
plików, wówczas mamy do czynienia z katalogiem lokalnym, lub w bazie danych, wówczas mówimy o katalogu zdalnym. Pierwszy sposób składowania jest najczęściej wykorzystywany w czasie budowania aplikacji przez projektanta; wykorzystywane w aplikacji obiekty zostają potem
skopiowane do bazy danych jako środowiska skalowalnego, umożliwiającego korzystanie z nich
przez szerszą grupę użytkowników. Katalog ma możliwość efektywnego przeszukiwania; specjalna aplikacja, BI Explorer, pozwala nie tylko na przeglądanie obiektów katalogu, ale także na określanie praw dostępu użytkowników.
Zarządca składowania. Zapewnia dostęp aplikacji do składowanych w katalogu (lokalnym
i zdalnym) definicji obiektów.
Zarządca metadanych. Zapewnia połączenie metadanych, zdefiniowanych w katalogu komponentów BI Beans z katalogiem OLAP serwera bazy danych, dostarczając m.in. informacje
o miarach i wymiarach, zdefiniowanych w bazie danych. Informacje te są wykorzystywane przez
inne komponenty, np. przez Budowniczego Wyliczeń czy też Budowniczego Zapytań przy tworzeniu zapytań.
4. Instalacja komponentów BI Beans
Proces instalacji komponentów BI Beans przebiega w dwóch etapach. Pierwszym etap to instalacja plików w lokalnym systemie plików. Realizuje to automatyczny instalator. Praktycznie cały
proces instalacji to skopiowanie odpowiednich plików do podkatalogu o nazwie bibeans
w katalogu instalacyjnym Oracle JDeveloper. Drugi etap to dostosowanie bazy danych do aplikacji używających BI Beans. Wersja 9.0.4 komponentów BI Beans współpracuje z wersją Enterprise
Edition serwera bazy danych Oracle min. 9.2.0.3 z zainstalowanym rozszerzeniem OLAP. Ostatnim zadaniem jest instalacja w bazie danych katalogu komponentów BI Beans w przypadku późniejszego składowania komponentów w bazie danych.
5. Proces budowy aplikacji OLAP wykorzystującej BI Beans
Oracle dokonał integracji BI Beans z własnym środowiskiem tworzenia aplikacji Oracle
JDeveloper, udostępniając szeroką gamę różnorodnych kreatorów automatyzujących poszczególne
kroki tworzenia aplikacji. Jednak z racji zachowania standardu JavaBeans komponenty mogą zostać wykorzystywane również przez środowiska programistyczne innych producentów.
W zależności od potrzeb użytkowników, możliwy jest wybór interfejsu budowanej aplikacji.
Użytkownikom, dokonującym zaawansowanych analiz danych i wymagającym od aplikacji dużej
interaktywności w postaci możliwości zmiany szeregu parametrów celem jak najlepszego dostosowania do specyficznych wymagań, można zaproponować aplikację zbudowaną w Javie. Z kolei
użytkownicy o mniejszych wymagań, oczekujący od aplikacji dużej szybkości działania kosztem
zmniejszenia funkcjonalności, czy też chcących dokonać integracji aplikacji OLAP w ramy istniejących aplikacji webowych, otrzymają lekką aplikację HTML/JSP.
Zastosowanie Oracle Business Intelligence Beans w budowaniu aplikacji OLAP
175
Budowa aplikacji OLAP przy użyciu BI Beans sprowadza się do realizacji trzech kroków:
1. zaprojektowanie obiektów prezentacyjnych i OLAP,
2. zaprojektowanie interfejsu użytkownika,
3. zaimplementowanie zaawansowanej logiki biznesowej (krok opcjonalny).
W dalszej części artykułu skoncentruję się na przebiegu procesu budowy aplikacji w Oracle
JDeveloper.
Zaprojektowanie obiektów prezentacyjnych i OLAP
Pierwszym krokiem w procesie tworzenia obiektów prezentacyjnych i OLAP projektowanej
aplikacji jest zdefiniowanie obiektu o nazwie BI Designer, służącym jako kontener obiektów BI
Beans (BI Designer jest używany jedynie w fazie projektowania, nie wchodzi w skład działającej
aplikacji) i wskazującym źródło danych OLAP. Dopiero w ramach obiektu BI Designer projektant
aplikacji może dodawać obiekty BI Beans: prezentacyjne – wykresy, arkusze i tablice oraz komponenty OLAP – zapytania i wyliczenia. Przy definicji obiektów prezentacyjnych projektant posługuje się Kreatorem Prezentacji (ang. Presentation Wizard), natomiast definiując obiekty typu
zapytanie i wyliczenie – wspomnianymi już wcześniej: Budowniczym Zapytań i Budowniczym
Wyliczeń. Kreatory w szeregu kroków przeprowadzają projektanta przez poszczególne fazy definicji obiektów. Projektant wskazuje źródło danych OLAP dla obiektu (może to być istniejące,
zdefiniowane wcześniej połączenie; jeśli obiekt ma korzystać z nowego połączenia, BI Designer
uruchamia kreator połączeń) i wybiera miejsce składowania utworzonego obiektu (katalog lokalny
lub zdalny). Z użyciem BI Designera projektant może dokonać również skopiowania zdefiniowanego wcześniej obiektu pomiędzy katalogami.
Wynikiem omawianej fazy są definicje obiektów, składowane w katalogu (lokalnym lub zdalnym). Rysunek 4. przedstawia JDeveloper po zakończeniu definicji obiektów: wyliczenia o nazwie
QuotaVariance, arkusza o nazwie Sales Analysis Crosstab i wykresu o nazwie Sales Analysis
Graph. Projektant może dokonywać modyfikacji zdefiniowanych obiektów korzystając z palet
właściwości lub ponownie uruchamiając odpowiednie kreatory.
Rys. 4. JDeveloper po zakończeniu definicji obiektów projektowanej aplikacji
176
Bartosz Bębel
Zaprojektowanie interfejsu użytkownika
W kolejnym kroku procesu projektant musi określić rodzaj interfejsu użytkownika budowanej
aplikacji: interfejs Java czy też interfejs JSP/HTML. Po dokonaniu wyboru projektant jest prowadzony przez odpowiedni kreator (w zależności od wybranego typu interfejsu) przez szereg kroków
projektowania interfejsu. W jednym z kroków projektant wskazuje, które obiekty prezentacyjne BI
Beans, istniejące w katalogu (utworzone w kroku projektowania obiektów prezentacyjnych
i OLAP), mają być wyświetlane w aplikacji. Projektant może poprawić wygenerowany automatycznie interfejs używając narzędzia UI Editor (wchodzącego w skład środowiska JDeveloper),
dodając dodatkowe elementy interfejsu. Środowisko JDeveloper po zakończeniu procesu projektowania interfejsu użytkownika przedstawiono na rysunku 5.
Należy podkreślić, że zaprojektowanie w pełni funkcjonalnej aplikacji nie pociąga za sobą konieczności napisania przez projektanta linii kodu. Cały kod, tworzący interfejs użytkownika i wyświetlający określone obiekty BI Beans w aplikacji, zostaje wygenerowany automatycznie.
Po pomyślnym ukończeniu omawianej fazy praktycznie można zakończyć proces budowy aplikacji. Aplikacja posiada pełną funkcjonalność: uzyskuje połączenie z bazą danych, wysyła do bazy
danych zapytania analityczne, a ich wyniki prezentuje w postaci wykresów, tablic i arkuszy. Użytkownik aplikacji ma wpływ na formę prezentacji danych (np. zmianę typu wykresu, zmianę kolorów wyświetlanych danych, itd.), może również wykonywać zestaw określonych operacji
(np. drążenie na wykresie).
Rys. 5. Wygenerowany interfejs użytkownika w JDeveloper
Zaimplementowanie logiki biznesowej
Ostatni, opcjonalny krok procesu budowy aplikacji OLAP. Projektant może uzupełnić funkcjonalność aplikacji, dodając kod w postaci klas języka Java, implementujących np. złożone zależności biznesowe.
Zastosowanie Oracle Business Intelligence Beans w budowaniu aplikacji OLAP
177
Po przejściu omówionych powyżej faz aplikacja OLAP jest gotowa do dostarczenia użytkownikowi końcowemu. Oracle JDeveloper wspiera proces dystrybucji aplikacji, np. dla aplikacji Java
tworząc archiwum JAR ze wszystkimi niezbędnymi do pracy aplikacji składnikami.
Należy wspomnieć, że dostarczona przez firmę Oracle wersja instalacyjna komponentów BI
Beans wyposażona jest w zestaw tutoriali, zapoznających programistę z technologią BI Beans.
Tutoriale prowadzą programistę krok po kroku przez proces tworzenia kilku przykładowych aplikacji. Wyczerpująca dokumentacja tutoriali wraz z dokładną dokumentacją samych komponentów
BI Beans umożliwia programiście szybkie uzyskanie wiedzy na temat stosowania komponentów
w aplikacjach OLAP.
6. Podsumowanie
Komponenty Oracle Business Intelligence Beans pozwalają w łatwy i szybki sposób na zbudowanie aplikacji, udostępniającej użytkownikowi końcowemu zaawansowane możliwości analizy
i prezentacji danych OLAP. Daleko idąca integracja komponentów ze środowiskiem budowy aplikacji Oracle JDeveloper znacznie upraszcza i przyspiesza cały proces. Również projektanci aplikacji, którzy chcą włączyć do budowanych przez siebie aplikacji w innych środowiskach komponenty OLAP, powinni zwrócić uwagę na BI Beans jako ciekawą alternatywę dla projektowania
swoich własnych obiektów dostępu i prezentacji danych OLAP.
Bibliografia
[Eck03]
[Eng97]
[OraBI]
Eckel B.: Thinking in Java. Edycja polska. Helion, 2003, ISBN 83-7361-133-9.
Englander R.: Developing Java Beans. O’Reilly, 1997, ISBN 1-56592-289-1.
Oracle9i Business Intelligence Beans. An Oracle White Paper, 2002.

Podobne dokumenty