アプリケーションサーバーとは? わかりやすく解説

556の専門辞書や国語辞典百科事典から一度に検索! Weblio 辞書 ヘルプ
Weblio 辞書 > 同じ種類の言葉 > 情報 > コンピュータ > サーバー > アプリケーションサーバーの意味・解説 

アプリケーション‐サーバー【application server】

読み方:あぷりけーしょんさーばー

クライアントサーバーシステムにおいて、ユーザー利用するブラウザーなどを通じデータベースなどの業務処理を行う機能をもつサーバーウェブアプリケーションサーバー


アプリケーションサーバー

別名:アプリケーションサーバAPサーバーAPサーバ
【英】application server

アプリケーションサーバーとは、業務用システムを、プレゼンテーション層アプリケーション層データ層の3つ分けて構成する3階モデルにおいて、アプリケーション層プログラム実行する役割を担うサーバーのことである。

3階モデル用いてアプリケーションサーバーを独立化させることにより、アプリケーションサーバーは、ビジネスロジック固有の部分を担うことになる。その結果全体モジュール性高まり業務変更発生した場合でも、アプリケーションサーバー上のビジネスロジックJavaプログラム)のみを変更するだけで対応できる可能性高くなる

業務内容変更に伴うシステム変更時には従来構成では必要であったクライアントアプリケーション更新不用となり、サーバーサイドでも、ビジネスロジック部分限定的な改修対応で済む場合多くなり、コスト削減信頼性向上に役立つとされている。

アプリケーション実行するプラットフォームは、.NETを含む各種構成考えられるが、通常Java EE(Enterprize Edition)に準拠したJavaアプリケーション実行する機能を持つサーバーのことを指すことが多い。この場合、特にJavaアプリケーションサーバーと呼ぶことがある

Javaアプリケーションサーバーを用いた典型的な構成では、プレゼンテーション層標準的なWebブラウザ、アプリケーションサーバーにJava EE準拠Java VMvirtual machine)、データ層にOracleDB2PostgreSQLMySQLなどを用いる。

Java関連モジュールとしては、Java ServletJava Server PageJSP)、Java Server FacesJSF)、Enterprise Java BeansEJB)などが用いられるまた、アプリケーションより記述を可能とするフレームワークとして、StrutsSpringSeasar国産)、HibernateO/Rマッピングフレームワーク)などが用いられる

アプリケーションサーバーは、典型的にオンラインショップ企業間取引向けの電子商取引用いられている他、企業内の基幹システム用にも採用されている。


