本日、およそ5年半ぶりとなる Wagby のメジャーバージョンアップを実施しました。開発スタッフの皆さん、よくやりきってくれました。本当にごくろうさまでした。
さようなら Excel - Wagby定義ファイルはリポジトリへ
最大の特徴は、開発スタイルが変わったことです。Wagbyは一貫してExcelを仕様書フォーマットとして使ってきました。これをWagby定義ファイルと呼んでいました。これは簡単に試してみるという段階では受けがいいのですが、大規模開発では次のような問題を抱えていました。
- 1つのExcelファイルのサイズが巨大になる。
- 定義の妥当性を検証する「チェック」のためのVBAの処理時間が遅い。
- チームで開発する場合、ファイルの共有方式しかないため面倒。
- 誰がどこを修正したかという履歴もとりにくい。
- バイナリファイルのため修正の差分がわかりずらい。バージョン管理システムとの相性もよくない。
- マイクロソフト社のパッチによって、VBAが動作しなくなることがある。
- 開発は Windows マシンでしか行えない。
R7では Excel に代わり、テキストベースの設計情報 - これを「リポジトリ」といいます - を核に、この編集インタフェースを Web にしました。この Web ベースの定義スタイルは快適で、開発スピードが増すことを実感しています。開発機の OS を選ばないため、私の Mac でも開発ができるようになりました!
さようなら Struts - 内部フレームワークの刷新
Wagby はこれまで Struts 1 系をコントローラとして使ってきました。しかしアーキテクチャが古くさく感じられていました。とうとう Struts そのものも EOL となり、新しい形を模索してきました。
R7 では Spring 3 を中核に据えます。Spring MVC と Hibernate 4 を使っています。さらにジェネリクスを多用し、これまで生成していたコードをフレームワーク側に引っ越すことで、生成コード量を削減するとともに、カスタマイズの自由度を上げるという方針で再構築しました。これによってビルド時間も短縮化され、ソースコードも読みやすくなっています。
さようなら IE 6 - ユーザーインタフェースの刷新
R7 から、とうとう IE 6,7,8 をサポート対象外とさせていただきました。(まだ一部で残っていますが)近い将来、 Quirks モードを完全にやめ、HTML 5 標準技術でユーザーインタフェースを実現します。JavaScript と CSS3 だけで業務画面を構築していくのが Wagby の方針です。
ようこそ REST API - さらなる拡張性の実現
Spring MVC 化にあわせて、REST API の自動生成もできるようになりました。これによって .NET や PHP, iOS や Android OS ベースのネイティブアプリケーションから REST API 経由で Wagby にアクセスできるようになります。自動生成された画面ではなく、独自の画面を使いたいというニーズは少なくありません。エンタープライズ分野ではさまざまな画面系開発ツールも存在します。Wagby はこのような多様性を大切にしたいと考えています。
REST API の設計は難航しました。複合キーの扱いも前例が少ないため、私たちの方で試行錯誤しながらスタイルを固めています。今後、API の形は時代に合わせて変わるかも知れませんが、REST API は提供し続けるつもりです。
これから新機能の開発がはじまります
R7 の開発はこれまで、過去版との互換性を維持しながら内部を変えるということに力を集中してきました。これからは新機能の開発に入ります。ポータル機能やスマートフォン対応強化、ワークフローエンジンの見直しなど多くの計画があります。これらの実現をとおして、Wagby がさらに多くのところで使われていくだろうと思うと、楽しみです。
おまけ - Web サイトも刷新しました
Wagby R6 の登場から運営してきた wagby.com サイトのリニューアルもあわせて行いました。新デザインは bootstrap という CSS フレームワークをベースにした HTML 5 のテンプレートを使っています。調べたところ、現行サイトはマニュアルを含め 900 ファイル以上もありました。これを一つずつ、R7 向けに合わせて更新していきます。マニュアルも製品の一部であり、未購入者の方でも(無償提供されているトライアルキットをとおして)全機能を試すことができるというのが Wagby のアピール方法です。是非とも、お試しください。