ミドルウェア

更新済み: 2024年08月29日 読了目安時間: ~

 

この記事は機械翻訳されました。

 

オペレーティングシステムとIT上で動作するアプリケーション(アプリケーション)の間で作業するミドルウェアは、オペレーティングシステムが提供するものを超えたプロトコルと機能をアプリケーション(アプリケーション)に提供できます。

ミドルウェアは、分散ネットワーク内で相互に接続するように設計されていない複数のアプリケーション(アプリケーション)コンポーネント間の接続または通信をサポートできるソフトウェアの一種です。 ミドルウェアは、アプリケーション(アプリケーション)の開発を効率化できるツールでもあります。

メッセージング、セキュリティ認証、Web Application (アプリケーション) サーバー、データベース管理、API 管理など、さまざまな機能を提供できるミドルウェアにはいくつかの種類があります。 エンタープライズ内では、ミドルウェアは、クラウドベースのシステムで一元化された統合ハブとして機能する必要なすべてのコンポーネントを接続するのに役立ちます。

ミドルウェアには、従来はなかったアプリケーション(アプリケーション)のサービスとアプリケーション間の接続を提供するのに役立つさまざまなアプリケーション(アプリケーション)があります。

ミドルウェアとは?

ミドルウェアは当初、アプリケーション (アプリケーション) フロントエンド (ユーザー) と、データベースやメインフレーム アプリケーション (アプリケーション) などのバックエンド リソースとの間の仲介作業の一種でした。 今日、ITは、フロントエンドとバックエンドの両方の接続性、クラウド内のリソースの接続など、2つ以上のアプリケーション(アプリケーション)間のあらゆる形式の接続性に進化しています。

ミドルウェアは、アプリケーション(アプリケーション)が設計されていない方法で相互に通信し、接続できるようにするソフトウェアです。 ミドルウェアは、オペレーティングシステムとIT上で動作するアプリケーション(アプリケーション)との間で翻訳積み重ねるフォームを作成できます。

ミドルウェアは、ITが仲介者として機能しながら複数のアプリケーション(アプリケーション)間の通信を容易にするため、「ソフトウェアの接着剤」と呼ばれることがよくあります。

ミドルウェアの種類

ミドルウェアにはさまざまな種類があり、提供されるサービスもあります。使用するミドルウェアの種類は、必要なサービスによって異なります。たとえば、ミドルウェアは認証目的やSSO の設定に使用できます(シングルサインオン(Single Sign-On ))。IT は、メッセージング、分散プロセス、またはトランザクション管理にも使用できます。

ミドルウェアには、次のような種類があります。

  • データベースミドルウェア: これにより、バックエンドデータベースとのやり取りとアクセスが容易になり、合理化されます。IT は、通常、SQL データベース サーバーのフォームです。
  • API ミドルウェア: これにより、他の開発者は、アプリケーション (アプリケーション) の API を作成、管理、公開するためのツールを提供することで、アプリケーション (アプリケーション) に接続できます。これには、 API 管理プラットフォーム、 API developer ポータル、 API gatewayが含まれます。
  • Message-oriented ミドルウェア (MOM): これにより、異なるメッセージング プロトコルを使用しているアプリケーション (アプリケーション) 間でメッセージを変換または変換して通信を有効にし、メッセージのルーティングを管理します。 これには、メッセージ・ブローカーとメッセージ・キューが含まれます。
  • Object request broker (ORB) ミドルウェア: これは、CORBA(Common Object Request Broker Architecture)とともに、同じ分散システム内の異なるアプリケーション(アプリケーション)またはコンポーネント間の要求と要求の履行との間のブローカーとして機能します。
  • Remote Procedure Call (RPC) ミドルウェア: これにより、アプリケーション(アプリケーション)は、リモートシステム上のアプリケーションであっても、別のアプリケーション(アプリケーション)でプロシージャをトリガーして、すべてが同じアプリケーション(アプリケーション)の一部であるかのように見せることができます。
  • ポータルミドルウェア: これにより シームレスなフロントエンド統合と、クライアントデバイスとバックエンドシステム間のスムーズな相互作用が可能になります。IT部門は、複数の関連するアプリケーション(アプリケーション)の機能とコンテンツを統合して、1つの複合アプリケーション(アプリケーション)を形成します。
  • デバイス ミドルウェア: これは、特定のモバイルOSなど、特定のハードウェア環境で動作するアプリケーション(アプリケーション)を開発するために使用されます。
  • Asynchronous data streaming ミドルウェア: これにより 中間ストアにデータストリームを複製し、リアルタイムのデータストリーミングを可能にすることで、さまざまなアプリケーション(アプリケーション)間でのデータ共有が可能になります。
  • Transactional ミドルウェア: これにより、分散ネットワーク全体でのデータトランザクションの実装がサポートされ、多くの場合、TPM(トランザクション処理監視)を使用して、データ交換から完了までのステップでトランザクションを進行させることができます。

