MANDALAとは?

目的

業務アプリケーション画面開発・保守には多くの工数が掛かりがちです。
その理由としてはいくつかのポイントがありますが (参考:深く考えずに単純な開発方法を採用すると)、 MANDALA for Javaの目的はこれらの要素をできる限り排除し、開発者に ビジネスロジックへの取り組みに集中していただけるようにする事です。

機能

MANDALA for Javaの行う主な仕事は次の2つです。

操作性に関するプログラミングの自動生成

業務アプリケーションでキーボードやマウスからの入力を扱うのは非常に神経を使う部分です。 入力する文字種の制限、フィールド長の制御、ボタンをクリックした際の動作等、 同じようなロジックが随所に現れる割には、共通化が困難で生産性を落とす原因に なっている場合が多く見受けられます。
MANDALAはこれらの操作性に関するコードを自動生成します。
与えられたパラメタに基づいた入力制限を行い、ボタンやメニュー項目は特定の名前を つけるだけで所定の動作をするように定義できます。
このため開発スピードが上がるだけでなく、チーム開発時に個人毎のクセが現れにくくなり、 結果として生産・保守の効率がグンと高くなります。

ビジネスロジックを組み合わせてアプリケーションを完成させる

画面系のアプリケーションでは、ビジネスロジックは「項目」と密接な関係があります。 MANDALA for Javaではこの「項目」に着目し、「項目」に対するプログラミングを行う ことでアプリケーション開発ができるフレームワークを提供しています。
このビジネスロジックは「フックメソッド」と呼ばれる、正に「項目」の「部品」として 機能します。
フックメソッドは項目がアプリケーションの中でどのような振る舞いをするかを記述する 仕組みになっています。
ほとんどの場合、フックメソッドには純粋にビジネスロジックを記述するのみで事足りますので、 前項の自動生成との相乗効果により、開発者は本題以外のプログラミングと向き合わずに 済むことになります。
更に一度開発したフックメソッドは他のアプリケーションでもそのまま使用されますから、 ソフトウェア資産の蓄積に従い、開発スピードは加速度的に高まります。