本文へジャンプ

Open Middleware Report Web

Hitachi

【縁の下の力持ち、アプリケーションサーバ】

今回のテーマは「アプリケーションサーバ」です!井上先生、よろしくおねがいします!

みどるちゃん

はい、よろしくね。みどるちゃん。

井上先生

さっそくですが先生、「アプリ」なら知ってます!
わたしのスマホにもゲームアプリやお天気アプリ、おこづかい帳アプリとか、たくさん入ってるから…

みどるちゃん

よく気づいたね。
アプリケーションサーバのアプリ≠ヘ、そういった特定の目的や用途で作られるソフトウェアを指す言葉なんだ。
ただし今回の話に出てくるアプリは、主に企業や役所で使う、いろいろな業務用アプリケーションを意味していると考えてね。
そのアプリを作ったり、きちんと動かす土台部分になるのが「アプリケーションサーバ」(以下、APサーバ)なんだよ。

井上先生

サーバって、とっても性能がいいコンピュータのことですよね。

みどるちゃん

そう。
サーバ上で動くミドルウェアのこともAPサーバと呼ぶんだ。
今回はそちらで話を進めていくよ。
APサーバは、プラットフォームに依存しないアプリが開発できるプログラム言語「Java」の中でも、特に企業向けの機能をまとめた「Java EE」(Java Platform, Enterprise Edition)に対応した「Webアプリケーションサーバ」を指すことが多いんだ。

井上先生

む、むつかしいです、先生…

みどるちゃん

あー、ごめん(笑)。
じゃあ、まずWebアプリから説明するね。
今はネットショッピングが24時間行えるけど、これはWebの機能を備えたアプリを利用しているということになるんだ。
だから、企業や役所でも、自分たちのネットワーク内で使うWebアプリを利用して便利に仕事を進めている。
そうした世界で使われるアプリをきちんと安定して動くよう支えている縁の下の力持ち≠ェAPサーバってこと。
わかる?

井上先生

はい…何となくわかります。
わたしたちが毎日便利に使ってるインターネットのサービスや、お仕事のシステムを支えているのがAPサーバ…
でもAPサーバはどこでがんばっているんですか?

みどるちゃん

みんなから出されるさまざまなリクエストに返事をするところでがんばっているんだ。
今みどるちゃんが見ているスマホのWebブラウザに表示されている画面は、ネットワークを通じてWebアプリの処理結果を表示しているんだ。
処理を要求する側がクライアントと呼ばれ、要求に応えて結果を返すのがサーバと呼ばれるんだよ。
APサーバは名前の通り、サーバ側で働いているんだ。
そして、もう1つ覚えておいてほしいのが、多くのWebアプリは3階層で成り立っているということ。
使う人に近い部分から言うと、コンピュータの処理結果を視認しやすくするユーザインタフェースを担う層、クライアントからの要求に応じた処理を実行するビジネスロジックを担う層、いろんなデータの格納や管理を担う層の3つだね。
サーバ側ではクライアントからの要求に応じた処理を実行するため、APサーバが要求に応えるのに必要なデータをDBサーバから受け取り、それを基に表示する結果画面をWebサーバが構築することで成立しているんだ。

井上先生

図1

どうして3つの層があるんですか?

みどるちゃん

かつては2階層が主流だったんだ。
みどるちゃんはクライアントサーバモデルって言葉を聞いたことある?
このモデルは、業務ロジックを備えた各クライアントが、サーバ側のDBに問い合わせて仕事を進める仕組みなんだけど、業務内容に変更が生じると、2階層の両者に影響を及ぼしてしまうんだ。
PCの台数が増えるほど、修正の手間や管理が大変になってくるから、アプリ部分をクライアントから分離して、サーバ側でやってもらおうという考え方が出てきた。
そうして生まれたのが、クライアントからの要求をDBサーバに橋渡ししながら業務を行うAPサーバなんだ。

井上先生

ふ〜ん…

みどるちゃん

APサーバがクライアントとDBサーバの間に入ることで、業務に変更が生じても、この部分のアプリだけ書き換えればすむし、サーバ数を増やせば利用者が増えても安定した性能が確保できる。
このAPサーバの登場によって、開発者や管理者の開発・運用負担がすごく減ったんだよ。

井上先生

APサーバは間に立って一生懸命がんばるミドルウェアなんですね!

みどるちゃん

Java EEに対応したAPサーバには、Webアプリを作る上でおさえておかなければならない標準的な機能がほぼ実装されているんだ。
これによって開発者は、業務に必要な部分さえ作れば、Webシステムの決まり事となっている機能についてはAPサーバが肩代わりしてくれるから、以前に作った機能の一部を使い回したり、他のシステムとの連携も簡単にできるようになったんだ。
他社よりも早くいいサービスを提供しようと、開発者は短い期間で新機能を開発しなくちゃいけないから、これはすごくうれしい特長なんだ。

井上先生

開発者のお仕事を、すっごくラクにしてくれる役割も持っているんですね。

みどるちゃん

そう。
現在の社会ではAPサーバが支えているシステムがあらゆる場面で活躍している。
インターネットならネットショッピングやオンラインバンキング。
企業内でも生産業務や販売業務などがあるね。
そこでは利用者が困らないよう、社会に混乱をきたさないよう、24時間365日の安定稼働が求められているんだ。
すぐに反応が返ってこないと仕事や商売に支障をきたしてしまうといった厳しい要求がある。
こうしたシステムに求められる高い信頼性と安定性の維持もAPサーバの重要な仕事の1つなんだよ。

井上先生

たいへん!
絶対に止まっちゃいけないとしたらAPサーバも責任重大!

みどるちゃん

まあ、そこは人間が作るシステムだから、問題が絶対に発生しないことはありえないよね。
ただそんなときでも、なるべく早くシステムを復旧させて、利用者が安心して使える状態に戻していくことが何よりも重要なんだ。だからAPサーバには、どうしてトラブルが起こったのかを調べたり、あらかじめ問題が起こらないように動かす仕掛けも必要になってくるんだよ。

井上先生

2ページ中1ページ