top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
仕様書からソースコードを自動生成する blanco Framework のプロダクト群のなかで、フラッグシップ・プロダクトのひとつである blancoValueObject の最新版をリリースしました。
仕様書からソースコードを自動生成する blanco Framework のプロダクト群のなかで、フラッグシップ・プロダクトのひとつであるblancoValueObject の最新版 (1.1.3) をリリースしました。(今回リリースするのは Java版のみです。C#.NET版および PHP版については、今回のリリース対象には含まれません。)
関係者による最終チェックが終わり次第、正式リリースとします。
この日記を書いた時点では 出荷候補版(RC1) 扱いとします。
blancoValueObject を使うと、「バリューオブジェクト定義書」という 設計書 (Excelブック)から Javaソースコードを自動生成することができます。blancoValueObject は、ドキュメントを作成する必要があるソフトウェア開発プロジェクトにおいて、導入が簡単で、しかも生産性・保守性を大きく向上することができる、非常に有益なプロダクトのひとつだと考えています。
今回のバージョンアップ内容は以下のようになります。
バリューオブジェクト定義書のフィールドについてジェネリクスに対応
「継承」への対応
「実装」への対応
デフォルト値について、設計書上の値を暗黙変換するのか 明示的に指定するのかについて、選択可能なように改善
設計書様式の変更 (残念ながら、設計書の下位互換性はありません)
Java 実行環境 1.5 以降が必要です (今回から Java 1.4.2 では動作しなくなりました) →Java 1.4を利用している方は、引き続き旧バージョンを利用してください。
Eclipse 3.2 以降が必要です (今回から Eclipse 3.0 および 3.1 では動作しなくなりました) →Eclipse 3.0, 3.1 を利用している方は、引き続き旧バージョンを利用するか、あるいは Antタスクを利用してください。
身近なところでは利用していたのですが、一般向けリリースの実施をすっかり失念していました。
blancoValueObject は ソースコード自動生成系のなかでも、私自身が重宝しているプロダクトです。そして フレームワーク開発者のみならず、一般のソフトウェア開発においても有益なものであると考えています。もし、このドメインについてまだ自動生成に取り組んでいない方は、ぜひ試用されることをお勧めします。ドキュメント作成の義務があるソフトウェア開発において、この領域を設計書(あるいは設計情報)とソフトウェアの間で自動化を実施しないということは、とても無駄で不利な状況であるものと考えられるからです。
特にバリューオブジェクトは、仕様変更の発生しやすい、あるいは設計情報と確実に一致していなくてはならないものを表現することが多いので、設計情報とのソフトウェア自動化は、是が非でも実施しておきたいところです。そして一般的に、このドメインは、blanco Framework を利用しているか利用していないのかにかかわらず、普通は何かしらの方法で設計情報からのソフトウェア自動化を図っているはずです。もし何も取り組んでいないのであれば、それは他者に比べ、かなり不利な状況だと考えられることでしょう。
ちなみに、私の重宝レベル的には blancoAntTask もスコアが高いもののひとつです。
blancoAntTask を利用すると、AntTask定義書という設計書から以下のようなソースコードが自動生成されるものです。自動生成されたソースコードを実装(implements)することにより、処理内容そのものをプログラミングするだけで バッチ兼 Antタスクのプログラムを作成することができます。
Java バッチの抽象クラスと Apache Ant タスクの抽象クラスが自動生成される →ひとつの定義書で、そしてひとつのプログラムで、Javaバッチと Apache Ant タスクとを同時にカバーすることができます。
必須チェックや型チェックなどの各種入力チェックが、自動生成されるソースコードに含まれる →これは Javaバッチや Antタスクを作成する際につきまとう、とても面倒なプログラミングです。これがソフトウェア自動化されるのです!
設計情報から JavaDoc が自動生成される
Ant タスク拡張に必要な XML ファイルが自動生成される →意外にも、この部分の自動生成は 非常に有益です。
実行時には、各種 jarランタイムなどは必要ありません。
でも、Antタスクや Javaバッチを開発するといったソフトウェア・ドメインは、従事している人口も少なく、人は少ないので ニーズも少ないものと思われます。こちらはニッチ向けプロダクトですね。もちろん、blancoAntTaskを用いれば、適切に設計書が作成され保守されつづけるという blanco Framework デフォルトのメリットも享受することができます。
、、、 blancoAntTask も、最新版の一般向けリリースが まだ実施されていないことに気がつきました。近日中に作業しようと思います。