Beginning Java EE 6 GlassFish 3で始めるエンタープライズJava(日本オラクル株式会社 日本オラクル株式会社 日本オラクル株式会社 株式会社プロシステムエルオーシー 株式会社プロシステムエルオーシー アントニオ・ゴンサルベス)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. Beginning Java EE 6 GlassFish 3で始めるエンタープライズJava

Beginning Java EE 6 GlassFish 3で始めるエンタープライズJava

監修
翻訳
原著
翻訳
原著

形式:
書籍
発売日:
ISBN:
9784798124605
定価:
4,620(本体4,200円+税10%)
仕様:
B5変・584ページ
カテゴリ:
プログラミング・開発
キーワード:
#プログラミング,#開発環境,#開発手法,#Web・アプリ開発
紙の書籍

日本オラクル監訳によるエンタープライズJava入門書の決定版

Java EE 6は、大規模な情報システム構築に用いられるエンタープライズ環境向けのプログラミング言語です。従来のバージョンと比べて開発容易性の向上、軽量化といった点で大幅に進化しており、開発者からの注目を集めています。本書では、Java EE 6の言語仕様について、新機能を中心に重要なものを取り上げています。無償で提供されているアプリケーションサーバー「GlassFish 3」を用いて、Webショップアプリケーションを例に挙げながら具体的に解説しています。

また、Java EE 6テクノロジーによるアプリケーション作成が体験できる付録も掲載。現役のJava技術者はもちろんのこと、これからエンタープライズJavaを始める方にもおすすめの一冊です。

第1章 Java EE 6 の概要

1.1 Java EEとは

1.1.1 歴史
1.1.2 標準
1.1.3 アーキテクチャ
 コンポーネント
 コンテナ
 サービス
 ネットワーク・プロトコル
 パッケージ化
 Java SE
 Java EE 6の仕様

1.2 Java EE 6の新しいキーワード

1.2.1 軽量化
 プルーニング
 プロファイル
1.2.2 操作性の向上
1.2.3 豊富な機能
1.2.4 移植性の向上

1.3 CD-BookStoreアプリケーション 1.4 環境のセットアップ

1.4.1 JDK 6
1.4.2 Maven 2
 簡単な歴史
 プロジェクト・ディスクリプタ
 成果物の管理
 プロジェクトのモジュール化
 プラグインとライフサイクル
 インストール
 コマンドの使い方
1.4.3 JUnit 4
 簡単な歴史
 JUnitの機能
 テストメソッド
 アサートメソッド
 フィクスチャ
 JUnitの起動
 JUnitの統合
1.4.4 Derby 10.6
 インストール
 コマンドの使い方
1.4.5 GlassFishバージョン3.0.1
 歴史
 GlassFish 3のアーキテクチャ
 Update Center
 GlassFishのサブプロジェクト
 管理
 GlassFishのインストール

1.5 まとめ

第2章 Javaと永続化

2.1 JPA仕様の概要

2.1.1 仕様の歴史
2.1.2 JPA 2.0の新機能
2.1.3 参照実装

2.2 エンティティ

2.2.1 オブジェクト・リレーショナル・マッピング
2.2.2 エンティティのクエリ
2.2.3 コールバックとリスナ

2.3 すべての要素を使用する

2.3.1 Bookエンティティの作成
2.3.2 Mainクラスの作成
2.3.3 Mainクラスで使用する永続性ユニット
2.3.4 Mavenでのコンパイル
2.3.5 Derbyを使用したMainクラスの実行
2.3.6 BookTestクラスの作成
2.3.7 BookTestクラスで使用する永続性ユニット
2.3.8 組み込みモードのDerbyを使ったBookTestクラスの実行

2.4 まとめ

第3章 オブジェクト・リレーショナル・マッピング

3.1 エンティティのマッピング方法

3.1.1 Configuration-by-Exception(必要な場合のみデフォルト値を上書きする設定手法)

3.2 基本的なマッピング

3.2.1 テーブル
 @Table
 @SecondaryTable
3.2.2 主キー
 @Idと@GeneratedValue
 複合主キー
3.2.3 属性
 @Basic
 @Column
 @Temporal
 @Transient
 @Enumerated
