Wagby Developer Day 2013 - 事例セッションの内容をまとめました

さった7月26日(金)に東京・秋葉原UDXで開催された「Wagby Developer Day 2013」は、Wagby の技術ならびに事例セッションを 14 テーマご用意しました。2 年目となる今年は 93 名の方にご参加いただき、懇親会「Wagby The Night!」も大盛況でした。北海道から沖縄まで、全国からご参加をいただき、ありがとうございました。会の終了後も「また、やってほしい。」「全国で開催してほしい。」など多くのお声をいただき、主催社として手応えを感じています。今後もこのような会を継続して実施していきます。

f:id:ynie:20130805105413g:plain

最も人気のあった事例セッションについて、このブログにまとめたいと思います。なお、この内容は各社が今後、計画している Wagby セミナーで再び発表される予定です。興味のある方はwagby.com トップページにある「R7体験セミナー」のリンクから各社セミナーページを辿ってください。(8月、9月に開催されます。)

Wagby強化プロジェクト - バッチ処理制御、帳票、BIツールとの連携方法

f:id:ynie:20130805105458g:plain

株式会社ソフトウェア・パートナー様では、Wagbyが生成したソースコードに手を入れるカスタマイズではなく、さらに別のツールと連携させることで(ノンプログラミング性をできるだけ維持しながら)アプリケーションを強化することに力を入れてきました。このセッションでは具体的なソリューションとして iDIVO, SP-iBR, Wagby for Biz/Browser, BIZTEL, JasperReport, MicroWebServer, アンテナハウスの文書管理といったツールが紹介されました。

iDIVOはセゾン情報システム様が提供するツールです。ソフトウェア・パートナー様が推奨する理由の一つとして、他の ETL ツールと比較してコストパフォーマンスが高いことがあげられました。例えば Wagby を用いて(現場から)収集したデータを集計する場合、複雑な業務では中間テーブルを使ったバッチ処理プログラムを開発する必要があります。iDIVOを使うことで、このようなバッチ処理ならびに同バッチを起動するジョブスケジューリングをまとめて管理できます。データを監視させておき、条件が成立したらバッチを起動するということもできます。

具体的な活用として、他社システムとCSV形式ファイルでデータ連携を行う例が紹介されました。iDIVOを使うことでグラフィカルな操作でCSVフォーマットの各項目を、Wagbyが管理するデータ項目にマッピングすることができます。データ形式の変換や複雑な明細データのマッピングもノンプログラミングで(画面上のアイコン操作で)実現できるのは大きなメリットです。

秘訣教えます! Wagbyを使った基幹系ERP活用術

f:id:ynie:20130805105508g:plain

日本コンピュータ・ダイナミクス株式会社様のセッションです。まず ERP 導入に関する課題を 5 つ、あげられました。「業務内容(商品・サービス)の内容が変わる。」「カスタマイズ作業が属人化する。」「ファイル連携や二重入力がなくならない。」「出先からデータを確認したい。」「開発だけでなく運用のコストも下げたい。」この問題解決に Wagby で ERP のカスタマイズ部分を担わせるソリューションを提案しています。ご発表では Wagbyで開発したアプリケーションと、OBCの奉行シリーズ V ERP を連携させたデモが紹介されました。連携部分はテンプレート化されているため、さまざまなお客様向けに再利用しやすい形になっています。

デモでは、Wagbyで開発したアプリケーションからデータを登録すると、リアルタイムに奉行側にデータが追加した例が示されました。つまり別のシステムをそれぞれで運用してデータ連携はファイルで...ということではなく、一つのデータベース (奉行) を、二つのアプリケーション (奉行の標準画面および Wagby で開発した画面)でそれぞれ利用できるということです。

さらに業務ルール(受注確定で在庫を減らすなど)はすでに奉行が実現できているため、Wagby 側で再実装する必要はありません。奉行の提供するテーブルと基本業務をベースに、Wagby で自社独自部分を拡張するというイメージです。例えばワークフロー(見積の承認機能)やスマートフォン対応を Wagby で実現するということがあげられます。

同社の強みは、奉行のテーブル構造や業務ルールを熟知していることです。そのため、自社業務と照らし合わせて、どこを拡張すべきかということを洗い出し、その部分にうまく Wagby を組み合わせるという提案が可能です。

また現在、クラウド環境で奉行を動作させるという流れも強まっています。Wagby自体はクラウドでもオンプレミスでも動作するため、このような環境の変化に対しても Wagby は提案しやすい、という話もありました。

ERPは標準的な機能がパッケージング化されていることが強みですが、一方で「自社の強み」を反映させるためにはカスタマイズが必要でした。Wagbyと組み合わせることで「汎用性」と「自社の強み」という、相反する要求をうまくまとめられる、理想的なシステムを現実的なコストで手に入れられるような時代になったというコメントが印象的でした。

基幹系業務へのWagby適用ノウハウのすべて

