The RequirementOur client asked us to develop a Cloud based system integrated with up to 10 third party portals including, amongst others, eWAY an Australian based payments portal, Microsoft Dynamics CRM, and Telerik’s CMS SiteFinity.
The ProblemThe varying data formats used by each portal meant that integrating all of them to a central Cloud based system would be a complex task. We had to be able to manage JSON data formats, XML, SOAP, as well as HL7 data formats as used by the international healthcare message exchange standard. The integration to eWAY required us to seamlessly integrate the historical transactions kept in the MS CRM while keeping the payment data credentials, such as CC number, CVN, etc. as anonymous transactions. That data would be handled by eWAY using their all-in-one solution with advanced fraud prevention, transparent redirect and direct connection.
The SolutionIn order to increase the flexibility and reduce the integration complexities, Mitrais decided to add another layer to tackle these integration challenges and provide enough abstraction so the integration could be simplified. To achieve this level of abstraction, Mitrais chose to adopt the Mule Enterprise Service Bus (ESB), an integration platform that allows developers to connect applications together quickly and easily, enabling them to exchange data.
Mule ESB enables easy integration of existing systems, regardless of the different technologies that the applications use, including JMS, Web Services, JDBC, HTTP, and more. The key advantage of an ESB is that it allows different applications to communicate with each other by acting as a transit system for carrying data between applications within your enterprise or across the Internet. Mule ESB has powerful capabilities, including:
- Service creation and hosting — expose and host reusable services, using Mule ESB as a lightweight service container
- Service mediation — shield services from message formats and protocols, separate business logic from messaging, and enable location-independent service calls
- Message routing — route, filter, aggregate, and re-sequence messages based on content and rules
- Data transformation — exchange data across varying formats and transport protocols