The integration of complex IT systems is one of the biggest challenges facing modern enterprises. For Tubes International, we integrated an e-commerce system with their existing ERP system.
The Mule ESB data bus facilitates the application of the SOA (service-oriented architecture) concept. The use of the bus in the client’s system has allowed the isolation of end applications from the ERP system. The only point of contact with this system is the Mule application, which greatly enhances the security of processed data. The final applications contact the ERP system through Web Services issued via the data bus.
TDD (Test-driven development) – the project was implemented in accordance with the TDD software development technique, which involves writing automatic tests to check a given functionality before it is created. After the functionality implementation, we run the written test and expect a successful performance.
DDD (Domain-driven design) – when designing the integration architecture, we put special emphasis on defining objects and system components to reflect reality. Only after such analysis did we proceed to technical implementation of individual system functionalities.
ESB MULE – to meet customer expectations regarding efficient order and invoice handling, we used the Mule ESB data bus, which allowed us to isolate processes responsible for importing / exporting data from end applications. Use of the bus by other systems included in the customer’s information system does not burden the processes performed by the e-commerce application. What is more, integration with another module / system can be ensured at any time without interfering with existing business processes.
RABBIT MQ – we used the Rabbit MQ queuing mechanism to implement the system. In this mechanism we can distinguish producers who provide messages and consumers who download these messages. In most cases, in the implemented system, the producer is the Mule ESB data bus, while the consumers are end applications. The use of queuing significantly improves the reliability of the system and prevents information loss, which in turn can lead to unsynchronization of applications included in the integration.