Fiorano Logo Share (facebook)
english 英語   Deutsch ドイツ語   japanese 日本語
ホーム | What We Do | ブログ | ニュース | ダウンロード | POC お申込み | お問合せ | サイトマップ   
    ホーム >> 製品ライン >> FioranoMQ トップ >> FioranoMQ の機能 >> JMS とは >> JMS におけるメッセージングとは

  製品ライン
     FioranoMQ® トップ
        FioranoMQ® 10 (JMS 2.0)
           共有サブスクリプション

        FioranoMQ® の利点
        メッセージ配信性能
        機能説明
           デザイン ゴール
           JMS に準拠した機能
           JMS 補完機能
        最新機能 (リリース情報)
        動作環境 (システム要件)

FioranoMQ Datasheet
製品紹介パンフレット


     Fiorano Integration

     Fiorano API マネジメント

JMS の機能的特徴 (JMS におけるメッセージングとは)


     メッセージングとは
     ストア&フォワード メカニズム
     JMS における "疎結合"


1.1 メッセージングとは
"メッセージング" という言葉は、コンピュータの世界のさまざまな場面で広く使われています。例えば、OS のコンセプトを説明する場面や e-メール システムを説明する場合にも使われています。

JMS におけるメッセージングとは、アプリケーション間の非同期通信 を説明する言葉として用いられています。

そして、JMS における "メッセージ" とは、非同期に送受信されるリクエスト、レポート、イベントなどを指し、人間ではなくアプリケーション ソフトウェアによってコンシューム (受信、処理) されるものを指しています。

JMS では、アプリケーション同士が直接的に通信するのではなく、メッセージの仲介をする JMS サーバーがアプリケーション間に介在します。JMS サーバーが介在することによって、アプリケーションは相手アプリケーションの状態に関係なくメッセージの送受信が行えるようになります。つまり、アプリケーション同士は同期をとる必要がなくなり、アプリケーション間の結びつきが "疎結合" なものとなります。
(JMS クライアント同士を同期的に動作させることも可能です。)


1.2 ストア&フォワード メカニズム
JMS で定義されているメッセージング システムの環境は、図 1 のようになっています。

図 1. JMS メッセージ環境

メッセージを送り出すクライアント (メッセージ プロデューサ) は、JMS サーバーにメッセージを送信します。相手側のアプリケーションに対して送るのではありません。メッセージは、JMS サーバー上の "ディストネーション" を宛先として送られ、ディストネーション上に格納されます。メッセージを受け取る側のクライアント (メッセージ コンシューマ) は、ディストネーションにメッセージが存在すれば、それをコンシュームします (受け取ります)。プロデューサ側もコンシューマ側も相手のことを関知する必要がなく、おたがいにアノニマス (anonymous) な関係にあります。

  • JMS クライアント
    JMSクライアントは、JMS API (クライアント ランタイム) を使用してメッセージを送受信するプログラムです。メッセージの送り側も受け側もクライアントであり、両者の間に "サーバー" と "クライアント" という区別が無いことに留意してください。両者ともメッセージング サービスを利用するクライアントとして位置付けられています。 このことは、アプリケーション間 (メッセージの送信側と受信側) に強い関係が無いことを意味しています。

  • JMS サーバー
    JMS サーバーとは JMS を実装した MOM (メッセージ指向ミドルウェア) のことで、FioranoMQ サーバーもこれに該当します。

  • ディストネーション
    JMS サーバーが管理するオブジェクトの一つで、プロデューサが送るメッセージの宛先となります。ディストネーションに送られてきたメッセージは、ここに格納され、コンシューマがコンシューム (受信) するまで保持されます。
    JMS サーバーは、ディストネーションを用いて、いわゆる "ストア&フォワード" のメカニズムを実装していることになります。


1.3 JMS における "疎結合"
JMS の "ストア&フォワード" メカニズムは、アプリケーション間の結びつきを "疎結合" なものとします。疎結合なメッセージングは、次のような大きな利点をもたらします。

  • アプリケーション間の非同期な連携
    CORBA に代表されるような RPC (Remote Procedure Call) では、通信を行うアプリケーションが同時に稼動している必要があります。また、アプリケーション間で同期をとるため、相手アプリケーションの処理状況に連動していなければなりません (例えば、リクエストの処理結果を受け取るまで待機するなど)。
    これと異なり、非同期な連携では次の利点が得られます。
    • 相手側アプリケーションに障害 (ネットワーク障害やアプリケーション自体の障害) が発生していても、メッセージを送信できる
    • ディストネーションにメッセージを送った直後から、次の処理に移れる

  • 耐障害性
    ネットワーク障害などによってコンシューマがメッセージを受け取れない場合でも、ストア&フォワード メカニズムによってメッセージを保存しておくことができ、メッセージを損失することがありません。障害が解消した時点で、メッセージの処理を再開できます。このことは、一方のアプリケーションに障害が発生しても、他方のアプリケーションは処理を継続できることを意味し、システム全体が停止してしまうことがありません。
    しかしながら、この機能は JMS サーバーとコンシューマとの間の障害についてのみ有効で、プロデューサと JMS サーバーとの間で発生した障害については機能しません。 FioranoMQ では、この問題に対処するため、クライアント サイドの永続化機能を設けました

           クライアント サイドの永続化 の詳細説明


  • システム変更の容易性
    非同期に連携している環境では、アプリケーションを変更したり、他のアプリケーションと置き換える必要が生じても、相手アプリケーションに大きな影響をおよびしません。また、変更時にシステム全体を停止する必要がなくなります。



 製品 / ソリューション
インテグレーション プラットフォーム | ESB | クラウド連携プラットフォーム | B2B/EDI ゲートウェイ | プリビルト マイクロサービス/アダプター | BPM ツール
API マネジメント          MQ | JMS | MQTT (IoT/M2M) | メッセージング
SAP 連携 | Salesforce 連携 | モバイル インテグレーション | SOA/EDI | ハイブリッド クラウド連携 |
医療連携 | 電子商取引 | バンキング ソリューション | FIX (電子証券取引) | e-GIF (電子政府)

フィオラノ ソフトウェア公式ブログ
        フィオラノ ジャパン ブログ
フィオラノ ソフトウェア (株) 公式 SNS
    Share (facebook)     FioranoonGoogle+            

プライバシー ポリシー | 利用規約 | お問合わせ     
© Fiorano Software Technologies P Ltd. All Rights Reserved.