Apache-camel-overview

提供:Dev Guides
移動先:案内検索

Apache Camel-概要

キャメルは、あるエンドポイントからメッセージを受信し、別のエンドポイントに送信するブラックボックスです。 ブラックボックス内で、メッセージは処理されるか、単にリダイレクトされます。

キャメルメッセージボックス

では、なぜこのためのフレームワークがあるのでしょうか? 導入事​​例で見られるような実際の状況では、多数の送信者と多数の受信者がいて、それぞれがftp、http、jmsなどの独自のプロトコルに従っている場合があります。 システムは、送信者AからのメッセージをB&Cにのみ配信するなど、多くの複雑なルールを必要とする場合があります。 状況によっては、受信者が期待する別の形式にメッセージを変換する必要があります。 この翻訳には、メッセージの内容に基づいて特定の条件が適用される場合があります。 したがって、基本的には、プロトコル間の変換、コンポーネントの接着、ルーティングルールの定義、メッセージの内容に基づくフィルタリングの提供が必要になる場合があります。 これは、次の図に示されています-

Camel Framework

上記の要件を満たし、このような多くの状況に適したソフトウェアアーキテクチャを設計するために、Enterprise Integration Patterns(https://www.informit.com/store/enterprise-integration-patterns-designing-building-9780321200686[EIP])が文書化されました2003年にグレゴール・ホーペとボビー・ウルフ。 Apache Camelはこれらのパターンの実装を提供します。このチュートリアルの目的は、「はじめに」で説明したような状況でCamelを使用する方法を教えることです。

Apache Camelはオープンソースのフレームワークです。 これは、ルールベースのルーティングおよびメディエーションエンジンを提供するメッセージ指向のミドルウェアです。 「牛乳」注文の場合は牛乳ベンダーにリダイレクトするか、「油」注文の場合は石油ベンダーにリダイレクトするかなどのルールを定義できます。 Camelを使用すると、これらのルールを実装し、使い慣れたJavaコードでルーティングを実行できます。 つまり、使い慣れたJava IDEを使用して、タイプセーフ環境でこれらのルールを定義できるということです。 通常、かさばる傾向があるXML構成ファイルを使用する必要はありません。 ただし、ルールの構成にXMLを使用する場合、CamelはSpringフレームワークを介したXML構成をサポートします。 Scalaが好きなら、Blueprint XML構成ファイルやScala DSLを使用することもできます。 また、お気に入りのJava、Scala IDE、または単純なXMLエディターを使用してルールを構成できることも意味します。

このエンジンへの入力は、カンマ区切りのテキストファイル、POJO(Plain Old Java Object)、XMLはCamelでサポートされている他のいくつかの形式のいずれかです。 同様に、エンジンの出力をファイル、メッセージキュー、またはモニター画面にリダイレクトして、各ベンダーに送信された注文を表示できます。 これらはエンドポイントと呼ばれ、Camelはhttps://camel.apache.org/message-endpointl[Message Endpoint] EIPパターンをサポートしています。 Camelエンドポイントについては、エンドポイントの章で後述します。

Camelは通常、https://servicemix.apache.org/[Apache ServiceMix]、https://activemq.apache.org/[Apache ActiveMQ]、およびhttps://cxf.apache.org/[Apache CXF]で使用されます。サービス指向アーキテクチャを実装します。