サポート > リポジトリ(R7) > モデル > モデル

モデルに関する仕様を説明します。

WagbyDesignerを使ったモデルの登録、削除方法を説明します。

モデルを作成する

WagbyDesignerのメニューから「モデル」を選択します。「ユーザ」と「システム」の二つのタブがありますが、新規開発するモデルは「ユーザ」タブに格納します。

図1に示すように、ギアアイコンから「新規モデル」を選択します。図2のように新規モデルの定義画面が開きます。

図1 新規モデルを定義する
図2 新規モデルの定義画面

モデル名の変更

「モデル名」は、画面(およびメニュー)に表示される名称です。
「モデルID」は、データベースのテーブル名および生成されるソースコード内の識別子として用いられます。
モデルIDに日本語(ひらがな、カタカナ、漢数字)を使うことはできません。英数字を使ってください。

図3 モデル名とモデルIDの設定

モデル名やモデルIDの変更は即座にリポジトリに反映されます。ビルドを行うタイミングで、変更された名称を使ってソースコードが再生成されます。

モデルの削除

「モデル」メニューからモデル一覧を表示します。削除したいモデルをチェックします。

図4 削除したいモデルをチェックする

ギアアイコンから「削除」を選びます。

図5 削除処理を選択する

確認ダイアログが表示されますので「OK」ボタンを押下します。

図6 削除の確認ダイアログ

モデルが削除されました。

図7 モデルが削除された

ビルド対象モデルを個別に指定することができます。「ビルド」列のチェックボックスを指定してください。標準はすべてのモデルがビルド対象となっています。

図8 ビルド対象モデルを指定する
開発者はモデルの依存関係を考慮して指定してください。ビルド対象となっていないモデルを参照している場合、ビルドエラーになります。
この指定は設計書出力ツールにも反映されます。チェックされたモデルだけが設計書として出力されます。

モデルに対応した(リレーショナルデータベース用の)テーブルが生成されます。

より正確には、モデル定義に対してデータベース用のDDL (create table, drop table) が自動生成されます。このDDLを使って、データベース上にテーブルを作成・削除することができます。[詳細...]

  • 1 文字のモデルIDを用いることはできません。モデルIDは 2 文字以上として下さい。
  • 先頭は英文字または「_(アンダースコア)」を指定して下さい。
  • 二文字目以降は英文字または「_(アンダースコア)」、半角数字を指定して下さい。
  • 「_(アンダースコア)」と半角数字のみで構成することはできません。
  • XMLの名前として使用できない文字は指定できません。よって、半角カタカナや全角数字、全角英字、記号は使用できません。(XMLの名前として使用できる文字についてはAppendix 使用できる文字をお読み下さい。)
  • 予約語を指定することはできません。(予約語についてはAppendix 予約語をお読み下さい。)
  • すべての定義されているモデルIDはアルファベット大文字小文字を区別せず、アンダースコアを無視した状態で重複しないように指定して下さい。
    例えば「ab」「Ab」「aB」「AB」「a_b」「A_b」「a_B」「A_B」を指定した場合、これらはすべて重複しているとみなされ、エラーになります。
  • モデルIDの末尾に「P」「C」「CP」「L」「LP」「ULP」を付加したモデルIDを別に作成することはできません。
    例えば「ab」というモデルIDを用意した場合、別モデルIDとして「abp」「abc」「abcp」「abl」「ablp」「abulp」を定義することはできません。
  • 「システム」タブで用意されているモデルIDを指定することはできません。
  • 接頭語が "jfc" ではじまるモデルIDはシステムが将来、利用するために予約されています。指定することはできません。
  • Wagby が内部で使用している以下のモデルIDを指定することはできません。
    • hour_m
    • minute_m
    • movestep_m
    • jpermission_m
    • jprincipal
    • service
    • master
    • 末尾が「_p」「_c」「_cp」「_l」「_lp」「_ulp」で終わるモデル名

モデルIDの変更

