Advanced Server-side ProgrammingシリーズJ2EEプログラマのためのEJBパーフェクトガイド

[表紙]J2EEプログラマのためのEJBパーフェクトガイド

紙版発売

B5変形判/512ページ

定価4,268円(本体3,880円+税10%)

ISBN 4-7741-1722-6

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

J2EE関連技術の中でも最も重要とされているEJB(EJB)は,大規模基幹業務だけでなく,中小規模のWebアプリケーション開発においてもその威力を発揮します。本書はコンポーネントプログラミングを主テーマに,EJBの基本,仕組みからエンティティBean,トランザクション,設計パターン,セキュリティなど,EJB開発に必要なすべての情報を盛り込んでいます。Webアプリ開発者ならぜひ一度手に取っていただきたい一冊です。

こんな方におすすめ

  • J2EEプログラマ
  • Webアプリケーション開発者
  • オープンソースの導入を検討中のSE、マネージャ

著者の一言

EJBというとどうしても「難しい」「複雑」という印象を持たれている方が多いようです。でも,今採用されている開発手法において,「JDBCの部分のメンテナンスが大変」「汎用的なコードがどうしても書けない」という方がいらしたら,実はEJBがそのほとんどを解決していることに驚くはずです。EJBは,巨大なシステムだけでなく小型なシステムにも適用できる技術です。さらに,本書ではJBoss+PostgreSQLを開発プラットフォームとして選択し,実際に開発しながらEJBを学習することができます。

目次

第1章 Enterprise Java Beansの基礎

  • 1.1 EJBはなぜ必要なのか?
    • 1.1.1 アプリケーションサーバの歴史
    • 1.1.2 サーバサイドコンポーネント
  • 1.2 J2EEアーキテクチャの構成
    • 1.2.1 J2EEの位置づけ
    • 1.2.2 JNDI(Java Naming and Directiry Interface)
  • 1.3 EJBの概要
    • 1.3.1 アプリケーションサーバ
    • 1.3.2 コンテナとエンタープライズBean
    • 1.3.3 J2EEアプリケーションの配置
    • 1.3.4 EJBにおける役割の定義

第2章 簡単なアプリケーションの開発

  • 2.1 実行環境の準備
    • 2.1.1 必要なソフトウェアの準備
    • 2.1.2 インストール
    • 2.1.3 JBossからPostgreSQLへアクセスするための設定
    • 2.1.4 JBossの起動
  • 2.2 開発環境の準備
    • 2.2.1 Antのインストール
    • 2.2.2 xmllintのインストール
    • 2.2.3 ディレクトリ構成
  • 2.3 簡単なアプリケーション例
    • 2.3.1 エンタープライズBeanのコーディング
    • 2.3.2 クライアントプログラムのコーディング
    • 2.3.3 ソースコードのコンパイル
    • 2.3.4 デプロイメント記述子の準備
    • 2.3.5 パッケージング
    • 2.3.6 配備
    • 2.3.7 アプリケーションクライアントの実行

3章 Enterprise Java Beansのアーキテクチャ

  • 3.1 EJBのアーキテクチャ
    • 3.1.1 EJBのアーキテクチャにおけるさまざまな要素
    • 3.1.2 EJBの構成
  • 3.2 アプリケーションサーバを利用するメリット
    • 3.2.1 トランザクション管理
    • 3.2.2 セキュリティ管理
    • 3.2.3 分散オブジェクト管理
    • 3.2.4 インスタンスプール
    • 3.2.5 外部ソース管理
    • 3.2.6 まとめ
  • 3.3 ローカルインターフェースとリモートインターフェース

第4章 セッションBean

  • 4.1 セッションBeanの役割
  • 4.2 ステートフルとステートレスセッションBeanの違い
  • 4.3 ステートフルセッションBean
    • 4.3.1 ショッピングカートセッションBean
    • 4.3.2 ステートフルセッションBeanのライフサイクル
    • 4.3.3 非活性化と活性化
    • 4.3.4 createメソッド
    • 4.3.5 例外
    • 4.3.6 環境エントリへのアクセス
    • 4.3.7 isldenticalメソッド
    • 4.3.8 セッションBeanのハンドル
  • 4.4 ステートレスセッションBean
    • 4.4.1 ステートレスセッションBeanのサンプル
  • 4.5 本章のまとめ

第5章 エンティティBean

  • 5.1 エンティティBeanの基礎
    • 5.1.1 エンティティBeanの仕組み
    • 5.1.2 O-Rマッピングの概念
    • 5.1.3 O-Rマッピングの手順
    • 5.1.4 コンテナ管理による永続性(CMP)とBean管理による永続性(BMP)の違い
  • 5.2 エンティティBeanの構造
    • 5.2.1 ホームインターフェース
    • 5.2.2 コンポーネントインターフェース
    • 5.2.3 クライアントから見たエンティティBeanのライフサイクル
    • 5.2.4 エンタープライズBean
    • 5.2.5 エンティティBeanのライフサイクル
    • 5.2.6 プライマリキークラス
    • 5.2.7 クライアント
    • 5.2.8 デプロイメント記述子
    • 5.2.9 サンプルのパッケージング/配備/実行
  • 5.3 コンテナ管理による永続化
    • 5.3.1 コンテナ管理によるフィールド変数の永続化(CMPフィールド)
    • 5.3.2 コンテナ管理による関係の永続化(CMRフィールド)
    • 5.3.3 エンティティBean間の関係
    • 5.3.4 関係の整合性の維持
  • 5.4 再入可(reentrant)と再入不可(non-reentrant)
    • 5.4.1 EJBのトランザクション
    • 5.4.2 再入
  • 5.5 ハンドル
    • 5.5.1 エンティティBeanのハンドル
    • 5.5.2 エンティティホームハンドル
  • 5.6 Bean管理による永続性(BMP)

