分散アプリケーションにおけるミドルウェアとは、オペレーティングシステムが提供するサービスの範囲を超えてサービスを制約し、分散システムの様々なコンポーネント間の通信とデータ管理を可能にするソフトウェアです。ミドルウェアは、複雑な分散アプリケーションをサポートし、簡素化します。これには、 Webサーバー、アプリケーションサーバー、メッセージング、およびアプリケーションの開発と配信をサポートする同様のツールが含まれます。ミドルウェアは、 XML、SOAP、Webサービス、およびサービス指向アーキテクチャに基づく現代の情報技術において特に不可欠です。
ミドルウェアは、異なるオペレーティングシステム上で動作するアプリケーション間の相互運用性を実現するために、アプリケーションが標準規格に基づいてデータを交換できるサービスを提供します。ミドルウェアは、異なるオペレーティングシステム上で動作する可能性のあるアプリケーションソフトウェアの「中間」に位置します。これは、 3層構造の単一システムアーキテクチャの中間層に似ていますが、複数のシステムまたはアプリケーションにまたがって展開されます。例としては、 EAIソフトウェア、通信ソフトウェア、トランザクションモニタ、メッセージングおよびキューイングソフトウェアなどが挙げられます。
オペレーティングシステムとミドルウェアの機能の区別は、ある程度恣意的である。コアカーネルの機能はオペレーティングシステム自体によってのみ提供されるが、以前は別売りのミドルウェアによって提供されていた機能の一部は、現在ではオペレーティングシステムに統合されている。典型的な例は、通信用のTCP/IPスタックであり、今日では事実上すべてのオペレーティングシステムに組み込まれている。
ミドルウェアとは、複数のソフトウェアアプリケーション間の接続を提供するソフトウェアのことです。2つのアプリケーションを接続し、データを受け渡す役割を担うことから、「配管」に例えられることもあります。ミドルウェアを使用することで、あるデータベースに格納されたデータに別のデータベースからアクセスできるようになります。そのため、エンタープライズアプリケーションの統合やデータ統合において特に有用です。
より抽象的に言えば、ミドルウェアとは「ネットワーク上の分散コンピューティングシステムの両側のオペレーティングシステムとアプリケーションの間にあるソフトウェア層」である。 [ 1 ]
ミドルウェアは、新しいアプリケーションを古いレガシーシステムに接続する方法という問題の解決策として1980年代に人気を博しましたが、この用語自体は1968年から使用されていました。[ 2 ]また、分散処理、つまり複数のアプリケーションを接続してより大きなアプリケーションを作成することも容易にし、通常はネットワークを介して行われます。
ミドルウェアサービスは、アプリケーションが以下のことを可能にする、より機能的なアプリケーションプログラミングインターフェースを提供します。
オペレーティングシステムやネットワークサービスと比較した場合。
ミドルウェアは、ビジネスや産業に独自の技術的利点をもたらします。たとえば、従来のデータベースシステムは通常、ユーザーが制限されたネットワークまたはイントラネット(たとえば、企業の内部ネットワーク)を介してのみシステムにアクセスする閉鎖的な環境に展開されます。ワールドワイドウェブの驚異的な成長により、ユーザーは適切なアクセス権限を持つほぼすべてのデータベースに世界中のどこからでもアクセスできるようになりました。ミドルウェアは、異なるデータベース構造間の相互運用性のレベルが異なるという問題に対処します。ミドルウェアは、データベース固有の特性に関係なく、 Webサーバーを介してレガシーデータベース管理システム(DBMS)またはアプリケーションへの透過的なアクセスを容易にします。[ 3 ]
企業は、給与、販売、会計などの部門別データベースや、複数の地理的な場所に保管されているデータベースからの情報をリンクするために、ミドルウェア アプリケーションを頻繁に使用します。[ 4 ] 競争の激しい医療業界では、検査室は、データ マイニング、検査情報システム(LIS) のバックアップ、病院の合併時のシステムの統合のために、ミドルウェア アプリケーションを幅広く使用しています。ミドルウェアは、病院の買収後に新たに形成された医療ネットワーク内の別々の LIS 間のギャップを埋めるのに役立ちます。[ 5 ]
ミドルウェアは、ソフトウェア開発者が制御プログラムごとにアプリケーションプログラミングインターフェース(API)を作成する必要がないように、アプリケーションの独立したプログラミングインターフェースとして機能します。マルチドメインシナリオでのトラフィック監視による将来のインターネットネットワーク運用においては、仲介ツール(ミドルウェア)の使用は、オペレーター、検索者、サービスプロバイダーがサービス品質を監視し、通信サービスにおける潜在的な障害を分析 できるようにするため、非常に役立ちます。[ 6 ]
最後に、電子商取引では、さまざまなタイプのコンピュータ環境間で迅速かつ安全なトランザクションを処理するためにミドルウェアが使用されます。[ 7 ] 要するに、ミドルウェアは、異なるネットワークやコンピューティング プラットフォーム間でリソースを統合する能力のおかげで、幅広い業界で重要な要素となっています。
2004 年、欧州放送連合(EBU) のメンバーは、放送環境におけるシステム統合に関してミドルウェアの研究を実施しました。これには、10 の主要ヨーロッパ放送局のシステム設計エンジニアリング専門家が 12 か月にわたって協力し、主にソフトウェアベースの製品がメディア制作および放送システム設計技術に与える影響を理解することが含まれていました。その結果として作成されたレポート Tech 3300 および Tech 3300s は公開され、EBU の Web サイトから無料で入手できます。[ 8 ] [ 9 ]
メッセージ指向ミドルウェア(MOM)[ 10 ]は、トランザクションやイベント通知をメッセージを介して、多くの場合エンタープライズメッセージングシステムを介して、異なるシステムやコンポーネント間で配信するミドルウェアです。MOMでは、クライアントに送信されたメッセージは、処理されるまで収集および保存され、クライアントは他の処理を継続します。
[ 12 ] インテリジェントミドルウェア、インテリジェントエージェントを介してリアルタイムのインテリジェンスとイベント管理を提供します。IMW は、大量のセンサー信号のリアルタイム処理を管理し、これらの信号をインテリジェントで実用的なビジネス情報に変換します。実用的な情報は、エンドユーザーのパワーダッシュボードで個々のユーザーに配信されるか、企業内外のシステムにプッシュされます。さまざまな異種ハードウェアとソフトウェアをサポートでき、外部システムとインターフェースするための API を提供します。ネットワーク全体にインテリジェンスを組み込み、生データを体系的に実用的で関連性の高い知識に変換する、高度にスケーラブルな分散アーキテクチャをます。また、操作の表示と管理、および高度なネットワークアプリケーションを最も効果的に構築するためのツールをパッケージ化することもできます。
コンテンツ中心のミドルウェアは、アプリケーションがコンテンツの取得場所や方法を気にすることなく、一意に識別されたコンテンツに対するリクエストを発行できる、シンプルなプロバイダー・コンシューマーの抽象化を提供します。Juno はその一例で、アプリケーションが高レベルの配信要件に関連付けられたコンテンツリクエストを生成できるようにします。 [ 13 ]ミドルウェアは、要件に最も適したソースからコンテンツにアクセスできるように、基盤となる配信を調整します。したがって、これはパブリッシュ/サブスクライブミドルウェアやコンテンツ中心のネットワークパラダイムと似ています。
ポリシーアプライアンスは、ポリシー規則を管理するあらゆる形式のミドルウェアを指す一般的な用語です。これらは、データ所有者または生産者、データ集約者、およびデータ利用者間の仲介を行うことができます。異種混在の組織システムまたはネットワークでは、異なる情報ポリシーまたはニーズを持つシステム間(または管轄区域間)で、合意された情報管理ポリシーと法律を強制、調整、および監視するために使用できます。ポリシーアプライアンスは、スマートデータ(自身の使用に関連する文脈的用語を含むデータ)、インテリジェントエージェント(自己認証、認証、または文脈適応型のクエリ)、またはコンテキスト認識アプリケーションと相互作用して、情報フローを制御し、セキュリティと機密性を保護し、プライバシーを維持できます。ポリシーアプライアンスは、ルールベースの処理、選択的開示、説明責任と監視を可能にすることで、ポリシーベースの情報管理プロセスをサポートします。[ 14 ]
ルールベース処理のためのポリシーアプライアンス技術の例としては、分析フィルタ、コンテキスト検索、セマンティックプログラム、ラベル付けおよびラッパーツール、DRMなどが挙げられます。選択的開示のためのポリシーアプライアンス技術としては、匿名化、コンテンツのパーソナライズ、購読および公開ツールなどが挙げられます。また、説明責任および監視のためのポリシーアプライアンス技術としては、認証、認可、不変かつ否認不可能なログ記録、監査ツールなどが挙げられます。
その他の情報源には、以下の追加分類が含まれます。
IBM、Red Hat、Oracle Corporation、Microsoft は、ミドルウェア ソフトウェアを提供するベンダーの一部です。Axway 、SAP、TIBCO、Informatica、Objective Interface Systems、Pervasive、ScaleOut Software、webMethodsなどのベンダーは、よりニッチなミドルウェア ソリューションを提供するために設立されました。Apache Software Foundation、OpenSAF、ObjectWeb Consortium (現在は OW2)、OASIS のAMQPなどのグループは、オープンソースミドルウェアの開発を奨励しています。Microsoft .NET 「Framework」アーキテクチャは基本的に「ミドルウェア」であり、典型的なミドルウェア 機能はさまざまな製品に分散され、ほとんどのコンピュータ間のやり取りは業界標準、オープン API、または RAND ソフトウェア ライセンスによって行われます。Solaceは、スケーラビリティが求められる実装向けに専用ハードウェアでミドルウェアを提供します。StormMQ は、メッセージ指向ミドルウェアをサービスとして提供します。
というラベルは、MOMとWebサービスプロトコルの両方をサポートする何らかの統合ミドルウェア製品であることを意味します。