日本オラクル株式会社 監修
日本オラクル株式会社 翻訳
日本オラクル株式会社 原著
株式会社プロシステムエルオーシー 翻訳
株式会社プロシステムエルオーシー 原著
アントニオ・ゴンサルベス 著
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.1 軽量化
プルーニング
プロファイル
1.2.2 操作性の向上
1.2.3 豊富な機能
1.2.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のインストール
第2章 Javaと永続化
2.1 JPA仕様の概要2.1.1 仕様の歴史
2.1.2 JPA 2.0の新機能
2.1.3 参照実装
2.2.1 オブジェクト・リレーショナル・マッピング
2.2.2 エンティティのクエリ
2.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クラスの実行
第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.4.1 組み込み可能クラスのアクセスタイプ
3.5 リレーションシップ・マッピング3.5.1 リレーショナル・データベースにおけるリレーションシップ
3.5.2 エンティティのリレーションシップ
一方向と双方向
@OneToOne、一方向
@OneToMany、一方向
@ManyToMany、双方向
3.5.3 リレーションシップのフェッチ
3.5.4 リレーションシップの順序
@OrderBy
@OrderColumn
3.6.1 継承方式
クラス階層ごとに1つのテーブル
結合サブクラス
具象クラスごとのテーブル
3.6.2 継承階層に含まれるクラスの種類
抽象エンティティ
非エンティティ
マップドスーパークラス
第4章 永続オブジェクトの管理
4.1 エンティティをクエリする方法 4.2 エンティティ・マネージャ4.2.1 エンティティ・マネージャの取得
4.2.2 永続性コンテキスト
4.2.3 エンティティの操作
エンティティの永続化
IDによる検索
エンティティの削除
孤立したオブジェクトの削除
データベースとの同期
永続性コンテキストの内容
エンティティのマージ
エンティティの更新
イベントのカスケード
4.2.4 キャッシュAPI
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.1 動的クエリ
4.4.2 名前付きクエリ
4.4.3 ネイティブクエリ
4.4.4 Criteria API(オブジェクト指向クエリ)
タイプセーフなCriteria API
4.5.1 バージョニング
4.5.2 楽観的ロック
4.5.3 悲観的ロック
第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.1 仕様の歴史
6.2.2 EJB 3.1で新しくなった点
6.2.3 EJB Lite
6.2.4 参照実装
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クラスの作成
第7章 セッションBeanとタイマサービス
7.1 セッションBean7.1.1 ステートレスBean
7.1.2 ステートフルBean
7.1.3 シングルトン
初期化
シングルトンの連鎖
同時実行
7.1.4 セッションBeanモデル
インタフェースとBeanクラス
利用側の視点
セッション・コンテキスト
デプロイメント・ディスクリプタ
依存性注入
環境ネーミング・コンテキスト
7.1.5 非同期呼出し
7.1.6 埋込み可能なコンテナの使い方
7.2.1 カレンダベースの式
7.2.2 タイマの自動作成
7.2.3 プログラムによるタイマの作成
第8章 コールバックとインターセプタ
8.1 セッションBeanのライフサイクル8.1.1 ステートレスとシングルトン
8.1.2 ステートフル
8.1.3 コールバック
8.2.1 AroundInvokeインターセプタ
8.2.2 メソッドのインターセプタ
8.2.3 ライフサイクルのインターセプタ
8.2.4 インターセプタの連鎖と除外
第9章 トランザクションとセキュリティ
9.1 トランザクション9.1.1 ACID
9.1.2 ローカル・トランザクション
9.1.3 分散トランザクションとXA
9.2.1 コンテナ管理のトランザクション
CMTのロールバック
例外処理
9.2.2 Bean管理のトランザクション
9.3.1 プリンシパルとロール
9.3.2 認証と認可
9.4.1 宣言型のセキュリティ
9.4.2 プログラムによるセキュリティ
第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.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.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 サンプルの実行
第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.1 ディレクティブ要素
11.2.2 スクリプト要素
11.2.3 アクション要素
11.2.4 すべての要素を使用する
11.4.1 コアアクション
11.4.2 フォーマットアクション
11.4.3 SQLアクション
11.4.4 XMLアクション
11.4.5 関数
11.6.1 ライフサイクル
11.6.2 標準HTMLコンポーネント
コマンド
入力
出力
選択
グラフィックス
グリッドと表
エラーメッセージ
その他
テンプレート化
11.6.3 リソース管理
11.6.4 複合コンポーネント
11.6.5 暗黙のオブジェクト
第12章 処理と画面遷移
12.1 MVCパターン12.1.1 FacesServlet
12.1.2 FacesContext
12.1.3 FacesConfig
12.2.1 マネージドBeanの作成方法
12.2.2 マネージドBeanモデル
@ManagedBean
スコープ
@ManagedProperty
ライフサイクルとコールバック・アノテーション
12.2.3 画面遷移
12.2.4 メッセージの処理
12.3.1 コンバータ
12.3.2 カスタムコンバータ
12.3.3 バリデータ
12.3.4 カスタムバリデータ
12.4.1 一般的な概念
12.4.2 JSFにおけるサポート
12.4.3 すべての要素を使用する
第13章 メッセージの送信
13.1 メッセージとは13.1.1 JMS
13.1.2 MDB
13.2.1 メッセージングの簡単な歴史
13.2.2 JMS 1.1
13.2.3 EJB 3.1
13.2.4 参照実装
13.4.1 ポイント・ツー・ポイント・モデル
13.4.2 パブリッシュ・サブスクライブ・モデル
13.4.3 JMS API
管理対象オブジェクト
コネクション
セッション
メッセージ
メッセージ・プロデューサ
メッセージ・コンシューマ
13.4.4 セレクタ
13.4.5 信頼性確保のメカニズム
メッセージ有効期限の設定
メッセージ永続性の指定
確認応答の制御
恒久サブスクライバの作成
優先度の設定
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.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 サンプルアプリの実行
第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.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.4.1 バインド
14.4.2 アノテーション
14.5.1 WSDL
14.5.2 SOAP
14.6.1 JAX-WSモデル
Webサービスのエンドポイント
アノテーション
ライフサイクルとコールバック
Webサービスコンテキスト
14.6.2 SOAP Webサービスの呼出し
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クラスの実行
第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.1 RESTの簡単な歴史
15.2.2 JAX-RS 1.1
15.2.3 JAX-RS 1.1で新しくなった点
15.2.4 参照実装
15.3.1 WebからWebサービスへ
15.3.2 Webブラウジングのエクスペリエンス
15.3.3 統一インタフェース
15.3.4 アドレス指定
15.3.5 連結性
15.3.6 ステートレス
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.1 Bookエンティティの作成
15.5.2 BookResourceの作成
ヘッダー
新しい書籍の作成
IDによる書籍の取得
書籍の削除
15.5.3 Jerseyの設定
15.5.4 Mavenでのコンパイルとパッケージ化
15.5.5 GlassFishへのデプロイ
15.5.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.1 サンプルエンティティクラスの取得
A.4.2 使用するテーブルの選択
A.4.3 エンティティクラスの作成
A.4.4 JPAエンティティの理解とカスタマイズ(オプション)
既存の“Customer.java”の編集
“Address.java”の新規作成
@Embeddableアノテーションの付加
“Address.java”の編集
“Customer.java”の再修正
A.5.1 ステートレスEJBの新規作成
A.5.2 EntityManagerの追加
A.5.3 メソッドの追加
A.6.1 サーブレットの新規作成
A.6.2 EJBの呼出し
A.6.3 表示の確認
A.7.1 CDI構成ファイルの作成
A.7.2 アノテーションの追加
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.1 アノテーションの追加
A.9.2 メソッドの追加
A.9.3 RESTfulリソースへのアクセス
A.9.4 JSON出力(オプション)
索引
監訳者紹介
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
porin さん
2015-12-22
ざっくり読了。amazonレビューにあるとおりCDIについてあんま書かれてない。
ショウヤ さん
2015-01-31
「第1章 Java EE 6 の概要」「第13章 メッセージの送信」「第14章 SOAP Webサービス」だけ読んだ。他の章は必要になったときか、読みたくなったら読もう。