写真1●ウィザードに従って処理の内容を選択していけば,処理の流れを定義するXMLファイルを作成できる
写真1●ウィザードに従って処理の内容を選択していけば,処理の流れを定義するXMLファイルを作成できる
[画像のクリックで拡大表示]

 NTTデータは「ITpro EXPO 2008」で,業務アプリケーション向けJavaフレームワーク「TERASOLUNA Server Framework for Java 2.0.0.2(Server Framework)」と「TERASOLUNA Batch Framework for Java 2.0.0.1(Batch Framework)」のデモを実施している。

 TERASOLUNAは,同社がシステム開発に使用している独自フレームワーク。オープンソースのDI(Dependency Injection)フレームワーク「Spring Framework」をベースに,業務アプリケーション作成用に特化したもの。典型的な処理モデルをあらかじめ定義してあり,XMLファイルに業務処理の流れを記述することでアプリケーションを作成できる。データベース・アクセスにはO/Rマッパー「iBATIS」を利用しているので,業務ロジックとSQL文を分離できる。

 Server FrameworkにはWebアプリケーションに向けたWeb版と,クライアント/サーバー型アプリケーションに向けたRich版がある。Web版はWebアプリケーション・フレームワーク「Apache Struts」でユーザー・インタフェースを作成する。Rich版はJava SE標準のGUIツールキット「Swing」を利用する。Batch Frameworkは,バッチ処理向けのフレームワーク。いずれも2008年1月29日にオープンソース・ソフトウエアとして公開したばかり(ダウンロード・ページはこちら)。Server Frameworkは2007年11月に公開したものに続く新バージョン。

 展示ブースでは,独自開発のEclipseプラグイン(未公開)を使ってバッチ・アプリケーションを作成するデモを披露した。ウィザードの指示に従って処理の内容を選択していけば,処理の流れを記述したXMLファイルを自動的に生成できる。同社では今後,.NET Framework対応版や,Webのユーザー・インタフェースにAJAXを利用したバージョンなどを公開していく予定だ。

 かつて,バッチ・アプリケーションはアプリケーションの実行速度が遅いJavaには不向きな処理と言われていた。しかし,最近はハードウエアやJava仮想マシンの処理能力が向上してきたため,バッチ・アプリケーションをJavaで作成しようという動きが盛んになっている。Batch Frameworkは,トランザクション管理,非同期ジョブ実行,ジョブ実行管理など,性能を上げにくい部分をマルチスレッド化などの手法で高速化し,機能をカプセル化したもの。フレームワークを利用する開発者はマルチスレッド化などの難解な技術を使うことなく,高性能なバッチ・アプリケーションを作成できるという。

 Javaのバッチ用フレームワークには「Spring Batch」というオープンソース・ソフトウエアのほか,商用製品も登場している。ただし,NTTデータのようなシステム・インテグレータが自社開発のバッチ・フレームワークを公開する例は「ほかにないのでは(NTTデータ技術開発本部ソフトウェア工学推進センタの高橋和也氏)」という。

■変更履歴
記事中の本文で当初,「データベース・アクセスにはO/Rマッパー「iBATIS」を利用しているので,業務ロジック記述時にSQL文を作成する必要がない」としていましたが,「データベース・アクセスにはO/Rマッパー「iBATIS」を利用しているので,業務ロジックとSQL文を分離できる」です。お詫びして訂正します。本文は修正済みです。 [2008/02/01 14:00]