Skip to main content

API

SOAP, REST and JAVA client

Mercury DB (HgDB) is a system that allows you to manage data stored in the database via a rich set of services implementing SOAP, REST and RMI (Java client).

API usageโ€‹

  • Java Client โ€“ the most popular solution used by customers who decided to implement the system. The open source client project hgdb-client-open is eagerly used in various integration projects.
  • SOAP Services โ€“ a solution used in integrations with the integration bus.
  • REST Services โ€“ a solution used to create GUI elements in presentation forms and editing case objects. REST services can also be used to analyze stored data through tools such as Grafana), which is a well-known tool for creating graphs and which also acts as an interface for monitoring changes. Integration can be provided by the open source data source project hgdb-grafana-datasource.

Various API security mechanismsโ€‹

  • Java Client โ€“ uses the RMI protocol, which is secured with the BASIC authentication mechanism.
  • SOAP Services โ€“ the UsernameToken sent in the SOAP request header is used to secure access to services.
  • REST Services โ€“ to secure access to services, the OAuth 2.0 authentication and authorization mechanism is used (password-grant).
  • In all cases, the system can be integrated with an external LDAP user repository.

Articles describing the APIโ€‹

Pages under construction

Some pages are still under construction and do not yet contain all the information. Please be patient.

๐Ÿ“„๏ธ SOAP/REST Service Request Context

The article describes objects that are key elements of requests in communication with the database via SOAP and REST services. The Context object is used in all services and is the basis for analyzing user permissions and the form of the response. The widespread use in the HgDB solution resulted in the need to create a kind of communication standard between integrated systems. This is how the Context and Case Request Transportable Objects Open API project was created, which was used, among others, for communication between Mercury DB (HgDB) 3.0 and Iron - POI Excel Server.

๐Ÿ“„๏ธ Case header

This article describes an object that is a key element of requests in communication with the database via SOAP and REST services. The CaseHeader header is necessary for implementing case update tasks in the database, supports the identification and update of the case type definition. This object contains predefined fields of the Case entity, which are used to identify the case, its status and other important information. The article also presents examples of case header construction in various formats (XML and JSON) and discusses the meaning of individual fields.

๐Ÿ“„๏ธ PagedResult as a list of loaded data

Description and example of the implementation of the PagedResult output data, also called a paged result. The described format of the transmitted data is applicable wherever the response to the request returns lists of very large volume, which the client is unable to process in a single operation, where it is necessary to divide these lists into pages. PagedResult is a kind of response standard used in communication with the HgDB system. This chapter describes the type structure in the form of JSON (for REST services) and XML (for SOAP services). The object also has its representation (implementation) in Java and is used there in RMI communication.