Skip to main content
Version: ADONIS 16/ADOIT 17/ADOGRC 13

Integration Framework

No tool is an island and as such also ADOXX-based products provide powerful means to integrate with other tools and frameworks to provide seamless interoperability.

For inbound requests, ADOXX-based products offer a generic, extensible REST API that allows authenticated access to exposed functionality and can be used to both read and write data.

For outbound requests directed from BOC's products to other tools and frameworks, ADOXX' generic integration component ext_connect provides an expressive and powerful configuration language with which data can be retrieved or sent.

Understanding Inbound Outbound

REST API

REST stands for Representational State Transfer and is an architectural style for distributed systems.

It does not define a communication protocol, it is not a web service standard, and it is not a deployable technology.

RESTful services are resource oriented and stateless, meaning each request is self-contained. The communication is based on a request/response structure.

HTTP methods are used to send requests:

  • GET for reading / querying resources. GET requests by convention do not modify business resources on the server (GET requests will of course still modify technical resources such as log files)
  • POST for creating or updating resources.
  • PUT for creating or overwriting resources.
  • DELETE for removing content.
  • PATCH for changing a part of a resource.
  • HEAD for requesting metadata of a resource.
  • OPTIONS for evaluating which methods are available for a resource.

For additional information about REST: http://en.wikipedia.org/wiki/Representational_state_transfer

Inbound Requests

From the point of view of an application, there are two inbound ways how integration with other tools/frameworks can be done:

  1. Data is pulled from BOC's products:
    In this scenario, a Third Party Tool contacts BOC's products and requests data from them. Example: Using the REST API to search for all process objects in ADONIS.
  2. Data is pushed to BOC's products: In this scenario, a Third Party Tool sends data to BOC's products for processing. Example: Using the REST API to create a new application object in ADOIT.
note

Access to the application programming interface (API) is limited to 500 requests per hour.

Ecosystem

ext_connect

ext_connect is an integration component contained in ADOxx-based products that is configured using a powerful and expressive transformation language and can access other tools and frameworks via the HTTP protocol (e.g. to execute a REST request) to pull or push data.

Outbound Requests

From the point of view of an application, there are two outbound principle ways how integration with other tools/frameworks can be done:

  1. BOC's products pull data from a Third Party Tool:
    In this scenario, a Third Party tool is contacted through the integration framework, and data is requested data from it. Example: Using JIRA's REST API to retrieve a list of all open bugs.
  2. BOC's products push data to a Third Party Tool:
    In this scenario, data is sent to a Third Party tool through the integration framework for processing. Example: Using ServiceNow's REST API to create new incidents.

ext_connect can handle and manage data flows from and to multiple tools in parallel (as seen in the figure below). Additionally the flexible data transformation can be configured separately for each tool and transfer. Transfer

Each synchronization job of ext-connect will be explained in a detailed an comprehensive report outlining all changes in comprehensive detail. Transfer

In principle, ext_connect works by

  • pulling a set of data from one or multiple sources
  • transforming it to a generic internal structure of nodes, properties and relations between the nodes
  • and then sending the data to one or multiple destinations

ext_connect provides powerful mechanisms to transform the data on retrieval and/or on sending in various and extensible ways so that it fits just what you need.

Data transfers can be executed manually or as scheduled jobs and also be used to fetch data on demand and just-in-time for your scenario. Ecosystem