Outbound Integrations from IFS using REST Sender¶
If IFS need to send a structured message to a third-party system, and there is no middleware, this can be done using the PLSQL_REST_SENDER_API package in the database code. If the outgoing message is simple enough, required PL/SQL code can be put in an ‘Online SQL’ type Event Action.
If the message is more complex, or if there is a requirement to handle the response from the external system, the outbound message can be implemented in a utility PL/SQL package as a customization. This is done using IFS Developer Studio and needs to be source controlled and delivered; but it is non-intrusive.
Outbound messages can be sent either synchronously or asynchronously and both type of communication go via applications messages. Message routing is configured in IFS Connect.
For outbound synchronous response, use callback_func parameter of calling rest end point method in PLSQL_REST_SENDER_API. Else keep it empty and use chain link destination addresses for asynchronous response handling. Similar approach is used for outbound integration with SOAP web services.
The message body itself – JSON or XML – can either be constructed in the PL/SQL code itself, or the PL/SQL code can gather all required fields and more into a “generic” XML, which then is transformed to target format (e.g. JSON) using an XSL transformer in IFS Connect. The latter option makes it easier to adjust the data mapping through configuration (by loading up a new transformer).
Tip: The current database id can be used as “Sender” on the application messages, and used in message routing conditions to prevent messages from non-production systems being sent to the production system after database copies.