ミドルウェアとは

URL をコピー

ミドルウェアは、オペレーティングシステムをアプリケーション、データ、ユーザーに接続するソフトウェアレイヤーです。シングルサインオン (SSO) やアプリケーション・プログラミング・インタフェース (API) 管理などの一般的なサービスと機能を提供します。開発者はミドルウェアを利用して、アプリケーション・コンポーネント間の一貫性のある単純化された統合を実現できます。これによって開発者は、レガシーシステムを含むさまざまなエンドポイントや環境に接続するのに時間を費やすことなく、アプリケーションのコア機能を構築できるようになります。

「ミドルウェア」という言葉は、1960 年代後半以降、ソフトウェア・エンジニアリング用語として、また幅広い先進的なソフトウェア・コンポーネントに適用される 1 つのカテゴリとして使われてきました。ミドルウェアには、アプリケーション・ランタイム、エンタープライズ・アプリケーション統合、そしてさまざまな種類のクラウドサービスが含まれます。データ管理、アプリケーション・サービス、メッセージング、認証、API 管理は一般に、すべてミドルウェアで処理されます。

現在、ミドルウェアは、先進的なクラウドネイティブ・アーキテクチャの技術的基盤となっています。マルチクラウドおよびコンテナ化された環境を持つ組織の場合、ミドルウェアを使用すると、アプリケーションを大規模に開発および実行するためのコスト効率が高くなります。

Red Hat Application Foundations の詳細

広いカテゴリとして、ミドルウェアには、Web サーバーから認証システム、メッセージングツールに至るまで、あらゆるものが含まれます。ここでは、最新の開発におけるミドルウェアの一般的なユースケースをいくつか紹介します。

Middleware New Application Development diagram

新しいアプリケーションの開発

ミドルウェアは、さまざまなユースケースで最新の一般的なランタイムをサポートできます。開発者とアーキテクトは、基本的なランタイム、フレームワーク、プログラミング言語のセットに従って、プラットフォームを問わず俊敏に作業できます。ミドルウェアは、Web サーバー、シングルサインオン (SSO)、メッセージング、インメモリキャッシュなどの一般的に使用される機能も提供できます。

Middleware optimization of existing applications diagram

既存のアプリケーションの最適化

ミドルウェアは、開発者がレガシーのモノリシック・アプリケーションをクラウドネイティブ・アプリケーションに変換する際に、重要なツールを、そのパフォーマンスと可搬性を向上させながら活用し続けられるようにします。

Middleware comprehensive integration diagram

包括的な統合

ミドルウェア統合ツールは、重要な内部システムと外部システムを接続します。変換、接続性、構成可能性、エンタープライズ・メッセージングなどの統合機能と SSO 認証を組み合わせることで、開発者はさまざまなアプリケーションにわたって機能を容易に拡張できるようになります。

Middleware app programming interfaces diagram

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

多くのミドルウェアサービスは、アプリケーションの相互通信を可能にするツール、定義、プロトコルのセットである API を介してアクセスされます。API を使用すると、まったく異なる製品やサービスを共通のレイヤーを介して接続できるようになります。

Middleware data streaming diagram

データストリーミング

API はアプリケーション間でデータを共有する 1 つの方法ですが、非同期データストリーミングという別のアプローチもあります。これにより、中間ストアにデータセットが複製され、複数のアプリケーション間でデータを共有できます。リアルタイム・データストリーミングでよく知られているオープンソース・ミドルウェアツールの 1 つが、Apache Kafka です。

Middleware intelligent business automation diagram

インテリジェントなビジネス自動化

ミドルウェアは、開発者、アーキテクト、IT、ビジネスリーダーが手動による意思決定を自動化するのに役立ちます。自動化により、リソース管理と全体的な効率が向上します。

Red Hat のリソース

組織はクラウドネイティブ開発への移行を進めており、ソフトウェア開発者とシステムアーキテクトは、アプリケーション・プラットフォームの事前設計とアーキテクチャに注力する必要がありました。これには、アプリケーションを開発、展開、実行するためのフレームワークと機能を選択して設定することが必要ですが、すべてミドルウェアによって処理できます。これらの機能を導入することで、組織はクラウドからより多くのメリットを得ることができます。アプリケーションは、オンプレミスシステムからパブリッククラウドまで、複数のインフラストラクチャ上にデプロイでき、各場所で意図したとおりに機能します。

