Apache Camel
   HOME

TheInfoList



OR:

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 A framework is a generic term commonly referring to an essential supporting structure which other things are built on top of. Framework may refer to: Computing * Application framework, used to implement the structure of an application for an op ...
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 co ...
with a rule-based routing and mediation engine that provides a Java object-based implementation of the
Enterprise Integration Patterns ''Enterprise Integration Patterns'' is a book by Gregor Hohpe and Bobby Woolf and describes 65 patterns for the use of enterprise application integration and message-oriented middleware in the form of a pattern language. The integration (messa ...
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 t ...
(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 f ...
) 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 a ...
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 The Spring Framework is an application framework and inversion of control container for the Java platform. The framework's core features can be used by any Java application, but there are extensions for building web applications on top of the Java ...
is also supported. Camel is often used with
Apache ServiceMix Apache ServiceMix is an open-source software project to implement a distributed enterprise service bus (ESB). Architecture ServiceMix is based on the service-oriented architecture (SOA) model. It is a project of the Apache Software Foundation ...
,
Apache ActiveMQ Apache ActiveMQ is an open source message broker written in Java together with a full Java Message Service (JMS) client. It provides "Enterprise Features" which in this case means fostering the communication from more than one client or server. Su ...
and
Apache CXF Apache CXF is an open source software project developing a Web services framework. It originated as the combination of Celtix developed by IONA Technologies and XFire developed by a team hosted at Codehaus in 2006. These two projects were combin ...
in
service-oriented architecture In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. By consequence, it is also applied in the field of software design where services are provide ...
projects.


Tooling

* 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 ce ...
-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 UltraESB is a lightweight enterprise service bus (ESB) capable of supporting many transports and message formats natively. It allows messages to be mediated via Java or JSR 223 scripting languages through an API, and is the first ESB to claim sup ...
*
Apache ServiceMix Apache ServiceMix is an open-source software project to implement a distributed enterprise service bus (ESB). Architecture ServiceMix is based on the service-oriented architecture (SOA) model. It is a project of the Apache Software Foundation ...
* Red Hat Fuse *
Guaraná DSL Guaraná DSL is a domain-specific language (DSL) to design enterprise application integration (EAI) solutions at a high level of abstraction. The resulting models are platform-independent, so engineers do not need to have skills on a low-level inte ...
*
Mule (software) Mule is a lightweight enterprise service bus (ESB) and integration framework provided by MuleSoft. The platform is Java-based but, can broker interactions between other platforms such as .NET using web services or sockets. The architecture i ...
*
Open ESB ''OpenESB'' is a Java-based open-source enterprise service bus. It can be used as a platform for both enterprise application integration and service-oriented architecture. OpenESB allows developers to integrate legacy systems, external and intern ...
*
Service Component Architecture Service Component Architecture (SCA) is a software technology designed to provide a model for applications that follow service-oriented architecture principles. The technology, created by major software vendors, including IBM, Oracle Corporatio ...
(SCA) *
Petals ESB Petals are modified leaves that surround the reproductive parts of flowers. They are often brightly colored or unusually shaped to attract pollinators. All of the petals of a flower are collectively known as the ''corolla''. Petals are usually ...
*
IBM Integration Bus IBM App Connect Enterprise (abbreviated as IBM ACE, formerly known as IBM Integration Bus or WebSphere Message Broker) is IBM's premier integration software offering, allowing business information to flow between disparate applications across mu ...
*
Akka (toolkit) Akka is a source-available toolkit and runtime simplifying the construction of concurrent and distributed applications on the JVM. Akka supports multiple programming models for concurrency, but it emphasizes actor-based concurrency, with inspir ...
open-source toolkit and runtime for
Reactive programming In computing, reactive programming is a declarative programming paradigm concerned with data streams and the propagation of change. With this paradigm, it's possible to express static (e.g., arrays) or dynamic (e.g., event emitters) data streams ...
, concurrent and distributed applications on the JVM with camel integration.


Books

* * * *


References


External links


Apache Camel Home
Camel A camel (from: la, camelus and grc-gre, κάμηλος (''kamēlos'') from Hebrew or Phoenician: גָמָל ''gāmāl''.) is an even-toed ungulate in the genus ''Camelus'' that bears distinctive fatty deposits known as "humps" on its back. C ...
Enterprise application integration Java enterprise platform Message-oriented middleware Service-oriented architecture-related products Web scraping {{free-software-stub