Data Query Service (DQS)

Overview

For enterprise level commodity trading operations, a fundamental requirement is to share data across a variety of systems, for example risk, financial or CRM.
Data Query Service (DQS) is a powerful REST compliant API interface enabling you to read data using a simple query language (GraphQL). 

Create your own queries to return data on any ITAS Data Entity e.g. Client, Trade, Vessel, Cost, Document Reference etc. This technology is designed around the relationships between the Entities to enable a more sophisticated data search capability. 

The Benefits

  • Create specific data requests from any service, application or server in your environment
  • Virtually all 'core' ITAS data can be retrieved using this method *
  • Queries can created by your business analysts and development team
  • Queries can be easily manipulated 'on the fly'
  • Data returned in a format designed by you
  • Data can be paged, sorted and filtered
  • Real time data
  • No need to wait for a dedicated API to be built for your unique query
  • Obviate the need to directly access the ITAS database and invalidate the licence

ITAS Database tables require mapping to Data Entities before they can be used via this service

How to Construct a Query

DQS has the ability to query an entity for one record (singular entity name), or a list of records (pluralised entity name), the query body is of Content-Type plain/text, but in a format that is based on Json.

Example Query for one record (singular entity name):

 {

   Department(TradingEntityId : "qa", DepartmentId: "9900")

   {

      DepartmentId

      DepartmentDescription

   }

 }

  

Example Query for a list of records (pluralised entity name):

 {

   Departments(TradingEntityIds : ["qa", "jt"])

   {

     TradingEntityId

     DepartmentId

     DepartmentDescription

   }

 }


As seen in the list example above, you can also provide a comma separated list of Trading Entities to query over.

 

Example Query of how to access objects within an Entity:

{   

   Departments(TradingEntityIds : ["qa"])

   {

     TradingEntityId

     DepartmentId

     NominalCategory{

                                     NominalCategoryId

                                     NominalGroup

                                   }

   }

 }

 

OData Support

Full Documentation on querying with OData can be found here. Link

 

Aliasing Properties

{

curr: Currencies

{

  currid: CurrencyCode

}

}

 

Security

The Security through JWT type Bearer Tokens, is the same as we have been using for the ITAS API. The OWIN Open Source specification and Katana components are built and released by Microsoft. This is highly secure as the tokens are not held in config and enable Role-based authentication.

Applying the security is fairly simple as clients just need to include a header with every request, called "Authorization" with a value of "bearer" plus the token provided by the Hivedome support team during registration.

 

 


Contents of Data Query Service

  • DQS OData Support

    DQS OData Support - OData defines a system of querystring options that can help construct complicated queries to get the resource you want. As an architecture that's built on top of the current features of the Web, IDQS support OData query strings. OData (Open Data Protocol) is an OASIS Standard that defines best practice for building and consuming RESTful APIs.