Wprowadzenie

Szeroko rozumiana inteligentna analiza danych jest coraz bardziej popularna i coraz częściej wykorzystywana również w firmach komercyjnych. Systemy umożliwiające rozproszenie tego typu obliczeń oraz ich udostępnienie na zasadzie usług (serwisów) stanowią nowoczesne i atrakcyjne rozwiązanie. Dodatkowo, zapewnienie spójnego języka komunikacji pomiędzy aplikacjami klienckimi a systemem, ułatwia rozwój i wykorzystanie oprogramowania.

W ogólności system analizy danych składa się z modułów obliczeniowych, jądra systemu zarządzającego tymi modułami i wykonywanymi obliczeniami, aplikacji klienckich, modułu zarządzania danymi oraz modułu umożliwiającego wizualizację wyników i obliczeń.

Otwarta platforma dla systemów analizy danych jest rozwijana od dwóch lat w zakładzie ISWD w ramach projektów studenckich. Pierwsze lata polegały na stworzeniu prototypów i rozpoznaniu technologii.

Cel projektu

Celem projektu jest stworzenie pierwszej, stabilnej wersji otwartej platformy dla systemów analizy danych w środowisku rozproszonym w oparciu o technologię j2ee.

Zastosowanie systemu

System może zostać wykorzystany wszędzie tam, gdzie jest potrzebna i wykorzystywana analiza danych, uczenie maszynowe i systemy wspomagania decyzji. System może być traktowany jako ogólna platforma obliczeniowa z dobrze zdefiniowanym językiem sterowania, modułem zarządzania danymi i możliwością wizualizacji wyników analizy. System ma też wspomagać pracę badawczą w dziedzinie analizy danych, uczenia maszynowego i wspomagania decyzji.

Użytkownicy:osoby wykorzystujące analizę danych, uczenie maszynowe lub systemy wspomagania decyzji oraz osoby prowadzące badanie w tym zakresie.

Klienci:firmy komercyjne przeprowadzające analizę danych, ośrodki badawcze, itp.

Zadania do wykonania

  • budowa i utrzymanie klastra komputerów (są do dyspozycji stare komputery pracowników zakładu ISWD oraz stare komputery z laboratorium)
  • zbudowanie szkieletu systemu w technologii j2ee (konieczne będzie rozpoznanie technologii j2ee oraz jednego z serwerów aplikacji, np. jboss -www.jboss.org)
  • dostosowanie i udostępnienie modułów obliczeniowych pakietu Weka (www.cs.waikato.ac.nz/ml/weka)
  • opracowanie interfejsu użytkownika i zapewnienie bezpieczeństwa systemu
  • przygotowanie przykładowej aplikacji klienckiej (graficznego interfejsu użytkownika z możliwością wizualizacji wyników i obliczeń)
  • opracowanie komunikacji pomiędzy modułami obliczeniowymi

Wymagania dotyczące systemu

  • praca zdalna w trybie wielu użytkowników (zapewnienie bezpieczeństwa i współbieżności)
  • możliwość rozpraszania obliczeń
  • komunikacja użytkownika z jądrem systemu za pomocą dobrze zdefiniowanego języka
  • możliwość prostego dodawania nowych modułów obliczeniowych do systemu
  • ułatwienie zarządzania danymi
  • umożliwienie komunikacji pomiędzy aplikacjami klienckimi i modułami obliczeniowymi w celu sterowania obliczeniami oraz wizualizacji wyników i obliczeń

Większość powyższych wymagań jest spełnionych przez technologie j2ee, jednak konieczne jest jej porządne rozpoznanie. Prototypy powyższych rozwiązań zostały wykonane w ramach poprzednich projektów.

Technologia

System zostanie zrealizowany jako serwer aplikacji. Komunikacja z serwerem powinna opierać się o interfejs web'owy oraz przykładową aplikację kliencką.

System powinien zostać napisany w technologii j2ee. Jako serwer aplikacji może zostać wykorzystany jboss (www.jboss.org).

Przykładowe moduły obliczeniowe będą pochodzić z systemu Weka (www.cs.waikato.ac.nz/ml/weka).

Weka i jboss są otwartym oprogramowaniem (open source).

Dodatkowe informacje

W przypadku sukcesu projektu, możemy postarać się o jego otwarte rozpowszechnianie (na licencjiopen source).

© 2005 jbossweka project