マスタリング JavaEE5(三菱UFJインフォメーションテクノロジー株式会社 斉藤 賢哉)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. マスタリング JavaEE5

マスタリング JavaEE5


形式:
書籍
発売日:
ISBN:
9784798112817
定価:
5,720(本体5,200円+税10%)
仕様:
B5変・784ページ
[決定版]EJB3.0、JPA、JSF、Webサービスを網羅

エンタープライズの分野では、ミドルウェアを利用することなくしてアプリケーションの開発はできませんが、それまでは選択したミドルウェアに応じて、特定のベンダに固有のスキルを習得する必要がありました。それが、ミドルウェア・プラットフォームの標準仕様の登場によって、「つぶしの利く」標準的な技術を習得できるようになったのです。
そして2006年5月、遂にJavaEE5の主要な機能/APIの最終仕様が公開されました。JavaEE5は、J2EEの高い機能性はそのままに、アプリケーションの開発生産性を高めることを主眼としています。
本書では、従来は必ずしも生産性が高いとは言えなかったJavaによるエンタープライズアプリケーション開発が、JavaEE5の登場によってどのように進化を遂げようとしているのかを、お伝えしたいと考えています。そして、一人でも多くの方にJavaEE5の実力を感じ取って欲しいと思っています。
「まえがき」より

Part 1 JavaEE5の概要

第1章 JavaEE5への道のり
1.1 Javaのロードマップ
1.2 従来のEJBの課題とEJB3.0の登場

第2章 JavaEEの概要
2.1 JavaEEのアーキテクチャ概要
2.2 JavaEEアプリケーションのハードウェア・ソフトウェア構成
2.3 JavaEE5におけるアノテーションの活用
2.4 JavaEEアプリケーションの種類とデプロイ記述子
2.5 JavaEEアプリケーションのパッケージング方法
2.6 JavaEE5におけるクラスローディング
2.7 ネーミングサービスとJNDI

Part 2 EJB3.0

第3章 EJBの概要
3.1 EJBの種類と特徴
3.2 EJB3.0の特徴

第4章 セッションBeanの基本的な仕組み
4.1 セッションBeanのプログラミング
4.2 セッションBeanのライフサイクル

第5章 DI(Dependency Injection)
5.1 ファクトリとモックオブジェクト
5.2 DIとは
5.3 JavaEE5におけるDI
5.4 DIのプログラミング
5.5 マルチスレッド環境におけるDIの利用方針
5.6 セッションBeanの単体テスト

第6章 セッションBeanとトランザクション
6.1 トランザクションとは
6.2 Javaアプリケーションによるトランザクション管理
6.3 EJBとトランザクション

第7章 AOPとインターセプタ
7.1 AOPとは
7.2 インターセプタ

第8章 EJB3.0のその他の機能
8.1 タイマーサービス

Part 3 JPA

第9章 O/RマッピングとJPA
9.1 O/RマッピングとJPA

第10章 JPAの基本
10.1 JPAとは
10.2 JPAの基本的なプログラミング
10.3 エンティティマネージャの役割
10.4 エンティティの操作(挿入・削除・更新)
10.5 JPAとトランザクション
10.6 コールバックメソッドとエンティティリスナクラス

第11章 JPAとリレーションシップ
11.1 エンティティのリレーションシップ
11.2 フェッチ戦略
11.3 カスケード戦略

第12章 JPQLとクエリ
12.1 JPQLとクエリ
12.2 JPQLの記述方法 1
12.3 JPQLの記述方法 2
12.4 バルク操作とフラッシュモード
12.5 ネイティブクエリ

第13章 JPAにおける委譲と継承
13.1 エンベッダブルクラス
13.2 マップスーパークラス
13.3 エンティティクラスの継承戦略

第14章 JPAの様々な機能
14.1 複合主キー
14.2 ロック
14.3 JPAの例外
14.4 主キー値の自動生成
14.5 セカンダリテーブル

Part 4 アプリケーション間の連携

第15章 アプリケーション間の連携パターン
15.1 アプリケーション間の連携パターン

第16章 JMSの仕組み
16.1 JMSとは
16.2 JMSの基本的な仕組み
16.3 JMSのプログラミングモデル
16.4 メッセージ送受信の保証

第17章 メッセージ駆動Beanの仕組み
17.1 メッセージ駆動Beanの仕組み

第18章 Webサービスのアーキテクチャと要素技術
18.1 Webサービスの特徴
18.2 SOAP
18.3 WSDL

第19章 Webサービスの実践
19.1 JavaEEとWebサービス
19.2 JAX-WS
19.3 JAX-WSのプログラミングモデル
19.4 パラメータスタイルとSOAPメッセージ
19.5 SOAPハンドラ

Part 5 JSF

第20章 JSFの概要
20.1 JSFとは
20.2 JSFの機能概要

第21章 JSFの仕組み
21.1 JSFアプリケーションの登場人物
21.2 デプロイ記述子とJSF設定ファイル
21.3 JSFエンジンの仕組み