複雑性を管理し、アプリケーションをコスト効率よく迅速に開発し続ける手段として、組織はミドルウェア (その多くが現在クラウドサービスとして提供され、デプロイと管理が単純化されている) に関心を寄せています。ミドルウェアは、高度に分散されたプラットフォーム上でスムーズかつ一貫して動作するアプリケーション環境をサポートできます。また、ソフトウェア・サプライ・チェーンのセキュリティ、DevSecOps 戦略、および自動化もサポートできるため、チームはセキュリティリスクを管理しながら、新しく優れたアプリケーションをより迅速に構築できます。

最新のビジネスアプリは、オンプレミスやクラウド全体で大規模に実行できるように設計されています。これらを構築するために、開発者には統一された基本機能を備えたアプリケーション環境が必要です。このような環境を構築する鍵となるのがミドルウェアです。

これらの機能は、次のように 4 つのレイヤーとツールとして考えることができます。

コンテナレイヤー

ミドルウェアのこのレイヤーは、アプリケーション・ライフサイクルのデリバリーの側面を統一的な方法で管理します。CI/CD、コンテナ管理、サービスメッシュ機能を備えた DevOps 機能を提供します。

ランタイムレイヤー

このレイヤーには、カスタムコードの実行環境が含まれています。ミドルウェアは、マイクロサービス、高速データアクセス用のインメモリキャッシュ、高速データ転送用のメッセージングなど、高度に分散されたクラウド環境向けに軽量のランタイムとフレームワークを提供できます。

統合レイヤー

統合ミドルウェアは、カスタムアプリや購入したアプリに接続するサービスを提供し、また、メッセージング、統合、API を通じて SaaS (Software-as-a-Service) アセットを提供することで、機能するシステムを形成します。さらに、インメモリデータベースおよびデータキャッシュサービス、データ/イベントストリーミング、API 管理も提供できます。

プロセス自動化および意思決定管理レイヤー

開発ミドルウェアのこの最後のレイヤーでは、重要なインテリジェンス、最適化と自動化、意思決定管理が追加されます。

ツール

これら 4 つのミドルウェアレイヤーに加えて、アプリケーション開発ツールがあります。これにより、チームはプリセットのテンプレートとコンテナを使用してアプリケーションを構築できるようになり、効率的なコード共有と共同開発が容易になります。ツールは、オンプレミスとクラウドで一貫性のあるアプリケーション開発およびデリバリー・エクスペリエンスをサポートします。

API は、ソフトウェアを統合するための一連の定義とプロトコルを確立し、1 つのアプリケーションが他の製品やサービスと通信できるようにします。API によって開発者が新しいアプリケーション・コンポーネントを既存のアーキテクチャに統合する方法が単純化されるので、チームのコラボレーションが容易になり、便利な新しい機能をソフトウェアにすばやく追加できます。

API とマイクロサービスの使用は、クラウドネイティブ・アプリケーション開発の基本部分です。API 接続を容易にするサービスは、一種のミドルウェアです。API 管理ツールを使用すると、開発者は API を共有、配信、制御、および収益化することができます。

サービスメッシュやデータストリーミングなどの他のアプリケーション・サービス・ツールと共に API 管理を使用すると、ハイブリッドクラウド環境全体でアプリケーションを大規模に実行できます。

ハブ

Red Hat 公式ブログ

Red Hat のお客様、パートナー、およびコミュニティのエコシステムに関する最新の情報を入手しましょう。

すべての Red Hat 製品のトライアル

Red Hat の無料トライアルは、Red Hat 製品をハンズオンでお試しいただける無料体験版です。認定の取得に向けた準備をしたり、製品が組織に適しているかどうかを評価したりするのに役立ちます。

関連情報

サービスメッシュとは?をわかりやすく解説

サービスメッシュ(service mesh)は、アプリケーションに組み込まれたインフラストラクチャ層で、マイクロサービス・アーキテクチャでのサービス間の通信を最適化します。

アプリケーション統合とは

アプリケーション統合は、データの交換とサービスの利用を通じた連携を可能にすることで、さまざまなシステムとアプリケーションを接続します。

REST API とは?をわかりやすく解説 | Red Hat

REST API は、REST (Representational State Transfer) の設計原則に従う API です。軽量、高速でスケーラビリティが向上するので、IoT やモバイルアプリ開発に最適です。

統合リソース