ミドルウェア & クラウド(コンピューティング)

クラウド(コンピューティング)は、開発者にとって複雑さの積み重ねることができます。 クラウド(コンピューティング)では、アプリケーション(アプリケーション)は一般的に、オンプレミスシステムからパブリッククラウドまで、さまざまなアーキテクチャを持つ複数のインフラストラクチャにデプロイされます。これには、複数のフレームワーク、ツール、言語が含まれる場合があります。ミドルウェアは、複雑さをより簡単な方法で管理することで、これを簡素化できます。

ミドルウェアを使用すると、開発者は高度に分散されたプラットフォーム全体でシームレスに作業できます。 ミドルウェアは、分散システムのさまざまなコンポーネントが連携して効果的に通信できるサービスを提供することで、アプリ開発をよりスムーズ、迅速、かつコスト効率の高いものにするのに役立ちます。

ミドルウェアは、さまざまなアプリケーション(アプリケーション)、サービス、およびコンポーネントをすべて統合して、アクセスと管理を容易にする一元化された「ハブ」を作成できます。 ミドルウェアを使えば、アプリケーション(アプリケーション)を一箇所で開発し、どこにでもデプロイすることができます。

ミドルウェアはアプリ開発と何の関係がありますか?

ミドルウェアは、 developer が毎回カスタムインテグレーションを作成することなく、アプリケーションサービス、マイクロサービス、コンピューティングリソース、デバイス、データソースを接続する方法を提供することで、アプリ開発を強化することができます。 その後、ミドルウェアはこの開発プロセスを合理化し、 developer アプリケーション(アプリケーション)をより早く市場に投入できるように支援できます。

ビジネスアプリケーション(アプリケーション)は、大規模に、オンサイトで、クラウド環境全体で実行する必要があります。 したがって、必要なアクションを実行する機能を備えた統合アプリケーション(アプリケーション)環境内に構築する必要があります。

異なるアプリケーション (アプリケーション) は、REST、SOAP、XML、JSON などの共通のメッセージング フレームワークを使用して通信できる必要があります。 ミドルウェアは、これを支援するサービスだけでなく、C++、Java、Python、PHP などの複数のコンピューター言語で記述されたコンポーネント間の通信を可能にする機能も提供できます。

ミドルウェアには、開発者が統合と接続を構成および制御できるサービスも含まれており、フロントエンドアプリケーション(アプリケーション)の要求に基づいてバックエンドアプリケーション(アプリケーション)からの応答をカスタマイズできます。 また、エンタープライズミドルウェアは、クライアントリクエストを環境全体に分散して、分散システム間のトラフィックを動的に管理するように拡張するのにも役立ちます。

ミドルウェアは、TLS(transport 積み重ねるセキュリティ)などのネットワークセキュリティプロトコルを使用して、安全な接続を確立し、データを転送します。 ミドルウェアは、認証機能も提供できます。

