Apache Camel情報
- Apache Camelとは
- 主な特徴
- Apache Camelのコンポーネント
- Apache Camelのシステム要件
- Apache Camelのライセンス
- 製品ダウンロード
- 参考情報
- オープンソース年間サポートサービス
Apache Camelとは
Apache Camel(アパッチ キャメル)は、オープンソースのJava製フレームワークです。 複数システム統合の簡便化を目的として開発されました。
Apache Camel は、Apache Active MQ のサブプロジェクトとして開発が始められ、2007年5月15日に開発者の一人である James Strachan(ジェームス・ストラカン) 氏のブログ上で発表され、2007年7月2日 に Apache Camel 1.0 がリリースされました。2009年1月にはApacheのトップレベルプロジェクトの一つに指定されています。
Apache Camelを使用することで、システム統合の際のデータフォーマット・プロトコルの差異への対応工数の削減や、データフローの一元管理によるメンテナンス性の向上などが期待できます。
Apache Camelは、HTTP・ActiveMQ・JMS・JBI・SCA・MINA・CXFなど、様々なトランスポートプロトコル、メッセージングモデル、およびプラグイン可能なコンポーネント、データフォーマットオプションで動作します。
リクエストを受け取る・メッセージを送信するなどの接続は、様々なコンポーネントを介して行います。コンポーネントは200種類以上あり、SSH・FTP・HTTPなどのプロトコルや、AWS・GitHub・FacebookなどのサービスAPIなどをサポートしています。
また、Apache Camelは、CDI、Spring、Blueprint、Guiceといったフレームワークとの統合をサポートしています。
主な特徴
Apache Camelの特徴を以下に示します。
- 広く使用されているEIPの実装
- 多種多様なトランスポートプロトコルおよびAPIへの接続
- EIPとコンポーネントを連携させるためのドメイン固有言語(DSL)
※EIP: Enterprise Integration Patterns(エンタープライズ統合パターン)エンタープライズシステムの統合ソリューションを設計・文書化するため、パターンを規定したもの。 Camelの概要を表したものが図1です。
コンポーネントはCamelから他のシステムへの接続部分で、エンドポイントインターフェイスを提供します。"jms:Queue"や"file:/tmp"のようなURIを使用することで、メッセージの送受信が可能です。
プロセッサは、エンドポイント間のメッセージを操作・仲介するために使用されます。
Camelでは、プロセッサとエンドポイントを結ぶためのルーティングルールを、Java、Scala、GroovyなどのDSLで定義します。 また、XMLでルーティングルールを定義することも可能です。
Apache Camelで使用できるDSLは以下の通りです。
Java DSL |
Fluent APIを使用したJava DSL |
---|---|
Spring XML |
Spring XML形式のDSL |
Blueprint XML |
OSGi BluePrint XML形式のDLS |
Rest DSL |
Restサービスを定義する JavaまたはXML形式のDSL |
Annotation DSL |
JavaBeansのアノテーションを使用したDSL |
XML DSL |
Camel XMLファイルのみのXML形式のDSL |
Yaml DSL |
YAML形式のDSL |
Groovy DSL |
特定のGroovy拡張モジュールを利用したGroovy形式のDSL |
Kotlin DSL |
Kotlin形式のDSL |
Apache Camelのコンポーネント
Apache Camelで使用可能なコンポーネントは、現在200種類以上あります。
コンポーネントの一覧は、下記のURLを参照してください。
Apache Camelのシステム要件
プラットフォーム要件
- JDK 6 をサポートするプラットフォーム
JDK要件
- バージョン 2.x JDK8
- バージョン 3.0 - 3.4 JDK 8、JDK 11
- バージョン 3.5 以上 JDK 8、JDK 11、JDK 14 (リリース時のバージョン3.8は、JFRを含むJDK8.0.272が必要)
- バージョン 4 以上 JDK17
Apache Camelのライセンス
Apache Camel は、Apache2.0ライセンスです。
Apache License(アパッチ・ライセンス)のコードが使用されていることの明記を条件に、ソースコードの自由な改変と公開が認められています。
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
-
サポート対象
Spring Batch
スプリングバッチ。Javaプラットフォーム向けのパッチ処理フレームワークです。
-
サポート対象
Apache Kafka
アパッチ カフカ。分散ストリーミングプラットフォームです。
-
サポート対象
Apache Tomcat
アパッチトムキャット。JavaサーブレットやJSPを実行するためのソフトウェア