S – Situation
A packaging company needed integration between its ERP system and external partners for handling various VMI (Vendor Managed Inventory) processes and delivery messages, along with a lightweight internal ERP for contract operations. I worked as a fullstack and integration developer to design and implement the solution.
T – Task
- Implement an Enterprise Integration Pattern (EIP) based message exchange architecture between the ERP and the partner systems using Apache ServiceMix.
- Develop Scala-based routing and transformation components (“beans”) to execute complex business logic.
- Build a web-based ERP solution (covering customers, packaging, production) using Scala Play Framework and PostgreSQL.
A – Actions
Integration & transformation
- Designed and implemented an EIP-based messaging architecture on Apache ServiceMix: routed messages to FTP, SFTP, and REST endpoints.
- Wrote Scala beans for data validation, transformation, enrichment, and exception handling; enriched messages by fetching additional data from an Oracle database.
Full-stack ERP development:
- Developed a lightweight web ERP for contract packaging processes using the Scala Play Framework.
- Implemented REST APIs for CRUD operations on master data (customers, products) and packaging orders.
Customer collaboration:
- Handled integration requirements specification and technical communications between customer and their suppliers..
- Piloted and validated the message exchange in the production environment together with the client.
R – Results
- Integration stability:All VMI process messages were reliably transmitted and updated the client’s ERP without downtime; any erroneous messages could be easily diagnosed via logs.
- Web ERP adoption: The contract packaging web ERP was successfully deployed, enabling orders to be managed entirely digitally and significantly reducing manual work.
- Customer satisfaction: Customer was pleased with the delivered solutions, and additional integrations were implemented on demand even while the web ERP was still under development, demonstrating a strong ongoing partnership.
Tools & Technologies
- Languages & Frameworks: Scala, Play
- Integration & Messaging: Apache ServiceMix, ActiveMQ, REST, FTP/SFTP, XML, CSV, EDIFACT
- Database: PostgreSQL, Oracle
- Project Management: Jira