3.2.4 アクセスタイプ
3.2.5 基本型のコレクション
3.2.6 基本型のマッピング

3.3 XMLによるマッピング 3.4 組み込み可能オブジェクト

3.4.1 組み込み可能クラスのアクセスタイプ

3.5 リレーションシップ・マッピング

3.5.1 リレーショナル・データベースにおけるリレーションシップ
3.5.2 エンティティのリレーションシップ
 一方向と双方向
 @OneToOne、一方向
 @OneToMany、一方向
 @ManyToMany、双方向
3.5.3 リレーションシップのフェッチ
3.5.4 リレーションシップの順序
 @OrderBy
 @OrderColumn

3.6 継承のマッピング

3.6.1 継承方式
 クラス階層ごとに1つのテーブル
 結合サブクラス
 具象クラスごとのテーブル
3.6.2 継承階層に含まれるクラスの種類
 抽象エンティティ
 非エンティティ
 マップドスーパークラス

3.7 まとめ

第4章 永続オブジェクトの管理

4.1 エンティティをクエリする方法 4.2 エンティティ・マネージャ

4.2.1 エンティティ・マネージャの取得
4.2.2 永続性コンテキスト
4.2.3 エンティティの操作
 エンティティの永続化
 IDによる検索
 エンティティの削除
 孤立したオブジェクトの削除
 データベースとの同期
 永続性コンテキストの内容
 エンティティのマージ
 エンティティの更新
 イベントのカスケード
4.2.4 キャッシュAPI

4.3 JPQL

4.3.1 SELECT句
4.3.2 FROM句
4.3.3 WHERE句
 パラメータのバインド
 サブクエリ
4.3.4 ORDER BY句
4.3.5 GROUP BY句とHAVING句
4.3.6 一括削除
4.3.7 一括更新

4.4 クエリ

4.4.1 動的クエリ
4.4.2 名前付きクエリ
4.4.3 ネイティブクエリ
4.4.4 Criteria API(オブジェクト指向クエリ)
 タイプセーフなCriteria API

4.5 同時実行

4.5.1 バージョニング
4.5.2 楽観的ロック
4.5.3 悲観的ロック

4.6 まとめ

第5章 コールバックとリスナ

5.1 エンティティのライフサイクル 5.2 コールバック 5.3 リスナ 5.4 まとめ

第6章 Enterprise JavaBeans

6.1 EJBとは

6.1.1 EJBの種類
6.1.2 EJBの構造
6.1.3 EJBコンテナ
6.1.4 埋込みコンテナ
6.1.5 依存性注入とJNDI
6.1.6 コールバックメソッドとインターセプタ
6.1.7 パッケージ化

6.2 EJB仕様の概要

6.2.1 仕様の歴史
6.2.2 EJB 3.1で新しくなった点
6.2.3 EJB Lite
6.2.4 参照実装

6.3 すべての要素を使用する

6.3.1 Bookエンティティの作成
6.3.2 BookEJBステートレス・セッションBeanの作成
6.3.3 BookEJBの永続性ユニット
6.3.4 Mainクラスの作成
6.3.5 Mavenでのコンパイルとパッケージ化
6.3.6 GlassFishへのデプロイ
6.3.7 アプリケーション・クライアント・コンテナを使用したMainクラスの実行
6.3.8 BookEJBTestクラスの作成

6.4 まとめ

第7章 セッションBeanとタイマサービス

7.1 セッションBean

7.1.1 ステートレスBean
7.1.2 ステートフルBean
7.1.3 シングルトン
 初期化
 シングルトンの連鎖
 同時実行
7.1.4 セッションBeanモデル
 インタフェースとBeanクラス
 利用側の視点
 セッション・コンテキスト
 デプロイメント・ディスクリプタ
 依存性注入
 環境ネーミング・コンテキスト
7.1.5 非同期呼出し
7.1.6 埋込み可能なコンテナの使い方

7.2 タイマサービス

7.2.1 カレンダベースの式
7.2.2 タイマの自動作成
7.2.3 プログラムによるタイマの作成

7.3 まとめ

第8章 コールバックとインターセプタ