f:id:ynie:20130805105519g:plain

株式会社パルシス様では、Wagbyを使ってお客様向け製造系基幹業務システムをスクラッチで開発しました。300画面、200テーブル規模のERPシステムで、販売管理・生産管理を中心とした売掛、買掛、支払管理、材料の仕入れや工程管理も含む基幹機能全般です。生産計画システムのエンジン部は別パッケージとの連動で実現しており、他にも既存のグループウェア、FAXサーバー、バーコード入力、タブレット(Android)とのシステム連携も実現しています。データベースは遠隔地の二拠点でレプリケーションを行っており、災害への備えもできています。

お客様はAS/400歴十年以上ですが、RPG技術者の減少と現行システムの保守費が高いことから再開発へ踏み切ったものです。しかし当初、検討していたパッケージへのカスタマイズ量が多いことが問題となり、パルシス様によるWagbyでの開発提案に乗り出しました。パルシス様は当初、Wagbyありきではなく他社の自動生成ツールも評価していました。その中で画面レイアウトなどで細かい指定ができることなど、いくつかの優位性を確認してWagbyを採用したものです。結果的には当初想定していた開発費の範囲内で収まりました。

Wagbyの導入効果として当初、想定していなかったことがあるといいます。それは品質の一定化と、少人数による開発です。これまでにないスタイルで基幹系の開発ができたことは同社の自信につながっています。

カスタマイズのポイントは、複雑なテーブル連携の実現でした。Wagbyが提供する「外部キー」「繰り返しコンテナ(明細)」を組み合わせて、親-子-孫という関係を構築していくことができます。できるだけWagbyの基本機能の組み合わせで業務テーブルを構成するのが鍵であり、自動生成率を高めることが成功の秘訣ということで、具体的な設計テクニックやカスタマイズ方法論が紹介されました。

Wagbyを中心としたOSSソリューションによる業務システム構築方法

f:id:ynie:20130805105529g:plain

株式会社ODNソリューション様では、自社パッケージ「債権回収システム(初期延滞、中長期延滞の2システム)」を Wagby で再構築しました。

Wagbyのメリットとして、例えば「1画面を手組みだと1人月で開発していた会社が、Wagby利用でどこまで下げられるか。」という話になりがちですが、単なる工数削減以上のメリットがあると力説されました。具体的な例として管理コストの削減があります。従来方式(手組み)の場合、コードやドキュメントの文言チェック、スペルミスチェックまで管理者が行っていましたが、そういうものも不要になります。開発者は純粋に業務ロジック作成に注力できる時間が増えるのは大きなメリットであったとのことです。

同社が開発したアプリケーションのデモは、ユーザーインタフェース部を大きくカスタマイズしており、一見するとWagbyのアプリケーションと思えない画面になっています。メニュー画面のポータル化に近い機能もカスタマイズで実現しています。検索条件を画面から自由に組み立てる画面もありました。これらのカスタマイズは Wagby が生成した画面に JavaScript をいくつか組み合わせただけで実現したということです。大量項目の効率的な管理やファンクションキー連携、電話機能の実現などもありました。クライアントサイドの JavaScript 技術と組み合わせることで、ここまで柔軟に画面カスタマイズできるという好例です。

続いてサーバサイドのカスタマイズとして、Wagbyが同梱している各OSSを効果的に再利用する方法が提案されました。Wagbyは全文検索エンジンとして Apache Lucene を使っています。生成されたコードは読めるので、ここをこうカスタマイズすれば、応用できるという判断が技術的に行えるという話がありました。また Wagby の高いパフォーマンスを支えている技術にキャッシュがあります。Wagbyの参照連動はほとんどSQLを発行せず、キャッシュされたデータを使うようになっています。通常の開発ではキャッシュの追い出し処理が難しく、ここを忘れると古いデータを誤って読み込んでしまう不具合が生じますが、Wagbyはそこまで自動生成されているため、開発者はWagbyが生成したクラスを使うことで高いパフォーマンスを維持できるメリットがあると紹介されました。またキャッシュは通常、Javaのヒープ領域の範囲内で行われますが、BigMemory という仕組みを使うことでさらにキャッシュできる量を増やすことができるという紹介もありました。

まとめ

すべてのセッションを通して、Wagby は開発元である私たちの想像を超える使い方があり、それができることがまた代理店の強みにつながるという、双方のメリットを実感しました。自動生成技術は、カスタマイズの柔軟性とセットではじめて現場の開発者に受け入れられます。そのような事例発表ができた今回の Wagby Developer Day 2013 は大成功でした。ご発表いただいた皆様、参加していただいた皆様に心から感謝します。

発表内容の詳細は、各社にお問い合わせください。百聞は一見に如かず、です。これらの内容はすでに現実のものになっています。エンタープライズアプリケーション開発はゆっくりかも知れませんが、しかし着実に、変化しています。