第22章 JSFの基本的な機能
22.1 JSFサンプルアプリケーション~jsf_calc
22.2 JSFタグとUIコンポーネント
22.3 マネージドBeanの基本的な機能
22.4 ページ遷移

第23章 JSFの様々な機能
23.1 JSFサンプルアプリケーション~jsf_customer
23.2 コンバータ
23.3 バリデータ
23.4 メッセージ
23.5 イベントリスナ
23.6 マネージドBeanの様々な機能

第24章 テーブル形式のデータ
24.1 テーブル形式のデータ

第25章 Unified El
25.1 JSPの式言語とJSTL
25.2 Unified EL

第26章 JSFアプリケーションのコンテキストとライフサイクル
26.1 JSFのコンテキスト
26.2 JSFアプリケーションのライフサイクル(詳細)

第27章 カスタムコンポーネントの作成
27.1 JSFサンプルアプリケーション~jsf_component
27.2 カスタムコンポーネントとは
27.3 カスタムコンポーネント(選択コンポーネント)の作成方法
27.4 カスタムコンポーネント(出力コンポーネント)の作成方法

Part 6 リファレンス

第28章 EJB3.0アノテーション・リファレンス
28.1 javax.annotationパッケージのアノテーション
28.2 javax.ejbパッケージのアノテーション
28.3 javax.interceptorパッケージのアノテーション

第29章 JPAアノテーション・リファレンス
29.1 javax.persistenceパッケージのアノテーション

第30章 Web Services Metadataリファレンス
30.1 javax.jwsパッケージのアノテーション

第31章 JSFタグ・リファレンス
31.1 JSFのHTMLタグで使用可能なHTMLの主な共通属性
31.2 フォーム
31.3 出力コンポーネント
31.4 入力コンポーネント
31.5 選択コンポーネント
31.6 コマンドコンポーネント
31.7 データ出力コンポーネント
31.8 画像出力コンポーネント
31.9 メッセージコンポーネント
31.10 レイアウトコンポーネント
31.11 ビュー
31.12 イベントリスナ
31.13 コンバータ
31.14 バリデータ
31.15 選択肢
31.16 親タグのコンポーネントへの設定
31.17 テキスト出力補助

第32章 JSTLコアタグ・リファレンス
32.1 式・変数・例外の操作
32.2 繰り返し
32.3 条件分岐
32.4 URLの操作

Part 7 サンプルアプリケーション

第33章 「JavaEE5 オンラインブックストア」

Appendix 1 本書付属CD-ROMによるJavaEE5の学習方法

Appendix 2 GlassFishを個別にセットアップする方法

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

お問い合わせ

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

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

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

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

追加情報はありません。

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

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

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

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

書籍の種類:

書籍の刷数:

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

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

最終更新日:2008年05月16日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 005
図1-2、JavaMailのJavaEE5におけるバージョン
2刷
1.3(JSR919)
1.4(JSR919)
2007.08.27
1刷 036
「JNDI ENCとは」の上から4行目
2刷
またEJBコンポーネントの場合は内包するエンタープライズ毎に、用意されています。
またEJBコンポーネントの場合は内包するエンタープライズBean毎に、用意されています。
2007.08.27
1刷 077
図5-10、および図5-11タイトル
2刷
図5-10「 コンテナが管理するオブジェクト」をJNDIルックアップ 図5-11「 コンテナが管理するオブジェクト」をインジェクション
図5-10「 コンテナが管理するオブジェクト」をインジェクション
図5-11「 コンテナが管理するオブジェクト」をJNDIルックアップ

タイトルが入れ違いになっています
2007.08.27
1刷 132
ケース1の説明
2刷
そして、呼び出し元であるFooBeanに、受け取った例外を、javax.ejb.EJBException(ローカル呼び出しの場合)かjava.rmi.RemoteException(リモート呼び出しの場合)でラップ(例外チェーン)して返します。これらはいずれも非チェック例外です
そして、呼び出し元であるFooBean に、受け取った例外を、javax.ejb.EJBException(ローカル呼び出しの場合)かjava.rmi.RemoteException(リモート呼び出しの場合)でラップ(例外チェーン)して返します。前者は非チェック例外、後者はチェック例外です。
2007.08.27
1刷 148
本文1行目
2刷
@PostConstructアノテーションや@PreDestoryアノテーション
@PostConstructアノテーションや@PreDestroyアノテーション

