Java2 Enterprise Editionの基礎知識 |
|
まず、J2EE RIを動作させるためには、
- Java2 SDK Standard Edition(J2SE SDK)
- Java2 SDK Enterprise Edition(J2EE SDK)
の両方をインストールする必要があります。これらはいずれもサンのサイトから無償でダウンロード可能です(ダウンロードの際は、使用するJ2EEのバージョンとの対応をよく確かめるようにしましょう)。
また、J2EE SDKには、日本語化パッケージも用意されており、これを適用すると、メッセージなどを日本語化することができます。
■J2EE RIの動作環境
対応OSは、現在、Linux、Windows、Solaris版が用意されています。J2EEを動作させるためには、DBMSが必要ですが、J2EE SDKには、CloudscapeというDBMSがバンドルされており、デフォルトで使用できるようになっています。ダウンロードが完了したら、インストールを行います。
- J2SEをインストールする
- J2EEのインストール
Windowsの場合は、ファイルを実行するだけで、インストーラが起動しますので、その指示に従ってインストールしてください。
インストールが終了したら、中に含まれている、userconfig.batファイルを編集します。その中で、
J2EE_CLASSPATH
JAVA_HOME
J2EE_HOME
の3つを設定する必要があります。ただし、Cloudscapeを使用する場合は、J2EE_CLASSPATHの設定は不要です。JAVA_HOMEは、J2SEをインストールしたパスを指定してください(Windows NTの場合は、コントロールパネルのプロパティで設定することも可能)。J2EE_HOMEは、J2EEをインストールしたパスを指定してください。
さて、userconfig.batの設定が終わったら、いよいよJ2EEサーバを起動してみましょう。Windowsの場合は、コマンドプロンプトから、
userconfig.bat |
を、順に実行します(J2EEをインストールしただけでは、パスが通っていないので、環境変数にパスを設定するか、そのディレクトリに移動してから実行します)。すると、コンソールに、
J2EE server Listen Port: = 1049 |
といったメッセージが表示されます(このままの状態で表示は止まりますが、これで正常に起動されていますので、ウィンドウを閉じたり、CTRL-Cで止めたりしないでください)。
■deploytoolの使用
J2EEサーバが無事に起動したら、deploytoolを使って、サーバ上にアプリケーションを配置(ディプロイ)します。
ここでは、HTMLフォームで数値を入力すると、その数値の2乗が表示されるという簡単なサンプルアプリケーションを例にして解説していきます。サンプルはここ(calc_sample.lzh)からダウンロードしてください。
使用するファイルは、
- calc.html
- calc.jsp
- ejbc/CalcServlet.class
- ejb/Calc.class
- ejb/CalcBean.class
- ejb/CalcHome.class
です。
calc.htmlは数値を入力するフォームで、送信するとリクエストをCalcServletに送ります。CalcServletは、SessionBeanを使ってパラメータの2乗を求めて、この結果をcalc.jspで表示します。CalcBeanはSession Beanで、引数の2乗を返すメソッドを持っています。
では、コマンドプロンプトから、deploytool(アプリケーション配備ツール)を実行します。
画面1 まずdeploytool(アプリケーション配備ツール)を実行する (クリックすると拡大します) |
無事に起動したら、まずはアプリケーション(Servlet、JSP、HTML、EJBをひとまとめにした単位)の新規作成を行います。[ファイル]-[新規アプリケーション]を選択すると、登録用のダイアログが出ますので、これにファイル名と表示上の名前を付けてください。
画面2 配布するアプリケーションのファイル名と表示名を入力する (クリックすると拡大します) |
すると、登録したアプリケーションが左側に表示されます。
画面3 登録したアプリケーション名が表示されているのを確認する (クリックすると拡大します) |
■EJBの登録
作成したアプリケーションに、EJBを追加するには、[ファイル]-[新規エンタープライズBean]を選択します。すると、EJB登録用のウィザードが起動します。
画面4 EJB登録用のウィザードを起動する |
あとは、ウィザードの指示に従って、EJBの設定を行っていきます。まず、EJBのクラスとインターフェイスを追加します。画面5のようにのように、Contentsに追加してください。
画面5 EJBのクラスとインターフェイスを追加する (クリックすると拡大します) |
その後、Beanクラス、ホームインターフェイス、リモートインターフェイスを画面6のように指定します。その後もいくつか設定の画面が出ますが、このサンプルでは何も設定せずに、「次へ」でスキップしていきます。
画面6 Beanクラス、ホームインターフェイス、リモートインターフェイスを指定する (クリックすると拡大します) |
最後に画面7のような画面が出ますので、[完了]を押します。
画面7 このような画面が表示されることを確認して[完了]を押す (クリックすると拡大します) |
■Webコンポーネントの登録
Webコンポーネントとは、Servlet、JSP、HTMLをひとまとめにした単位のことです。
Webコンポーネントを追加するには、[ファイル]-[新規Webコンポーネント]を選択します。すると、Webコンポーネント登録用のウィザードが起動します。
画面8 Webコンポーネント登録用のウィザードを起動する (クリックすると拡大します) |
ウィザードの指示に従い、Webコンポーネントに含めたいファイルを追加していきます。
画面9 Webコンポーネントの種類にServletを選択する (クリックすると拡大します) |
その後、WebコンポーネントでServletを選択し、Servletに関する設定を行っていきます
画面10 Servletに関する設定を行う (クリックすると拡大します) |
■サーバへのアプリケーションのディプロイ
EJB、Webコンポーネントの設定が完了したら、いよいよサーバにアプリケーションをディプロイしたいところですが、その前に、このアプリケーションが正しく動作するかどうかをdeploytoolを使って検証します。
deploytoolには、ベリファイアという検証ツールが含まれています。[ツール]-[ベリファイア]を選択すると、検証ツールを実行することができます。これを実行し、エラーがないことを確認したら、いよいよディプロイを行います。[ツール]-[アプリケーションを配備]を選択すると、ディプロイ用のウィザードが起動します。
画面11 アプリケーションを配布するサーバを選択する (クリックすると拡大します) |
ここで、ディプロイするホスト名や、各種のパラメータを設定します。設定後に、画面12のような画面が出たら[完了]を押して、ディプロイを開始します(画面13)。
画面12 この画面を確認したら[完了]を押す (クリックすると拡大します) |
画面13 配布中にこのような画面が表示される (クリックすると拡大します) |
■アプリケーションの動作確認
無事にディプロイができたら、ブラウザから動作を確認してみましょう。ContextRootを、ejbsampleに設定した場合は、
http://localhost:8000/ejbsample/calc.html |
を指定します(画面14)。数値を入力し送信して、画面15のような結果が表示されればOKです。
画面14 WebブラウザにURLを指定すると、このような画面が表示される (クリックすると拡大します) |
画面15 このように計算結果が表示される (クリックすると拡大します) |
そのほか、細かな設定などについては、J2EE付属のドキュメントを参照してください。サンのサイトには日本語化されたものもいくつか置かれています。
「Java Solution FAQ」 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (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に関する基礎知識を解説する。
|
|