積み重ねる of ミドルウェア for App development

アプリケーション開発のために、ミドルウェアには次の4つの積み重ねるものがあります。

  • Container 積み重ねる: この積み重ねるには、アプリケーション(アプリケーション)のライフスタイルの配信を一貫して管理し、コンテナ管理、サービスメッシュ、および DevOps 機能が含まれます。
  • Runtimes 積み重ねる: カスタム コードの実行環境を含むこの積み重ねるは、ランタイム ホスティング環境を提供します。 高度に分散されたクラウド環境の場合、このミドルウェアは軽量のフレームワークとランタイムを提供できるだけでなく、メッセージングによるデータ転送とインメモリキャッシングによるデータアクセスを高速化できます。
  • Integration 積み重ねる: 購入したカスタムアプリや SaaS などのアセットをつなぎ、API、メッセージング、インテグレーションなどを駆使したシステム機能に積み重ねるフォームです。 この積み重ねるミドルウェアは、 API 管理、データおよびイベントのストリーミング、インメモリデータキャッシュ、およびデータベースサービスも提供します。
  • Process management and decision management 積み重ねる: 意思決定管理、クリティカルインテリジェンス、自動化、最適化を加えたこの積み重ねるミドルウェアは、開発ミドルウェアの最後の積み重ねるものです。

アプリケーション(アプリケーション)開発ツールは、アプリケーション(アプリケーション)を構築するためのプリセットコンテナとテンプレートを提供することにより、コード共有と共同開発を支援するミドルウェアの追加機能です。 これにより、アプリケーション (アプリケーション) の開発と配信、オンプレミス、クラウドの両方で一貫性のあるまとまりのあるエクスペリエンスを実現できます。

ミドルウェア Application (アプリケーション)

さまざまな種類のミドルウェアは、Webアプリケーション(アプリケーション)の開発を支援するサービスを提供できるため、このプロセスをより簡単かつ迅速に行うことができます。 ミドルウェアは、Application (アプリケーション) が分散システム内のコンポーネントとリソースを一元化された方法でより適切に通信し、統合するのに役立ちます。

ミドルウェアには、必要なサービスに基づいてさまざまなアプリケーション(アプリケーション)があり、これには次のものが含まれます。

  • レガシーシステムと新しいテクノロジーのリンク
  • メッセージングサービス
  • データストレージ
  • セキュリティ認証
  • API 管理
  • アプリケーション(アプリケーション)をマルチクラウドおよびコンテナ化された環境で大規模に構築および実行します
  • データベースへのアクセスとインタラクション
  • リアルタイムのデータストリーミング

ミドルウェアは、分散システム内のさまざまなコンポーネントとアプリケーション(アプリケーション)を有効にしてデータを管理し、効果的に通信できるようにすることで、オペレーティングシステムの範囲を拡大できます。

こちらの情報も併せてご活用ください

リアルタイムデータストリーミングに最も一般的に使用され、人気のあるオープンソースミドルウェアツールの1つは、Apache Kafkaです。これは、非同期データ ストリーミング ミドルウェアの一種です。

ビジネス戦略は、クラウドホストモデルのサービスとしての統合プラットフォーム(iPaaS)を使用して強化し、オンプレミス、プライベート、パブリッククラウド環境全体でサービス、アプリケーション、データ、プロセスを接続できます。オペレーティングシステムがネイティブに実行するように設計されていない機能を支援するためのさまざまなオプションとミドルウェアソフトウェア製品があります。

参考文献

CORBAです。(2022年、Object Management Group (グループ), Inc.

Apache Kafka です。(2017年、Apache ソフトウェア財団。

最新の統合サービスとしてのプラットフォーム(iPaaS)がビジネス戦略を実現する方法。(2021年12月、 インターナショナル・データ・コーポレーション(IDC)。

アイデンティティ施策を推進