Przeskocz do opisu głównego

API

SOAP, REST oraz klient JAVA

Mercury DB (HgDB) to system pozwalający na zarządzanie składowanymi w bazie danymi za pośrednictwem bogatego zbioru usług implementujących SOAP, REST oraz RMI (klient Java).

Zastosowanie API

  • Klient Java – najpopularniejsze rozwiązanie stosowane u klientów, którzy zdecydowali się na wdrożenie systemu. Projekt open source klienta hgdb-client-open jest chętnie wykorzystywany w różnych projektach integracyjnych.
  • Usługi SOAP – rozwiązanie stosowane w integracjach z szyną integracyjną.
  • Usługi REST – rozwiązanie wykorzystywane do tworzenia elementów GUI w formularzach prezentacji i edycji obiektów spraw. Usługi REST można wykorzystać również do analizy składowanych danych za pośrednictwem narzędzi takich jak Grafana), które jest znanym narzędziem do tworzenia wykresów i które działa również jako interfejs do monitorowania zmian. Integrację zapewnić może projekt open source źródła danych hgdb-grafana-datasource.

Różne mechanizmy zabezpieczeń API

  • Klient Java – wykorzystuje protokół RMI, który zabezpieczony jest mechanizmem uwierzytelniania BASIC.
  • Usługi SOAP – do zabezpieczenia dostępu do usług wykorzystywany jest UsernameToken przesyłany w nagłówku żądania SOAP.
  • Usługi REST – do zabezpieczenia dostępu do usług wykorzystywany jest mechanizm uwierzytelniania i autoryzacji w standardzie OAuth 2.0 (password-grant).
  • We wszystkich wypadkach system można zintegrować z zewnętrznym repozytorium użytkowników LDAP.

Artykuły opisujące API

Strony w budowie

Niektóre strony są nadal w budowie i nie zawierają jeszcze wszystkich informacji. Proszę o cierpliwość.

📄️ Kontekst żądania usług SOAP/REST

W artykule opisano obiekty będące kluczowymi elementami żądań w komunikacji z bazą danych za pośrednictwem usług SOAP i REST. Obiekt Context jest wykorzystywany we wszystkich usługach i jest podstawą do analizy uprawnień użytkownika, jak i formy odpowiedzi. Powszechne wykorzystanie w rozwiązaniu HgDB sprawiło, że zaszła potrzeba wytworzenia pewnego rodzaju standardu komunikacji pomiędzy integrowanymi systemami. Tak powstał projekt Context and Case Request Transportable Objects Open API, który został wykorzystany między innymi do komunikacji pomiędzy Mercury DB (HgDB) 3.0 oraz Iron - POI Excel Serwer.

📄️ Nagłówek sprawy CaseHeader

W artykule opisano obiekt będący kluczowym elementem żądań w komunikacji z bazą danych za pośrednictwem usług SOAP i REST. Nagłówek CaseHeader jest niezbędny do realizacji zadań aktualizacji spraw w bazie danych, wpiera identyfikację i aktualizację definicji typu sprawy. Obiekt ten zawiera predefiniowane pola encji Case, które są wykorzystywane do identyfikacji sprawy, jej statusu oraz innych istotnych informacji. W artykule przedstawiono również przykłady konstrukcji nagłówka sprawy w różnych formatach (XML i JSON) oraz omówiono znaczenie poszczególnych pól.

📄️ PagedResult jako lista pobieranych danych

Opis i przykład realizacji implementacji danych wyjściowych PagedResult, nazywany również wynikiem stronicowanym. Opisany format przesyłanych danych ma zastosowanie wszędzie tam, gdy w odpowiedzi na żądanie zwracane są listy o bardzo dużym wolumenie, których klient nie jest w stanie przetworzyć w jednej operacji, gdzie koniecznością jest podział tych list na strony. PagedResult jest pewnego rodzaju standardem odpowiedzi wykorzystywanym w komunikacji z systemem HgDB. W niniejszym rozdziale opisana została struktura typu w postaci JSON (dla usług REST) oraz XML (dla usług SOAP). Obiekt ma też swoją reprezentację (implementację) w Java i tam jest wykorzystywany w komunikacji RMI.