S2JavelinとArrowVision

 S2JavelinArrowVisionは後輩の速川さんが中心になって開発しているもので、Seasar2によって開発したアプリケーションの動作をシーケンス図化してくれます。


 ArrowVision:ある形式のログを入力としてシーケンス図化するプロダクト
 S2Javelin :TraceInterceptorの出力形式をArrowVisionで表示可能な形式にするもの


 そもそもは、ArrowVisionを開発しているときに、「これってS2のTraceInterceptorの出力形式を変えればS2で開発したアプリケーションも簡単にシーケンス図化できるのでは?」という一言から始まり、S2Javelinが作成されました。

 実際に私のS2JSF/S2/S2Daoを使ったプロジェクトでも重宝しています。
 
 まず、何よりも設定が簡単(S2AOPの威力ですね)。

  1. S2Javelinのjarを配置する
  2. InterceptorChainにS2JavelinのInterceptorを追加する
  3. log4j.propertiesに設定を一部追加する

 以上で完了です(約5分)。


 後はアプリケーションを動作させるとログが出力されるので、ArrowVisionを起動してドラッグ&ドロップすればシーケンス図が表示されます。


 S2で開発したアプリケーションをデバッグする時には、TraceInterceptorのログでメソッドのIN/OUTが確認できますが、やはり文字だけだと見にくいですからね。図で視覚化されると見易さが10倍?増しになります。


 実際にはデバッグだけでなく、プログラムのレビューに使えます。ArrowVisionはシーケンス図を画像として出力できるので、印刷してチェックできます。中国で開発したものを確認する場合とか。また、S2の動作理解(教育)にも役立ちそうです。

 近々公開される予定のようなので、皆さんに使ってもらえると良いですね。