【レポート】
|
|
電通国際サービス 開発技術センター 統括マネージャー(Seasarファウンデーション Chief Committer) 比嘉康雄(ひがやすを)氏 |
UMLモデリング推進協議会(UMTP/Japan)は14日および15日、大手町サンケイプラザにおいてモデリングに関するフォーラム「Modeling Forum 2006」を開催した。同フォーラムでは2日間にわたってUML、モデリング、SOA、SOX法、内部統制などに関する幅広いセッションが催される。ここでは、電通国際サービス 開発技術センター 統括マネージャー(Seasarファウンデーション Chief Committer)比嘉康雄(ひがやすを)氏によって発表された「EJB3時代のアーキテクチャパターン」についてとりあげたい。
Webアプリケーションにおける従来のJavaの開発は、いわば「レイヤモデルアーキテクチャ」、と同氏は説明する。レイヤそれぞれに役割があり、それに徹するというものだ。プレゼンテーション層、サービス層、データアクセス層、ドメインモデルのように層がわかれ、レイヤの間をモデルが流れるという仕組みである。これらフレームワークにはいくつか問題が指摘されている。代表的な問題は次のとおり。
サービス層ではPOJO(Plain Old Java Object)が使われることが多く、実装はインターフェースに依存していることが多い。トランザクション制御(DIコンテナのAOPを利用)やドメインモデルと永続コンテキストの関連付け、ドメインモデルロジックの呼び出し、ドメインモデルをDAOから取得するなどの作業をおこなう。
サービスはアクションごとに1つづつ作成することが多く、多くの場合サービス同士は関連を持たない。仕様を明示する意味でインターフェースを使うことが多いが、同一のユースケース内での採用であればインターフェースの必要は薄いかもしれないという。
データアクセス層(DAO: Data Access Object)ではHibernateが代表的なフレームワーク。フレームワークに依存した実装になるのが特徴的。DAOはテーブルごとに作成され、複数のサービスから利用されることが多い。DAO同士は関連を持たない。実装にインターフェースが採用されるのは、試験時と本番時で実装を入れ替えることが容易という理由がある。
ドメインモデルもサービスと同様、POJOが採用されることが多い。ツールによって抽象クラスが自動生成され、その抽象クラスを継承して業務ロジックを記述するといったやりかたをする。ドメインモデルではこれまでと異なり、インタフェースを使わないことが多い。これは直接実装をnewすることが多いことや、状態(プロパティ)へのアクセスが多いため、インタフェースはあまり適さないためである。
DIコンテナはオブジェクトの生成や関連を管理するプロダクトで、各層のオブジェクトを関連付ける働きをする。代表的なフレームワークとして同氏はSpirng FrameworkやSeasar2をあげている。問題は設置が面倒なことが多いということだ。
これらレイヤモデルアーキテクチャは、最初に述べたようにプレゼンテーション層における問題点がそのまま全体の問題となる。
| トマトを食べれば痩せられる!? -京大ら、新発見の成分で肥満改善効果を実証 [21:00 2/10] |
| JAXA、液体シリコン中に残存する共有結合を観察 -大口径ウェハの実現に期待 [20:11 2/10] |
| NEDOなど、熱膨張が小さな樹脂複合材料ペレットの量産化に成功 [19:22 2/10] |
| 理研、一般顕微鏡を蛍光顕微鏡に強化できるアダプタを試作して性能を実証 [19:15 2/10] |
| 天の川のブラックホールが小惑星を飲み込んでいる - NASAが発表 [18:08 2/10] |
|
元タカラジェンヌの真琴つばさ、昼ドラで大御所・小林幸子とガチンコ対決! [11:30 2/11] エンタメ |
|
入院・手術でかかるお金は? [11:15 2/11] キャリア |
|
[長谷川潤]パンダ出産に「私もいつか…」と 映画「51」で初ナレーション [11:13 2/11] エンタメ |
|
坂本教授、木の光合成に着目した不思議な音楽的挑戦!『ETV特集』 [10:08 2/11] キャリア |
|
バロックで異端!水墨画の巨匠、雪村周継の神業に迫る! [10:07 2/11] キャリア |