システム開発

アプリケーション辞書を使用してノンプログラミングカスタマイズ

ノンプログラミングを実現するアーキテクチャー
 

アプリケーション辞書とは、ADempiereシステムの中核となるアーキテクチャーであり、ノンプログラミングによる高いカスタマイズ性を実現するアーキテクチャーです。(=MDA:Model driven Architecture)
ADempiereシステムは、列の追加、変更、削除や、新規画面の作成、変更、削除などをノンプログラミングで、ノンコーディングで、リアルタイムに反映するアプリケーション辞書を標準機能として提供します。

 

ADempiere開発環境

 

DBの構造や画面表示項目などを記憶するテーブルを保持
 
AD辞書1 例えば、DBの列を追加して、その列を画面に表示したい場合、通常はその列を画面に表示するためのプログラムを追加する必要があります。これは、画面表示プログラムが画面項目となるDB列を直接参照しているからです。

 

ADempiereシステムではノンプログラミングで追加したDB列を画面に表示することができます。
これは、ADempiereシステムの画面表示プログラムが、画面項目となるDB列に直接アクセスしてそれを表示するのではなく、画面にどの項目を表示するかを記憶したテーブルや、どのテーブルにどの列があるかを記憶したテーブルを介して、画面表示を行うためです。
AD辞書2

 

AD辞書3 この仕組みがあるため、どのテーブルにどんな列があるかとどの画面にどんな画面項目があるかをアプリケーション辞書に追加すれば、画面プログラムを修正する必要がありません。この「どの画面にどんな画面項目があるか」や「どのテーブルにどの列があるか」などを記憶したテーブルが、アプリケーション辞書の基本的な仕組みです。

 

ノンプログラミングで実行できるその他多くのシステム拡張
 

上記では画面項目の追加について説明しましたが、それ以外でもノンプログラミングでカスタマイズできることはたくさんあります。これらも全て、アプリケーション辞書の仕組みを利用してノンプログラミングで、カスタマイズを行い機能要求を満たすことが可能です。

ウィンドウ、
画面項目、DB列
上記説明の通りですが、これ以外にも各列項目の型や入力方法、
入力チェック動作など細かい設定もツール画面から可能です。
メニュークライアント単位、ユーザ単位にメニューを自由にカスタマイズできます。
オンライン
レポート、帳票
多種多様なレポートをノンプログラミングで作成できます。JasperReportと
連携させて、本格的な帳票を出力させることもできます。
プロセス独自のプログラムとの連携のためにプロセスオブジェクトを使用できます。
ボタンの先にプロセスを割り振ったり、バッチプロセス的にプロセスを起動
させることができ、独自のプログラムとの連携ができます。
ワークフロー承認ワークフローなどをノンプログラミングで作成できます。

ここで紹介したアプリケーション辞書機能はADempiereシステムが可能とする実現可能機能のほんの一部です。
ADempiereシステムの全体像をもっと知りたい方は、是非スターターキットをご利用ください。

 
コールアウトによるカスタマイズ
 

アプリケーション辞書の仕組みがあっても、業務要件によってはプログラムを修正しなければならない場面もあります。そういった場合でも、ADempiereにはコールアウト(Callout)という仕組みがあり、比較的容易にプログラミングを行い、この外部プログラムとADempiere標準機能とを連動させることが出来ます。
コールアウトを使用すれば、各項目の値が変更されるタイミングで、割り当てた独自プログラムを実行します。
※ コールアウトについての詳細は、他ページで説明します。