Apache Camel



Apache Camel is an
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
framework for message-oriented
middleware Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue". Middleware makes it easier for software developers to implement com ...
with a rule-based routing and mediation engine that provides a Java object-based implementation of the Enterprise Integration Patterns using an
application programming interface An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
(or declarative Java
domain-specific language A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging ...
) to configure routing and mediation rules. The domain-specific language means that Apache Camel can support type-safe smart completion of routing rules in an
integrated development environment An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools an ...
using regular Java code without large amounts of
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
configuration files, though XML configuration inside Spring Framework is also supported. Camel is often used with Apache ServiceMix, Apache ActiveMQ and Apache CXF in service-oriented architecture projects.


* Several
Apache Maven Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. The Maven project is hosted by the Apache Software Foundation, where it was ...
-plugins are provided for validation and deployment. * Graphical,
Eclipse An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three c ...
-based tooling is freely available from
Red Hat Red Hat, Inc. is an American software company that provides open source software products to enterprises. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North Carolina, with other offices worldwide. Red Hat has become ass ...
. It provides graphical editing and debugging and advanced validation. * Eclipse based tooling from Talend.

See also

* AdroitLogic UltraESB * Apache ServiceMix * Red Hat Fuse * GuaranĂ¡ DSL * Mule (software) * Open ESB * Service Component Architecture (SCA) * Petals ESB * IBM Integration Bus * Akka (toolkit) open-source toolkit and runtime for Reactive programming, concurrent and distributed applications on the JVM with camel integration.


* * * *


External links

Apache Camel Home
Camel Enterprise application integration Java enterprise platform Message-oriented middleware Service-oriented architecture-related products Web scraping {{free-software-stub