Advanced Server‐Side
Programming
J2EEプログラマのための
EJBパーフェクトガイド

吉原 洋平 著
技術評論社 発行
2003年5月
497ページ
4074円(税込)
標準J2EEテクノロジー 1
基礎から学ぶEJB

Martin Bond,Dan Haywood,Debbie Law,
Andy Longshaw,Peter Roxburgh 著
トップスタジオ 訳
ウルシステムズ株式会社 千菊 健,宮田 泰宏,
小森 美智子,早川 秀利,中村 記子 監修
翔泳社 発行
2003年4月
498ページ
5040円(税込)
J2EEパターン
――明暗を分ける設計の戦略

Deepak Alur,John Crupi,Dan Malks 著
ウルシステムズ株式会社 監訳
ピアソン・エデュケーション 発行
2002年8月
436ページ
5460円(税込)
EJBアンチパターン
Bruce Tate,Mike Clark,
Bob Lee,Patrick Linskey 著
トップスタジオ 訳
日経BP社 発行
2004年1月
430ページ
3990円(税込)

EJBは最初に全体像をつかんでおこう

 ある程度の規模のWebシステムでは,メッセージ・キューイングといったメッセージ・サービスを利用することがあります。データベース・アクセスやメッセージ・サービスを確実に処理できるようにトランザクション制御も必要になります。EJBはこれらの複雑な処理を簡単に設計/実装するための技術です。

 EJBが実際のシステム開発に利用されるようになってしばらくたちますが,いまだにEJBは難しいといった声が聞こえます。それにはいくつか理由があるのでしょうが,EJBのスペックの膨大さと,スペックを読んだだけでは実装のイメージができないことが大きいのではないかと思います。

 そこでお薦めなのが「J2EEプログラマのためのEJBパーフェクトガイド」です。本書の特徴は,EJBとは何かを軽く説明したあと,第2章ですぐに簡単なサンプルの作成に入る点です。このおかげで,早めにEJBの開発手順のおおまかな流れや技術の全体像をつかむことができます。サンプルはオープンソースのアプリケーション・サーバーであるJBossを前提にしているので,実際に動かしてみるのも難しくありません。サンプルを基にEJBの基礎的な部分を説明する一方で,後半ではトランザクションやロック戦略などを取り上げています。開発者の視点で実際に必要になるノウハウを紹介している点も教科書的な本とは異なるところです。初心者はもちろん,EJBの勉強に途中で挫折したという人に手にとっていただきたい一冊です。

 一方,EJBをはじめとするJ2EEの技術を体系的に網羅したければ「標準J2EEテクノロジー 1 基礎から学ぶEJB」をお薦めします。本書は先に紹介した「標準J2EEテクノロジー 2 基礎から学ぶJSP/サーブレット」の1巻目にあたり,2巻合わせて読むことでJ2EEのすべての技術が身に付くようになっています。1巻目である本書では,J2EEアーキテクチャが解決すべき課題からひも解き,J2EEの全体像,ネーミング/ディレクトリ・サービス,トランザクションやメッセージングなどの基盤技術,その上に成り立つ各種EJBまで幅広く解説しています。

J2EEパターンを覚えれば
設計も怖くない

 Javaの開発者として経験を積むにつれてアプリケーションの設計を任されることも多くなってきます。一般的な設計の手法についてはPart4に譲ることにして,最後にJ2EEに特化した設計の指針/パターンを学べる本を2冊紹介しましょう。

 最初に取り上げるのは「J2EEパターン」です。J2EEは複雑な技術であるだけに,単純にAPIを組み合わせて開発しているだけではパフォーマンスや保守性などに問題のあるシステムが出来上がってしまいます。そうした副作用を避けてJ2EEの恩恵をフルに享受するためには,多くの設計ノウハウが必要となります。本書では,実際の経験に基づく15のノウハウを,「文脈」「問題」「フォース」(要求/制約)「解決策」「結果」,およびサンプル・コードからなるパターン・カタログの形式で紹介しています。

 J2EEの基本的な設計方針を理解したい人は,まず本書の第6章までを通読するといいでしょう。後半のパターン・カタログの部分については,とりあえず各パターンの「文脈」「問題」「フォース」までの1~2ページくらいを読んで,頭に入れておくようにします。もし,実際の開発の中でいずれかの「文脈・問題・フォース」に当てはまる場面に出会ったら,その段階ではじめてパターンの残りの記述を通読して問題を解決するようにすればいいのです。このように問題駆動型でパターンの適用を行うことで,目的と手段を履き違えた“パターン・マニア”にならずに済みます。

 パターンは常に新しい状況や技術に応じて進化し続けています。すでに原書では第2版が出版されていますし,Sun Microsystemsのサイトなど各所で新しいパターンやパターンの改善について議論が進められています。本書を読んでJ2EEパターンの価値を感じられたら,ぜひそのような情報源に当たってみるといいでしょう。

 2冊目に紹介するのは,システム開発においてEJBを利用する際に陥りやすい誤りをまとめた「EJBアンチパターン」です。EJBはビジネス・ロジックを記述するためのアーキテクチャであり,フレームワークでもあります。言い換えれば,EJBにはあらかじめ想定された使い方というものがあるのです。設計における間違いの多くは,EJBの設計意図を無視したり,EJBの動作についての理解が不足していることが理由と言っても言い過ぎではありません。

 本書はEJBという技術を,どのような場面でどのように使うべきなのかを示してくれ,また読者にも考えさせてくれる本です。少し高度な内容なので,EJBの基礎を習得した上級のJava開発者にお薦めします。EJBを実際に使っている開発者が今後の開発のためにEJBを見つめなおすのによい本と言えるでしょう。