API
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
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.
🗃️ Pobieranie metadanych
4 elementy
📄️ Case jako dowolny obiekt
Poniżej opis budowania obiektu sprawy jako dowolna definicja XML lub JSON. Postać ta jest wykorzystywana w usługach SOAP (metody z sufiksem XML w nazwie) oraz usługach REST (usługi z sufiksem ExtRest w nazwie).
📄️ Case jako uniwersalny obiekt MRC
W niniejszym artykule znajdziemy opis uniwersalnego obiektu MRC wraz z jego komponentami. Jest on wykorzystywany w usługach SOAP oraz REST. W przeciwieństwie do dowolności tworzenia obiektów spraw za pomocą schematów ANY XML i ANY JSON, uniwersalny obiekt MRC jest zdefiniowany w sposób ścisły i i jednoznacznie opisuje dowolny obiekt MRC.
📄️ 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.
📄️ Testowanie połączenia za pomocą metody Echo
Każda usługa zaimplementowana w systemie Mercury DB (HgDB) 3.0 zawiera metodę echo (żądanie wysyłane metodą POST). Pozwala ona na weryfikację poprawności zdefiniowanej komunikacji pomiędzy klientem a serwerem. Przykładem zastosowania metody jest implementacja źródła danych dla systemu Grafana: datasource.ts gdzie w metodzie testDatasource() wykorzystano wywołanie metody echo usługi CaseSearchRest.
📄️ Usługi i metody zapisu sprawy
W niniejszym artykule opisane zostaną mechanizmy towarzyszące zapisowi sprawy do bazy Mercury DB (HgDB) na poziomie warstwy biznesowej. Pomimo istnienia w systemie metod zapisu spraw w usługach związanych z warstwą logiczną, nie rekomenduje się korzystania z nich. Traktuje się je jako przestarzałe. Ich utrzymywanie jako usługi jawne konieczne jest ze względu na kompatybilność z innymi produktami, które korzystają bezpośrednio z tej warstwy.
🗃️ Usługi wyszukiwania i agregacji danych
5 elementów
📄️ Komentarze do spraw
Strona jest w budowie i nie zawiera jeszcze wszystkich informacji. Proszę o cierpliwość.
📄️ Szybkie zadania
Strona jest w budowie i nie zawiera jeszcze wszystkich informacji. Proszę o cierpliwość.