| オープンESB | |
|---|---|
| 開発者 | OpenESBコミュニティ(旧Sun Microsystems) |
| 安定版リリース | v 3.2.4 [1] / 2020年6月1日 ( 2020-06-01 ) |
| プレビューリリース | v 3.1.4 [2] / 2019年3月1日 ( 2019-03-01 ) |
| 書かれた | ジャワ |
| オペレーティング·システム | クロスプラットフォーム: Windows 、Mac OS 、Linuxをサポート |
| タイプ | 統合プラットフォームマイクロサービス エンタープライズ サービス バス |
| ライセンス | CDDL |
| Webサイト | http://www.open-esb.net/ |
OpenESBは、Javaベースのオープンソース・エンタープライズ・サービス・バスです。エンタープライズ・アプリケーション統合とサービス指向アーキテクチャの両方のプラットフォームとして使用できます。OpenESBを使用すると、開発者はレガシーシステム、社内外のパートナー、そしてビジネスプロセスの新規開発を統合できます。標準のJBI( Java Business Integration)、 XML (XMLスキーマをサポート、 WSDL、 BPELなど、多数の統合テクノロジをサポートし、シンプルさ、効率性、長期的な耐久性、そしてTCO(総所有コスト)の低減を目指しています。
以前はSun Microsystemsが所有していましたが、OracleとSun Microsystems が合併した後 ( Oracle による Sun の買収を参照)、 OpenESB を維持、改善、促進、サポートするためにOpenESB コミュニティが設立されました。
建築
OpenESB は、フレームワーク、コンテナ、コンポーネント、統合開発環境、開発プラグインの 5 つの部分で構成されています。
- OpenESBの主要部分
- JBI高レベルスキーマ
フレームワーク
このフレームワークは、Java で記述された軽量な JBI 実装で構成されています。この実装はコンテナに依存しないため、あらゆるプラットフォームとコンテナで動作します。開発とサポートは主に Glassfish V2 および V3 プラットフォームに重点を置いていますが、JBoss およびスタンドアロンJVMのベータ プロジェクトも順調に動作しており、現在も進行中です (2012 年第 2 四半期)。OpenESB フレームワークは軽量であることに加え、信頼性と拡張性も高くなっています。Java 仮想マシンに組み込まれ、バインディング コンポーネントを介して他のフレームワーク インスタンスと通信します。このアーキテクチャは新しいクラウド アーキテクチャに完全に適合し、非常に複雑なインフラストラクチャでも容易に導入および管理できます。このフレームワークは、Jconsole などの JMX ベースのツール、または Opsview や Nagios などのより高度なツールで完全に管理できます。
このフレームワークは、正規化メッセージルーター(NMR)と呼ばれる仮想バスを実装しています。これは、コンポーネント間の強力な非同期インテリジェント通信チャネルです。
コンポーネント
JBI仕様では、サービスエンジン(SE)とバインディングコンポーネント(BC)という2種類のコンポーネントが定義されています。SEとBCは同じインターフェースコントラクトを実装していますが、動作は異なります。
- バインディング コンポーネントは、外部世界とバス間のインターフェイスとして機能し、外部ソースからの刺激を受信するとバス メッセージを生成したり、バスから受信したメッセージに応答して外部アクション/相互作用を生成したりできます。
- サービスエンジンはバスからメッセージを受信し、バスへメッセージを送信します。SEは外部と直接通信しません。バインディングコンポーネントや他のサービスエンジンなど、他のコンポーネントとのやり取りはバスを介して行われます。
OpenESB には、すぐに使用できるコンポーネントが多数含まれています。
OpenESB バインディングコンポーネント
| バインディングコンポーネント名 | 説明 | サポートされている |
|---|---|---|
| HTTP BC | HTTP 経由でメッセージを送受信します (get、post、...) | はい |
| ソープ BC | HTTP経由でSOAPメッセージを送受信する | はい |
| FTP BC | FTP サーバーとの間でメッセージを送受信します | はい |
| データベースBC | JDBC 経由でデータベースにフルアクセス | はい |
| JMS BC | JMSブローカーとの間でメッセージを送受信します | はい |
| LDAP BC | LDAPサーバーへのフルアクセス | はい |
| BCにメールを送信 | POP、IMAP サーバーからメッセージを受信し、SMTP サーバーにメッセージを送信します。 | はい |
| レストBC | RESTチャネルを通じてサービスを公開および呼び出します | はい |
| HL7 BC | HL7プロトコルを使用してヘルスケアアプリケーションと通信するために使用されます | はい |
| TCP/IP BC | TCP/IPを使用してメッセージを送受信する | はい |
| スケジューラBC | あらゆるビジネスプロセスをトリガーするQuartzベースのスケジューラ | はい |
| ビスポークBC | 独自のバインディングコンポーネントを開発できます | オンデマンド |
OpenESB サービスエンジン
| サービスエンジン名 | 説明 | サポートされている |
|---|---|---|
| BPEL SE | BPEL 2.0 に基づく高度にスケーラブルなオーケストレーター。 | はい |
| XSLT SE | ビジネスプロセスへのXSLTの埋め込み | はい |
| IEP SE | インテリジェントイベントプロセッサ | はい |
| ポジョ SE | 任意のJavaクラスをOpenESBコンポーネントに変換します | はい |
| ジー・セ | あらゆるEJBまたはサーブレットをOpenESBコンポーネントに変換します | はい |
| WLM SE | ビジネスプロセスにおけるタスク管理と人的介入を提供します | オンデマンド |
| ETL SE | OpenESB の ETL | オンデマンド |
| ビスポークSE | 独自のサービスエンジンを開発できます | はい |
統合開発環境とプラグイン
OpenESBは、複雑なSOAおよび統合開発を容易にするグラフィカルツールセットを提供します。OpenESBでは、XLM、XMLスキーマ、WSDL、BPELエディタ、データマッピング、コンポジションアプリケーションといった強力なグラフィカルエディタが提供されています。同様に、ビルド、デプロイ、アンデプロイ、実行、テスト、デバッグといったタスクもグラフィカルツールによって管理されます。OpenESBは、ESBおよびSOA開発に最適なエルゴノミクスを提供します。
- XSDエディター
- WSDLエディター
- BPEL エディター
- 複雑なBPELサンプル
- データマッパーエディター
- 複合アプリケーションエディター
容器
OpenESB V3.1.2はコンテナを一切使用せず、JVMのみを使用します。そのため、メモリフットプリントは非常に小さく(300MB未満)、Raspberry PIやクラウド上の多くのインスタンスで実行できます。次期バージョンは2019年にリリース予定です。
OpenESBコミュニティ
以下の表は、OpenESBコミュニティが管理するウェブサイトとフォーラムの一覧です。
| Webサイト | 説明 |
|---|---|
| コミュニティポータル | 情報、イベントのダウンロード、ドキュメント、ブログ、フォーラム... |
| ソースリポジトリ | すべてのソースコードとビルド: 登録が必要です |
| OpenESBコミュニティフォーラム | 数千件の投稿がある技術フォーラム |
| OpenESB LinkedIn グループ | OpenESBに関する議論 |
参照
- サービス指向アーキテクチャ(SOA)
- サービスコンポーネントアーキテクチャ(SCA)
- アパッチキャメル
- アパッチCXF
- システム統合
- エンタープライズ サービス バス
- エンタープライズ統合パターン
- イベント駆動型SOA
- Javaキャップ
- Eclipse Sirius - 1時間で独自の複雑な軍事グレードのモデリングツールを構築するための無料およびGPL Eclipseツール
- Eclipse SCAツール - GNUフリーの複合ツール
- Eclipse Siriusで作成された無料のGPL obeodesigner