第6章 トランザクション

  • 6.1 トランザクションの基礎
    • 6.1.1 トランザクションとは?
    • 6.1.2 ロック
    • 6.1.3 アイソレーションレベル
    • 6.1.4 明示的な排他ロック
  • 6.2 長期的なロック
    • 6.2.1 悲観的なロック
    • 6.2.2 楽観的ロック
  • 6.3 EJBにおけるトランザクション制御の設定
    • 6.3.1 Bean管理によるトランザクション区切り(BMTD)とコンテナ管理によるトランザクション区切り(CMTD)
    • 6.3.2 EJBにおけるアイソレーションレベルの設定
    • 6.3.3 Bean管理によるトランザクション区切り(BMTD)
    • 6.3.4 コンテナ管理によるトランザクション区切り(CMTD)
  • 6.4 ロック戦略の立て方

第7章 エンタープライズBean環境

  • 7.1 エンタープライズBean環境
  • 7.2 環境エントリ
    • 7.2.1 環境エントリとは
    • 7.2.2 環境エントリの記述
    • 7.2.3 環境エントリの利用方法
    • 7.2.4 パラメータを渡すそのほかの方法
  • 7.3 EJB参照
    • 7.3.1 デプロイメントデスクリプタ内でのEJB参照の設定方法
    • 7.3.2 ejb-link要素
  • 7.4 リソースマネージャコネクションファクトリ参照
    • 7.4.1 リソースマネージャコネクションファクトリとは
    • 7.4.2 リソースマネージャコネクションファクトリ参照を用いた,リソースマネージャコネクションファクトリの取得
    • 7.4.3 デプロイメント記述子内でのリソースマネージャコネクションファクトリ参照の設定方法
    • 7.4.4 リソースマネージャコネクションファクトリ参照を用いた,Java Mailコネクションファクトリの取得
    • 7.4.5 リソースマネージャコネクションファクトリ参照を用いたURLコネクションファクトリの取得
  • 7.5 リソース環境参照

第8章 セキュリティ

  • 8.1 EJBにおけるセキュリティ
  • 8.2 セキュリティの基礎
    • 8.2.1 サブジェクトとプリンシパル
    • 8.2.2 ロール
  • 8.3 EJBのセキュリティアーキテクチャ
    • 8.3.1 メソッドに対するアクセス権の設定
    • 8.3.2 プリンシパル伝播
  • 8.4 セキュリティ管理のBean内のコーディング
    • 8.4.1 セキュリティロール参照の定義
  • 8.5 JBossのセキュリティアーキテクチャ
    • 8.5.1 JBossセキュリティアーキテクチャの概要
    • 8.5.2 Webクライアントによる認証
    • 8.5.3 JBossに標準で組み込まれた認証機能の利用

第9章 EJB QL

  • 9.1 finderメソッド
  • 9.2 selectメソッド
  • 9.3 SELECT〜FROM
  • 9.4 WHERE句と入力パラメータ
  • 9.5 パス式
  • 9.6 MEMBER OF句
  • 9.7 パス式を用いたEJB QLのサンプル1
  • 9.8 パス式/IN句/MEMBER OF句を用いたEJB QLのサンプル2
  • 9.9 DISTINCT句
  • 9.10 演算子/論理演算子/関係演算子
  • 9.11 BETWEEN句
  • 9.12 IN句
  • 9.13 LIKE句
  • 9.14 IS NULL句
  • 9.15 IS EMPTY句
  • 9.16 関数
  • 9.17 3値論理
  • 9.18 EJB QLのサンプル3

第10章 メッセージドリブンBean

  • 10.1 非同期によるメッセージ交換
  • 10.2 JMS API
    • 10.2.1 コネクションファクトリとJMSコネクション
    • 10.2.2 パブリッシュ/サブスクライブ型とポイント・ツー・ポイント型
    • 10.2.3 セッション
    • 10.2.4 メッセージプロバイダとメッセージコンシューマ
    • 10.2.5 JMSメッセージ
    • 10.2.6 同期受信と非同期受信
  • 10.3 JBossにおけるJMSの設定
    • 10.3.1 コネクションファクトリ
    • 10.3.2 デスティネーション
  • 10.4 メッセージ配信完了通知とトランザクション
    • 10.4.1 メッセージ配信完了通知
    • 10.4.2 トランザクション
  • 10.5 メッセージセレクタ
  • 10.6 JMSのサンプル
    • 10.6.1 パブリッシュ/サブスクライブ型のサンプル
    • 10.6.2 ポイントツーポイント型のサンプル
  • 10.7 メッセージドリブンBean
    • 10.7.1 メッセージドリブンBeanのサンプル
    • 10.7.2 メッセージドリブンBeanのためのデプロイメント記述子への設定
    • 10.7.3 メッセージドリブンBeanのライフサイクル
  • 10.8 エンタープライズBeanからJMS APIへのアクセス
    • 10.8.1 JMSコネクションファクトリの取得
    • 10.8.2 JMSデスティネーションの取得
    • 10.8.3 セッションBeanを用いたメッセージパブリッシャとメッセージセンダのサンプル