Connecting IFS database to WSO2 Enterprise Integrator
I tried many options to connect IFS with other systems but the standard IFS functionalities are very limited to expose the business objects to outside and connect ‘any’ type of other system to IFS.
On the other hand Enterprise Service Bus, ESB is there to fill the communication gap between two systems and caters for commodity services in addition to adoption, translation and routing of a client request to the appropriate answering service.
There are many integration software available in the market but WSO2 is my personal favorite among them for being a Open Source product and one true Sri Lankan innovation.
Recently WSO2 streamlined their products and now the integrations platform is branded as WSO2 Enterprise Integrator (WSO2 EI). I gave a try to configure WSO2 EI with IFS and was able to successfully connect after several failed attempt. Given below is a simple example how we can expose IFS view as a WSDL endpoint using WSO2 EI.
- Download and install WSO2 Integration (I Used EI 6.1.1 in this example). Trust me, WSO2 has provided a very good and detailed installation guide.
- To connect the Oracle database, you’ll need the corresponding database driver. You can use the oracle driver shipped with IFS for this purpose. I used Oracle 12c Release 1 (18.104.22.168) JDBC Thin driver for this purpose since that’s the standard driver shipped with IFS APP9. You can download the driver from Oracle download page or copy from <IFS_HOME>oracleojdbc7.jar. Then copy it to <EI_HOME>lib folder.
- Login to WSO2 EI management console using the following URL: https://localhost:9443/carbon/
- In this example I’m exposing some fields in ACTIVE_SEPARATE view. I created the .dbs file manually and uploaded since it found to be the most effective way of doing this. I’ve tried using the wizard (Services –> Data Service –> Create) but ended up with faulty data sources every time. I know that’s because of my frozen brain and apathy towards reading the documentation :). My Data Service .dbs can download from here and you may use it as an example. Remember to change the DB Host, SID and AppOwner credentials before upload.
- Hope and pray that your data source will deploy in the first attempt 🙂
- If the stars in your side, you are ready to explore the ACTIVE_SEPARATE view using a SOAP message. I used SoapUI and following is the result set for querying all Active Work Orders.
Note that we are bypassing IFS security since the database access is done with Appowner in this example. So this will not benefit much for real service integrations. I hope to continue with this success to deep dive into WSO2 EI and find more reliable way of exposing IFS objects to outside and of course to find a way to setup inbound integrations using WSO2 EI. So; stay tuned…
I’m more than happy to hear your thoughts on this and any suggestions or questions.