Outbound Interfaces

Similar to inbound processing, each data format to which Platform publishes its outbound data should be defined as an Outbound Interface. Each Outbound Interface is associated with a Generator which is used to produce data in the given format so it can be enqueued for a client.

images/download/attachments/144836065/outbound_interfaces-version-1-modificationdate-1675959818000-api-v2.png

As with Inbound Interfaces, Platform auto-generates an Outbound for each custom model in the SPT. We will focus however on Custom Outbound Interfaces.

The format portion of the Outbound Interface is identical to the Inbound; one specifies the fields which are being published in the interface with their data type, format, etc.

images/download/attachments/144836065/custom_outbound-version-1-modificationdate-1675959818000-api-v2.png

As far as generating data for these interfaces, there are three primary scenarios covered by the generation framework:

  • Net-change – queries for all data which has been modified since the last time data was generated for this interface

  • ID-based – queries for all data which matches a given set of surrogate keys

  • ModelJAXB-based – directly converts in-memory JAXB objects (from a workflow, for example) into interface data

Three generator types are supported:

  • Model-based – selects fields from a single ModelType. Requires no coding and can be done entirely through Studio

  • SqlDef-based – allows one to specify an arbitrary SQL query to fetch the data

  • EDI – a combination of SqlDef and Model where the SQL is used to retrieve a list of Models, which are then passed on to the EDIMapper to generate the EDI

Regardless of the generator type, outbound messages are created and enqueued using the class com.transcendsys.platform.integ.outbound.OutboundInterfaceApi. This provides methods that can be called from a custom Java activity in a Studio workflow. It is generally expected that action-based workflows will call SysId- or ModelJaxb-based APIs, and time-based workflows will call NetChange-based APIs.