このモデルを参照している他のモデルがあった場合、変更の前に警告ダイアログが表示されます。OKを押下すると、参照しているすべてのモデルに対して、変更後のモデルIDに置換されます。(計算式内の項目も同様です。)

モデルの削除

このモデルを参照している他のモデルがあった場合、削除の前に警告ダイアログが表示されます。このモデル(内の項目)を計算式内で参照している場合も警告対象に含まれます。

OKを押下するとモデルは削除されますが、影響があると示された他のモデルについては、開発者が手動で適切に修正してください。

「システム」タブに含まれているモデルは、Wagbyの管理機能で用いるものです。これを「システムモデル」と呼びます。これに対して、開発者が作成したものを「ユーザモデル」と呼びます。

システムモデル一覧

モデル名モデルID用途
バッチジョブ実行結果 jfcbatchjob_execution Spring Batch を利用した場合に有効です。ジョブの実行結果が格納されます。登録処理は Spring Batch フレームワークが行います。更新や削除を行うことは(Spring Batch が)想定していません。運用時は閲覧専用になります。
バッチジョブ実行詳細 jfcbatchjob_execution_context
バッチジョブ実行パラメータ jfcbatchjob_execution_params
バッチジョブインスタンス jfcbatchjob_instance
バッチステップ実行 jfcbatchjob_execution
バッチステップ実行詳細 jfcbatchjob_execution_context
共通設定プリファレンス jfccspreferenceitem 一覧表示グリッドの設定を複数の利用者で共通利用する場合に用います。共通設定を作成したタイミングでデータが登録されます。運用時は閲覧専用になります。更新や削除は行う場合は直接、データベースを操作してください。
フローパターン jfcflow_setting ワークフロー利用時に用いられます。フローパターンを格納します。運用時に独自のフローパターンを追加することもできます。
グラフ設定 jfcgraphsetting グラフ表示の設定を保存し、他の利用者が共通で利用することができます。共通設定を作成したタイミングでデータが登録されます。運用時は閲覧専用になります。更新や削除は行う場合は直接、データベースを操作してください。
ジョブマスタ jfcjob Wagby は Spring Batch とは別に、時間指定によるジョブを用意しています。そのジョブリストを格納しています。その内容は、Wagby インストール時にあらかじめ用意されています。
ジョブスケジュール jfcjobschedule jfcjob で用意されたジョブを実行するスケジュールが格納されます。運用者はジョブスケジュールを追加・編集することができます。
ライセンスファイル jfclicenseholder 本番運用ライセンスファイルに関する情報が格納されます。通常、1レコードを保持します。
メールテンプレート jfcmailtemplate メール送信設定が保存されます。設定した分だけレコードが追加されます。
定義モデル jfcmodel 定義済みのシステムモデルおよびユーザモデルの名称ならびにデータ量を保持しています。開発者や運用者が操作するモデルではなく、閲覧専用として用いられます。
定義モデル jfcmodel4dm
フロー参加者設定 jfcparticipant_setting ワークフロー利用時に用いられます。フローに参加するユーザまたはグループの情報を格納します。運用時に任意に追加することができます。
フロー参加者コンテナ jfcparticipant_setting_node
ポータル jfcportal ポータルを利用する場合に用いられます。ポータルを利用するかしないか、という1レコードのみを保持します。
ポートレット jfcportlet ポータルに表示できる部品情報を保持します。開発者が独自にポートレットを拡張して追加することもできます。
ポートレット(グラフ色) jfcportletGraphColor_m グラフポートレットで用います。インストール時に確定されており、拡張することはできません。
ポートレット(グラフ種類) jfcportletGraphType_m
プリファレンス jfcpreferenceitem 利用者(ログオンアカウント juser)毎に用意されます。一覧表示のソート情報や一覧表示グリッドの列並び情報など、ログオフしても値を保持すべき情報が格納されています。再ログオンすると、前回の情報を復元するために用意されています。登録済みアカウント数 x 保持する情報(key-valueのペア) の数だけレコードが追加されます。レコードの追加、編集、削除はシステム内部で自動的に行われます。
代理者設定 jfcproxy_setting ワークフロー利用時に用いられます。代理承認の設定を行なったときにレコードが追加されます。
帳票テンプレート jfcreporttemplate Excel/PDF帳票利用時に用いられます。設定した数だけレコードが追加されます。
開始フロー状態 jfcstartworkstate ワークフロー利用時に用いられます。自分が申請したワークフローが現在、誰の承認待ちになっているかを知るための管理情報です。システムによってレコードが用意されます。ワークフローが終了してもこのレコードは記録としてデータベースに保持されるため、運用に伴ってデータ量は増加します。管理者が手動で古いデータを削除することが可能です。(削除されたデータは検索対象外になります。)
保留フロー状態 jfcsuspendworkstate ワークフロー利用時に用いられます。自分が承認すべきワークフローを調べるための管理情報です。システムによってレコードが用意されます。ワークフローが終了してもこのレコードは記録としてデータベースに保持されるため、運用に伴ってデータ量は増加します。管理者が手動で古いデータを削除することが可能です。(削除されたデータは検索対象外になります。)
ワークフロー設定 jfcworkflow_setting ワークフロー利用時に用いられます。ワークフローを利用するモデルと、ワークフロー定義を結びつけます。設定した数だけレコードが作成されます。
フローイベント jfcworkstate ワークフロー利用時に用いられます。ワークフローに対するイベント(承認、差し戻し、決裁など)を記録します。システムによってレコードが用意されます。ワークフローが終了してもこのレコードは記録としてデータベースに保持されるため、運用に伴ってデータ量は増加します。管理者が手動で古いデータを削除することが可能です。(削除されたデータは検索対象外になります。)
グループ jgroup システム内部で利用するグループ情報です。登録したグループの数だけレコードが追加されます。
休日 jholiday システム内部で利用する休日情報です。初期値は日本の公休日情報 "JapanHolidays.ics" が登録されています。任意の休日を追加登録することもできます。
お知らせ jnews 利用者へのお知らせをポータル画面に表示することができます。お知らせポートレットを利用した場合にレコードが追加されます。
プリンシパル jprincipal 利用者(ログオンアカウント juser)毎に用意されます。Wagbyの認可機能を実現します。アカウントの登録と編集にあわせて、システム内部で自動的に管理されます。
アカウント juser 利用者(ログオンアカウント)です。登録したアカウントの数だけレコードが用意されます。
順序 seq モデル毎の順序(主キー)を保持します。OracleやPostgreSQLなど、データベースが sequence (順序) サービスを提供する場合には用意されません。MySQLなど、sequence を提供しないデータベースを利用した場合にのみ用意されます。システムが自動的に管理します。

システムモデルの制約

システムモデルには次の制約があります。

  • モデルIDを変更してはいけません。
  • モデルを削除してはいけません。
  • モデルに含まれるモデル項目はID、型を含めすべて変更してはいけません。

以下のモデルは、モデル項目の拡張ができます。

定義済み項目の変更は行えません。具体的には項目名の変更や、型の変更を行うことはできません。
モデル名モデルID用途
グループ jgroup グループ権限管理で用いる。アカウント(juser)と連携している。
アカウント juser ログオンアカウント。
お知らせ jnews 利用者へのお知らせを行うことができるモデル。

ここに記載している以外のモデルは変更することはできません。インストール時の状態でお使いください。 Wagbyのバージョンアップでは、移行ツール適用時に(上記モデル以外の「システム」に属するモデルは)最新版のモデルが適用されます。

理論上の制限はありません。
WagbyDesignerが利用するメモリを増やすことで、多くのモデルを含むアプリケーションをビルドすることができます。
またWagbyでビルドしたアプリケーションが利用するメモリを増やすことで、大規模なアプリケーションを運用することができます。