8.1 セッションBeanのライフサイクル

8.1.1 ステートレスとシングルトン
8.1.2 ステートフル
8.1.3 コールバック

8.2 インターセプタ

8.2.1 AroundInvokeインターセプタ
8.2.2 メソッドのインターセプタ
8.2.3 ライフサイクルのインターセプタ
8.2.4 インターセプタの連鎖と除外

8.3 まとめ

第9章 トランザクションとセキュリティ

9.1 トランザクション

9.1.1 ACID
9.1.2 ローカル・トランザクション
9.1.3 分散トランザクションとXA

9.2 EJBでのトランザクションのサポート

9.2.1 コンテナ管理のトランザクション
 CMTのロールバック
 例外処理
9.2.2 Bean管理のトランザクション

9.3 セキュリティ

9.3.1 プリンシパルとロール
9.3.2 認証と認可

9.4 EJBでのセキュリティサポート

9.4.1 宣言型のセキュリティ
9.4.2 プログラムによるセキュリティ

9.5 まとめ

第10章 JavaServer Faces

10.1 JSFとは

10.1.1 FacesServletとfaces-config.xml
10.1.2 ページとコンポーネント
10.1.3 レンダラ
10.1.4 コンバータとバリデータ
10.1.5 マネージドBeanと画面遷移
10.1.6 Ajaxサポート

10.2 Webインタフェース仕様の概要

10.2.1 Webインタフェースの簡単な歴史
10.2.2 JSP 2.2、EL 2.2、およびJSTL 1.2
10.2.3 JSF 2.0
10.2.4 JSF 2.0で新しくなった点
10.2.5 参照実装

10.3 すべての要素を使用する

10.3.1 Bookエンティティの作成
10.3.2 BookEJBの作成
10.3.3 BookControllerマネージドBeanの作成
10.3.4 newBook.xhtmlページの作成
10.3.5 listBooks.xhtmlページの作成
10.3.6 web.xmlによる構成
10.3.7 Mavenを利用したコンパイルとパッケージ化
10.3.8 GlassFishへのデプロイ
10.3.9 サンプルの実行

10.4 まとめ

第11章 ページとコンポーネント

11.1 Webページ

11.1.1 HTML
11.1.2 XHTML
11.1.3 CSS
11.1.4 DOM
11.1.5 JavaScript

11.2 JavaServer Pages

11.2.1 ディレクティブ要素
11.2.2 スクリプト要素
11.2.3 アクション要素
11.2.4 すべての要素を使用する

11.3 式言語(EL) 11.4 JSP Standard Tag Library

11.4.1 コアアクション
11.4.2 フォーマットアクション
11.4.3 SQLアクション
11.4.4 XMLアクション
11.4.5 関数

11.5 Facelets 11.6 JavaServer Faces

11.6.1 ライフサイクル
11.6.2 標準HTMLコンポーネント
 コマンド
 入力
 出力
 選択
 グラフィックス
 グリッドと表
 エラーメッセージ
 その他
 テンプレート化
11.6.3 リソース管理
11.6.4 複合コンポーネント
11.6.5 暗黙のオブジェクト

11.7 まとめ

第12章 処理と画面遷移

12.1 MVCパターン

12.1.1 FacesServlet
12.1.2 FacesContext
12.1.3 FacesConfig

12.2 マネージドBean

12.2.1 マネージドBeanの作成方法
12.2.2 マネージドBeanモデル
 @ManagedBean
 スコープ
 @ManagedProperty
 ライフサイクルとコールバック・アノテーション
12.2.3 画面遷移
12.2.4 メッセージの処理

12.3 型変換と検証

12.3.1 コンバータ
12.3.2 カスタムコンバータ
12.3.3 バリデータ
12.3.4 カスタムバリデータ

12.4 Ajax

12.4.1 一般的な概念
12.4.2 JSFにおけるサポート
12.4.3 すべての要素を使用する

12.5 まとめ

第13章 メッセージの送信

13.1 メッセージとは

13.1.1 JMS
13.1.2 MDB

13.2 メッセージングの仕様の概要

