Oprogramowanie narzędziowe - HDB

oceń stronę
 

Oprogramowanie narzędziowe

 

HDB

Charakterystyka
 
Moduł HDB jest interpreterem prostego języka skryptowego, który służy do generowania plików tekstowych na podstawie zawartości baz danych. Jego podstawowym zadaniem jest generowanie "na bieżąco" stron WWW zawierających dane uzyskane za pomocą zapytań sformułowanych w języku SQL. Jest doskonałym i zarazem prostym narzędziem do budowy aplikacji bazodanowych działających w przeglądarkach WWW z wykorzystaniem protokołu HTTP.
Zasada działania
 
Serwer HDB oraz serwer WWW są programami działającymi w systemie nieustannie. W chwili, gdy występuje potrzeba obsługi zapytania przez serwer HDB, serwer WWW uruchamia program HDBdisp i przesyła za jego pośrednictwem dane otrzymane od klienta do serwera HDB. Po obsłużeniu zapytania, serwer HDB, również za pośrednictwem programu HDBdisp, zwraca stronę WWW zawierającą dane wynikowe do serwera WWW, a ten, poprzez Internet, przesyła ją do przeglądarki WWW, która wysłała zapytanie.
Główne cechy
 
Moduł HDB odznacza się cechami, które czynią go atrakcyjnym, łatwym do stosowania narzędziem, umożliwiającym szybkie tworzenie aplikacji bazodanowych wykorzystujących Internet i powszechnie stosowany protokół HTTP. Umożliwia przy tym niezależność od platformy sprzętowej/ systemowej.

HDB napisany został w dwóch następujących wersjach:
  • Aplikacja dla Windows NT, instalująca się w systemie jako tzw. serwis Windows NT.
  • Program napisany w języku Java, a więc działający na niemal każdej platformie sprzętowej/systemowej. Dzięki dodatkowym programom wchodzącym w skład modułu HDB, może on zostać przekształcony w program działający w danym systemie operacyjnym w tle, a więc nie angażujący konsoli, przy czym:
    - w systemie Windows NT serwer HDB (napisany w Javie) stanie się typowym serwisem rejestrującym się w panelu sterowania,
    - w systemie Unix serwer HDB stanie się unixowym demonem.
Program HDBdisp musi być skompilowany indywidualnie dla każdego systemu operacyjnego, nie stanowi to jednak problemu z uwagi na mały stopień złożoności programu i przenośną implementację w języku C.
Skalowalność
 
Dzięki zastosowanej architekturze, możliwe jest łatwe skalowanie systemu. W szczególności serwer WWW, serwer HDB oraz serwer baz danych SQL mogą być umieszczone na trzech oddzielnych maszynach o innych systemach operacyjnych.
Podstawowe funkcje
 
Tworzenie aplikacji WWW przy pomocy modułu HDB polega na zaprojektowaniu struktury bazy danych oraz napisaniu szeregu skryptów HDB obsługujących każdy ekran aplikacji. Skrypty HDB są zwykłymi plikami HTML, w które wplecione są komendy interpretowane przez serwer HDB. Komendy te umożliwiają wykonywanie zapytań SQL na bazie danych. W efekcie, w miejscu komend HDB, na wynikowej stronie WWW pojawiają się dane pobrane z bazy danych.

Komendy skryptów HDB umożliwiają realizowanie następujących funkcji :
  • wykonywanie zapytań wybierających dane z bazy,
  • wstawianie danych z bazy do generowanej strony WWW,
  • wykonywanie pewnych sekcji skryptu warunkowo (np. na podstawie danych z bazy, czy też danych od przeglądarki),
  • wykonywanie pętli,
  • wykonywanie zapytań akcji (modyfikowanie bazy SQL),
  • formatowanie generowanych danych (dat, liczb, konwersja polskich znaków),
  • szereg funkcji ułatwiających generowanie wydruków - nie mają one większego zastosowania przy wykorzystaniu modułu HDB do tworzenia aplikacji WWW, lecz są pożyteczne do dynamicznego generowania przy jego pomocy wydruków na drukarkę (formatowanie nagłówków, stopek, sekcji).
Dodatkowym, wielkim atutem modułu HDB napisanego w Javie, jest możliwość tworzenia własnych funkcji, które mogą być następnie wykorzystane na poziomie skryptów. Wystarczy stworzyć w języku Java według odpowiednich wytycznych zestaw własnych funkcji, skompilować stworzony moduł, a następnie zameldować go w odpowiednim pliku konfiguracyjnym.
Zalety
 
Podsumowując krótką charakterystykę modułu, należy stwierdzić, że posiada on wiele zalet, które powinny skłonić firmy poszukujące narzędzia umożliwiającego dostęp do baz danych przez WWW, do zwrócenia uwagi właśnie na HEUTHES® - HDB.
Niezależność od platformy
 
Ponieważ moduł HDB jest napisany w Javie, może być on używany na każdej platformie sprzętowej, pod każdym systemem operacyjnym, na którym istnieje maszyna wirtualna Java. Dotychczas testowany był na platformach Windows NT, Linux, Solaris.
Niezależność od serwera baz danych
 
