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 bazie danych MS SQL Server.

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.

HDB NG

Dzięki zastosowaniu uniwersalnego serwera aplikacyjnego HDB NG, programy napisane w języku HDB, po transkompilowaniu ich do postaci binarnej są wykonywane przez serwer aplikacyjny. HDB pozwala na tworzenie aplikacji współpracujących z dowolną, relacyjną bazą danych (np. PostgreSQL, Oracle, inne) i pracujących na różnorodnych platformach sprzętowych.

Serwer aplikacyjny HDB NG zawiera:

  • 1 Dzienniki - gromadzą dane na temat pracy systemu, wywoływanych skryptów, funkcji, zdarzeń, czasów wykonania, itp.
  • 2 Job Queue Server - mechanizm kolejkowania serwisów.
  • 3 JDBC - sterowniki bazodanowe dostarczane przez producenta bazy danych.
  • 4 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 i przeglądarki internetowej.
  • 5 Konfiguracja serwera i skryptów - pliki tekstowe umożliwiające ustalenie wartości parametrów dla serwera i aplikacji po starcie systemu.
  • 6 Pamięć sesji - moduł umożliwia zapis danych o sesji użytkownika oraz ich ewentualny późniejszy odczyt w przypadku restartu serwera HDB NG, co pozwala utrzymać ciągłość pracy użytkowników z systemem.
  • 7 Serwer WWW Jetty - serwer obsługujący żądania przeglądarki WWW poprzez protokół HTTPS, SPDY, TLS 1.3.
  • 8 SMTP – umożliwia wysyłanie poczty.
  • 9 SOAP Server - realizacja opartego o język XML protokołu wywoływania zdalnego dostępu do obiektów, przydatny w implementacjach SOA.
  • 10 TAPIR - serwer wykorzystywany do:
     - konwersji formatu dokumentów (DOC, XLS, ODT, ODS, SXW, PDF, TIF, TXT) w locie bądź off-line w trybie wsadowym,
     - obsługi indeksowania dokumentów, które jest wykorzystywane w procesie wyszukiwania całotekstowego,
     - obsługi OCR,
     - obsługi graficznych szablonów formularzy XML,
     - obliczeń statystycznych w języku R,
     - obliczeń numerycznych w ISOF-PROFAP.
  • 11 HDB Cloud Monitor - serwer monitorujący. Wizualizuje aktualny stan poszczególnych elementów chmury obliczeniowej i reaguje na przekroczenie dopuszczalnych wartości. Może wywoływać teleportację maszyn wirtualnych w zależności od obciążenia, zastępować pracę serwerów głównych serwerami zapasowymi, przełączać serwer bazy danych na maszyny zapasowe oraz zapewnia funkcję analizy logów systemowych.
  • 12 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 na przykład daty, liczby.
  • 13 Zarządca puli połączeń - przyspiesza pracę 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).
  • 14 HDB ADS (Attacker Detection System) - system do analizy i blokowania prób niedopuszczalnych wywołań w systemie wraz z obiegiem informacji (reakcji) na to zdarzenie.

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

Wszystkie znaki towarowe, usługowe oraz nazwy handlowe wymienione w tej witrynie są własnością odpowiednich firm