-私的イメージ(2)-ナナシナー(仮称)

「名前が無いので呼びにくいあの人」は仮にナナシナーとでもしておきましょう。とりあえずGoogleではヒットしませんので仮名としてOK。
ナナシナーはサーブレットとして提供されるべきです。しかし、JSFのフロントエンドにおくのが最終目的でもありますから、もしかすると直接ViewHandlerとして実装できるようにサーブレット部分と、処理部分は独立した構造にします。こうすることによって、ダイナミックな処理だけでなく、Antタスクでラップするとか、いろいろつぶしが利くことでしょう。要件としてあげた中、ひとつの私的推奨案をまとめると、気が変わって、HTMLを基本としたいと思います。そしてそのHTMLをサーブレットJavaソースコードに変換し、コンパイルします。このあたりの仕組みはJasperを大いに参考にして詳細設計。
大丈夫!去年、WinCE上で動くCによるJasper with ECMAScript without Javaという謎なエンジン(WinCEで動くTomcatモドキ、ただしCatalinaは無しというもの)を弊社のかとちん氏につくらせてた経験から言うと、意外に素敵なモノが作れるレベルの話です。決して壮大な話ではありません。プリプロセッサも考えましたが、同期やプリプロセス結果の引渡しなどで、あとでハマル可能性がありそうなので処理構造はシンプルにしたほうがいいと思います。当然、Javaソースコードを生成するところの処理はドライバ化して、メモリ上にノードツリーを生成するドライバと切り替えられるようにします。それはEclipseプラグイン対応のためです。