アプリケーションサーバーは、アプリケーション[1]または通信プロトコル[2]を介してビジネスアプリケーションを配信するソフトウェアをホストするサーバーです。一般的なWebアプリケーションの場合、アプリケーションサーバーはWebサーバーの背後に配置されます。
アプリケーションサーバーフレームワークはサービス層モデルです。アプリケーションプログラミングインターフェースを通じてソフトウェア開発者が利用できるソフトウェアコンポーネントが含まれています。アプリケーションサーバーには、クラスタリング、フェイルオーバー、負荷分散などの機能があります。開発者がビジネスロジックに集中できるようにすることが目標です。[3]
Java アプリケーション サーバー
Jakarta EE (旧称 Java EE または J2EE) は、 Java アプリケーション サーバーの API と機能のコア セットを定義します。
Jakarta EE インフラストラクチャは論理コンテナに分割されます。
- EJB コンテナ: Enterprise Beansはトランザクションの管理に使用されます。Java BluePrintsによれば、アプリケーションのビジネス ロジックはEnterprise Beansに存在します。Enterprise Beans は、宣言型トランザクション管理やアプリケーションのスケーラビリティの向上など、多くの機能を提供するモジュール型サーバー コンポーネントです。
- Web コンテナ: Web モジュールには、Jakarta ServletsとJakarta Server Pages (JSP) が含まれます。
- JCA コンテナ (ジャカルタ コネクタ)
- JMS プロバイダー ( Jakarta Messaging )
マイクロソフト
Microsoft の .NET は、中間層アプリケーションとサービス インフラストラクチャをWindows Serverオペレーティング システムに位置付け、.NET Frameworkテクノロジをアプリケーション サーバーの役割に位置付けています。[4] Windows アプリケーション サーバーの役割には、 Web サーバー サポートを提供するインターネット インフォメーション サービス(IIS)、アプリケーション サポートを提供する .NET Framework、サーバー側スクリプトを提供するASP.NET、アプリケーション コンポーネント通信用の COM+、マルチスレッド処理用のメッセージ キュー、アプリケーション通信用のWindows Communication Foundation (WCF) が含まれます。[5]
PHP アプリケーション サーバー
PHP アプリケーション サーバーは、 PHPアプリケーションを実行および管理します。
- Zendによって構築されたZend Server は、PHP ベースのアプリケーションにアプリケーション サーバー機能を提供します。
- Spiral Scout によって構築されたRoadRunnerは、 Goで記述された高性能 PHP アプリケーション サーバー、ロード バランサー、およびプロセス マネージャーです。
第三者
- Mono (Windows OS 固有の機能を除くほぼすべての機能をサポートする .NET のクロスプラットフォーム オープンソース実装)。Microsoft がスポンサーとなり、MIT ライセンスの下でリリースされています。
モバイルアプリケーションサーバー
モバイル アプリケーション サーバーは、モバイル デバイスへのデータ配信を提供します。
モバイル機能
モバイルアプリケーションサービスのコア機能には以下が含まれます。
- データルーティング- データは、帯域幅とバッテリーの需要を最小限に抑えるために、ビジネスロジックを備えた小さな( REST )オブジェクトにパッケージ化されます。
- オーケストレーション– 複数のソースにわたるトランザクションとデータの統合
- 認証サービス- バックエンドシステムへの安全な接続はモバイルミドルウェアによって管理されます
- オフラインサポート– デバイスが接続されていなくても、ユーザーはデータにアクセスして使用できます。
- セキュリティ– データ暗号化、デバイス制御、SSL、通話ログ
モバイルの課題
ほとんどの標準ベースのインフラストラクチャ(SOAを含む)は、ベンダー、製品、テクノロジーに依存せずに接続できるように設計されていますが、ほとんどの企業はバックエンドシステムをモバイルアプリケーションに接続するのに苦労しています。これは、モバイルデバイスによって次のような技術的な課題が発生するためです。[6]
- 限られたリソース– モバイルデバイスの電力と帯域幅は限られている
- 断続的な接続– 携帯電話サービスとWi-Fiの通信範囲が連続していないことが多い
- セキュリティ保護が難しい[7] – モビリティとBYODの実践により、モバイルデバイスのセキュリティ保護が困難になる
展開モデル
アプリケーション サーバーは次の場所にデプロイできます。
- オンプレミス
- 雲
- プライベートクラウド
- サービスとしてのプラットフォーム(PaaS)
参照
参考文献
- ^ Ottinger, Joseph (2008 年 9 月 1 日)。「アプリケーション サーバーとは何か?」TheServerSide.com。2022年 2 月 6 日閲覧。アプリケーション
サーバーは、アプリケーションの種類や機能に関係なく、アプリケーションを実行できる環境を提供します。
- ^ Sintes, Tony (2002-08-23). 「アプリケーションサーバー、Webサーバー: 違いは何か?」JavaWorld . 2022-06-14取得。
アプリケーションサーバーは、さまざまなプロトコルを通じてクライアントアプリケーションにビジネスロジックを公開します。
- ^ チェリ、ステファノ;フラテルナーリ、ピエロ。ボンジオ、アルド。ブランビラ、マルコ。コマイ、サラ。マテラ、マリステラ (2003)。データ集約型 Web アプリケーションの設計。モーガン・カウフマン。土井:10.1016/B978-1-55860-843-6.X5000-2。ISBN 1-55860-843-5。
- ^ TechNet: アプリケーション サーバー
- ^ TechNet: アプリケーション サーバーの役割
- ^ Jaenicke, Coco (2014 年 11 月 19 日). 「モバイル アプリ開発に SOA 以上のものが必要な理由」. App Developer Magazine . 2022 年 2 月 6 日閲覧。
- ^ Egan, Bob (2014年4月11日). 「10億人のスマートフォンユーザーがHeartbleedセキュリティ欠陥の影響を受ける可能性」. Forbes . 2022年2月6日閲覧。
{テーブル Web インターフェイス}
