Webアプリ開発事始 第11回

Java入門(1)
~様々なJava、開発環境、Javaアプレットの基礎
長谷川裕行
有限会社 手國堂

アプレットからサーブレットへ

アプレットから始まったWebプログラミング言語Javaは、Script、サーブレットへと発展していきました。


- Javaのリアリティ -

ただ、登場した頃のJavaアプレットは、Webアプリケーションと言ってもデータベースを扱う実務向けのプログラムではなく、アニメーションやゲームなどの開発が主な目的でした。

当時は、インターネットのユーザーも今ほど多くはなく、28.8kbps程度のモデムを使ったアクセスがほとんどでした。社内のネットワークをTCP/IPによる、いわゆるイントラネットにするという発想も、まだ一般的ではありませんでした。

Web環境で実務アプリケーションを実行することが、まだ現実的ではなかったのです。当時、雑誌の編集者と話をしていて、私はこの状況を「Javaのリアリティ」という言葉で表現しました。アニメーションやゲームなど、これまでになかったプログラムがWebで動かせるという驚きと期待は多かったものの、実際にJavaを使って有用な処理を行えるかと言えば、まだまだそういう状況ではなかったのです。


- 手軽なJavaScript -

Javaが多くのWebサイトで用いられるようになったのは、JavaScriptが登場してからでしょう。JavaScriptは、ネットスケープ・コミュニケーションズ社が開発していたLiveScriptをベースに、サン・マイクロシステムズ社と共同で開発されました。

“Java”という名称は付いていますが、言語としては別物です。HTML文書にソースを埋め込み、ブラウザ側のインタプリタがそれを読み込んで実行するという形式で、コンパイルなどの手間が要らず、記述したその場で動作を確かめられる手軽さが人気となりました。

Netscape NavigatorとInternet ExplorerがJavaScriptを実行するための仮想マシンを搭載し、多くのサイトでサンプルのソースコードが公開されるなど、人気に拍車がかかりました。しかし、両者のJavaScriptに対する仕様が微妙に異なっていたため、1997年6月、ECMA(欧州電子計算工業会)がECMAScriptとして標準仕様を策定しました。マイクロソフト社の開発したJavaScriptも、ECMAScriptに準拠しています。

JavaScriptは、現在最も手軽なWebアプリケーション開発用言語であると言えます。


- 本格的なサーブレット -

Javaが本格的な実務向けアプリケーションの開発用言語として注目を集め始めたのは、サーバー側でアプリケーションを実行できる、いわゆるサーバーサイドJavaの環境が整ってからでしょう。

サーバー側でJavaプログラムを実行する機能をサーブレット(Servlet)と呼びます。アプレットのようにクライアント側の仮想マシン(JVM)で動作するのではなく、サーバー側のサーブレット・エンジンがプログラムを実行し、その結果をクライアントに送信します。  大枠だけを眺めれば、CGIに似ています。しかしサーブレットはCGIとは異なり、メモリに常駐してクライアントごとの要求を独立した複数のスレッドで処理するため、CGIより効率的で高速な動作が可能です。

サーブレットはサーバー側でプログラムを実行するため、アプレットのように仮想マシンの仕様による問題や、実行タイミングによる処理順序の問題などが解決できます。データベースへのアクセスもサーバー側で制御できるため、大規模な実務処理を一元管理できるようになりました。





- EJBによる開発の効率化 -

JavaにはJava言語を使って開発したプログラムを部品化し、他のプログラムに組み込んで使用するJavaBeansという規約があります。これをサーバー側で利用できるようにしたものが「EJB――Enterprise JavaBeans」です。

部品化されたプログラムを管理・実行するEJB Serverがコンテナとなって、クライアントからの要求に応えます。トランザクション管理やセキュリティ機能はEJB Serverが担当するため、開発者は必要な機能を実現する部品の開発や保守に専念できることが、大きなメリットです。

サーブレットからEJBコンテナを介してJavaBeanを呼び出せるので、アプリケーションの効率的な開発と実行が可能になります。


- 定型帳票処理にJSP -

さらに、JSP――JavaServer Pagesというスクリプト形式のプログラムが、定型帳票を利用する業務処理の強い味方になりました。JSPでは、HTMLテンプレートと呼ばれるHTMLデータのひな形にスクリプトを埋め込み、それをサーブレット・エンジンで実行します。

実行された結果はHTMLテンプレートを介して定型化されたHTMLデータとなり、それがクライアントに送信されます。

WindowsのIIS(Internet Information Service)で利用できるASP(Active Server Pages)のJava版といったイメージです。それまで、一旦ソースコードをコンパイルして中間コードを生成しなければならなかったサーブレットですが、JSPの登場によってさらに開発効率が向上しました。

サーブレット、EJB、JSPはそれぞれ独立した機能ではなく、サーバーサイド・アプリケーションの実行環境としてそれぞれが相互補完するような形となっています。


トップページ
Javaの始まり
アプレットからサーブレットへ
Javaのリアリティ
手軽なJavaScript
本格的なサーブレット
EJBによる開発の効率化
定型帳票処理にJSP
Javaとオブジェクト指向
Java開発ツール
Javaアプレットの開発
あとがき

Copyright © MESCIUS inc. All rights reserved.