P597、748も同様
2008.03.11
1刷 159
「9.1.4 JPAの登場」の説明
2刷
JPAは、ギャビン・キング氏がスペックリードを務めて仕様が策定されており、
JPAは、ギャビン・キング氏を中心に仕様が策定されており、
2007.08.27
1刷 186
「時間型のマッピング」の説明部分
2刷
この列挙型は、当該の永続フィールド(java.util.Date型またはjava.util.Calendar型)を、どういったJDBCデータ型※として扱うのかを表しています。java.util.Date型やjava.util.Calendar型の場合、それをどのJDBCデータ型として扱ってよいのか、JPAエンジンは自動的には決定できないため、このようにして明示する必要があります。   :  (中略)   : それぞれのJDBCデータ型が、データベースのどういったデータ型に対応するのかは、データベースによって異なります。例えば、Derby の場合は以下のようになります。詳しくは、皆さんがお使いになるデータベースや、そのJDBC ドライバのマニュアルを参照してください。
このアノテーションは、永続フィールドがjava.util.Date型またはjava.util.Calendar型だった場合、それをjava.sql.Date型、java.sql.Time型、java.sql.Timestamp型のいずれかの型にマッピングするために使用します。以下に、TemporalType列挙型の値を示します。   :  (中略)   : 上記java.sqlパッケージの3種類のデータ型が、データベースのどういった型に対応するのかは、データベース製品によって異なります。例えば、Derbyの場合は以下のようになります。詳しくは、皆さんがお使いになるデータベース製品や、そのJDBC ドライバのマニュアルを参照してください。
2008.05.16
1刷 254
図11-10
2刷
テーブル"PHONE"の中に"CITY"カラムがある
テーブル"PHONE"には"CITY"カラムは存在しない
2008.05.16
1刷 281
ソースコードの最終行
2刷
List resultList = query.getResultList();
List<Employee> resultList = query.getResultList();
2007.08.27
1刷 294
ソースコードの最終行
2刷
List resultList = query.getResultList();
List<Employee> resultList = query.getResultList();
2007.08.27
1刷 344
14.1.5中、単一主キーの説明
2刷
まず、単一主キーの場合を考えてみましょう。例えば、ふたつのint 型の変数があり、値がそれぞれ100と100の場合、それらの等価性をequalsメソッドで評価すると、trueが返ります。永続化コンテキストの中では、エンティティオブジェクトの等価性をequalsメソッドで判断しています。従って、主キーフィールドがint型の100であるエンティティオブジェクトは、永続化コンテキスト内にひとつしか存在しません。
まず、単一主キーの場合を考えてみましょう。例えば、ふたつのInteger型の変数があり、値がそれぞれ100と100の場合、それらの等価性をequalsメソッドで評価すると、trueが返ります。永続化コンテキストの中では、エンティティオブジェクトの等価性を主キーフィールドのequalsメソッド(プリミティブ型の場合は"==")で判断しています。従って、主キーフィールドがInteger型の100であるエンティティオブジェクトは、永続化コンテキスト内にひとつしか存在しません。
2007.08.27
1刷 370
図16-7
2刷
「QueueConnection」から「QueueSession」に対して伸びている矢印のメソッドが"createQueueConnection()"となっている
メソッド名は"createQueueSession()"が正しい
2008.05.16
1刷 403
WSDLの「抽象的な定義」の説明部分
2刷
type要素
types要素
2008.05.16
1刷 444
handleMessageメソッドの説明
2刷
コードのようにSOAPヘッダの要素や属性を取り出すことも可能です。
コード19-21のようにSOAPヘッダの要素や属性を取り出すことも可能です。
2007.08.27
1刷 488
下から3行目
2刷
ナビゲーションルール2と3は、ともにfrom-outcome要素が
ナビゲーションケース2と3は、ともにfrom-outcome要素が
2008.05.16
1刷 530
複数の選択項目の説明中
2刷
このJSP ページの中では、以下のように、 タグによって「好きな色」を複数選択可能にしています。 複数選択された「好きな色」の値は、マネージドBeanの配列型のフィールドに格納されます。   :  (中略)   : また、このJSP ページの中では、以下のように、 タグによって「好きな スポーツ」を複数選択可能にしています。 複数選択された「好きなスポーツ」の値は、マネージドBean のリスト型のフィールドに格納されます。
このJSP ページの中では、以下のように、 タグによって「好きなスポーツ」を複数選択可能にしています。 複数選択された「好きなスポーツ」の値は、マネージドBean の配列型のフィールドに格納されます。   :  (中略)   : また、このJSP ページの中では、以下のように、 タグによって「好きな色」を複数選択可能にしています。 複数選択された「好きな色」の値は、マネージドBean のリスト型のフィールドに格納されます。

「好きな色」と「好きなスポーツ」が逆になっている
2008.05.16
1刷 617
「@OrderByアノテーション」の説明部分
2刷
One-to-many またはMany-to-many のリレーションシップにおいて、リレーションシップを保持するコレクション型のフィールドに付与し、関連する相手側のエンティティクラスのソート順を指定する。
One-to-many またはMany-to-many のリレーションシップにおいて、リレーションシップを保持するコレクション型のフィールド(またはそのゲッタ)に付与し、関連する相手側のエンティティクラスのソート順を指定する。
2008.05.16
1刷 631
<h:outputLink>タグのvalue属性の説明部分
2刷
このコンポーネントの値を指定する。
このコンポーネントの値(リンク先のURL)を指定する。
2008.05.16
1刷 647
<h:commandButton>タグの属性の表
2刷
target属性の記載あり
タグにtarget属性は存在しない。
2008.05.16