MuleSoft Anypoint MQ -integration

We integrated client support request systems using MuleSoft tools.

The actual development work was performed on the Anypoint Studio development platform for building MuleSoft integrations. Git was used for version control of the source code.

The integrations were installed in the MuleSoft environment using Jenkins software on either the client's own servers or in a cloud service. Jenkins is an open-source automation server. The workflow steps were recorded using the Jira task management software.

The support request systems provided REST interfaces that communicate with each other via HTTP requests. Data was transferred between systems in JSON format. The OAuth 2.0 protocol was used to authenticate HTTP requests.

The integrations installed in the CloudHub platform received messages that were delivered via Anypoint MQ message queues to the integrations installed on the client’s servers. Anypoint MQ enables distributed and asynchronous data transfer.

An application running in an On-premise environment, processed and validated the incoming request, performed the required message conversions, and forwarded the HTTP request. Message conversions were performed in the DataWeave programming language.

The components provided by Anypoint Studio were used in a variety of ways to implement the integration logic. All information important for integration monitoring was written to the application log file.

Error management was implemented using the Anypoint MQ service. Messages that did not end up in the desired systems were sent to a separate Anypoint MQ message queue. Messages in this queue were processed and retransmitted as needed.

The MUnit framework of the MuleSoft platform was used for unit testing. The MUnit framework ensures that the integrity of the code is maintained. During the development work, the integrations were tested in a separate development or test environment. When the integrations were found to work as intended, client acceptance testing was performed prior to deployment.

After the integrations were implemented, activity was monitored from the logs of the CloudHub platform and the client servers. Integration was documented in Confluence.