Skip to main content

 

 

 

 
Language:

 

 

 

 
 
OutSystems

OutSystemsプラットフォームのメタモデル

OutSystemsプラットフォームのメタモデルについて、データ移行の観点から理解を深めるために、以下の説明、分類、トピックを考えてみます。

エンティティタイプの分類

エンティティ(テーブル)は、3つの主なタイプに分類できます。

  • システムエンティティ
  • アプリケーションエンティティ
  • ハイブリッドエンティティ

システムエンティティ

エンティティを作成する際に論理名を付けると、OutSystemsプラットフォームによって内部で物理名が作成されます。物理テーブル名と論理名のマッピングは、OSSYS_ENTITYテーブル内にあります。システムエンティティは、通常、名前に「OSSYS_」というプレフィックスが付いていることで見分けることができ、OutSystemsプラットフォームのメタモデルで使用される純粋なシステムテーブルです。

データ移行のタイプによっては、情報を読み取る目的でのみこれらのエンティティを使用する必要があります。さらに、OutSystemsプラットフォームの整合性や正常性を保つため、これらのエンティティへの変更/書き込みは固く禁じられています。

ただし、構成やエンドポイントなどを維持するために一部のシステムエンティティも移行する必要があるシナリオのように特別な例外があります(たとえば、ProductionからProductionへの移行ですが、このユースケースでは説明しません)。

カテゴリ分けされたシステムエンティティをさらにトピック別に分類することができます。

  • OutSystemsプラットフォームの開発インフラのサポート

    • アプリケーションおよびモジュール
    • eSpaceおよびエクステンション
    • ソリューション、バージョン、ビルドトレース
    • エンティティ、アトリビュート、レコード
  • アプリケーションのサポート

    • BPTの定義
    • テナント
    • タイマー
    • サイトプロパティ
    • 連携
    • メールの定義
    • その他
  • OSプラットフォームエンジンおよびその他の構成のサポート

    • パラメータ
    • その他

以下の表は、システムエンティティの例を示しています。

システムエンティティ
OSSYS_APP_DEFINITION_MODULE
OSSYS_APPLICATION
OSSYS_BPM_ACTIVITY_DEFINITION
OSSYS_BPM_ACTIVITY_OUTPUT_DEF
OSSYS_BPM_EVENT
OSSYS_BPM_EVENT_QUEUE
OSSYS_BPM_PROCESS_DEFINITION
OSSYS_BPM_PROCESS_INPUT_DEF
OSSYS_BPM_PROCESS_OUTPUT_DEF
OSSYS_ENTITY
OSSYS_ENTITY_ATTR
OSSYS_ENTITY_RECORD
OSSYS_ESPACE
OSSYS_ESPACE_ENTITY
OSSYS_ESPACE_TENANT
...

以下の表は、システムアプリケーション設定の例を示しています。

システムアプリケーション設定
OSSYS_CYCLIC_JOB
OSSYS_CYCLIC_JOB_SHARED
OSSYS_META_CYCLIC_JOB
OSSYS_SITE_PROPERTY
OSSYS_TENANT
OSSYS_WEB_REFERENCE
OSSYS_WEB_SERVICE

アプリケーションエンティティ

これらのテーブルは、通常、名前に「OSUSR_」というプレフィックスが付いていることで見分けることができ、アプリケーション開発に直接関係します。アプリケーションエンティティはビジネスに関連し、アプリケーションが作成されるまでは存在しません。

データ移行プロセスでは、これらのエンティティの読み取りと書き込みができる必要がありますが、物理的な静的エンティティの情報は除きます。通常、これらの情報は1つ以上のアプリケーションで外部キーとして他のエンティティで利用されるため、変更できません。 これらのテーブルの性質は非常に柔軟であり、コードの開発方法によって変わります。

システムエンティティとは反対に、アプリケーションエンティティの一覧をここで示すことはできません。それは、OutSystemsでアプリケーションが開発されたときにのみアプリケーションエンティティが作成されるためです。

ハイブリッドエンティティ

これらは、OutSystemsプラットフォームによって管理されるテーブルです(純粋なシステムテーブルと同様)。ただし、アプリケーションが作成されたときに、これらのテーブルとやりとりをします(つまり、テーブルにレコードを作成します)。このため、これらのテーブルについてはデータ移行の観点から細心の注意を払って作業する必要があります。

データ移行プロセスでは、これらのタイプのテーブルについてよく理解しておく必要があります。特定の状況では、これらのテーブルへの読み取りや書き込みを行う必要があるためです。 これらのエンティティは、以下のカテゴリに分類できます。

  • ユーザー
  • BPTプロセスインスタンス
  • BPTアクティビティインスタンス
  • BPTイベント
  • メール

次のセクションに進む