アカウント ログイン
Jump to section

ミドルウェアとは

URL をコピー

ミドルウェアは、オペレーティングシステムのサービス提供範囲外のアプリケーションに共通のサービスと機能を提供するソフトウェアです。データ管理、アプリケーションサービス、メッセージング、認証、API 管理は一般に、すべてミドルウェアで処理されます。

ミドルウェアを使用すると、開発者によるアプリケーションの構築が効率化されます。アプリケーション、データ、ユーザーをつなぐ手段として機能します。

マルチクラウド環境やコンテナ化環境を持つ組織では、ミドルウェアによってアプリケーションの開発と運用のコスト効率が広範にわたって向上します。

ミドルウェアの起源

ミドルウェアという言葉が初めて登場したのは、ドイツのガルミッシュ・パルテンキルヒェンで開催された 1968 NATO Software Engineering Conference の報告書です。ソフトウェア・エンジニアリングの分野を定義しようとしていたこの会議では、ソフトウェアの設計、制作、配布などについての議論が交わされました。

広義の分類では、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 とは、アプリケーションが相互に通信できるようにする、ツール、定義、プロトコルのセットです。API によって、まったく異なる製品とサービスが共通レイヤーを通じて接続できるようになります。

Middleware data streaming diagram

データストリーミング

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

Middleware intelligent business automation diagram

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

ミドルウェアは、手動による意思決定を自動化しようとする開発者、アーキテクト、IT リーダー、ビジネスリーダーを支援します。自動化することで、リソース管理や全体的な効率を向上できます。

クラウドネイティブ開発には多くのメリットがありますが、複雑性が増すこともまた事実です。アプリケーションはオンプレミスシステムからパブリッククラウドまで、複数のインフラストラクチャ上にデプロイできます。アーキテクチャが大きく異なることもあります。それに対応するため、開発者は複数のツール、言語、フレームワークを使い分けなければいけません。さらに、短い時間内に低コストで多くの作業をこなすというプレッシャーもあります。

このような複雑性を管理し、アプリケーションをコスト効率よく迅速に開発し続ける手段として、組織はミドルウェアに関心を寄せています。ミドルウェアは、高度に分散されたプラットフォーム上でスムーズかつ一貫して動作するアプリケーション環境をサポートできます。

構築場所とデプロイ先が異なっていても、動作は同じです。これはアプリケーションを下支えするミドルウェアのおかげです。

先進的なビジネスアプリケーションは、大規模にオンプレミスやクラウド上で実行するように設計されています。このようなアプリケーションを構築するには、統一された基本機能を備えたアプリケーション環境が必要です。このような環境を構成するために、ミドルウェアは大切な役目を担います。

このような機能は 4 つのレイヤーおよびツールとして提供されます。

コンテナレイヤー

このミドルウェアのレイヤーは、アプリケーションのライフサイクルの提供について統一した方法で管理します。CI/CD による DevOps 機能、コンテナ管理、サービスメッシュ機能を提供します。

ランタイムレイヤー

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

統合レイヤー

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

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

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

ツール

ミドルウェアのこれらの 4 つのレイヤーに加えて、アプリケーション開発ツールがあります。これによりチームはプリセットされたテンプレートとコンテナを使用してアプリケーションを構築し、効率的なコード共有や共同開発を促進できます。ツールにより、アプリケーション開発と提供手順がオンプレミスでもクラウドでも矛盾なく一貫して行われるようになります。

関連資料

記事

統合 (インテグレーション) とは

統合に関する詳細な情報をお探しですか?デジタル・トランスフォーメーションとは何か、どのように導入できるか、そして、オープンソースがどのような相乗効果をもたらすのかを説明します。

記事

Apache Kafka とは

Apache Kafka は分散データストリーミング・プラットフォームで、レコードのストリームをリアルタイムで公開、サブスクライブ、保存、処理できます。

記事

API とは

API はアプリケーション・プログラミング・インタフェースの略であり、アプリケーション・ソフトウェアを構築および統合するための一連の定義とプロトコルです。

統合 (インテグレーション) の詳細はこちら

製品

Red Hat Integration

包括的な統合 (インテグレーション) およびメッセージング・テクノロジー群。

Red Hat Cloud Services

ハイブリッドクラウドのエクスペリエンスを効率化するホスト型およびマネージド型のプラットフォーム、アプリケーション、データサービスが含まれます。これにより、クラウドネイティブ・アプリケーションの提供に伴う運用コストと複雑さを軽減できます。

Red Hat Runtimes

クラウドネイティブ・アプリケーションの開発とメンテナンスに役立つ製品、ツール、コンポーネン​トを 1 つのセットとしてまとめたものです。Red Hat AMQ、Red Hat Data Grid、Red Hat JBoss® Enterprise Application Platform、Red Hat JBoss Web Server、 Red Hat の OpenJDK ビルド、Red Hat の Quarkus ビルド、クラウドネイティブ・ランタイム一式、Migration Toolkit for Applications、シングルサインオンおよびランチャーサービスが含まれます。

Red Hat Process Automation

ビジネスプロセスと意思決定をインテリジェントに自動化するための製品群。Red Hat Decision Manager、Red Hat Process Automation Manager、および Red Hat Runtimes が含まれます。

リソース

トレーニング

無料のトレーニングコース

Red Hat Agile Integration Technical Overview

Illustration - mail

その他の関連コンテンツ

無料のニュースレター「Red Hat Shares」(英語) では、注目の IT トピックスに関するコンテンツをお届けしています。

Red Hat logo LinkedInYouTubeFacebookTwitter

製品

ツール

試す、買う、売る

コミュニケーション

Red Hat について

エンタープライズ・オープンソース・ソリューションのプロバイダーとして世界をリードする Red Hat は、Linux、クラウド、コンテナ、Kubernetes などのテクノロジーを提供しています。Red Hat は強化されたソリューションを提供し、コアデータセンターからネットワークエッジまで、企業が複数のプラットフォームおよび環境間で容易に運用できるようにしています。

ニュースレター「Red Hat Shares」を購読する

今すぐ登録する

言語を選択してください

© 2022 Red Hat, Inc. Red Hat Summit