第2回 Java Pet Storeで、J2EEを体験する(2)
丸山不二夫
稚内北星学園大学学長
(http://www.wakhok.ac.jp/)
2001/4/19
第1回「Java Pet Storeで、J2EEを体験する(1)」では、Webとデータベースを結ぶ技術としてのJ2EEについて解説したあと、この講座で重点的に学ぶこと、Java Pet Storeデモを紹介しながらJ2EEサーバの機能について簡単に紹介しました。
第2回では、実際にJ2EEの環境を構築し、Java Pet Storeのデモを動かしてみます。J2EEに慣れ親しむためにも自分でデモを動かしてみることは非常に重要なことですので、ぜひご自分でダウンロードして試してチャレンジしてください。
J2EEとJava Pet Storeデモをダウンロードする |
J2EEとJava Pet Storeデモのインストールをしてみましょう。
■J2SEのインストール
もちろん、Javaの環境がインストールされていることが前提です。SunのJavaの環境は、J2ME(Java2 Micro Edition)、J2SE(Java2
Standard Edition)、J2EE(Java2 Enterprise Edition)の3つに、大きく分かれており、それぞれのパッケージがダウンロード可能ですが、J2EEを動かすためには、J2SE(普通のJava環境のことです)が必要です(J2MEでも同じです)。できるだけ最新のバージョンのJavaを利用されることをお勧めします。
■J2EEのダウンロードとインストール
まず、J2EEをダウンロードしましょう。J2EEのホームページは、
http://java.sun.com/j2ee/
です。ここから、Downloadを選んで、
http://java.sun.com/j2ee/download.html
さらに進んで、
http://java.sun.com/j2ee/j2sdkee/
で、プラットフォームに応じて、j2sdkee-*_*_*.* という形のファイルをダウンロードします。比較的大きなファイルなので、ネットワークが細い場合には複数のファイルに分割してダウンロードすることもできます。最新版のJ2EEは、次のURLでダウンロード可能です(この連載では、ここからゲットした新しいバージョンのJ2EEを使っています)。
http://developer.java.sun.com/developer/
ダウンロードしたファイルは、Windows版でしたら、ダブル・クリックするだけでインストールが始まります。デフォルトでは、バージョンに応じて、C:\j2sdkee1.*.*というディレクトリにインストールされるはずです。
J2EEでは、ドキュメントが別のパッケージで提供されています。これも大事な情報が
入っていますので、ぜひダウンロードして、インストールしてください。
■Java Pet Storeデモのダウンロードとインストール
今回の目的である、Java Pet Store デモですが、次のページの
http://java.sun.com/j2ee/blueprints/
の中に、
Java(TM) Pet Store Sample Application 1.1.1
というのがあるはずですので、このファイルをダウンロードし、インストールします。
(編集注:現在、Java Pet Store Sample Applicationは1.1.2にバージョンアップされたため、本稿で紹介しているバージョン1.1.1をダウンロードすることはできません。対応に向けて調整中です)
■ J2EEのデモを動かす前に確認すべきこと
これでJ2EEを動かす準備は整ったのですが、Java Pet Store デモを動かす前に幾つかのことを、あらためて確認しておきましょう。
第1に、Java Pet Storeデモは典型的な3ティアモデルに基づいているということです。第1回で見たように、Java Pet Store デモはWebアプリケーションとしてWebブラウザ上で動きます。同時に、大事なことはこの3ティアモデルのデモを動かすためには、Webブラウザのほかにデータベースとミドルウェア・サーバの2つが必要だということです。以下の説明では、この3つの働きを1つのマシン上で同時に走らせますが、それは便宜的なことです。
もしも、ネットワーク上で、自由に使える3つのマシンがあるのでしたら、それぞれに、Webブラウザ用、ミドルウェア・サーバ用、データベース用と、役割を割り当てることができます。
第2に、Webブラウザとデータベースの間に位置するミドルウェア・サーバこそが、J2EEの本体ともいえるJ2EEサーバです。正確にいうと、J2EEサーバは1つのサーバではなくて、JSPに対応したWebサーバ、EJBコンテナのサーバ、JNDIネームサービスのサーバなどたくさんのサーバの集合体です。J2EEサーバを立ち上げると、これらのサーバが自動的に一斉に立ち上がることになります。
第3に、Java Pet Store デモのようなJ2EEアプリケーションとJ2EEサーバの関係です。どんなJ2EEアプリケーションを動かすためにもJ2EEサーバは必要なのですが、J2EEサーバだけでは何の働きも行えません。それは、Webのサーバがあっても、WebのページがなければWebのサービスは成り立たないのと同じです。J2EEサーバに、特定のJ2EEアプリケーションのサービスを割り当てることを、アプリケーションを「deploy(配置)する」といいます。Java Pet Storeデモを動かすためには、J2EEサーバを起動するだけでは不十分で、J2EEサーバにJava Pet Storeデモをdeploy(配置)する必要があります。
第4に、J2EEサーバがJSPサーバやEJBコンテナサーバの集合体であるように、J2EEアプリケーションも、JSPページやEJBコンポーネントといった複数の要素から構成されています。しかし、複数のサーバ機能も1つのJ2EEサーバで代表されるように、J2EEアプリケーションも1つのファイルにまとめられています。J2EEでは、J2EEアプリケーションは*.earという識別子を持つ1つのファイルという実体を持つのです。例えば、Java Pet Storeデモは、後の回で見るように、petstore.earという名前の1つのファイルにまとめられています。
Java Pet Store デモを動かす |
基本的なポイントは確認しました。いよいよJava Pet Store デモを動かしてみることにしましょう。以下の操作は、Windows環境でのものですが、DOS窓を立ち上げてその中でコマンドを実行しています。
■環境変数を設定する
DOS窓で、JAVA_HOMEとJ2EE_HOMEの2つの環境変数を設定します。前者には、Java(J2SE)がインストールされたディレクトリを、後者にはJ2EEをインストールしたディレクトリを指定します。僕の例では、次のようになります。
set JAVA_HOME=c:\java\jdk1.3.1 |
もしも、データベースとしてJ2EEに標準で添付されているCloudscapeデータベース以外のデータベースを使うのでしたら、そのデータベースのドライバのある場所を、J2EE_CLASSPATHという名前の環境変数に設定しておかなければいけません。次の例は、データベースにCloudscapeではなくOracleを使う場合の設定例です。
set J2EE_CLASSPATH=C:\oracle\jdbc;C:\db\driver.zip |
■ データベースを起動する
まず、データベースを起動しましょう。%J2EE_HOME%\binディレクトリに移動して、「cloudscape.bat」コマンドを実行します。
start cloudscape -start |
先頭のstartは、このプログラムを、別のDOS窓で実行させます。このコマンドが実行されると、別のDOS窓を開いて、その中で、コマンド「cloudscape -start」が実行されます。そうしますと、次のようなメッセージが表示されるはずです。
Thu Mar 15 14:57:09
JST 2001: [RmiJdbc] COM.cloudscape.core.JDBCDriver registered in DriverManager |
これで、データベースのサーバは立ち上がりました。あとは、何のメッセージも出ないかもしれませんが、データベースのサーバが動いている限り、このウィンドウを閉じてはいけません。
データベースのサーバは立ち上がったのですが、このままではデータベースは空っぽのままです。データベースにJava Pet Storeデモ用のデータを入れる必要があります。 このデモでは、そのためのコマンドが用意されています。今、%J2EE_HOME%のすぐ下に、Java Pet Storeデモ「jps1.1.1」がインストールされているとします。この時、次のディレクトリ%J2EE_HOME%\jps1.1.1\database.sqlに移動して「populate.bat」を実行します。
start populate |
この時、新しいウィンドウには沢山のメッセージが表示されるはずです。いったん、データベースの形成が終わればこのウィンドウは終了してかまいません。
■J2EEサーバを起動する
いよいよJ2EEサーバの起動です。J2EEのバージョンが1.2.1の場合は%J2EE_HOME%\configディレクトリにあるdefault.propertiesというファイルの中の1行を次のように変更します。
変更前
jdbc.datasources=jdbc/Cloudscape|jdbc:cloudscape:rmi: |
変更後
jdbc.datasources=jdbc/EstoreDB|jdbc:cloudscape:rmi:CloudscapeDB; create=true|jdbc/ InventoryDB|jdbc:clouds cape:rmi:CloudscapeDB;create=true |
再び、%J2EE_HOME%\binディレクトリに移動して「j2ee.bat」を実行します。
start j2ee -verbose |
オプション「verbose」は、J2EEサーバにたくさんのメッセージを出力させます。次にJ2EE1.3のメッセージの一部を示します。このウィンドウも閉じてはいけません。
J2EE server listen port:
1050 |
■deploytoolに、アプリケーション・ファイルを読み込む
J2EEサーバが立ち上がったら、今度はアプリケーションをJ2EEサーバにdeploy(配置)します。このために、%J2EE_HOME%\binディレクトリの「deploytool.bat」コマンドを使います。
start deploytool |
この時、次のようなGUI(画面1)が立ち上がるはずです。このパネルの左側のserversの中のlocalhostは、J2EEサーバがdeplpytoolと同じマシン(localhost)上で走っていることを表わしています。
画面1 Application Deployment Toolでアプリケーションの配布を行う (クリックすると拡大します) |
[File]メニューから[Open...]を選ぶ(画面2)と画面3のようなファイル選択のウィンドウが開きますので、ファイル%J2EE_HOME%\jps1.1.1\petstore.earを選択して[Open Object]ボタンを押します。
画面2 [File]メニューから[Open...を選ぶ (クリックすると拡大します) |
画面3 ファイルを選択する (クリックすると拡大します) |
そうすると、このファイルが読み込まれて、左側のパネルのFilesの下のApplicationsの下にpetstoreが表示されます(画面4)。
画面4 pet Store Shopデモ「petstore」の構成が表示される (クリックすると拡大します) |
このとき右側のパネルでは[General]というタブが開いているのですが、画面5は[JNDI Names]というタブを開いたときのものです。これらの情報の意味については今回は説明を省きます。
画面5 [JNDI Names]タブを開いたところ(クリックすると拡大します) |
次の画面6は、右側のパネルで[Security]タブを開き、左側ではpetstoreを構成しているコンポーネントの中身を調べています。これから、例えばpetstoreアプリケーションのCustomer
Componentが、TheCustomerとTheAccountとTheOrderという3つのBeansから構成されていることが分かります。
画面6 アプリケーションの構成要素を調べることができる (クリックすると拡大します) |
これで、J2EEサーバに、petstoreアプリケーションをdeployする準備ができました。[Tools]メニューから、[Deploy...]を選びます(画面7)。
画面7 [Deploy...]コマンドからアプリケーションのdeployの操作を開始する |
そうすると、次のようなウィンドウ(画面8)が開きますので、[Next]を押します。次に画面が出てきますが[Next]を押していきます。
画面8 [Next]ボタンを押していく(クリックすると拡大します) |
最後の画面で[Finish]を押すと(画面9)、アプリケーションのdeployの作業が始まります。
画面9 [Next]ボタンを押していく(クリックすると拡大します) |
アプリケーションのdeployの様子が表示されます(画面10)。
画面10 deployの経過が表示される (クリックすると拡大します) |
この時、次のようなメッセージが見られるはずです。
Deploy the application
in C:\java\j2sdkee1.3\jps1.1.1\petstore.ear on the server |
■Java Pet Storeデモを起動する
deployの終了とともに、J2EEサーバはpetstoreアプリケーションのサービスを開始します。アプリケーションを利用するためには、まずWebのブラウザを立ち上げなければなりません。そこでURLにhttp://localhost:8000/petstore/を指定します。そうすると、次のような画面が現れるはずです。
画面11 Java Pet Storeデモのスタートページ |
ここで、Enter the Storeのリンクをたどれば、Java Pet Storeの最初の画面が見えるはずです。あとは、自由にこのお店で遊んでみてください。
画面12 Java Pet StoreデモのTOPページ |
今回は、もっぱらJava Pet Storeデモを動かすことに集中しました。一度このスタイルを体験することは大事なことです。ぜひ、実際に試してみてください。
次回は「JSPが可能にする動的なページ作成」をお届けします。
連載内容 | |
J2EEの基礎 | |
第1回 Java Pet Storeで、J2EEを体験する(1) | |
第2回 Java Pet Storeで、J2EEを体験する(2) | |
第4回 J2EEアプリケーションを構成するコンポーネント | |
第5回 データベースのブラウザを作る | |
第6回 EJBにおけるコンテナとコンポーネント | |
第7回 J2EEのセキュリティのキホンを知る | |
第8回 J2EEのトランザクション処理 |
連載記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|