ソースコード自動生成の黒歴史を塗り替えるブランコ
Excelからプログラムを作る多言語対応オープンソース


NTTデータ ビジネスブレインズ
伊賀敏樹
2007/12/25


blanco Frameworkのツール一覧

 それでは、blanco Frameworkにはどのようなツールが含まれているのかをカタログ的に紹介します。なお、blanco Frameworkの各ツールには完成度の高いものから低いものまで、完成度にかなりのバラツキがある現状があります。この点につきまして、あらかじめご了承くださいませ。

 目安としては、ホームページやドキュメント(Microsoft Word形式)が整備されているものほど完成度が高いものと思ってください。この点については、平均的なオープンソースプロダクトと同じような傾向だと思っています。

ソースコード自動生成タイプ

 いままで説明してきたように、blanco Frameworkが主に取り組んでいるのはソースコード自動生成タイプのツールです。Excelブックを入力とするソースコード自動生成には、以下のようなものがあります。

表2 blanco Framework ツール一覧(すべてAntタスクで利用できEclipseプラグインがある)
ツール名 内容 出力
blancoAntTask 「AntTask定義書」からApache Antで動作するAntタスクのためのソースコードを自動生成(blanco FrameworkのツールのほとんどはblancoAntTaskが自動生成したソースコードを利用) Java
blancoBatchProcess 「バッチ処理定義書」からバッチ処理のためのソースコードを自動生成 Java
blancoCharacterGroup 「文字グループ定義書」から文字グループを扱うソースコードを自動生成 Java、C#.NET、JavaScript、VB.NET、PHP、Ruby、Python
blancoConstants 「定数定義書」から定数クラスのソースコードを自動生成(blanco Frameworkのツールのほとんどは、このblancoConstantsが自動生成したソースコードを利用) Java
blancoCsv 「ファイル定義書(CSV)」からCSVファイル入出力のためのソースコードを自動生成 Java、C#.NET
blancoDb 「SQL定義書」からDB入出力のためのソースコードを自動生成
blancoDb Enterprise Edition(Java用):JDBCベースのソースコードを生成