13.2.1 メッセージングの簡単な歴史
13.2.2 JMS 1.1
13.2.3 EJB 3.1
13.2.4 参照実装

13.3 メッセージを送受信する方法 13.4 Java Message Service

13.4.1 ポイント・ツー・ポイント・モデル
13.4.2 パブリッシュ・サブスクライブ・モデル
13.4.3 JMS API
 管理対象オブジェクト
 コネクション
 セッション
 メッセージ
 メッセージ・プロデューサ
 メッセージ・コンシューマ
13.4.4 セレクタ
13.4.5 信頼性確保のメカニズム
 メッセージ有効期限の設定
 メッセージ永続性の指定
 確認応答の制御
 恒久サブスクライバの作成
 優先度の設定

13.5 メッセージ・ドリブンBean

13.5.1 MDBの作成方法
13.5.2 MDBモデル
 @MessageDriven
 @ActivationConfigProperty
 依存性注入
 MDBコンテキスト
 ライフサイクルとコールバック・アノテーション
13.5.3 コンシューマとしてのMDB
13.5.4 プロデューサとしてのMDB
13.5.5 トランザクション
13.5.6 例外処理

13.6 すべての要素を使用する

13.6.1 OrderDTOの作成
13.6.2 OrderSenderの作成
13.6.3 OrderMDBの作成
13.6.4 Mavenでのコンパイルとパッケージ化
13.6.5 管理対象オブジェクトの作成
13.6.6 GlassFishへのMDBのデプロイ
13.6.7 サンプルアプリの実行

13.7 まとめ

第14章 SOAP Webサービス

14.1 SOAP Webサービスとは

14.1.1 XML
14.1.2 WSDL
14.1.3 SOAP
14.1.4 UDDI
14.1.5 転送プロトコル

14.2 SOAP Webサービス仕様の概要

14.2.1 SOAP Webサービスの簡単な歴史
14.2.2 Java EEの仕様
 JAX-WS 2.2
 Web Services 1.2
 JAXB 2.2
 WS-Metadata 2.0
 JAXR 1.0
14.2.3 参照実装

14.3 SOAP Webサービスを呼び出す方法 14.4 XMLバインド用のJavaアーキテクチャ

14.4.1 バインド
14.4.2 アノテーション

14.5 内部動作

14.5.1 WSDL
14.5.2 SOAP

14.6 Java API for XML-Based Web Services

14.6.1 JAX-WSモデル
 Webサービスのエンドポイント
 アノテーション
 ライフサイクルとコールバック
 Webサービスコンテキスト
14.6.2 SOAP Webサービスの呼出し

14.7 すべての要素を使用する

14.7.1 CreditCardクラスの作成
14.7.2 CardValidator SOAP Webサービスの作成
14.7.3 Mavenでのコンパイルとパッケージ化
14.7.4 GlassFishへのデプロイ
14.7.5 Webサービスのコンシューマの作成
14.7.6 コンシューマの成果物の生成とMavenによるパッケージ化
14.7.7 Mainクラスの実行

14.8 まとめ

第15章 RESTful Webサービス

15.1 RESTful Webサービスとは

15.1.1 リソースとURI
15.1.2 表現
15.1.3 WADL
15.1.4 HTTP
 リクエストとレスポンス
 HTTPのメソッド
 コンテンツ・ネゴシエーション
 コンテンツタイプ
 ステータスコード
 キャッシュと条件つきリクエスト

15.2 RESTful Webサービスの仕様

15.2.1 RESTの簡単な歴史
15.2.2 JAX-RS 1.1
15.2.3 JAX-RS 1.1で新しくなった点
15.2.4 参照実装

15.3 RESTの手法

15.3.1 WebからWebサービスへ
15.3.2 Webブラウジングのエクスペリエンス
15.3.3 統一インタフェース
15.3.4 アドレス指定
15.3.5 連結性
15.3.6 ステートレス

15.4 Java API for RESTful Web Services

15.4.1 JAX-RSモデル
15.4.2 RESTサービスの作成方法
15.4.3 URI定義
15.4.4 パラメータの抽出
15.4.5 コンテンツタイプの使用と生成
15.4.6 エンティティ・プロバイダ
15.4.7 メソッドまたは統一インタフェース
15.4.8 コンテキスト情報
 ヘッダー
 URIの構築
