分散アプリケーションのコンテキストにおけるミドルウェアは、オペレーティング システムが提供するサービスを超えて、分散システムのさまざまなコンポーネントが通信してデータを管理できるようにするソフトウェアです。ミドルウェアは、複雑な分散アプリケーションをサポートし、簡素化します。これには、 Web サーバー、アプリケーション サーバー、メッセージング、およびアプリケーションの開発と配信をサポートする同様のツールが含まれます。ミドルウェアは、 XML、SOAP、Web サービス、およびサービス指向アーキテクチャに基づく最新の情報技術に特に不可欠です。
ミドルウェアは、アプリケーションが標準ベースの方法でデータを交換できるようにサービスを提供することで、異なるオペレーティング システムで実行されるアプリケーション間の相互運用性を実現することがよくあります。ミドルウェアは、異なるオペレーティング システムで動作する可能性のあるアプリケーション ソフトウェアの「中間」に位置します。ミドルウェアは、複数のシステムまたはアプリケーションにまたがっている点を除けば、3 層単一システム アーキテクチャの中間層に似ています。例としては、 EAIソフトウェア、通信ソフトウェア、トランザクション モニター、メッセージングおよびキューイング ソフトウェアなどがあります。
オペレーティング システムとミドルウェアの機能の区別は、ある程度は恣意的です。コア カーネル機能はオペレーティング システム自体でのみ提供できますが、以前は別売りのミドルウェアで提供されていた機能の一部は、現在ではオペレーティング システムに統合されています。典型的な例は、現在ではほぼすべてのオペレーティング システムに含まれた通信用のTCP/IPスタックです。
定義
ミドルウェアは、個別のソフトウェア アプリケーション間のリンクを提供するソフトウェアとして定義されます。2 つのアプリケーションを接続し、それらの間でデータを渡すため、配管と呼ばれることもあります。ミドルウェアを使用すると、1 つのデータベースに含まれるデータに別のデータベースからアクセスできます。そのため、エンタープライズ アプリケーションの統合やデータ統合のタスクに特に役立ちます。
より抽象的な言葉で言えば、ミドルウェアとは「ネットワーク内の分散コンピューティングシステムの両側にあるオペレーティングシステムとアプリケーションの間にあるソフトウェア層」です。 [1]
起源
ミドルウェアという用語は1968年から使われていましたが、新しいアプリケーションを古いレガシーシステムにリンクする方法という問題の解決策として、1980年代に人気が高まりました。 [2]また、通常はネットワーク経由で複数のアプリケーションを接続してより大きなアプリケーションを作成する 分散処理も容易になりました。
使用
ミドルウェア サービスは、アプリケーションが次のことを実行できるように、 より機能的なアプリケーション プログラミング インターフェイスのセットを提供します。
- ネットワーク上で透過的に位置を特定し、他のサービスやアプリケーションとのやり取りを可能にします。
- プライバシー保護のため、匿名化プロセスを通じてデータをフィルタリングし、使いやすくしたり公開したりする(例)
- ネットワークサービスから独立する
- 信頼性が高く、いつでも利用可能
- セマンティクスなどの補完的な属性を追加する
オペレーティング システムやネットワーク サービスと比較した場合。
ミドルウェアは、ビジネスや産業に独自の技術的利点を提供します。たとえば、従来のデータベース システムは通常、ユーザーが制限されたネットワークまたはイントラネット(企業の内部ネットワークなど) 経由でのみシステムにアクセスする閉じた環境で展開されます。ワールド ワイド ウェブの驚異的な成長により、ユーザーは世界中のどこからでも適切なアクセス権を持つほぼすべてのデータベースにアクセスできます。ミドルウェアは、異なるデータベース構造間の相互運用性のレベルが異なるという問題に対処します。ミドルウェアは、データベース固有の特性に関係なく、 Web サーバーを介してレガシーデータベース管理システム(DBMS) またはアプリケーションへの透過的なアクセスを可能にします。[3]
企業は、給与、売上、会計などの部門データベースや、複数の地理的な場所に格納されているデータベースからの情報をリンクするために、ミドルウェアアプリケーションを頻繁に使用します。[4] 競争の激しい医療コミュニティでは、ラボはデータマイニング、ラボ情報システム(LIS)のバックアップ、病院合併時のシステム統合のためにミドルウェアアプリケーションを広範に使用しています。ミドルウェアは、病院買収後に新しく形成された医療ネットワーク内の個別のLIS間のギャップを埋めるのに役立ちます。[5]
ミドルウェアは、アプリケーションの独立したプログラミングインターフェイスとして機能することで、ソフトウェア開発者が制御プログラムごとにアプリケーションプログラミングインターフェイス(API)を作成する手間を省くことができます。マルチドメインシナリオでのトラフィック監視による将来のインターネットネットワーク運用では、メディエーターツール(ミドルウェア)を使用すると、オペレーター、検索者、サービスプロバイダーがサービス品質を監視し、通信サービスの最終的な障害を分析できる ため、非常に役立ちます。[6]ミドルウェアスタックは、いくつかのコンポーネント(CSMS、TV統計、クライアントアプリケーション)で構成されています。ソリューションのすべてのコンポーネントを制御し、相互接続するため、OTTプラットフォームのソフトウェア頭脳として知られています。コンテンツおよび加入者管理システム(CSMS)は、一般に管理ポータルと呼ばれるソリューションの中心部分です。オペレーターの担当者がTVサービス(加入者、コンテンツ、パッケージなど)を管理するための主要なインターフェイスであることに加えて、ほとんどのTVサービスを制御し、ストリーミングおよびCDNと対話し、DRMはライブ、VOD、および録画されたコンテンツをエンドユーザーに配信します。また、課金やプロビジョニングのための外部システムやEPGおよびVODコンテンツプロバイダーとも統合されています。クライアントアプリケーションはCSMSを承認し、通信して、さまざまなデバイス上のエンドユーザーに必要なTVサービスを提供します。[7]
最後に、電子商取引では、さまざまな種類のコンピュータ環境で迅速かつ安全な取引を処理するためにミドルウェアを使用しています。[8] つまり、ミドルウェアは、異なるネットワークやコンピューティングプラットフォーム間でリソースを統合する機能により、幅広い業界で重要な要素となっています。
2004年、欧州放送連合(EBU)のメンバーは、放送環境におけるシステム統合に関するミドルウェアの研究を実施した。この研究では、10の欧州の主要放送局のシステム設計エンジニアリングの専門家が12か月間にわたって、主にソフトウェアベースの製品がメディア制作と放送システム設計技術に与える影響について調査した。その結果、Tech 3300とTech 3300sというレポートが発行され、EBUのWebサイトから無料で入手できる。[9] [10]
種類
メッセージ指向ミドルウェア
メッセージ指向ミドルウェア(MOM)[11]は、トランザクションやイベント通知が、多くの場合エンタープライズメッセージングシステムを介して、異なるシステムまたはコンポーネント間でメッセージを介して配信されるミドルウェアです。MOMでは、クライアントに送信されたメッセージは収集され、処理されるまで保存され、クライアントは他の処理を続行します。
- エンタープライズメッセージング
- エンタープライズ メッセージング システムは、さまざまなシステムまたはコンポーネント間での標準形式のメッセージ パッシングを容易にするミドルウェアの一種で、多くの場合、XML、SOAP、またはWeb サービスが使用されます。エンタープライズ メッセージング システムの一部として、メッセージ ブローカーソフトウェアは、メッセージをキューに入れ、複製し、変換し、メッセージング システム内のさまざまなシステムまたはコンポーネントに配信します。
- エンタープライズ サービス バス
- エンタープライズサービスバス(ESB)は、バートングループ[12]によって「メッセージ指向ミドルウェアとWebサービスの両方をサポートする統合ミドルウェア製品の一種」と定義されています。
インテリジェントミドルウェア
[13] インテリジェントミドルウェア(IMW)は、インテリジェントエージェントを通じてリアルタイムのインテリジェンスとイベント管理を提供します。IMWは、大量のセンサー信号のリアルタイム処理を管理し、これらの信号をインテリジェントで実用的なビジネス情報に変換します。実用的な情報は、エンドユーザーのパワーダッシュボードで個々のユーザーに配信されるか、企業内外のシステムにプッシュされます。さまざまな異機種ハードウェアとソフトウェアをサポートし、外部システムとインターフェイスするためのAPIを提供します。ネットワーク全体にインテリジェンスを組み込み、生データを体系的に実用的な関連知識に変換する、拡張性の高い分散アーキテクチャを備えている必要があります。また、操作を表示および管理し、高度なネットワークアプリケーションを最も効果的に構築するためのツールとパッケージ化することもできます。
コンテンツ中心のミドルウェア
コンテンツ中心のミドルウェアは、アプリケーションが一意に識別されたコンテンツを要求するときに、そのコンテンツがどこでどのように取得されるかを気にせずに、シンプルなプロバイダ-コンシューマ抽象化を提供します。Juno はその一例で、アプリケーションが高レベルの配信要件に関連付けられたコンテンツ要求を生成できるようにします。 [14]次に、ミドルウェアは基盤となる配信を調整して、要件に最も適したソースからコンテンツにアクセスします。したがって、これはパブリッシュ/サブスクライブミドルウェアやコンテンツ中心のネットワークパラダイムに似ています。
- リモートプロシージャコール
- リモート プロシージャ コールミドルウェアを使用すると、クライアントはリモート システムで実行されているサービスを使用できます。プロセスは同期または 非同期にすることができます。
- オブジェクトリクエストブローカー
- オブジェクト リクエスト ブローカーミドルウェアを使用すると、アプリケーションはオブジェクト指向システムでオブジェクトを送信し、サービスをリクエストできるようになります。
- SQL指向のデータアクセス
- SQL 指向のデータ アクセスは、アプリケーションとデータベース サーバー間のミドルウェアです。
- 組み込みミドルウェア
- 組み込みミドルウェアは、組み込みアプリケーション、組み込みオペレーティング システム、および外部アプリケーション間で動作する通信サービスとソフトウェア/ファームウェア統合インターフェイスを提供します。
他の
その他の情報源[要出典]には、以下の追加分類が含まれます。
- トランザクション処理モニター-分散アプリケーションを開発および展開する ためのツールと環境を提供します。[15] [要出典]
- アプリケーションサーバー – 他のアプリケーションの提供(実行)を容易にするためにコンピュータにインストールされるソフトウェア。[16] [引用が必要]
統合レベル
データ統合
- ファイルやデータベースなどのデータリソースの統合
クラウド統合
- さまざまなクラウドサービス間の統合
B2B統合
- データリソースとパートナーインターフェースの統合
アプリケーション統合
- 企業が管理するアプリケーションの統合
ベンダー
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 は、メッセージ指向ミドルウェアをサービスとして 提供します。
参照
参考文献
- ^ Krakowiak, Sacha. 「ミドルウェアとは何か?」. ObjectWeb.org. 2005-05-07 にオリジナルからアーカイブ。2005-05-06に取得。
- ^ Gall, Nick (2005 年 7 月 30 日)。「「ミドルウェア」という用語の起源に関する最新情報」
- ^ Peng, C, Chen, S, Chung, J, Roy-Chowdhury, A, および Srinivasan, V. (1998). World Wide Web から既存のビジネス データにアクセスする。IBM Systems Journal, 37(1), 115-132. 2009 年 3 月 7 日に ABI/INFORM Global データベースから取得。(文書 ID: 26217517)
- ^ Bougettaya, A, Malik, Z, Rezgui, A, および Korff, L. (2006). Web データベース用のスケーラブルなミドルウェア。Journal of Database Management, 17(4), 20-39,41-46。2009 年 3 月 7 日に ABI/INFORM Global データベースから取得。(文書 ID: 1155773301)。
- ^ Bagwell, H. (2008). ミドルウェア: 自動検証を超えた価値の提供 Archived 2009-10-12 at the Wayback Machine . IVDT. 2009 年 3 月 3 日閲覧。.
- ^ Kai Oswald Seidler. 「MOMENT」. Fp7-moment.eu . 2010年8月19日閲覧。
- ^ Pirtovsek, Nino (2021年9月16日). 「ネットワークオペレーター向けOTTテクノロジーガイド」. Uniqcast . 2022年12月8日時点のオリジナルよりアーカイブ。2023年5月10日閲覧。
- ^ Charles, J. (1999). ミドルウェアが最前線へ(サブスクリプションが必要)。テクノロジー ニュース。2009 年 3 月 2 日閲覧。
- ^ 「EBU ミドルウェア レポート Tech 3300」(PDF) 。2010 年 8 月 19 日閲覧。
- ^ 「EBU ミドルウェア レポート Tech 3300s」(PDF) 。2010年 8 月 19 日閲覧。
- ^ Curry, Edward. 2004. 「メッセージ指向ミドルウェア」[ permanent dead link ]。Middleware for Communications、ed. Qusay H Mahmoud、1-28 ページ。イギリス、チチェスター:John Wiley and Sons。doi : 10.1002 /0470862084.ch1。ISBN 978-0-470-86206-3
- ^ 「Microsoft on the Enterprise Service Bus (ESB)」。2005 年 8 月
。ESB というラベルは、製品が MOM と Web サービス プロトコルの両方をサポートする、ある種の統合ミドルウェア製品であることを意味します。
- ^ 適切なミドルウェアの選択 2012-04-02 にWayback Machineでアーカイブ
- ^ Juno Archived 2011-04-26 at the Wayback Machine、Gareth Tyson、「コンテンツ中心のアプリケーションを構築するためのミドルウェアアプローチ」。博士論文、ランカスター大学 (2010)。
- ^ Gerndt, Michael (2002).分散アーキテクチャ向けパフォーマンス指向アプリケーション開発: 商用および科学環境の展望. IOS PR, Inc. ISBN 978-1586032678。
- ^ Dong, Jielin (2007).ネットワーク辞書. Javvin Press. ISBN 978-1602670006。
外部リンク
- Internet2 Middleware Initiative 2005-07-23 にWayback Machineでアーカイブ
- SWAMI - スウェーデン ミドルウェア インフラストラクチャ アライアンス
- オープン ミドルウェア インフラストラクチャ インスティテュート (OMII-UK)
- ミドルウェア統合レベル
- 欧州放送連合ミドルウェアレポート。
- 欧州放送連合のミドルウェア レポートのより詳細な補足。
- ObjectWeb - オープンソースミドルウェアを開発する国際コミュニティ