blancoDbDotNet(C#.NET用):ADO.NETベースのソースコードを生成

blancoDbPhp(PHP用):PDOベースのソースコードを生成
Java、C#.NET、PHP
blancoFixedLength 「ファイル定義書(固定長)」から固定長ファイル入出力のためのソースコードを自動生成 Java、C#.NET
blancoMessage 「メッセージ定義書」からメッセージを扱うソースコードを自動生成(blanco FrameworkのツールのほとんどはblancoMessageが自動生成したソースコードを利用) Java、C#.NET、JavaScript、VB.NET、PHP、Ruby
blancoResourceBundle 「リソースバンドル定義書」からプロパティファイルおよびリソースバンドルアクセスを行うソースコードを自動生成 Java、プロパティファイル
blancoService 「サービス定義書」からWebアプリケーションサーバで動作する常駐プログラムのソースコードを自動生成 Java
blancoSOAP 「電文処理定義書」および「電文定義書」からWebサービスを利用するためのソースコードなどを自動生成 Java、C#.NET、WSDL(XML)、XSD(XML)
blancoStringConverter 「文字列変換定義書」から文字列変換のためのソースコードを自動生成 Java、C#.NET、JavaScript、VB.NET、PHP、Ruby、Python
blancoStringGroup 「文字列グループ定義書」から文字列グループを扱うソースコードを自動生成 Java、C#.NET、JavaScript、VB.NET、PHP
blancoStruts 「画面定義書」からStruts用のソースコードを自動生成 Java
blancoValueObject 「バリューオブジェクト定義書」からバリューオブジェクトを扱うソースコードを自動生成(blanco FrameworkのツールのほとんどはblancoValueObjectが自動生成したソースコードを利用)
blancoValueObject(Java用)
blancoValueObjectDotNet(C#.NET用)
blancoValueObjectPhp(PHP用)
Java、C#.NET、PHP
編集部注blancoCSVについて詳しく知りたい読者は、「お決まりコードを設計書から自動生成するblancoCsv」をご参照ください。

 これ以外にExcelブック以外のものを入力とする各種自動生成ツールもあります。

表3 blanco Frameworkツール一覧(すべてAntタスクで利用できるが、Eclipseプラグインはない)
ツール名 内容 出力
blancoBcel 「Java classファイル」からバイトコードかテキストを自動生成。classファイルの解析を手軽に実施したい場合などに便利 バイトコード、テキスト
blancoJUnit 「JUnitテストクラス」から、「単体テスト仕様書」というExcelブックを自動生成 Java、単体テスト仕様書(Excel)
blancoJni 「Java classファイル」から、それを呼び出すために必要なJNIソースコード(C++)を自動生成(現状では、自動生成されたソースコードをスケルトン的に利用) C++

ライブラリタイプ

 blanco Frameworkでは、ソースコード自動生成以外のジャンルにも取り組んでいます。

 それらの取り組みの中で、通常のライブラリ形式によるツールの提供を行っています。なお、blanco Frameworkが提供するライブラリ形式は基本的にJava言語用のものになります。

表4 blanco Frameworkツール一覧(自動生成以外のツール)
ツール名 内容 入力 出力
blancoLog ログにまつわるクラスを集めたクラスライブラリ。java.util.loggingをApache Commons Loggingの代わりに利用できるようにするためのクラスなどいくつかの便利なクラスが含まれる なし なし
blancoMailCore メール送受信を安全で確実に実現するためのコアライブラリ なし なし
blancoReport OpenOffice.org経由でExcel形式またはPDF形式の帳票を作成するAPIセットおよびコマンドを提供。OpenOffice.orgを利用してドキュメント形式変換処理を行いたい場合に有益。Antタスクあり Excel Excel 帳票(Excel、PDF)
BlancoSqlEditorPlugin SQL文を整形するEcilpseプラグイン。Eclipse上でsql拡張子と関連付けられたSQLエディタとして動作 SQL なし
blancoSqlFormatter SQL文を整形するためのライブラリ。単純な構造なので、アプリケーションに簡単に組み込める SQL なし

Eclipse用 SQL整形プラグイン

 表4にあるように、変わったところではEclipse用のSQL整形プラグインとそのライブラリを提供しています。

 意外だと思われるかもしれませんが、いまのところblanco Frameworkが提供するツールの中で最もダウンロード数が多いのは、このSQL整形プラグインとそのライブラリです。

セットアッププログラム

 blanco Frameworkが提供する変わり種ツールの1つとして、BlancoEclipseDistributionがあります。BlancoEclipseDistributionは、Eclipse SDK、Eclipse 言語パック、数本のプラグインをWindowsインストーラ形式で提供します。インストーラでEclipseがインストールできると便利ですよね。こちらはblanco Frameworkの Eclipseプラグイン一式を配布するという目的も負っています。

図8 BlancoEclipseDistributionのインストール画面
図8 BlancoEclipseDistributionのインストール画面

 BlancoEclipseDistribution自体はInno SetupというオープンソースのWindows用インストーラ作成ソフトで開発されています。

 また、インストーラを作成するためのセットアップスクリプト自体もオープンソースで公開しています。このスクリプトを基に、あなた専用のEclipseインストーラを開発することだってできるようになっています。

ソフトウェア開発改善のためのアプローチの1つとして

 ソースコード自動生成に関する話題、そしてそれを実現するオープンソース開発フレームワークであるblanco Frameworkを紹介してきましたが、いかがだったでしょうか?

 私たちが取り組んでいるソフトウェア開発の多くは、単一のアプローチによって改善できるほど単純なものではないのでしょう。ソフトウェア開発を改善するためのアプローチの1つとして、ソースコード自動生成に取り組んでみることを、強く推奨します。

 そして、ソースコード自動生成に興味を持たれましたら、ぜひblanco Frameworkも試用してみてください。blanco Frameworkがあなたのお役に立つことができれば幸いです。

@IT関連記事

JavaとOSSの最新事情を探る OSC 2007
オープンソース イベントレポート 
先日開催されたOSCからJava、ソース自動生成ツール、Firefox、地図サービス、Geronimo、JBoss Seamに関するセッションを紹介
Java Solution」フォーラム 2007/3/26
Web 2.0アプリ自動生成ツール“Tuigwaa”
ユーザー自らDB連動型のWebアプリを作る エンジニアではない一般ユーザー自らが、ブラウザの操作だけで簡単にWebアプリを作れるソフトウェア“Tuigwaa”を紹介する
リッチクライアント & 帳票」フォーラム 2006/6/23


プロフィール
伊賀 敏樹(いが としき)
ハンドル:いがぴょん

1968年生まれ。現在、NTTデータ ビジネスブレインズ 第一SI事業部 ソリューショングループ所属。システム開発の技術支援などに従事する。仕事におけるJava言語とのかかわりは1998年から。 現在 blanco Frameworkというオープンソースによるソースコード自動生成タイプの開発フレームワーク提供に取り組んでいる。 趣味はヴァイオリン演奏。アマチュアオーケストラで演奏することもある。

ホームページ
いがぴょんの日記ウェブページv2(1996年から続けているWeb日記)

所属団体
blanco Framework(コミッタ)

主な著書
やさしく学ぶ基礎からのJDBC
Javaプログラミング[アプリケーション編]ステップアップラーニング

1-2-3-4

 INDEX 特集「Excelからプログラムを作る多言語対応オープンソース 」
  Page1
  開発現場の夢をかなえるブランコ
ソースコード自動生成の弱点を克服するために
コラム 「貧弱なコンピュータでソースコード自動生成をしてはいけない!?」
コラム 「設計情報とソースコードとを乖離させない工夫」
  Page2
  設計書からソースコードを自動生成する4つのメリット
コラム 「ソースコード自動生成とDI/AOP」
blanco Frameworkならではの7つの特徴
  Page3
  コラム 「有償サポートもある」
blanco Frameworkでソースコードを自動生成するために必要な環境
コラム 「Ruby on Railsとの違い」
Page4
  blanco Frameworkのツール一覧
ソフトウェア開発改善のためのアプローチの1つとして


Java Solution全記事一覧



Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間