任意のデータモデルに対して、使用する拡張機能を指定できます。これらの拡張機能には、データモデルの周囲に追加機能を定義し、データモデルエレメントにプロパティと制約を追加することにより、公開後に現在のデータモデルを強化する機能があります。データモデルの拡張機能は、ナビゲーションペインの [拡張機能] セクションに表示されます。
次の拡張機能は、新しいデータモデルで自動的に有効になります。
一部の拡張機能はオプションであり、専用のデータセットで定義されています。これらの拡張機能は、ユーザーインターフェイスを介して無効または有効にできます。
オプションのデータモデル拡張機能を無効にするには、拡張機能の左側にあるメニュー から [拡張機能の無効化] アクションを選択します。
拡張機能を無効にすると、その専用データセットも削除され、削除後に復元することはできません。
ナビゲーションペインの [拡張機能] エントリの左側にあるメニュー から、[拡張機能の有効化] アクションを選択して拡張機能を有効にできます。このオプションは、いくつかの拡張機能が利用可能な場合にのみ表示されます。このアクションを選択すると、使用可能なデータモデル拡張機能がフォームに表示されます。
データモデル拡張機能がアクティブ化されると、ナビゲーションペインの [拡張機能] エントリの下に表示され、通常のデータセットとして編集できます。つまり、拡張機能の構成は、データセットで利用可能なすべての EBX® 機能の利点を活用する専用のデータセットに埋め込まれています。
この機能は、検索の章に記載されています。
ビジネスオブジェクトは、同じデータモデル内の複数のテーブルのレコードを操作できる抽象レイヤーです。ビジネスオブジェクトモデルと呼ばれるビジネスオブジェクトの定義は、[拡張機能] セクションからデータモデルで実行できます。ビジネスオブジェクトモデルはメインテーブルで定義され、このメインテーブルの関係を使用して定義された子エンティティが含められます。
ナビゲーションペインの [ビジネスオブジェクト] > [定義] セクションから、[ビジネスオブジェクト] の左側にあるメニュー をクリックし、 [ビジネスオブジェクトの作成] オプションを選択して、ビジネスオブジェクトモデルを作成します。作成ウィザードに従って、ビジネスオブジェクトモデルを作成します。ビジネスオブジェクトモデルは、次の情報を定義します。
ビジネスオブジェクト名 | ビジネスオブジェクトモデルの名前。名前は、ビジネスオブジェクトモデルを一意に識別するために使用されるため、データモデルのコンテキスト内で一意である必要があります。つまり、同じ名前で複数のビジネスオブジェクトを作成することはできません。 |
ラベルおよび説明 | エンドユーザーに表示される国際化されたラベルと説明。 |
メインテーブル | このビジネスオブジェクトモデルのメインテーブルを定義します。指定するパスは絶対パス (「/」 で始まる) にする必要があります。このビジネスオブジェクトモデルのメインテーブルは、すでに別のビジネスオブジェクトモデルの一部である場合は使用できません。つまり、メインテーブルがすでにメインテーブルとして、または別のビジネスオブジェクトモデルの子エンティティとして定義されている場合、メインテーブルは使用できません。 |
ビジネスオブジェクトモデルは、メインテーブルと子エンティティで構成されます。子エンティティは、メインテーブルに含まれる関係を使用して定義されます。
ビジネスオブジェクトモデルの下に子エンティティを追加するには、既存のビジネスオブジェクトの左側にあるメニュー をクリックし、[子エンティティの追加] オプションを選択します。次に、作成ウィザードに従って子エンティティを作成します。次の情報を設定する必要があります。
テーブルとの関係 | このフィールドは、子エンティティとして追加するテーブルとの関係を定義します。関係へのパスは絶対パス (「/」で始まる) にする必要があります。逆外部キーによる外部キー制約と関連付けのみがサポートされています。また、これらの関係は、次の制約に準拠する必要があります。外部キー制約は、リストまたはリストの下にすることはできません。外部キー制約を定義するフィールドは一意として宣言する必要があります。つまり、ブロック検証モードで一意性制約を定義するか、コンテナテーブルの唯一の主キーフィールドにする必要があります。逆外部キーによる関連付けは、リストまたはリストの下にある外部キーフィールドを参照する必要があります。また、関係のターゲットテーブルは、このビジネスオブジェクトモデルまたは別のビジネスオブジェクトモデルによってすでに使用されているテーブルを参照できません。つまり、ターゲットテーブルがすでにメインテーブルまたはビジネスオブジェクトモデルの子エンティティとして定義されている場合、そのテーブルは使用できません。 |
ツールバーを使用すると、データセット内のテーブルまたはレコードを表示するときに表示されるボタンとメニューをカスタマイズできます。ツールバーのカスタマイズは、[拡張機能] セクションのデータモデルで実行できます。
[すべてのエレメント] の左側にあるメニュー をクリックして、ナビゲーションペインの [ツールバー] セクションからツールバーを追加します。[ツールバーの作成] オプションを選択します。作成ウィザードに従ってツールバーを作成します。ツールバーでは次の情報が定義されます。
名称 | ツールバーの名前。ツールバーの名前は、データモデルのコンテキストで一意である必要があります。つまり、同じ名前で複数のツールバーを作成することは許可されていません。 |
ラベルおよび説明 | エンドユーザーに表示される国際化されたラベルと説明。 |
デフォルトテンプレート | デフォルトのツールバーの構造でツールバーを作成できます。 |
位置 | 関連するデータセットでツールバーを使用できる場所を指定します。 表形式ビューの上部:デフォルトテーブルビューの上部で使用するツールバーを定義します。 表形式ビューの行:デフォルトテーブルビューの各行で使用するツールバーを定義します。 タイルビュー項目:タイルビューの各項目で使用するツールバーを定義します。 レコード上部:レコードフォームで使用するツールバーを定義します。 階層上部:テーブルのデフォルト階層ビューで使用するツールバーを定義します。 既知の制限事項 [タイルビュー項目] として使用するように定義されたツールバーは、6 つを超える項目を持つことはできず、アクション項目のみを定義できます。これらのアクションボタンの表示は、常に [アイコンのみ] モードです。 |
ツールバーは、次のエレメントを定義できます。
これらのエレメントのいずれかをツールバーの下に追加するか、既存のエレメントの左側にあるメニュー をクリックし、メニューで作成オプションを選択して既存のエレメントに追加します。次に、作成ウィザードに従ってエレメントを作成します。
このタイプのエレメントを使用すると、アクションをツールバーのボタンに関連付けることができます。ユーザーがツールバーの 1 つにある関連するボタンをクリックすると、アクションが実行されます。[アクションボタン] タイプのエレメントは、次の情報を定義します。
サービス | ユーザーがボタンをクリックしたときに実行されるサービスを定義します。ビルトインサービス、またはモジュールまたは現在のデータモデルで定義されているユーザーサービスを選択できます。[Web コンポーネント] ターゲットが選択されている場合、サービスはツールバーの Web コンポーネントとして利用可能であると宣言する必要があります。 |
ラベルおよび説明 | エンドユーザーに表示される国際化されたラベルと説明。 |
レイアウト | ツールバーを使用して、このエレメントがデータセットにどのように表示されるかを定義します。アイコンのみ、テキストのみ、左側にアイコンが付いたテキスト、または右側にアイコンが付いたテキストを表示できます。 |
アイコン | 表示するアイコン。アイコンを使用して、提案されたアイコンのセットから選択したり、URL を使用してアイコンを参照したりすることができます。 |
リリーフ | このボタンの表示方法を定義します。ボタンはエンボスまたはフラットとして表示できます。 |
強調表示 | ボタンをデフォルトで強調表示する必要があるかどうかを示します。 |
[アクションボタン] タイプのエレメントは、[ツールバー] タイプのエレメントの下でのみ作成できます。
このタイプのエレメントを使用すると、ユーザーがツールバーの関連するボタンをクリックしたときに表示されるメニューを定義できます。[メニューボタン] タイプのエレメントは、次の情報を定義します。
ラベルおよび説明 | エンドユーザーに表示される国際化されたラベルと説明。 |
レイアウト | ツールバーを使用して、このエレメントがデータセットにどのように表示されるかを定義します。アイコンのみ、テキストのみ、左側にアイコンが付いたテキスト、または右側にアイコンが付いたテキストを表示できます。 |
アイコン | 表示するアイコン。アイコンを使用して、提案されたアイコンのセットから選択したり、URL を使用してアイコンを参照したりすることができます。 |
リリーフ | このボタンの表示方法を定義します。ボタンはエンボスまたはフラットとして表示できます。 |
強調表示 | ボタンをデフォルトで強調表示する必要があるかどうかを示します。 |
[メニューボタン] タイプのエレメントは、[ツールバー] タイプのエレメントの下でのみ作成できます。
このタイプのエレメントを使用すると、ツールバーの 2 つのエレメントの間に間隔の形でセパレーターを挿入できます。
[区切り文字] タイプのエレメントは、[ツールバー] タイプのエレメントの下でのみ作成できます。
このタイプのエレメントを使用すると、メニューでエレメントのグループを定義できます。[メニューグループ] タイプのエレメントは、次の情報を定義します。
ラベルおよび説明 | エンドユーザーに表示される国際化されたラベルと説明。 |
グループタイプ | 作成するメニューグループのタイプを指定します。 |
サービスグループ名 | 再利用する既存のサービスグループを指定します。グループはモジュールで宣言され、他のサービスグループを含めることができます。このグループに含まれるすべてのサービスは、関連するデータセットのエンドユーザーに表示されます。 |
メニュービルダー名 | このメニューグループに割り当てる定義済みのメニューコンテンツを指定します。 |
除外されるサービス | 再利用されたサービスのグループから除外するサービスを示します。これらのサービスは、関連するデータセットのエンドユーザーには表示されません。 |
除外されるサービスグループ | 再利用するサービスのグループから除外するグループを示します。除外されたグループのサービスは、関連するデータセットのエンドユーザーには表示されません。 |
フィルタリングポリシー | [スマートフィルタリング] の場合、直接アクセス、つまりアクションボタンまたはアクションメニュー項目を介して構成されたサービスは、このグループの自動生成から削除されます。 |
[メニューグループ] タイプのエレメントは、次のエレメントの下でのみ作成できます。
メニューボタン
サブメニュー項目
このタイプのエレメントを使用すると、アクションをツールバーのメニュー項目に関連付けることができます。ユーザーがメニュー内の対応する項目をクリックすると、アクションが実行されます。[アクションメニュー項目] タイプのエレメントは、次の情報を定義します。
ラベルおよび説明 | エンドユーザーに表示される国際化されたラベルと説明。 |
サービス | ユーザーがボタンをクリックしたときに実行されるサービスを定義します。ビルトインサービス、またはモジュールまたは現在のデータモデルで定義されているユーザーサービスを選択できます。[Web コンポーネント] ターゲットが選択されている場合、サービスはツールバーの Web コンポーネントとして利用可能であると宣言する必要があります。 |
[アクションメニュー項目] タイプのエレメントは、[メニューグループ] タイプのエレメントの下でのみ作成できます。
このタイプのエレメントを使用すると、ツールバーメニューにサブメニューを追加できます。[サブメニュー項目] は、次の情報を定義します。
ラベルおよび説明 | エンドユーザーに表示される国際化されたラベルと説明。 |
[サブメニュー項目] タイプのエレメントは、[メニューグループ] タイプのエレメントの下でのみ作成できます。
ツールバーのエレメントはすべて、削除するエレメントの左側にあるメニュー を使用して削除できます。
他のエレメントを含むエレメントが削除されると、削除されたエレメントの下にあるすべてのエレメントに対して再帰的に削除が実行されます。
エレメントを複製するには、複製するエレメントの左側にあるメニュー をクリックします。複製したエレメントの名前とプロパティを指定します。すべてのソースエレメントのプロパティが複製されます。
複製されたエレメントは、元のエレメントと同じレベルの最終位置に追加されます。他のエレメントを含むエレメントが複製されると、すべてのサブエレメントがそれらのプロパティとともに複製されます。
エレメントを移動するには、メニュー をクリックし、使用する移動オプションを選択します。
ツールバーを既存のテーブルに関連付けるには、ツールバーの左側にあるメニュー をクリックし、[テーブルに関連付け] を選択します。このサービスを使用すると、ツールバーに複数のテーブルのデフォルトのツールバーを一度に設定できます。これを行うには、ツールバーのターゲットの場所を指定し、ツールバーに関連付けるテーブルまたはテーブルのプロパティを定義する複合データ型を選択します。
モデルで定義されたツールバーを XML ドキュメントにエクスポートすることができます。これを行うには、[ツールバー] セクションの [アクション] メニューにある [XML エクスポート] オプションを選択します。ウィザードに従って、ツールバーをエクスポートします。
選択したツールバーは、[ツールバー] セクションでエクスポートするツールバーを選択し、[アクション] メニューで使用できる [XML エクスポート] オプションを選択することでエクスポートできます。ツールバーは、データモデルエクスポートサービスを使用してエクスポートすることもできます。これは、ナビゲーションペインの [データモデル] の [アクション] メニューにあります。
XML ドキュメントから既存のツールバーをインポートすることができます。これを行うには、[ツールバー] セクションの [アクション] メニューにある [XML インポート] オプションを選択します。次に、ウィザードに従ってツールバーをインポートします。
ツールバーは、ナビゲーションペインの [データモデル] の [アクション] メニューからアクセスできるデータモデルインポートサービスを使用してインポートすることもできます。
パスの代わりに一意の名前を使用して、SQL リクエストおよびデータサービス操作でテーブルを参照できます。これを行うには、エンティティマッピングを定義して、テーブルパスと名前の関連付けを作成する必要があります。テーブルを参照するときは、この名前をデータサービス操作の WSDL サフィックスとして使用し、SQL リクエストのエイリアスとして使用します。
EBX® は、データモデルで定義されたテーブルのエンティティ名を自動的に作成します。テーブルパスの最後のステップは、デフォルトのエンティティ名として使用されます。エンティティ名はデータモデル内で一意にする必要があるため、モデルに同じ名前のテーブルが含まれていると、コンパイル中にエラーが発生するようになりました。この場合のエラーを防ぐには、エンティティ名を明示的に設定する必要があります。
ユーザーインターフェイスを介してエンティティマッピングを定義するには、データモデルを表示しているときにナビゲーションペインで [拡張機能] > [エンティティマッピング] に移動し、新しいレコードを作成します。次のプロパティを定義できます。
テーブルパス | SQL リクエストまたは WSDL 操作でこの名前によって参照される、現在のデータモデル内のテーブルのパスを指定します。 |
エンティティ名 | この名前は、関連するテーブルのすべての WSDL 操作名のサフィックスとして、また SQL リクエストのエイリアスとして使用されます。特定のテーブルで定義されていない場合は、代わりにテーブルパスの最後のエレメントが使用されます。この名前は、このデータモデルのコンテキスト内で一意である必要があります。 |
どのデータモデルでも、リポジトリ内のデータをリレーショナルデータベース内の専用テーブルにミラーリングするためのレプリケーションユニットを定義できます。これらのテーブルにより、SQL リクエストとビューによるデータへの直接アクセスが可能になります。
ユーザーインターフェイスを介してレプリケーションユニットを定義するには、ナビゲーションペインの [拡張機能] セクションの [レプリケーション] テーブルに新しいレコードを作成します。各レプリケーションユニットレコードは、特定のデータスペース内の特定のデータセットに関連付けられています。同じデータセット内にある限り、単一のレプリケーションユニットで複数のテーブルをカバーできます。レプリケーションユニットは、次の情報を定義します。
名称 | レプリケーションユニットの名前。この名前は、現在のデータモデルのレプリケーションユニットを識別します。一意である必要があります。 |
データスペース | このレプリケーションユニットに関連するデータスペースを指定します。スナップショットまたはリレーショナルデータスペースにすることはできません。 |
データセット | このレプリケーションユニットに関連するデータセットを指定します。 |
更新ポリシー | データ同期ポリシーを指定します。可能なポリシーは次のとおりです。
|
テーブル | データベースに複製されるデータモデルのテーブルを指定します。 テーブルパス:データベースにレプリケートされる現在のデータモデル内のテーブルのパスを指定します。 データベース内のテーブル名:データの複製先となるデータベース内のテーブルの名前を指定します。この名前は、すべてのレプリケーションユニット間で一意である必要があります。 |
集約リスト | データベースに複製されるテーブル内の集約リストのプロパティを指定します。 パス:データベースに複製されるテーブル内の集約リストのパスを指定します。 データベース内のテーブル名:集約リストのデータが複製されるデータベース内のテーブルの名前を指定します。この名前は、すべてのレプリケーションユニット間で一意である必要があります。 |
ノードの機密性は、特定のユーザーに対して非表示の場合に、クエリまたはリクエストでノードを使用できるかどうかを定義します。デフォルトでは、すべてのノードが機密です。
これは、ノードフォームエディターの [拡張機能] タブを使用して、DMA で構成できます。次のように、いくつかのレベルで機密性を定義することが可能です。
データモデルレベル (ルートノード):データモデルターミナルノードのデフォルトの機密性を定義します。ただし、より具体的な定義が (テーブルまたはノード自体に) 設定されている場合を除きます。
テーブルレベル (テーブルノード):より具体的な定義が (ノード自体に) 設定されている場合を除き、テーブルターミナルノードのデフォルトの機密性を定義します。
ターミナルノードレベル:ノードの機密性を定義します。
詳細については、機密性の定義を参照してください。
ユーザーガイド 目次