This repository contains a solution for integrating multiple systems using Apache Camel, a Java-based integration framework, along with Apache ActiveMQ, an open-source message broker. The solution implements various Enterprise Application Integration patterns to facilitate communication between different components.
The integration scenario revolves around Dive-Surf Co., a company specializing in surfboards and diving suits. The integrated systems enable customers to place orders for surfboards and diving suits seamlessly.
The project focuses on integrating several applications to streamline processes and data flow. It includes the integration of systems responsible for order generation, order processing, billing, inventory management, and result tracking.
The solution utilizes a combination of integration patterns to achieve seamless communication between systems:
- Message Endpoint
- Channel Adapter
- Publish-Subscribe Channel
- Point-to-Point Channel
- Aggregator
- Content-Based Router
- Message Translator
- Content Enricher
The integrated systems include:
- WebOrderSystem: Generates order strings for incoming orders.
- CallCenterOrderSystem: Generates text files containing new orders periodically.
- BillingSystem: Evaluates customer credit standing and validates orders.
- InventorySystem: Checks item availability in the inventory.
- ResultSystem: Collects and processes orders, distinguishing between valid and invalid ones.
To run the integration solution, follow these steps:
- Install Apache Camel and ActiveMQ.
- Clone this repository to your local machine.
- Navigate to the project directory.
- Build and run each application separately using their respective main methods.