Apache Camel is an open source framework for message-oriented middleware. It uses a rule-based routing and mediation engine to implement Enterprise Integration Patterns (EIPs). The EIPs are implemented using Java objects. Camel has a application programming interface for configuring the routing and mediation rules.