15.4.9 例外処理
15.4.10 ライフサイクル

15.5 すべての要素を使用する

15.5.1 Bookエンティティの作成
15.5.2 BookResourceの作成
 ヘッダー
 新しい書籍の作成
 IDによる書籍の取得
 書籍の削除
15.5.3 Jerseyの設定
15.5.4 Mavenでのコンパイルとパッケージ化
15.5.5 GlassFishへのデプロイ
15.5.6 サンプルの実行

15.6 まとめ

付録 Java EE 6 ハンズオンラボ

A.1 はじめに

A.1.1 必要なソフトウェア

A.2 問題の提示 A.3 テンプレートWebアプリケーションの構築

A.3.1 新規アプリケーションの作成
A.3.2 Webアプリケーションの選択
A.3.3 プロジェクト名の入力
A.3.4 サーバーの選択
A.3.5 表示の確認

A.4 JPAエンティティの生成

A.4.1 サンプルエンティティクラスの取得
A.4.2 使用するテーブルの選択
A.4.3 エンティティクラスの作成
A.4.4 JPAエンティティの理解とカスタマイズ(オプション)
 既存の“Customer.java”の編集
 “Address.java”の新規作成
 @Embeddableアノテーションの付加
 “Address.java”の編集
 “Customer.java”の再修正

A.5 データベースへアクセスするEJBの作成

A.5.1 ステートレスEJBの新規作成
A.5.2 EntityManagerの追加
A.5.3 メソッドの追加

A.6 EJBテスト用サーブレットの作成

A.6.1 サーブレットの新規作成
A.6.2 EJBの呼出し
A.6.3 表示の確認

A.7 CDIの有効化、EJBの式言語インジェクション対応

A.7.1 CDI構成ファイルの作成
A.7.2 アノテーションの追加

A.8 JSF 2/Faceletsベースのビューの作成

A.8.1 フレームワークの登録
A.8.2 テンプレートの作成
A.8.3 文字列の変更
A.8.4 “index.xhtml”の再作成
A.8.5 表示の確認
A.8.6 index.xhtmlの修正
A.8.7 コンテンツの変更
A.8.8 表示の確認

A.9 JAX-RSによるRESTfulリソースの公開

A.9.1 アノテーションの追加
A.9.2 メソッドの追加
A.9.3 RESTfulリソースへのアクセス
A.9.4 JSON出力(オプション)

A.10 おわりに

 索引
 監訳者紹介

本書は付属データの提供はございません。

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2014年02月18日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 166
一番下のコードの直前の文章
2刷
パラメータ名のfnameをクエリ内で使用する場合はコロンをつけません。位置指定パラメータを……
setParameterメソッドでkeyとして用いるパラメータ名fnameにはコロンをつけません。位置指定パラメータを……
2012.05.14
1刷 182
図5-1
2刷
(画像クリックで拡大)
・管理状態から分離状態への矢印:   en.clear() ・管理状態から削除済み状態への矢印:   em.remote(cust)
(画像クリックで拡大)
・管理状態から分離状態への矢印:   em.clear() ・管理状態から削除済み状態への矢印:   em.remove(cust)
2012.06.28
1刷 398
1つ目のコード後4行目
3刷
(前略)・・・。なおトップレベルのjavax名前空間は、・・・(後略)
(前略)・・・。なおトップレベルのjavax名前空間※1は、・・・(後略) ----------<以下、脚注> ※1 訳注:JSF 2.0の仕様書によると、jsf名前空間とされています。
2014.02.18
1刷 534
「A.5.2 EntityManagerの追加」のコード2行目
2刷
EntityManagerem;
EntityManager em;
2012.06.28

感想・レビュー

porin さん

2015-12-22

ざっくり読了。amazonレビューにあるとおりCDIについてあんま書かれてない。

ショウヤ さん

2015-01-31

「第1章 Java EE 6 の概要」「第13章 メッセージの送信」「第14章 SOAP Webサービス」だけ読んだ。他の章は必要になったときか、読みたくなったら読もう。