Appendix D. The Camel community

As with any open source project, the community behind it is extremely important. We think of community as an all-encompassing term for the official website, mailing lists, the issue tracker, Camel users, projects based on or extending Camel, and much more. It’s hard to measure how vibrant a community is when it has this many moving parts, but it’s important. Having a stagnant or small community will make your (the user’s) experience more difficult when things go wrong and during development in general. We think Camel’s community is highly active and expanding, so you are in luck!

In this appendix we cover some main aspects of the Camel community.

D.1. Apache Camel website

The Apache Camel website, http://camel.apache.org, will be your main resource when using Camel. You may have already noticed that we reference pages from the Camel website throughout the book. That’s no mistake—it’s a good resource for us too.

On the Camel website, you’ll find links for downloads, documentation, support, and many other topics.

D.2. FuseSource

FuseSource is a company that offers a productized version of Apache Camel, as well as training, consulting, and enterprise subscriptions to help IT organizations build mission-critical applications with Apache Camel. FuseSource does the same for other popular Apache projects, including ServiceMix, ActiveMQ, and CXF. The FuseSource team includes founders, PMC members, and many of the committers to Apache Camel, and they know the code better than anyone else does. The FuseSource website includes free downloads, documentation, training videos, webinars, and other tools to help developers get started and be successful with Apache Camel.

D.3. Camel Tooling

Rider is a visual designer tool from FuseSource (http://fusesource.com) for creating, editing, testing, and debugging Camel routes. Rider lets you drag and drop all the enterprise integration patterns supported by Apache Camel onto a canvas and easily wire them together and configure them. You can use Rider as a tool to visualize existing routes, modify them, or create brand new integrations.

Rider comes in two flavors: a web version which can be used with any modern web browser, or as an Eclipse plugin.

The web version is very handy for viewing and editing routing rules running inside your running application, whether it’s in a standalone JVM or inside Apache Tomcat, Apache ServiceMix, or some Java EE container. Figure D.1 shows using Rider inside the Google Chrome web browser to edit routing rules from a web application running on top of Apache Tomcat.

Figure D.1. Rider web tooling visualizes the route. You can drag and drop EIPs from the palette to the canvas to design the route at design time.

If you use Eclipse as your IDE, using the Rider Eclipse plugin might be an easier option for you to choose, particularly if you want to design and edit your Camel routes as part of your development process. Figure D.2 shows using the Rider Eclipse plugin to edit a Spring XML containing Camel routing rules.

Figure D.2. Rider Eclipse tooling allows developers to design routes using the Eclipse IDE.

Visit the FuseSource Rider website (http://rider.fusesource.org) for links to all the various Rider documentation, screencasts, and download links.

D.4. Camel-extra project

Camel ships with a large number of components, but there are also other components available separately from the camel-extra project at Google Code (http://code.google.com/p/camel-extra). The main motivator for not including all Camel components in the main distribution is licensing. Apache Camel is developed and distributed under the Apache License, version 2. The camel-extra project contains components that integrate with libraries that have GPL and LGPL licenses, which are incompatible with Apache.

At camel-extra, you’ll find components for integrating with the following, among others:

  • The Esper Event Stream Processing library
  • The Hibernate ORM tool
  • JBoss Application Server

The components from camel-extra are not officially affiliated with or supported by Apache.

D.5. JIRA, mailing lists, and IRC

When things don’t go as planned, you’ll need to get help from people in the Camel community. If you know you have a problem with a demonstrative test case or have a feature request, you can create a ticket in Camel’s JIRA instance: http://issues.apache.org/activemq/browse/CAMEL. From here, one of the Camel developers will assign the ticket to themselves and possibly commit a fix for the issue. It’s also acceptable to attach a source code patch that fixes the issue directly to the JIRA ticket (http://camel.apache.org/contributing.html). This allows a Camel developer to apply your patch to the Camel source.

When you have general questions, you can send a message to the Camel user list (http://camel.apache.org/mailing-lists.html), which will be answered by one of the Camel developers or another Camel user.

You can even chat in real time with a Camel developer or user on the Camel IRC chat room (http://camel.apache.org/irc-room.html).

D.6. Camel quick reference card

There’s a printable quick reference card available for several of Camel’s EIPs at dzone.com (http://refcardz.dzone.com/refcardz/enterprise-integration). This card contains a short description of each EIP, followed by Java DSL and Spring XML snippets that you can reuse in your own applications.

D.7. Other resources

The Camel website has an extensive collection of links to external articles, blogs, projects, presentations, podcasts, and other sources that cover Camel (http://camel.apache.org/articles.html). There’s also a link collection to other third-party Camel projects and companies who use Camel (http://camel.apache.org/user-stories.html). If you’ve written a blog entry or article, or your company uses Camel and wants to have a link added, please contact the Camel team on the mailing list.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset