GeneXusが業務ルールに長けていると言われる理由について
こんにちは、RADサービス部の佐々木です。今回は弊社で利用している自動生成ツールGeneXusが業務ルールに長けていると言われる理由について、具体的に実装方法などの例を交えながらご紹介していきたいと思います。
ご紹介の前にGeneXusをあまりご存知でない方向けに簡単にGeneXusについてご説明させて頂きますと、GeneXusはトランザクションと呼ばれるオブジェクトを軸にそこに記述された設計内容を汲み取り自動でデータベース、データアクセス機能、フォームの作成などを行ってくれます。今回ご紹介する業務ルールも同じようにトランザクションに定義を行うだけで簡単に実装が行えます。
GeneXusで業務ルールの実装
GeneXusでの実装方法の紹介の前に、まず業務ルールの具体例についてご紹介しましょう。そもそも業務ルールとはデータ項目と関連付けを行い、そこに入力されるデータに対してチェック処理を行うようなイメージです。
例えば、日付を入力するデータ項目が存在した場合、入力された日付が本当に実在する日付なのかチェックするといった感じです。入力データに関して何かしらの処理を行いたい場合などに適用します。
それでは早速、実際のGeneXusの開発画面を見ていきながらその実装方法を見ていきましょう。今回は伝票のデータを管理するトランザクションを作成し、その中で「顧客名」を入力する欄に対して入力を必須にするというルールを適用させます。
まず、先ほど冒頭で説明したトランザクションオブジェクトに下記のような項目属性を割り当てます。
次にトランザクションの中にあるルールと呼ばれるタブの中で業務ルールの定義を行います。この場合、入力チェックで顧客名の入力を必須にさせる定義にし、もし入力がされていない場合はエラーメッセージが表示される設定にします。ルールタブの中に下記のように記述します。私が実際に記述したのは「Error(“製品名を入力して下さい”) If CustomerName.IsEmpty();」の部分だけです。
この内容でビルドを行うとGeneXusが自動でデータベースや、データアクセスに関する機能、フォームなどを作成してくれます。もちろん、ルールに記述された内容も自動でGeneXusが適用してくれます。作成されたデータの入力画面が下記のものになります。
先ほどのトランザクションの内容だけでここまでのものをGeneXusが自動で作成してくれます。テキストボックスや、ボタンなども標準で作成されていることがお分かり頂けるかと思います。では、適用したルールが正しく実装されているかを見ていきましょう。上から順に値を入力していき、わざと顧客名の欄を空欄にして次の入力を行います。すると下記のようにルールに設定したエラーメッセージが表示されます。
トランザクションのルールタブの中で定義した内容が正しく実装されていることが分かります。この状態で実行ボタンを押してデータの入力を行おうとしてもエラーメッセージが表示され続けデータの登録を行うことが出来ません。下記のように正しくデータの入力を行うと、エラーメッセージの表示が消えて、データの登録が行える状態になります。
実行ボタンを押すとデータが登録され、登録されたデータがリストに表示されます。
今回は非常に簡単な例で説明をしていますが、以上のような方法で業務ルールは簡単に適用することが出来ます。先ほどの実装内容から見えてきたGeneXusが業務ルールに長けている理由について下記にまとめました。
・業務ルールなどの設計情報をもとにGeneXusが自動で作成するため人為的ミスが減る
・項目属性単位でルールの適用が行えるので適用箇所も分かりやすく簡単
・業務ルールの変更があった場合でも柔軟に対応可能
・データベースやソースコードを意識する必要がない
実装内容をご覧頂いて分かるとおり、GeneXusを使えば非常に簡単に業務ルールの適用が行えます。また、実装することが簡単だということは、仮にルールに変更が起きた場合でも迅速に対応することが出来るということです。ルールの変更を加えるだけでソースコードやデータベースを意識する必要もありません。これまでの開発と比べると開発者の負担が減っただけでなく、ユーザーの要望にも柔軟に対応出来る開発が行えるようになったことを私自身も実際の現場で感じています。
まとめ
変化が激しい現代でこのように迅速且つ高品質なものを作れるツールは今後ますます注目度も増し、需要も高まってくると思います。今回は業務ルールという観点からGeneXusをご紹介しましたが、この内容見て頂いただけでも魅力的なツールであることがお分かり頂けたかと思います。今後も様々な観点からGeneXusの魅力についてご紹介していきたいと考えています。この内容が少しでも皆様のお役に立てれば幸いです。
株式会社キャパでは、GeneXusを用いた超高速開発についてご相談を承っています。
短納期、予算が合わないなどお気軽にご相談ください。
高速開発:GeneXusのご紹介