Niezależność od serwera baz danych - serwer HDB nie jest związany z żadnym konkretnym serwerem bazodanowym. Do komunikacji wykorzystywany jest mechanizm JDBC (wersja Java) lub ODBC (wersja Windows NT), zgodny jest więc z każdym serwerem bazodanowym, na który istnieje odpowiedni sterownik JDBC/ODBC. Testowany był na bazach danych MS SQL Server oraz Informix.
Niezależność od serwera www
 
Serwer HDB jest powiązany z serwerem WWW przy pomocy małego programu HDBdisp, więc jest od niego niezależny. Mechanizm CGI wykorzystywany przez program HDBdisp jest wspierany przez praktycznie każdy serwer WWW, więc moduł HDB można stosować z niemal każdym takim serwerem. Testowany był na serwerach Internet Information Server, Apache, Sun Web Server.
Prostota
 
Skrypty HDB są stronami napisanymi w języku HTML, w które wplecione są komendy interpretowane przez server HDB, co znacznie ułatwia ich tworzenie.
Rozszerzalność
 
Użytkownik może dołączyć do serwera HDB własny zestaw funkcji napisanych w języku Java, np. realizujących obliczenia arytmetyczne, szyfrujących, analizujących ciągi znaków.
Serwer aplikacyjny HDBJ
 



Serwer aplikacyjny HDBJ zawiera:
  • Dispatcher - kieruje komunikaty z serwera WWW i mod-a HDB do poszczególnych elementów serwera aplikacyjnego, a następnie odsyła odpowiedź.
  • Dzienniki - gromadzą dane na temat jakości pracy systemu, wywoływanych skryptów, funkcji, zdarzeń etc.
  • HDB Java Classes - skrypty HDB stranskompilowane do klas języka Java, zawierające kod realizujący logikę aplikacyjną.
  • JDBC - sterowniki bazodanowe dostarczane przez producenta bazy danych.
  • Komponenty JS / biblioteka CROSS - funkcje, obiekty i metody napisane w języku JavaScript uniezależniające aplikację i programistę od zainstalowanego na stacji roboczej systemu operacyjnego (Windows, Linux, niektóre systemy w smartfonach) i przeglądarki internetowej (Internet Explorer, Firefox, Chrome). Pozwalają one m.in. na wygenerowanie interfejsu użytkownika, operacje na wierszach tabel (np. sortowanie, zaznaczanie), tworzenie okien modalnych, ujednoliconą komunikację między oknami i zakładkami przeglądarki oraz między przeglądarką a serwerem. Dzięki tym bibliotekom programiści nie muszą uwzględniać w kodzie aplikacji różnic implementacyjnych występujących między poszczególnymi przeglądarkami internetowymi.
  • Konfiguracja serwera i skryptów - pliki tekstowe umożliwiające ustalenie wartości parametrów dla serwera i aplikacji.
  • Minimal Web Server - wbudowany serwer WWW, o ograniczonych możliwościach, wykorzystywany podczas testów i debugowania.
  • Mod HDB - rozszerzenie serwera WWW Apache zapewniające komunikację między serwerem HDBJ (lub wieloma serwerami) a serwerem WWW.
  • Pamięć sesji - moduł umożliwia zapis danych o sesji użytkownika na nośniku oraz ich ewentualny późniejszy odczyt w przypadku restartu serwera HDBJ, co pozwala utrzymać ciągłość pracy użytkowników z systemem.
  • Serwer WWW - serwer obsługujący żądania przeglądarki WWW poprzez protokół HTTP lub HTTPS.
  • Serwisowe skrypty HDB - w przypadku konieczności wprowadzenia zmiany w skrypcie skompilowanym istnieje możliwość jego szybkiego zastąpienia nieskompilowanym nowym skryptem HDB (nawet podczas działania systemu), bez konieczności kompilacji całej aplikacji. Skrypt ten będzie później przetwarzany przez interpreter języka HDB do czasu dostarczenia nowej skompilowanej wersji aplikacji.
  • SMTP - umożliwia wysyłanie poczty.
  • SOAP Server - realizacja opartego o język XML protokołu wywoływania zdalnego dostępu do obiektów.
  • Telnet monitoring - mechanizm umożliwiający monitorowanie w trybie rzeczywistym stanu serwera HDBJ oraz zmianę jego niektórych parametrów (dotyczących wątków, sesji, konfiguracji etc.).
  • Warstwa abstrakcji bazy danych - umożliwia równoległe działanie różnych baz danych od wielu producentów, uniezależnia od różnych reprezentacji danych dla typów takich jak daty, liczby etc.
  • WebDAV - wsparcie dla DMS (Document Management System - system zarządzania dokumentami), umożliwia m.in. podgląd i edycję plików w oknie przeglądarki WWW i ich bezpośredni zapis na serwerze (tzw. edycja w miejscu).
  • Zarządca puli połączeń - pozwala na przyspieszenie pracy dzięki powtórnemu użyciu istniejących połączeń bazodanowych, umożliwia ustawienie ograniczeń na liczbę połączeń, utrzymuje spójny stan połączeń (inicjuje, resetuje, zatwierdza transakcje etc.).



Zobacz także systemy ERP do obsługi firm i zaplecza bankowego