Question

Creating custom application messages for integration

  • 19 November 2019
  • 9 replies
  • 1563 views

Userlevel 2
Badge +5

Hi,

We are looking into using custom application messages to create and receive XML files in order to make an integration to an external customer system. 

 

My initial thought was to create a custom plsql api package to fetch to correct data from the database, and then create the application messages  by using the Connectivity_SYS, Plsqlap_Record_API and Plsqlap_Server_API api packages. Then also set up the correct transformers, rules and adresses in the solution manager. Something important I am missing?

 

Furthermore, I noticed some functions in IFS Developer Studio, which is called BizAPI Model and Transformer Model. Is this something that can be used for this purpose? I don’t find the documentation especially helpful, so it would be great with some help to get started. Some examples would also be great. 

 

Is there other things I need to keep in mind while setting up the integration? 

 

 


9 replies

Userlevel 5
Badge +11

Hi,

 

Could you please check whether you have access to this page? https://docs.ifs.com/techdocs/Foundation1/010_overview/240_integration/060_connect/200_bizapi/default.htm

This describes everything you want. Do update me if you need further assistance.

 

Regarding your thoughts:
You have a good view of this functionality. For testing purposes, you may use those APIs. But BIZApi is the standard functionality to achieve your requirement.

 

/Savinda

Userlevel 2
Badge +5

Hi,

No, unfortunatly I can’t sign in. Is this standard documentation? 

 

 

 

 

Userlevel 5
Badge +11

Hi,

I hope you have IFS Documentation installed (you should have actually). So, try to navigate to the path “<IFS Document URL >/foundation1/010_overview/240_integration/060_connect/200_bizapi/

As I have mentioned, for testing purposes, you may use those APIs. But BIZApi is the standard functionality to achieve your requirement.

/Savinda

Badge +1

Hi,

Yes, if you aren’t looking to model through IFS developer studio, as you said create a plsqlap_record and send it using Plsqlap_Server_API.Post_Outbound_BizAPI. Any complex format you could handle by having a transformer added at the Routing Address level.

 

Also to import XML to IFS, if you are using IFS APP 10 UPD3 and above, you could route the application message to a routing address of type ‘PLSQL’. In this you would have to specify a function which takes CLOB as an in parameter and extract values of that CLOB by converting it to a xmltype. To extract you could use simple select like the example shown below. Run cursors and loop to read multiple tags. Basically if you could get the XML imported to the database, then based on some trigger you can extract any values out of the XML and call the desired functionalities in IFS.

SELECT
  extractValue( xml_, '/BusinessHeader/HeaderInfo/Id') from dual;

 

/Manil

 

 

Userlevel 2
Badge +5

Hi,

Yes, I found it! It gives a very good overview, but I don’t find any information about the practical implementation. Do you have any examples? 

 

We run APP 10 UPD5. I want to implement the integration by using best practice, so I am interested to model through IFS Developer Studio.

 

BizAPI utilize Java? 

 

 

Userlevel 5
Badge +11

Hi,

You can use existing IFS core BIZApi functionalities as an examples, which can be found in ifs code-base or you can receive an official Training from consulting.

 

/Savinda

Userlevel 7
Badge +21

SOROLAANTON,

You wrote that IFS10 update 5 is in use. Why not invest in Restfull APIs and ODATA? That will make the integration future proof. 

Steve

Userlevel 4
Badge +8

I wouldn't go down the BizApi route, it's rigid and doesn't really give you anything you can't achieve with the built in functionality. Aslong as you are happy with asynchronous processing.

 

If you really want to use XML then make use of IFS Connect straight to PL/SQL(clob) or IFS Connect to Connectivity.

Userlevel 2
Badge +5

Hi,

I solved it by using IFS Connect and PL/SQL as you recommend. I also made a console application which automatically generate recursive PL/SQL code for reading XML files from clob :sweat_smile:

For generation of XML I used the Plsqlap_Document_API package. 

Reply