TERASOLUNAフレームワーク 検証

[ 2009.06.03 ]
システム名称 TERASOLUNAフレームワーク 検証 
業種 - 
言語・環境 Java SE5.0
Tomcat 5.5
PostgreSQL8.3.7
 
開発期間 2009.05 
概要

NTTデータが提供する「TERASOLUNA Server Framework for Java(Web版)」について
チュートリアルドキュメントを参考に簡易的なWebアプリを作成し検証を行った。
( TERASOLUNA 詳細はこちら:http://www.terasoluna.jp/ )

[ TERASOLUNA概要 ]
Struts、iBATIS、SpringフレームワークをベースとしたJava/JavaEEアプリケーション
向けフレームワークである。

[ TERASOLUNAの特徴 ]を一部抜粋
●DBアクセス
SQL文はiBATISの設定ファイルに定義することでアプリケーションと分離される。
「sqlMap.xml」に以下のような定義を行い、
 <select id="getUser" resultClass="java.util.HashMap">
 SELECT ID, NAME FROM USERLIST WHERE ID = #ID#
 </select>
業務ロジック側では
 UserBean user = queryDAO.executeForObject("getUser", param, UserBean.class);
という感じで呼ぶ。

あとデータベース接続のトランザクション管理はSpring側で管理されるため、
開発者が意識する必要はない

●入出力設定
・アクションフォームと業務ロジック間の値の入出力を設定ファイルで管理することができる
・設定ファイルの属性等に記述することで、プレゼンテーション層とサービス層間のデータの変換を自動化することができる。
以下に設定ファイルの記述例を示す。
(blogic-io.xml)
<action path="/logon">
  <blogic-params bean-name="java.util.HashMap">
   <set-property property="userId" blogic-property="uid" source="form" />
  </blogic-params>
  <blogic-result>
   <set-property property="USER_VALUE_OBJECT" blogic-property="uvo" dest="session" />
  </blogic-result>
</action>

※入出力設定ファイルに設定するアクションパス(ここでは/logon)は、struts-config.xmlに記述したアクションパスと同じものを設定する必要がある。
※「blogic-params」要素には入力に必要な変数を、「blogic-result」には出力結果を格納する変数を定義する。 「bean-name」にはビジネスロジックへの入力値オブジェクトを指定する。入力値がない場合は省略する。

[ 感想 ]
入出力値に関する情報を設定ファイルに集めることで各業務の独立性が高まり、 各業務開発者は作業を分担しやすくなると思われます。 上に挙げた2つのように設定ファイルの作成でフレームワーク側で行ってくれるので、 その分業務ロジックの簡素化も図れると思います。