株式会社ロジックスジャパン KOOGA for .NETフレームワーク 業務システムの開発は、なかなか一筋縄ではいかない。開発もさることながらシステム完成後のメンテナンスまで、なにか と手間とコストがかかる。今回は、低コスト/高品質な業務システムの開発を目指す、.NET Framework 対応のフレー ムワークについて紹介することにしよう。 業務システムの 開発ノウハウを集約 必要です」 としてあらかじめ用意されています。 そこで、古賀氏は長年携わった業務 各定義を設定したあと、必要ならばこ 業務システムの開発にはさまざまな システムの開発から培ったノウハウをも れらのクラス/メソッドを利用して独 問題があるが、共通しているのは「膨 とにフレームワークを作った。このフレ 自にビジネスロジックを記述します。 大な開発コスト」と「メンテナンスの ームワークが、今回紹介する「KOOGA さらに、KOOGAにはテンプレート しづらさ」 。この問題について、ロジッ for .NETフレームワーク」 (以下KOO フォームが 7 種類用意されています。 クスジャパンの古賀 敏生氏は次のよう GA)だ。 指定したテンプレートフォームをもとに に語る。 定義データと、ビジネスロジックを組み 「業務システムは、膨大な開発工数 開発手順 合わせると画面が自動生成されます」 を要します。また通常、プロジェクト KOOGAは、.NET Frameworkに対 そのほかの機能として、SQL自動生 開発してゆきますが、各メンバーそれ 応した業務システム開発用のフレーム 成機能がある。この機能により、画面 ぞれが自由に開発する傾向があります。 ワーク。VB.NET/C#対応のアプリケ が自動生成されると同時にSQL構文も そのため、開発に携わった者でないと ーションを開発できる。まずは開発手 自動生成される。また、日本語、英語、 メンテナンスできない状況によく陥り 順(図1)について話を伺った。 中国語、インドネシア語など多数の言 ます。これらの問題を解消するために 「KOOGAでは、各種設定により画 は、設計/開発/保守にいたる開発プ 面を自動生成します。手順は次のよう ロセスを標準化したフレームワークが になります。 まずテーブル名、列の数、データタ 株式会社ロジックスジャパン 代表取締役社長 古賀 18 敏生 Windows Developer Magazine 語にも対応しており、指定するだけで 任意の言語で表示してくれる。 メリット イプなどを設定しテーブル定義を行な このような手順により、KOOGAを います。次に画面定義を行ないます 使えば通常の開発工数の1/3で済むと (図2) 。コンボボックス、チェックボッ いう。では、システム開発後のメンテ クス、タブ機能、ソート機能など、画 ナンスについてはどのようなメリットが 面に必要な機能を設定してゆきます。 あるのだろう。 そして、設定したテーブル/フォーム 「KOOGAでは、すでに説明した定 の定義情報を物理データベースに登録 義設定のほかに、アイコン定義、セキュ します。 リティ定義なども簡単な設定だけで行 KOOGAでは、業務システムに必須 なえます。定義情報はすべてデータベ のクラス/メソッド群がベースクラス ースで一元化管理されます。このデー KOOGA for .NETフレームワーク 図1:KOOGA for .NETフレームワークを使った開発の流れ 定義データベース テーブル定義 フォーム定義 メニュー定義 アイコン定義 メッセージ定義 セキュリティ定義 テーブル定義より 保守 Oracle SQL Server Access フォーム定義/ 多言語など 図2:画面定義の設定画面 定義データベースとユーザーア ドオンプログラムを複数種類の テンプレートフォームと組み合わ せて、N個のフォームを自動生成 物理データベースの内容 ユーザーアドオン 標準化されたクラス とメソッドによりユ ーザーがビジネスロ ジックを作成(C# とVB.NETに対応) フォームジェネレート 実際の 表示フォーム フォーム自動生成 多言語変換 SQL構文自動生成 Excel、CSVファイル 複数種類 テンプレート フォーム テンプレートフォーム:実際の表示フォーム=1:N ビジネスロジックを標準化されたクラス、メソッドにて C#またはVB.NETでプログラミング 「KOOGAが提供するビジネスロジ ック用のクラスライブラリには、ADO タベースを見ればどのような状況にな すると同時に、PCのメモリ内に定義情 .NET、SQL構文関連のものがありま っているか一目瞭然ですので、誰でも 報を保持し、これを利用して高速に画 す。これらは、高速に処理できるよう メンテナンスすることができます。 面を自動生成しています。定義情報は に最適化されています。バグをとり、 膨大に思われがちですが、スレッド化 オブジェクト指向できちんとDLL化す すれば数メガで済みます」 るのに非常に苦労しました」 また、メソッド名やクラス名は各テ ンプレートフォームごとに付けられて いますので、どの画面でどんな処理が 行なわれているかすぐにわかるように また、フォーム定義時に設定できる タブ表示の切り替えもスムーズだ。 今後の展開 「タブコントロールをそのまま使う KOOGAは、すでに顧客管理システ と処理が遅くなります。そこで、タブ ムや、会計システムの開発に利用され の見出し部分にボタンコントロールを ている。今後の販売展開についてどの ここまで、KOOGAによる開発手順 使い、ボタンコントロールにTrue/ ように考えているのか。 とメリットについて紹介してきたが、も Falseを設定してタブの表示を切り替 うひとつ注目すべき点は、高速な処理 えています」 なっています」 高速化の仕組み である。実際、画面の自動生成にかか る時間はほんの数秒である。 「画面の定義情報はデータベースに 格納されますが、データベースを更新 「KOOGAはどんな業種のシステム でも作れます。そのため、お客さんは さらにデータの抽出時間もあっとい KOOGAがどんな製品なのかイメージし う間である。約5万件のデータを画面 づらいようです。そこで、KOOGAを使 に表示するまでにかかる時間は、なん って開発した、業務に特化したシステ と40秒程度である。 ムを販売してゆきたいと思っています」 拡充のポイント ・テーブル、フォームなどの各種定義は簡単な設定でOK。 また、ビジネスロジックはベースクラスとして部品化。 これを独自に実装するだけ。 ・あらかじめ用意されているテンプレートフォームに 定義情報とビジネスロジックを組み合わせフォームを自動生成 ・誰でもメンテナンスできるように各種定義情報は すべてデータベースで 一元管理 2005 November 19
© Copyright 2024 Paperzz