Axiom
Search
⌃K

Middleware

In order to baseline data from a system of record, an interface must be created to interact with Provide Baseline. The integration interface serves as a bi-directional implementation layer that enables seamless interaction between the system of record and Provide Baseline.
In order to successfully interact with Provide Baseline, the integration interface must support the following functions:
Interface
Code
Name
Description
ConfigureProxy
sets the organization parameters for baselining a record
CreateObject
creates a Baseline object
GetObjectModel
retrieves the object model
UpdateObject
updates a target object
UpdateObjectStatus
updates the status of a target object
type SOR interface {
ConfigureProxy(params map[string]interface{}) error
CreateObject(params map[string]interface{}) (interface{}, error)
DeleteProxyConfiguration(organizationID string) error
GetObjectModel(recordType string, params map[string]interface{}) (interface{}, error)
HealthCheck() error
ProxyHealthCheck(organizationID string) error
UpdateObject(id string, params map[string]interface{}) error
UpdateObjectStatus(id string, params map[string]interface{}) error
}

Configuring Middleware

First, you'll need to configure the system of record with information about the middleware to facilitate a connection. The model that the system of record must ingest is contained in the request below:
post
https://example.sor.local
/proxy_config
Configure Middleware

Creating an Object

A Baseline Object is arbitrary data containing the ProtocolMessagePayload. The integration middleware will need to pass this object in accordance with the domain model as agreed upon by the counter-parties and enforced by a prover. The middleware will ingest the ProtocolMessagePayload , return a BaselineRecord, and output a ProtocolMessage to participant middlewares.
post
https://baseline.provide.services
/api/v1/objects
Create Object

Deleting a Proxy Configuration

In the DevOps lifecycle, it may become necessary to delete a configured middleware on behalf of a tenant. In these cases, the system of record will need to stop sending requests to the middleware associated with the specified organization_id.
delete
https://example.sor.local
/organizations/:id/proxy
Delete Middleware Configuration

Fetching the Object Schema

Because the payload contained within the object supports arbitrary data, it may be necessary to query the stack to retrieve the schema of the object model being used.
get
https://baseline.provide.services
/api/v1/object_schemas
Fetch Object Schemas

Health Check

Request to verify that the system of record is online
get
https://baseline.provide.services
/api/v1/organizations/:id/proxy
Health Check - SOR

Proxy Health Check

Request to verify that the system of record can communicate with the proxy
get
https://baseline.provide.services
/api/v1/status
Health Check - Middleware

Updating an Object

When updating an object, the baseline_id must be relayed with each request. The functions the middleware integration support are as follows:
put
https://baseline.provide.services
/api/v1/objects/:id
Update Object

Updating an Object Status

put
https://baseline.provide.services
/api/v1/business_objects/:id/status
Update Object Status