オープンESB

オープン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が所有していましたが、OracleSun Microsystems が合併した後 ( Oracle による Sun の買収を参照)、 OpenESB を維持、改善、促進、サポートするためにOpenESB コミュニティが設立されました。

建築

OpenESB は、フレームワーク、コンテナ、コンポーネント、統合開発環境、開発プラグインの 5 つの部分で構成されています。

フレームワーク

このフレームワークは、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 BCHTTP 経由でメッセージを送受信します (get、post、...)はい
ソープ BCHTTP経由でSOAPメッセージを送受信するはい
FTP BCFTP サーバーとの間でメッセージを送受信しますはい
データベースBCJDBC 経由でデータベースにフルアクセスはい
JMS BCJMSブローカーとの間でメッセージを送受信しますはい
LDAP BCLDAPサーバーへのフルアクセスはい
BCにメールを送信POP、IMAP サーバーからメッセージを受信し、SMTP サーバーにメッセージを送信します。はい
レストBCRESTチャネルを通じてサービスを公開および呼び出しますはい
HL7 BCHL7プロトコルを使用してヘルスケアアプリケーションと通信するために使用されますはい
TCP/IP BCTCP/IPを使用してメッセージを送受信するはい
スケジューラBCあらゆるビジネスプロセスをトリガーするQuartzベースのスケジューラはい
ビスポークBC独自のバインディングコンポーネントを開発できますオンデマンド

OpenESB サービスエンジン

サービスエンジン名説明サポートされている
BPEL SEBPEL 2.0 に基づく高度にスケーラブルなオーケストレーター。はい
XSLT SEビジネスプロセスへのXSLTの埋め込みはい
IEP SEインテリジェントイベントプロセッサはい
ポジョ SE任意のJavaクラスをOpenESBコンポーネントに変換しますはい
ジー・セあらゆるEJBまたはサーブレットをOpenESBコンポーネントに変換しますはい
WLM SEビジネスプロセスにおけるタスク管理と人的介入を提供しますオンデマンド
ETL SEOpenESB の ETLオンデマンド
ビスポークSE独自のサービスエンジンを開発できますはい

統合開発環境とプラグイン

OpenESBは、複雑なSOAおよび統合開発を容易にするグラフィカルツールセットを提供します。OpenESBでは、XLM、XMLスキーマ、WSDL、BPELエディタ、データマッピング、コンポジションアプリケーションといった強力なグラフィカルエディタが提供されています。同様に、ビルド、デプロイ、アンデプロイ、実行、テスト、デバッグといったタスクもグラフィカルツールによって管理されます。OpenESBは、ESBおよびSOA開発に最適なエルゴノミクスを提供します。

容器

OpenESB V3.1.2はコンテナを一切使用せず、JVMのみを使用します。そのため、メモリフットプリントは非常に小さく(300MB未満)、Raspberry PIやクラウド上の多くのインスタンスで実行できます。次期バージョンは2019年にリリース予定です。

OpenESBコミュニティ

以下の表は、OpenESBコミュニティが管理するウェブサイトとフォーラムの一覧です。

Webサイト説明
コミュニティポータル情報、イベントのダウンロード、ドキュメント、ブログ、フォーラム...
ソースリポジトリすべてのソースコードとビルド: 登録が必要です
OpenESBコミュニティフォーラム数千件の投稿がある技術フォーラム
OpenESB LinkedIn グループOpenESBに関する議論

参照

参考文献

Javaビジネス統合

JBI仕様