Java EEハンズオン事前準備手順(JJUG CCC 2015 Fall) #jjug_ccc #ccc_m1
JJUG CCC 2015 Fallが近づいてきました。
今回、僕は2時間のJava EEハンズオンを担当することになりました。
■脱Struts&独自フレームワーク!今からでも遅くないJava EE Web開発入門ハンズオン!
http://www.java-users.jp/?page_id=2064#M-1
このハンズオンは、StrutsなどのWebフレームワークは経験があるけど、Java EEは初めてという方を対象にしていますので、「Java EEってそもそも何?」という方も歓迎です!
基礎からの講義・解説をしながらハンズオンを進めますし、演習をサポートするチューターも何人か参加しますので、Java EE初心者でも安心のセッションです!
内容は、Java EEのWebフレームワークである「JSF」「JAX-RS」「Jersey MVC」を、実際にご自分のPCでプログラムを作りながら学ぶものになっています。
ハンズオン課題は、DBと連携した基本的なCRUDアプリケーションです。
前半50分がJSF、10分休憩を挟んで、後半50分がJAX-RS + Jersey MVCです。
参加にあたって当日必要なもの
- 事前準備済かつ十分に充電されたご自分のノートPC
事前準備について
ハンズオンに参加していただくにあたって、事前準備をお願いしています。
事前準備にはインターネット接続が必要ですが、会場にはWiFiはありません。また、ハンズオン当日は大人数なので、個人でWiFiルーターを持ち込まれる際も、混雑してつながりにくくなることが多いためです。
インターネット回線の速度やPCスペックにもよりますが、所用時間は30分前後です。
お手数ではありますが、下記の手順に沿ってご準備をお願いします。
- 手順1. 開発環境をインストールする
- 手順2. GitHubから演習用プロジェクトのクローンしてビルドする
事前準備についてご不明な点がありましたら、お気軽にご連絡ください。
ご連絡は、このブログ記事にコメントを書いていただくか、もしくは僕のTwitterアカウント@suke_masaまでよろしくお願いします。
手順1. 開発環境をインストールする
開発環境の概要
- JDK 8u66
- NetBeans 8.1 (8.0.2でも大丈夫です)
- Payara Web ML 4.1.1.154
- curl (MacやLinuxの場合は、OSに組み込まれているのでインストールの必要なし)
データベースは、Payara内包のJavaDBを利用するので、インストールする必要はありません。
データベースのテーブル作成は、JPAのスキーマ生成機能を利用するので、これも事前準備は必要ありません。
ビルドにはMaven、GitHubからのクローンにはGitを使いますが、これらはNetBeansに内包されているので、インストールする必要はありません。
JDK
下記のWebサイトから、お使いのOSに合わせた「JDK 8u66」のインストーラーをダウンロードして、実行してください。
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
環境変数JAVA_HOMEおよびPATHを設定してください。
NetBeans
下記のWebサイトから、お使いのOSに合わせたインストーラーをダウンロードして、実行してください。
ダウンロードバンドルは、「Java EE」または「すべて」を選択してください。
https://netbeans.org/downloads/
インストーラーを実行した後は、すべて「次へ」などでOKです。
Payara
Payaraは、英国C2B2社がGlassFish(Java EE参照実装サーバー)をベースに、バグフィックスや機能追加をして開発しているAPサーバーです。
使い方などは、GlassFishと全く変わりません。
下記のWebサイトから、「Payara-Web-ML 4.1.1.154 (Multi-Language Web Profile)」をダウンロードしてください。
http://www.payara.co.uk/payara_multi-language
ダウンロードしたZIPファイルは、適当なフォルダに展開してください。
次に、NetBeansにPayaraを認識させます。
NetBeansを起動したら、画面左の[サービス]タブを開き、[サーバー]を右クリック→[サーバーの追加]を選択します。
[サーバー]で[GlassFish Server]を選択し、[名前]の欄には適当な名前を入力後、[次>]をクリックします。
[インストール場所]の[参照]ボタンをクリックして、先ほどPayaraを展開したフォルダを選択します。僕の場合(下記の画像)ではフォルダ名を変えていますが、展開してそのままでは「payara41」というフォルダ名になっていますので、そのpayara41フォルダを選択してください。選択したら[ローカルドメイン]・[ライセンス契約を読んで同意しました...]を選択して、[次>]をクリックします。
デフォルトで下記の画像のような状態になっていますので、このまま[終了]をクリックします。
サーバーにPayaraが追加されました。
curl
curlは、HTTPリクエストを送るための簡易ツールです。JAX-RSのハンズオンで利用します。
MacやLinuxの場合は、OSに最初から組み込まれていますので、この手順はスキップしてください。
以下、Windows 7を前提に説明します。
下記のWebサイトから、ZIPファイルをダウンロードしてください。
http://curl.haxx.se/latest.cgi?curl=win64-nossl
ダウンロード後、ZIPファイルを適当なフォルダに展開してください。
その展開したフォルダ(curl.exeが入っているフォルダです)のパスを、環境変数PATHに追加してください。
コマンドプロンプトを開いて「curl」コマンドを実行し、下記のように表示されればOKです。
C:\User\User01 > curl curl: try 'curl --help' or 'curl --manual' for more information C:\User\User01 >
2. GitHubから演習用プロジェクトのクローンしてビルドする
クローン
今回、プロジェクトは4つ用意しています。
これらのプロジェクトをクローンして、ビルドするところまで実施してください。
これらはMavenプロジェクトで、初回ビルド時に依存ライブラリのダウンロードが実行されます。
GitHubアカウントの作成
今回のハンズオン用プロジェクトは、すべてGitHubにアップしています。
GitHubからプロジェクトをクローンするためには、ご自身のGitHubアカウントが必要になります。
お持ちでない方は、下記のURLからSign Upでアカウントを作成してください。
NetBeansでGitHubからjjug-logicプロジェクトをクローン
NetBeansを開いたら、画面上部のメニューから[チーム]-[Git]-[クローン]と選択します。
[リポジトリURL]に「https://github.com/MasatoshiTada/jjug-logic.git」と入力します。
[ユーザー]と[パスワード]は、ご自身のGitHubアカウント情報を入力します。
[クローン先]は、クローンしたプロジェクトを保存するローカルのフォルダ名を指定します。
入力したら、[次>]をクリックします。
[master]が選択されていることを確認して、[次>]をクリックします。
デフォルトのまま[終了]をクリックします。
[プロジェクトを開く]をクリックします。
画面上部のメニューから[表示]-[バージョン・ラベルを表示]を選択します。
プロジェクトを右クリックして[依存性でビルド]を選択します。
残り3つのプロジェクトをクローン
プロジェクトが何も選択されていない状態で、画面上部のメニューから[チーム]-[Git]-[クローン]と選択します。(一度、[プロジェクト]ウィンドウ内で右クリックすると、プロジェクトの選択が外れます)
[リポジトリURL]に「https://github.com/MasatoshiTada/jjug-jsf.git」と入力します。
その他の情報は、先ほど入力したものが残っていると思いますので、そのまま[次>]をクリックします。
exerciseとmasterという2つのリモート分岐がありますので、2つとも選択した状態にして[次>]をクリックします。
デフォルトのまま[終了]をクリックします。
[プロジェクトを開く]をクリックします。
プロジェクトを右クリックして、[Git]-[分岐/タグ]-[分岐に切り替え]を選択します。
[origin/exercise]を選択し、[新しい分岐としてチェックアウト]にチェックを入れて[切替え]をクリックします。
プロジェクト名の横に[exercise]という分岐名が表示されていることを確認したら、プロジェクトを右クリックして[依存性でビルド]を選択します。
プロジェクトを右クリックして[プロパティ]を選択すると、下記のようなプロパティのウィンドウが開きます。[実行]を選択し、[サーバー]で今回インストールしたPayara Web ML 4.1.1.154を選択後、[OK]をクリックします。
残り2つのプロジェクトについても、以上の手順を行ってください。
リポジトリURLは下記の通りです。
https://github.com/MasatoshiTada/jjug-jax-rs.git
https://github.com/MasatoshiTada/jjug-jersey-mvc.git
NetBeansでTODOコメントを一覧表示
ハンズオン用のソースコードは、所々を穴埋め形式にして、その箇所はTODOコメントを書いてあります。
NetBeansのTODOコメント一覧表示機能を使うと、ダブルクリックでその場所にジャンプできるので、ハンズオン中はこの機能を使います。
NetBeans画面上部のメニューから[ウィンドウ]-[アクション項目]と選択します。
黄色い四角のマークをクリックすると、現在選択中のプロジェクトのTODOのみが表示されます。
漏斗(フィルター)のマークをクリックして、[編集]を選択します。[タイプ]で[TODO]のみにチェックを入れます。
[説明]を1回クリックすると、TODOコメントが並び替えられて見やすくなります。
スライドのダウンロード
当日は下記のスライドでセッションを進めます。あらかじめダウンロードしてあると、手元でも資料を確認することができます。
www.slideshare.net
何か分からないことがあったら
手順は以上になりますが、何か分からないことがあったら僕までご連絡ください。出来る限りご対応します。
この記事へのコメントかツイッター(@suke_masa)でご連絡ください。
(多分、ツイッターの方が僕が気付くのが早いと思います)
これ以上の予習などは必要ありませんが、もし事前に動作確認などを行いたい場合は、各プロジェクトの分岐を[master]に切替え、[消去してビルド]後に[実行]でデプロイできます。
それでは、皆様のご参加をお待ちしております!