PoC - Create Informix UDR To Send RabbitMQ message Using C

Key Information

Register
Submit
The challenge is finished.

Challenge Overview

At TopCoder, Informix is the only central place where all applications converge, we keep doing several of these log tables, triggers, polling processes, etc, to detect events in Informix. This is labor intensive, and keeps adding more and more load to Informix. We want to break this pattern and offload some of this processing to other pieces of our architecture.
 
Specifically we now have RabbitMQ as our internal events bus. Ideally we'd like to be able to write triggers in Informix that would create events in RabbitMQ.

For this challenge, we'd like to seek the possiblity. Like for other databases allow the invocation of native code from triggers and stored procedures.
 
This PoC challenge would like to figure out the way to create a informix UDR by using C, which will monitor the project table, and when change happens to a record in project table it will sends a message to a RabbitMQ queue.

Detail Requirements

- Create the UDR using C that will monitoring the project table and send out the message to a RabbitMQ queue.
- For the message, it can be simple a json representation of the changed record.
- Document the steps to deploy the UDR and test the functionality

Testing Environment
 
We have a Docker image with informix installed, you can use that for testing purpose. Please use the following steps after you installed the Docker Tools.

https://github.com/appirio-tech/tc-common-tutorials/tree/master/docker/informix
 
The password for the informix user is 1nf0rm1x
 
About RabbitMQ
 
Please use https://hub.docker.com/_/rabbitmq/ for testing.


Final Submission Guidelines

- PoC solution to have informix send messages to RabbitMQ queue
- Deployment Guide and Verification Steps

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30054753