参照リンク
Sun Java System Application Server - (Sun
Apache Geronimo - (Apache Software Foundation
JBoss.com - (redhat
IBM WebSphere - (IBM
BEA WebLogic Server - (日本BEAシステムズ
Interstage - (富士通
ColdFusion - (Adobe Systems
WebObjects - (apple
高性能コンピュータのほかの用語一覧
サーバー:  アプライアンス  アプリケーションサーバー  アプライアンスサーバー  FTサーバー  HAL  ブレードサーバー  フォールトトレラントサーバー

アプリケーションサーバ

(アプリケーションサーバー から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/07 20:21 UTC 版)

ナビゲーションに移動 検索に移動

アプリケーションサーバ: Application Server)は、ビジネスロジックなどを実装したアプリケーションソフトウェアを実行することを専門とするコンピュータネットワーク上のサーバコンピュータ、もしくはそのようなコンピュータ上でのアプリケーションの実行を管理補助するミドルウェアのこと。

ウェブアプリケーションサーバは、ウェブクライアントからのHTTPのレスポンス要求を処理するウェブサーバとバックエンドの関係データベース管理システム (RDBMS) を中心とするデータベース中核層への橋渡しを担い、データの加工などの処理を行う。

概要

アプリケーションサーバの基本的な機能とされるものは、以下の3つである。

ただし、アプリケーションサーバの機能についての厳密な定義は存在しないため、これらの機能を有しないアプリケーションサーバも存在する。また、この3つの機能以外に、各ベンダによる機能強化が行われている事も多い。

以降、本稿ではウェブアプリケーションサーバの記載を中心とする。

ウェブ3層構成

一般的なウェブシステムの多くは「ウェブ3層構成」と呼ばれる構成にて設計されている事が多い。このウェブ3層設計は、以下の3つの層で構成されている。

ウェブシステムをそれぞれ3つの層に実装を分け垂直分散したことで、それぞれの層単位でスケールアウト(サーバの増設で処理性能を向上できること)が可能となり、拡張性やコストパフォーマンスも大きく向上している。

一般に、3階層システムは、インターネットが登場する前の古典的な非ウェブアプリなどでよく使われていた、クライアントやバックエンド側にビジネスロジックを実装する方式 (2階層システム) に比べ、システムの変更や更新、増強などが容易で、柔軟性が高いシステム構成といわれている。特にウェブアプリ化により、クライアント(ウェブブラウザ)とアプリケーション層を切り分けたことで、古典的な2層システムなどであったシステム更改の際の「高価な基幹データベース自体やそのサーバの必要諸元の変更にあわせて買い換えなければならない」といった悩みが解消され、導入コストが安くなった。ただし、その代わり、ウェブブラウザの制限事項に引きずられることになった。

歴史

1990年代前半のクライアントサーバベースのシステムでは、クライアント側を専用端末とし、各種機能を用意するリッチクライアント型のシステム構築が主流であった。これは、関係データベース管理システム (RDBMS) などを含むサーバが非常に高価であり、変更 (買い換え) が容易でなかったことによる。 そのため、業務プロセスが変わったら、端末側のプログラムを更新或いは入れ替える必要があったが、多くの場合、利用者は社内の人間などに限られていたため大きな問題とはならなかった。

1990年代後半に、インターネットが普及をはじめると、ウェブブラウザを用いた電子商取引などのニーズが広がってくる。ウェブブラウザをクライアントに用いるシステムでは、サービスの対象者が不特定多数になることが多く、システムの変更にあわせて利用者全ての環境を更新することは事実上不可能である。そこで、サーバサイドに業務プロセスなど各種アプリケーションを用意することが求められるようになった。 この要求に対して、アプリケーションのクライアントからサーバへのシフトは、サーバサイドコンピュータの高性能化(UNIXサーバなどに代表される比較的安価で高性能なサーバの登場)とネットワークの高速化、Javaなどのプログラム言語の処理高速化技術等の進展などにより可能となった。1990年代後半には、ウェブブラウザをクライアントとして使用し、様々な処理をサーバ側で行うシステムが一般化している。

インターネットを利用したクライアントサーバシステムでは、サーバ側に多種多様な機能が求められる。例えばECサイトでは、商品情報を表示し、複数の商品の購入チェックボックスをチェックして、最終的に商品の決済(電子決済)を行う必要がある。このサービスを実装するには、対話型の処理の保障と、認証/個人情報の保護といったセキュリティ面の確保、安定性・可用性の確保といった各種要件・機能を保障する必要がある。

サーバが高性能化したとはいえ、大規模なシステムにおいては、これらの要求に全て対処していくのは困難である。そこで、従来ウェブサーバだけで処理してきた内容をウェブサーバアプリケーションサーバの2つに分離することで、より大量のトランザクション処理にも対応できる方式 (3層構造システム) が実用化された。1998年頃から本格的な製品が登場し始めている。

ウェブアプリケーションサーバに求められる機能

ウェブアプリケーションサーバは、以下のような要件を取り込むべく作成が進められ、実装されている。

機能要件 要件説明 備考
システムの拡張性と可用性 コンシューマを対象とした電子取引商用システムなどの場合、処理要求数が非常に多くなり(数万件/分といったものも多い)、水平(サーバを増やす)/垂直(サーバを機能単位に切り分ける)方向の負荷分散を考慮する必要がある。ウェブアプリケーションサーバにおいては、垂直方向として認証機能とそれに付随する認証用データベースをLDAPサーバ (ディレクトリ・サービス) として切り分ける事が一般化している。水平方向においては、サーバの台数を動的に増やして対処し、ロードバランサ及びウェブサーバの振り分け機能により1台当たりの処理要求アクセス数を調整する。また、処理サーバ台数を増やし、分散する事により、システムとしての可用性を確保する。
セッション管理機能 システムへの接続や処理リクエストが増えると、単一のウェブアプリケーションサーバのみにてサービスを提供する事が不可能となる。そのため、ウェブアプリケーションサーバのプロセスを増やしたり、サーバ自体を増やす水平分散が必要となる。

その際、ロードバランサのセッションパーシステンス機能により、仕掛かり中の処理が特定のアプリケーションサーバに割り当てられるが、アプリケーションサーバに異常が発生した際に、他アプリケーションサーバへ処理が引き渡される。これをセッション管理機能によって、再ログイン処理や最初からの対話処理のやり直しをおこなうのではなく、特定の位置までのロールバック処理にて情報を引き継ぎ、ユーザにストレス無く処理を続ける必要がある。

トランザクション管理機能 ウェブブラウザを使用する場合、通信プロトコルHTTPを用いたものとなり、トランザクションは要求―応答の単発とならざるを得ない。そのため、一連のアクセスを一貫性を持たせたトランザクションとして管理する必要が発生する。こういったトランザクションの一貫性を保持するトランザクションモニターの機能も必要となる。
トランザクションの高速処理機能 従来のCGIと比較して、サーバサイドJava (Jakarta EE) 及びスクリプト言語の環境ではプロセス内の処理はスレッド単位で時分割処理される。プロセスの生成は負荷が高いが、1つのJavaプロセス内に複数のスレッドを同時に起動できるため、効率的に処理を行うことができ、必要スペックを小さくできる。
データベース接続性/応答性機能 ユーザの要求処理毎に、データベースとの接続とその開放を繰り返すと、大きなボトルネックになる。これを回避するため、JDBCプーリングといったDB接続を保持し、それを使い廻す機能を提供する。
セキュリティ機能 アプリケーションサーバとして、処理を行う上での各種セキュリティ要件が発生する。これを単にHTTPベースのセキュリティ面 (TLSの採用/電子認証) だけでなく、トランザクションベースでも確保する必要がある。
システム開発期間の短縮化可能な共通的なフレームワーク基盤の採用 ウェブアプリケーション採用の利点として、Javaなどのプログラミング言語とそのアプリケーションフレームワークの採用による開発工程の簡易化と短縮がある。ウェブアプリケーションサーバでは、開発環境やプログラム群の利用環境を整備することで、それらの利点を活かせるようにしている。

アプリケーションサーバの分類

広義な意味でのアプリケーションサーバという用語はプログラミング言語で実装されたアプリケーションソフトウェアを動作させるサーバサービスを意味する。

特にウェブアクセスに特化したアプリケーションサーバは、マイクロソフト製品とJavaベースの製品とに大別できる。

Windowsプラットフォームで動作する代表的なアプリケーションサーバはMicrosoft Internet Information Services (IIS) がある。

Jakarta EEアプリケーションサーバ

定義

Jakarta EEは、標準機能セットであるJava Platform, Standard Edition (Java SE) に、ウェブサーバに必要な各種機能を追加した標準仕様で、この仕様に準拠したものをJakarta EEアプリケーションサーバと呼称している。

補足

Jakarta EEアプリケーションサーバ製品上でアプリケーション動作を規定するプログラミング言語として採用されているのはJavaである。通常、WebモジュールはJavaServer Faces (JSF) やFaceletsで構築され、バックエンドのプログラムはEnterprise JavaBeans (EJB)、データアクセスモジュールはJPA仕様に準拠して開発される。 Java Beansサン・マイクロシステムズのJavaアーキテクチャ上で、クラスの部品化及びその組み合わせ方法を規定する技術仕様である。

また、このWebモジュール部分のみの限定仕様として、Web Profileサブセットが存在し、この仕様に準拠した小型版としてApache Strutsなどがある。このフレームワークにも多くの種類があり、互いに影響を与え合って、発展している。

Windowsプラットフォームのアプリケーションサーバ

Windowsプラットフォームで動作する代表的なアプリケーションサーバはInternet Information Services (IIS) がある。 IISはWebサーバとアプリケーションサーバ両方の機能を持つため、Webサーバと呼ばれる場合とアプリケーションサーバと呼ばれる場合とがある。 Netcraft調査によると2013年3月現在、IISは全世界の18.01%のサイト上で稼働している。

このIIS上で動作するフレームワークとしては、Windows 2000 以降の安定性とWindowsでのユーザ認証機能を基に、多くの機能を含有した.NET Frameworkに準じたものがある。

補足

.NET Frameworkに準じたもので、オープンソースや商用のアプリケーションサーバもある。Base4アプリケーションサーバやZopeが例として挙げられる。マイクロソフトのWindows Communication Foundationはアプリケーションサーバというよりも、通信フレームワークかミドルウェアと言うべきものである。ただし、.NET連携の場合もWindowsのユーザ認証機能とそのLDAPを利用したものがある。

なおクロスプラットフォームな.NET CoreおよびASP.NET CoreのソースコードがMIT Licenseで公開されたことにより、IISに依存することなく.NETベースのアプリケーションサーバを構築することも可能となった。

その他のアプリケーションサーバ

定義

Jakarta EE以外の言語セット・フレームワークを使用し、ビジネスロジックを実装し得るアプリケーションサーバのこと。

ポータルサイト製品

多くのポータルサイト製品は、Jakarta EEアプリケーションサーバ製品とユーザ認証機能を提供するLDAP、さらにシングルサインオンを実現する拡張機能を連携させており、一般的なアプリケーションサーバ機構と言える。

WebSphere Application ServerOracle WebLogic Server英語版などの統合化された有償の商用製品では、1つのエントリポイントから、どんなデバイスからも全てのウェブサービスにアクセスできるように設計されており、柔軟性に富んでいる。

関連項目

外部リンク




アプリケーションサーバーと同じ種類の言葉


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「アプリケーションサーバー」の関連用語

アプリケーションサーバーのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



アプリケーションサーバーのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【アプリケーションサーバー】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのアプリケーションサーバ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS