ミドルウェア

ミドルウェアとは

ミドルウェアは、オペレーティング・システムのサービス提供範囲外のアプリケーションにサービスを提供する多目的ソフトウェアです。カーネルとユーザー・アプリケーションの間にあるあらゆるソフトウェアを、ミドルウェアとして機能させることができます。

アナリスト兼システム理論家のNick Gall 氏は、「ミドルウェアはソフトウェアのソフトウェアだ」と定義しました。ミドルウェアは従来のアプリケーションの機能を提供するのではなく、ソフトウェアを他のソフトウェアに接続する役割を果たします。ミドルウェアはアプリケーションからアプリケーションへデータを送ることができるため、IT インフラストラクチャの水道管のようなものであると考えることができます。

帝国と企業

古代ローマには、歴史上でも最も優れた部類に数えられる衛生システムが存在しました。上下水道の複雑なネットワークは非常に重要なものであり、ガイウス・プリニウス・セクンドゥスはこれをローマの「最も注目すべき業績」としてたたえました。ローマの水道が水を運んだように、エンタープライズ・ミドルウェアはある場所から別の場所へとデータを運びます。ミドルウェアが人類史上最高の業績であると言うわけではありませんが、ミドルウェアのおかげで他の多くの (おそらくは、より重要な) ソフトウェアが機能できていることは、紛れもない事実です。

ミドルウェアを水道管に例えるなど、つまらない比喩であると嘆かれるかもしれませんが、どちらもローマのように大規模で複雑なシステムを運用するうえで大変重要な役割を果たすものです。企業は急速な成長を遂げる都市と似ています。企業のあらゆる部門にデータが必要であるように、都市のあらゆる地域には水が必要です。水道管がなければ、都市の効率性は失われ、混乱を招きます。ミドルウェアがなければ、企業はこれと同じ状態になるのです。

 

ミドルウェアの種類

ミドルウェアには、次のようなさまざまなソフトウェアが含まれます。

 

アプリケーション・プログラミング・インタフェース (API)

API は、アプリケーション・ソフトウェアを構築するためのツール、定義、およびプロトコルのセットです。これにより、製品やサービスは、他の製品やサービスの実装方法を知らなくてもそれらと通信できます。

アプリケーション・サーバー

アプリケーション開発用プラットフォーム (Red Hat® JBoss® Enterprise Application Platform など) 。アプリケーション・サーバーとは、アプリケーションを作成するための機能とそれを実行するサーバーを提供するフレームワークのことです。

アプリケーションの統合

アプリケーションの統合とは、複数のアプリケーションから取得したデータを、統合フレームワークを通じて結合することです。フレームワークは、組織全体のポイントツーポイント接続の数を制限することができます。これらの接続は、複雑な依存関係や潜在的な障害ポイントにつながるおそれがあるためです。

データの統合

データの統合とは、異なるソースからのデータを統合して一覧可能にすることを指します。ユーザーは、そこからデータへアクセスし、操作することができます。

トランザクション処理 (TP)

TP は、トランザクション・アプリケーションを制御したり、ビジネスロジックやルールを適用したり、データベースの更新をプッシュしたりして、システム (通常はデータベースまたはファイルシステム) の整合性を維持します。

リモート・プロシージャー・コール (RPC)

アプリケーションや機能を複数のプラットフォームに分散させることができる、クライアントとサーバー間のインタラクションです。

メッセージ指向ミドルウェア (MOM)

キューイング・メカニズムを追加した RPC の改良版です。これにより、ターゲットノードが低速またはビジー状態の場合に、クライアントとサーバー間のインタラクションを非同期で実行することができます。

オブジェクト・リクエスト・ブローカー (ORB)

クライアントとサーバー間のもう 1 つのインタラクションであり、リモートサービスにローカルであるかのようにアクセスできるようにします。サーバープロセスは ORB に登録され、クライアントは ORB に接続してこれらのサービスの位置を特定します。

ミドルウェアに注目する理由

データが社内の水道管で運ばれる水であると考えた場合、水道管さえあれば、バケツを持って給水ポンプのある場所へと行き、バケツを水で満たして元いた場所に戻るという大変な手間を省くことができ、大きな助けとなります。ミドルウェアがなければ、作業をしようとするたびに、そのような大変な手間が生じるのです。企業内のあらゆる場所にデータのパイプを張り巡らせておけば、より便利で効率的です。

オンデマンドのデータで実現できること

アプリケーション間でデータを統合すると、手動プロセスに時間を費やすのではなく、組織のために魅力ある新しいサービスを作成することに集中できます。たとえば、最新のアプリケーション・プラットフォームでは、開発者はアプリケーションの機能を環境内の他の機能と統合する状況を管理するのではなく、アプリケーション機能を開発することに集中できます。

必要なミドルウェアツール

Red Hat JBoss Enterprise Application Platform

内部および外部アプリケーションの構築、実行、管理、統合に必要なものすべてが揃った完全認定 Java EE 7 コンテナです。

Red Hat JBoss Data Grid

頻繁に使用するデータに高速かつ高い信頼性でアクセスできるようにすることで、アプリケーションを柔軟に拡張する、インテリジェントな分散データキャッシング・ソリューションです。

Red Hat Fuse

オンプレミスでもクラウドでも、あらゆる環境を接続するエンタープライズ統合プラットフォームです。

Red Hat JBoss Data Virtualization

異なるソースからのデータを一元化し、再利用可能なデータ提供サービスを実現する統合プラットフォームです。

ミドルウェアについてさらに詳しく知る