Red Hat Training
A Red Hat training course is available for Red Hat JBoss Data Virtualization
ユーザーガイド 1 : Teiid Designer
開発者向け
Red Hat Customer Content Services
概要
第1章 注意事項
1.1. データのバックアップ
警告
1.2. 変数名: EAP_HOME
EAP_HOME
は、JBoss Data Virtualization がデプロイされた Red Hat JBoss Enterprise Application Platform インストールのルートディレクトリーを示しています。
1.3. 変数名: MODE
MODE
は、JBoss Data Virtualization が実行されているモードがスタンドアロンまたはドメインモードであるかによって standalone
または domain
のいずれかになります。本書に記載されているファイルパスに MODE
がある場合は、これらのどちらかに置き換えてください (この変数は、ディレクトリー構造のどこに製品がインストールされているかに応じて、ご自身で設定する必要があります)。
1.4. Red Hat のドキュメントサイト
第2章 本書で使用される主な用語
2.1. Teiid Designer とは
2.2. メタデータとは
- 名前付きの ZIPCode
- 数値
- 文字列
- 9 文字
- StreetAddress テーブルにある
- 2 つの部分で構成されます。最初の 5 桁の数字は 5 つの ZIP コード番号を表し、最後の 4 桁は ZIP プラス 4 の番号を表します (ZIP プラス 4 がない場合は 0000)。
- 整数の数字のみにフォーマットされます。631410.00 や 6314q0000 などにフォーマットされるとエラーが発生します。
- どのような情報がメタデータに含まれるか (「ビジネスおよびテクニカルメタデータ」を参照)
- メタデータはどのデータを表すか (「ソースおよびビューメタデータ」 を参照)
- 自分の組織でどのようにこのメタデータを使用および管理するか (「デザインタイムおよびランタイムメタデータ」 を参照)
2.3. メタデータモデル
2.4. ビジネスおよびテクニカルメタデータ
- テクニカルメタデータは、データの場所やネイティブ環境でのデータ構造など、データのアクセスに必要な情報を記述します。
- ビジネスメタデータは、メタデータオブジェクトに関連するキーワードやメタデータオブジェクトに関する注記など、データに関する他の情報を記述します。
注記
2.5. テクニカルメタデータ
- 名前付きの ZIPCode
- 9 文字
- 文字列
- StreetAddress テーブルにある
- SQL クエリー言語を使用
2.6. ビジネスメタデータ
- 最初の 5 文字は 5 つの ZIP コード番号を表し、最後の 4 桁は ZIP プラス 4 の番号を表します (ZIP プラス 4 がない場合は 0000)。
- データベースのこのフィールドを入力するために使用されるアプリケーションは、データ形式の整合性を厳格に強制します。
2.7. デザインタイムおよびランタイムメタデータ
2.8. デザインタイムメタデータ
2.9. ランタイムメタデータ
- メタデータモデルの一貫したセットからランタイムメタデータが派生されます。
- 基盤のエンタープライズ情報システムへのアクセスを記述するテクニカルメタデータを重視し、デザインタイムメタデータのサブセットを作成します。
- データアクセスのパフォーマンスに対し、ランタイムメタデータを最適化します。
2.10. モデルとは
.xmi
(例: NorthwindOracle.xmi
) で、OMG によって定義される XMI 構文に準拠します。
図2.1 サンプルモデルファイル
注記
図2.2 モデルの内部
- リレーショナルテーブルおよびビュー
- XML
- Web サービス
- Function パネル
2.11. ソースおよびビューメタデータ
2.12. Compact Node Type Definition
2.13. Java コンテンツリポジトリー
- 情報の読み書きアクセス
- 階層的にファイルを構造化する機能
- 構造化されたコンテンツや構造化されていないコンテンツを使用して作業する機能
- 検索およびクエリーを行う機能
- 情報のバージョン管理
- コンテンツへのアクセスを制御する機能
2.14. ModeShape Tools
2.15. 仮想データベース
パート I. Teiid Designer
第3章 Teiid Designer の紹介
3.1. Teiid Designer を使う理由
- セマンティックな差異を解決します。
- 物理または論理レベルで仮想データ構造を作成します。
- 宣言型インターフェースを使用して、ソースと対象の形式の間でデータを統合、集約、および変換します。これは、アプリケーションと互換性があり、アプリケーションによる消費に対して最適化されます。
- Web サービス/SOAP/XML
- JDBC/SQL
- ODBC/SQL
3.2. ソースメタデータのモデリング
- データタイプのアイデンティティー
- ストレージの形式
- 制約
- ソース固有の場所および名前
3.3. ビューメタデータのモデリング
- アプリケーションに関係する情報のみを公開できます。アプリケーションはこのビューメタデータを使用し、最終的な物理データストレージに対してクエリーを解決します。
- ビューメタデータをアプリケーションが使用する既存のビューメタデータに追加すると、データの異なるビューが必要な既存アプリケーションにコンテンツを追加できます。新しいモデルを作成したり既存のアプリケーションを編集したりする必要がないため、時間と労力を節約できます。
- アプリケーションが特定の物理エンタープライズ情報システムを参照する必要がないため、柔軟性や代替の可能性が向上されます。情報のソースを変更するため、アプリケーションを変更する必要がありません。
- ビューメタデータモデルは、企業がデータを使用するさまざまな方法や、その情報を参照するさまざまな用語を記述します。これは一元的な場所で行われます。
第4章 : モデル
4.1. プロセスの説明
- SOAP Web サービスの消費
- フラットファイルソース (テキストファイル) からのモデリング
- JDBC データソースからのモデリング
- ローカル XML ファイルソースからのモデリング
- リモート XML ファイルソースからのモデリング
- Red Hat JBoss Data Virtualization データソース (サーバー上にデプロイ) からのモデリング
- Red Hat JBoss Data Virtualization サーバーへの接続
4.2. モデルクラスおよびタイプ
- リレーショナル: テーブル列とレコード形式で表すことができるモデルデータです。リレーショナルモデルは、リレーショナルデータベース、スプレッドシート、テキストファイル、または簡単な Web サービスにある構造を表すことができます。
- XML: XML ドキュメントの基本的な構造を表すモデルです。XML スキーマによるサポートが可能です。XML モデルは再帰的な階層などのネストされた構造を表します。
- XML スキーマ: XML ドキュメントの構造および内容を形式的に定義するための W3C 標準であり、XML ドキュメントで許可される値を定義するデータタイプです。
- Web サービス: Web サービスインターフェース、演算、および演算入出力パラメーター (XML スキーマの形式) を定義します。
- 関数: 関数メタモデルは、カスタムのトランスフォーメーション SQL ステートメントで使用する、バイナリーソース jar などのユーザー定義の関数を提供する機能をサポートします。
4.3. VDB の内容と構造
.vdb
ファイル拡張子を使用します。VDB は構造上、3 つのフォルダーが含まれる ZIP アーカイブファイルです。
- META-INF:
vdb.xml
定義ファイルが含まれます。 - runtime-inf - VDB に含まれる各モデルのバイナリー INDEX ファイルが含まれます。
- project folder: VDB エディターに追加するモデルが含まれます (
*.xmi
および*.xsd
ファイル)。
- VDB 名、バージョン、プロパティー
- 含まれるモデル情報 (名前、トランスレーター名、接続情報)
- トランスレーターの情報
- 参照されたモデルのデータロール定義
- VDB リファレンスのインポート
vdb.xml
ファイルを維持する専用の VDB エディターを提供して VDB の管理を容易にし、ワークスペースモデルを VDB の関連するモデルと同期化できるようにします (「VDB Editor」 を参照してください)。
4.4. モデルのバリデーション
注記
4.5. モデルのテスト
- アクセスパターンが関係するテーブルを含む、リレーショナルテーブルまたはビュー。
- リレーショナルプロシージャー
- Web サービス演算
- XML ドキュメントステージングテーブル
注記
第5章 モデルオブジェクトの拡張
5.1. モデルオブジェクトの拡張
- 別の EMF メタモデルは必要ありません。
- 拡張可能なメタデータモデルおよびメタモデルオブジェクトの削減 (リレーショナル、Web サービス、XML ドキュメント、ユーザー定義の関数) を含め、EMF の用語を基本オブジェクトタイプに置き換える方法がより簡単です。
- 複数の MED によるメタモデルの拡張が可能です。
- MED はモデルに保存されるため、VDB には追加の依存関係が必要ありません。
5.2. モデル拡張定義 (MED)
- 名前空間の接頭辞: 一意の識別子です。通常は少数の文字のみで、名前空間 URI の省略形として使用できます。
- 名前空間 URI: 一意の URI です。
- 拡張メタデータモデル URI (モデルクラス): 拡張されたメタデータモデル URI です。各メタデータモデル URI にはモデルクラスもあり、通常はこれが Designer で表示されます。拡張に対してサポートされるモデルクラスは、リレーショナル、Web サービス、XML ドキュメント、および関数です。
- バージョン (現在使用されていません)。
- 記述: オプションの記述および目的
- 拡張モデルオブジェクトタイプ (メタクラス): 拡張プロパティーが定義されているモデルオブジェクトタイプまたはメタクラスのセット。
- プロパティー: モデルオブジェクトタイプによってグループ化される拡張プロパティー定義。
mxd
の XML ファイルです。MED スキーマファイル (添付の modelExtension.xsd
を参照) は MED ファイルの検証に使用されます。以下に MED ファイルの例を示します。
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <modelExtension xmlns:p="http://org.teiid.modelExtension/2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" metamodelUri="http://www.metamatrix.com/metamodels/Relational" namespacePrefix="mymodelextension" namespaceUri="org.my.extension.mymodelextension" version="1" xsi:schemaLocation="http://org.teiid.modelExtension/2011 modelExtension.xsd" xmlns="http://org.teiid.modelExtension/2011"> <p:description>This is my model extension</p:description> <p:extendedMetaclass name="com.metamatrix.metamodels.relational.impl.BaseTableImpl"> <p:property advanced="false" index="true" masked="false" name="copyable" required="false" type="boolean"> <p:description locale="en_US">Indicates if table can be copied</p:description> <p:display locale="en_US">Copyable</p:display> </p:property> </p:extendedMetaclass> </modelExtension>
.mxd
ファイルを開くと MED ファイルを編集できます。
5.3. モデル拡張定義レジストリー (MED レジストリー)
- ビルトイン MED: これらの MED は Teiid Designer のインストール中に登録されます。ユーザーは更新や登録解除することはできません。
- ユーザー定義 MED: これらの MED はユーザーによって作成されます。ユーザーは更新、登録、および登録解除することができます。
第6章 サーバー管理
6.1. JBoss Data Virtualization Server のターゲット
6.1.1. JBoss Data Virtualization Server のターゲット
6.1.2. サーバーバージョン設定
図6.1 デフォルトのサーバーバージョン設定
6.1.3. JBoss Data Virtualization Server の定義
- 新しい JBoss サーバーの設定
- JBoss/Teiid インスタンスプロパティーの編集
- デフォルトの JBoss/Teiid インスタンスの設定
- Teiid インスタンスのリフレッシュ
図6.2 ガイドビューの Teiid サーバーカテゴリー
注記
6.1.4. サーバーバージョン状態パネル
図6.3 デフォルトのサーバー状態パネル
6.2. サーバーの設定
図6.4 作成されたサーバーのないサーバービュー
図6.5 新しいサーバーの設定
図6.6 単一サーバーのサーバービュー
図6.7 Teiid サーバー設定用のエディター
6.3. JBDS をリモートの Red Hat JBoss Data Virtualization Server へ接続する
- File - New - Other - Server を選択します。
- Red Hat JBoss Middleware ->JBoss Enterprise Application Platform 6.x+ を選択します。
- ホストをリモートサーバーのホスト名 (myserver01.labs.mycompany.com など) に設定し、Next をクリックします。
- Remote を選択してから Management Operations を選択し、Server is externally managed にチェックを入れ、Assign Runtime のチェックを外してから Next をクリックします。
- New Host をクリックして SSH Only を選択してから、Next をクリックします。
- Hostname は事前記入のはずですが、そうでない場合は自分のホスト名 (つまり、myserver01.labs.mycompany.com) をペーストして、接続名を設定してから、Finish をクリックします。
- 再度 Finish をクリックします (Remote Server Home エントリーは記入する必要はありません)。
- サーバービューでサーバーをダブルクリックして、admin のユーザー名/パスワードを設定し、保存します。
注記
第7章 Teiid Designer の例
7.1. Teiid Designer の例
- GuidesGuides ビューは、多くの一般的なモデリング作業で適切な開始点と言えます。ビューにはカテゴリー化されたモデリングアクションが含まれ、一般的なタスクの Cheat Sheets へのリンクも含まれます。カテゴリー化されたモデリングアクションは、作業を完成させるために必要となるすべてのアクションをグループ化します。Teiid Designer のメニューからアクションを探さずに、ガイドビューから直接アクションを開始できます。
- Cheat Sheetsチートシートはカテゴリー化されたアクションセットにとどまらず、一般的な作業の一部をステップごとに実行します。各ステップにおいて、可能であれば前のステップで入力したデータがプロセス全体で引き継がれます。
7.2. Guides ビュー
- Teiid モデルプロジェクトの定義
- JDBC 接続の作成
- JDBC データソースのソースモデルの作成
- データのプレビュー
- VDB の定義
- VDB の実行
7.3. JDBC ソースのモデリング
Guides ビューを開く
Teiid Designer の Guides ビューを開くには、メインメーニューで Window >Show View > Other... の順にクリックし、ダイアログの Teiid Designer > Guides ビューをクリックします。以下は Model JDBC Source アクションセットが選択された Guides ビューになります。図7.1 Guides ビュー
Teiid モデルプロジェクトの定義
- Define Teiid Model Project アクションは New Model Project ウィザードを開始します。Action Set リストでアクションをダブルクリックします (または、アクションを選択した後に Execute selected action をクリックします)。開始されたウィザードは次のようになります。プロジェクト名 (例: MyProject) を Name フィールドに入力した後、Next をクリックします。
図7.2 New Model Project ウィザード
- ウィザードの次のページは以下のようになります。
図7.3 新規プロジェクトのフォルダー
- Create Folders 下の schemas および web_services を消去します。これらはこの例では必要ありません。次に、Finish をクリックしてウィザードを終了します。これでプロジェクトが作成されます。Model Explorer ビューは以下のようになります。
図7.4 Model Explorer
JDBC 接続の作成
Create JDBC connection アクションはデータベースの Connection profile を作成します。接続プロファイルは、データベースへ接続するときに使用されるプロパティーとドライバーを定義します。Action Set リストでアクションをダブルクリックします (または選択後に Execute selected action をクリックします)。下図のウィザードが起動します。図7.5 接続プロファイル名およびタイプ
接続するデータベースのタイプを選択し (例: MySQL)、接続プロファイルの名前 (例: TestMySQL) を入力します。その後、Next をクリックします。図7.6 接続プロファイルプロパティー
ドライバーを選択し、データベースのログインプロパティーを入力します。Next をクリックし、プロファイルの作成を完了します。JDBC データソースのソースモデルの作成
- データベースからメタデータをインポートして Teiid ソースモデルを作成するため、Create source model for JDBC data source アクションは作成した Connection profile を利用するようになります。Action Set リストでアクションをクリックします (または選択後に Execute selected action をクリックします)。下図のウィザードが起動します。
図7.7 接続プロファイルの選択
- このページで、前の手順で作成した TestMySQL 接続プロファイルを選択します。Next をクリックします。
図7.8 データベースメタデータの選択
- このページで、インポートしたいデータベースメタデータを選択します。選択したら Next をクリックします。
図7.9 データベースオブジェクトの選択
- このページで、データベースからインポートしたい特定のオブジェクトを選択します。選択したら Next をクリックします。
図7.10 インポートオプション
- 最後に、作成するモデルの名前を選択します (デフォルトは
profileName.xmi
です)。Into Folder フィールドは新しいモデルの目的の場所を定義します。MyProject/sources
フォルダーを選択します。選択したら Finish をクリックします。これでソースモデルが作成されます。Model Explorer ビューは以下のようになります。図7.11 Model Explorer
データのプレビュー
Teiid Designer のすべての実行機能 (データのプレビュー、VDB 実行) を使用するには、稼働中の JBoss Data Virtualization Server に接続する必要があります。JBoss Data Virtualization Server の接続を確立する手順は、teiid-view を参照してください。JBoss Data Virtualization Server へ接続した後、以下の手順を行うことができます。- Preview Data アクションは、ソースからのデータ行のサンプルをプレビューできるようにします。Action Set リストでアクションをダブルクリックします (または、選択後に Execute selected action をクリックします)。
- ダイアログで、以下のようにプレビューで表示したいソーステーブルを選択します。
図7.12 プレビューテーブルの選択
- テーブルを選択したら OK をクリックします。プレビューの結果が表示されます。
図7.13 プレビューの結果
VDB の定義
- Define VDB アクションは、JBoss Data Virtulization Server へのデプロイメントの VDB (仮想データベース) アーティファクトを作成できるようにします。Action Set リストでアクションをダブルクリックします (または、選択後に Execute selected action をクリックします)。以下のダイアログが表示されます。
図7.14 新しい VDB
- ダイアログで、VDB を置く In Folder の場所を選択します。VDB の名前 (例: myVDB) を入力します。最後に、VDB に含まれるモデルを選択します。選択後、Finish をクリックします。下図のように Teiid モデルプロジェクトに VDB が作成されます。
図7.15 Model Explorer
VDB の実行
Execute VDB アクションは、VDB を実行し、その VDB に対してサンプルクエリーを実行できるようにします。Action Set リストでアクションをダブルクリックします (または、選択後に Execute selected action をクリックします)。ダイアログで、実行する VDB を選択した後、OK をクリックします。VDB がデプロイおよび実行され、Database Development パースペクティブに切り替わります。以下の例のように、VDB に対してクエリーを実行できるようになります。図7.16 VDB 例の実行
7.4. Cheat Sheets
7.5. SOAP Web サービスの消費
Cheat Sheet を開く
Designer メニューから Cheat Sheet にアクセスできます。Designer メインメニューから Window > Show View > Other... と選択し、ダイアログで Help > Cheat Sheets を選択します。Guide View から Cheat Sheet にアクセスすることもできます。以下の Guide ビューの例では、Consume a SOAP Web Service アクションが選択されています。図7.17 Guides ビュー
Guide View から Cheat Sheet を開くには、Guide View の下部にある Cheat Sheet のセクションを展開し、Consume a SOAP Web Service リンクを選択します。Cheat Sheet の開始
以下は Consume a SOAP Web Service の Cheat Sheet です。図7.18 Consume SOAP Web Service の Cheat Sheet
Cheat Sheet プロセスを開始するには、Introduction セクションを展開した後に Click to Begin を選択します。以下の Create New Teiid Model Project セクションが表示されます。図7.19 モデルプロジェクトの作成
注記
シートの各セクションには、各ステップで何を行うかを説明する基本手順が記載されています。Click next to Launch New Teiid Model Project Wizard to launch the New Project wizard. Follow the wizard to create a new Model Project. For this example, we will useSOAPProj
for our project name. On the second page of the wizard, select the sources and views folders. Click Finish. The new project is created.In the Cheat Sheet, you can advance to the next step - once the wizard has completed. Click to advance to the next step.Create SOAP Web Service Connection
Cheat Sheet のこのセクションには、以下のように SOAP Web Service の接続プロファイルを作成する手順が記載されています。図7.20 SOAP 接続プロファイルの作成
Click next to Launch Create SOAP Connection Profile Wizard to launch the wizard. The first page of the wizard is shown below:図7.21 SOAP 接続プロファイルの作成
Web Services Data Source (SOAP) プロファイルタイプが選択されます。プロファイル名として CountryInfoConn を入力し、Next をクリックします。以下はウィザードの次のページになります。図7.22 SOAP 接続プロパティー
The connection profile properties are entered on this page. Click the URL... button, then enter the following URL: http://www.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL. Select None for SecurityType, then click OK to complete the wizard. In the Cheat Sheet, you can now continue - once the wizard has completed. Click to advance to the next step.Create Models from SOAP Connection
Cheat Sheet のこのセクションには、以下のように前の手順で作成された SOAP Web Service の接続プロファイルを使用してリレーショナルモデルを作成する手順が記載されています。図7.23 Create Models from SOAP Connection
Click next to Launch the Consume SOAP Web Service Wizard to launch the wizard. The first page of the wizard is shown below:図7.24 SOAP ウィザードの消費
Connection Profile では、以前の手順で作成した CountryInfoConn プロファイルを選択します。選択すると、Select the desired WSDL Operations の下に利用可能な WSDL 演算が表示されます。この例では、最初の CapitalCity 演算のみを選択します。Next をクリックして、以下のように次のページに進みます。図7.25 SOAP ウィザードの消費
Model Definition ページでは、ソースおよびビューモデル情報のセクションが事前入力されています。ソースとビューモデルのデフォルトの名前と場所をそのまま使用します。Next をクリックし、以下のように次のページに進みます。図7.26 SOAP ウィザードの消費
Procedure Definition ページでは、この例で唯一使用される CapitalCity 演算が選択されます。 Request タブで sCountryISOCode 要素を選択した後、Add ボタンをクリックします。これで、選択された要素がリクエストに追加されます。以下のように Response タブを選択します。図7.27 SOAP ウィザードの消費
Response タブで Body サブタブを選択します。Schema Contents で CapitalCityResult を選択した後、Add ボタンをクリックします。Wrapper Procedure タブを選択し、以下のように完全な生成されたプロシージャの SQL を表示します。図7.28 SOAP ウィザードの消費
Click Finish to exit the wizard. In the Cheat Sheet, you can now continue. Click to advance to the next step.Create VDB
Cheat Sheet のこのセクションには、以前のステップで作成したモデルを使用して VDB を作成する手順が記載されています。Cheat Sheet のセクションは次のとおりです。図7.29 Create VDB
Click next to Launch New VDB Wizard to launch the wizard. Follow the steps to create a VDB in your workspace. When complete, exit the wizard. In the Cheat Sheet, you can now continue. Click to advance to the next step.Test VDB
This final section of the Cheat Sheet provides instructions for executing the VDB created in the previous step. Click next to Launch Execute VDB Dialog to launch the wizard. Select the previously created VDB to execute it.
第8章 New Model ウィザード
8.1. New Model ウィザードの起動
- File > New... > Metadata Model の順にアクションをクリックします。
- Model Explorer View のプロジェクトまたはフォルダーを選択し、右クリックのメニューで同じアクションを選択します。
- メインツールバーの New ボタンを選択し、Metadata Model アクションを選択します。
注記
8.2. 新しいリレーショナルソースモデルの作成
8.2.1. 新しいリレーショナルソースモデルの作成
- New Model Wizard を起動します。
- 一意なモデル名を指定します。
- Model Class ドロップダウンメニューから Relational オプションを選択します。
- Model Type ドロップダウンメニューから Source Model を選択します。
- Finish をクリックします。
注記
8.2.2. ファイルトランスレータープロシージャーの生成
- Generate File Translator Procedures というラベルが付いたモデルビルダーを選択し、Next > をクリックします。Generate File Translator Procedures ダイアログが表示されます。
- 1つまたは複数の Available File Translator Procedures を選択し、Finish をクリックします。
8.2.3. Web サービストランスレータープロシージャーの生成
- Generate Web Service Translator Procedures というラベルが付いたモデルビルダーを選択し、Next > をクリックします。Generate Web Service Translator Procedures ダイアログが表示されます。
- 1つまたは複数の Available Web Services Translator Procedures を選択し、Finish をクリックします。
8.2.4. 既存リレーショナルソースモデルからのコピー
- 同じモデルクラスの Copy from existing model というラベルが付いたモデルビルダーを選択し、Next > をクリックします。Copy Existing Model ダイアログが表示されます。
- Browse ボタンを使用してワークスペースから既存のリレーショナルモデルを選択します。
注記
New Model ウィザードを起動する前にモデルエクスプローラービューでワークスペースのリレーショナルモデルを選択した場合、既存のモデルが事前選択されます。 - 必要に応じて Copy all descriptions オプションを選択します。Finish をクリックします。
8.3. 新しいリレーショナルビューモデルの作成
8.3.1. 新しいリレーショナルビューモデルの作成
- New Model Wizard を起動します。
- 一意なモデル名を指定します。
- Model Class ドロップダウンメニューから Relational オプションを選択します。
- Model Type ドロップダウンメニューから View Model を選択します。
- Finish をクリックします。
注記
- 同じモデルクラスの既存モデルからのコピー。
- 既存モデルからのトランスフォーメーション。
8.3.2. 既存リレーショナルビューモデルからのコピー
- 同じモデルクラスの Copy from existing model というラベルが付いたモデルビルダーを選択し、Next > をクリックします。Copy Existing Model ダイアログが表示されます。
- Browse ボタンを使用してワークスペースから既存のリレーショナルモデルを選択します。
- 必要に応じて Copy all descriptions オプションを選択します。Finish をクリックします。
8.3.3. 既存リレーショナルビューモデルからのトランスフォーメーション
SELECT * FROM SourceModel.Table_X
) を作成する追加機能でリレーショナルソースモデルからリレーショナルビューモデルを作成する場合のみ該当します。手順は、前述の「リレーショナルビューモデルからのコピー」と同じです。
8.4. 新しい XML ドキュメントビューモデルの作成
8.4.1. 新しい XML ドキュメントビューモデルの作成
- New Model Wizard を起動します。
- 一意なモデル名を指定します。
- Model Class ドロップダウンメニューから XML オプションを選択します。
- Model Type ドロップダウンメニューから View Model を選択します。
- Finish をクリックします。
注記
- 同じモデルクラスの既存モデルからのコピー。
- XML スキーマからの XML ドキュメントのビルド。
8.4.2. 既存 XML ドキュメントビューモデルのコピー
- 同じモデルクラスの Copy from existing model というラベルが付いたモデルビルダーを選択し、Next > をクリックします。Copy Existing Model ダイアログが表示されます。
- Browse ボタンを使用してワークスペースから既存のリレーショナルモデルを選択します。
- 必要に応じて Copy all descriptions オプションを選択します。Finish をクリックします。
8.4.3. XML ドキュメントビューモデルのビルド
- Build XML documents from XML スキーマというラベルが付いたモデルビルダーを選択し、Next > をクリックします。Select XML Schema ダイアログが表示されます。
- Browse ボタンを使用してワークスペースから既存のスキーマモデルを選択します。
注記
New Model ウィザードを起動する前に VDB エクスプローラーでワークスペースの XSD モデルを選択した場合、既存のモデルが事前選択されます。スキーマはワークスペースにある必要があるため、ワークスペースに 1 つまたは複数のスキーマを取り込む場合は、ファイルシステムインポーターの XSD Schemas を使用します。 - 矢印ボタンを使用して、新しいモデルで仮想ドキュメントとしたい利用可能なスキーマのルート要素を Virtual Documents リストに移動します。
- 適切なドキュメントオプションとマッピングオプションを選択します。Finish をクリックします。
- Finish をクリックして選択したすべてのドキュメントエンティティーのモデルを作成します。または、オプションで Next > をクリックし、ドキュメントエンティティーの統計を表示する Selected Documents Statistics ページを表示します。このページでは作成したモデルのサイズを推定できます。
- オプションで、Finish をクリックして選択したすべてのドキュメントエンティティーのモデルを作成するか、Next > をクリックし、ドキュメント固有のエンティティーを除外できる Preview Generated Documents ページを表示します。Finish をクリックします。
注記
深くネストされたスキーマでは、合計のエンティティー数が大きくなる可能性があります。そのため、プレビューの表示に時間がかかることがあります。
8.5. 新しい XML スキーマモデルの作成
8.5.1. 新しい XML スキーマモデルの作成
.xsd
) モデルを作成するには、以下を行います。
- New Model Wizard を起動します。
- 一意なモデル名を指定します。
- Model Class ドロップダウンメニューから XML Schema (XSD) オプションを選択します。
- Model Type ドロップダウンメニューから Datatype Model を選択します。
- Finish をクリックします。
注記
- 同じモデルクラスの既存モデルからのコピー。
8.5.2. 既存 XML スキーマモデルのコピー
- 同じモデルクラスの Copy from existing model というラベルが付いたモデルビルダーを選択し、Next > をクリックします。Copy Existing Model ダイアログが表示されます。
- Browse ボタンを使用してワークスペースから既存のリレーショナルモデルを選択します。
- 必要に応じて Copy all descriptions オプションを選択します。Finish をクリックします。
8.6. 新しい Web サービスビューモデルの作成
8.6.1. 新しい Web サービスビューモデルの作成
- New Model Wizard を起動します。
- 一意なモデル名を指定します。
- Model Class ドロップダウンメニューから Web Service オプションを選択します。
- Model Type ドロップダウンメニューから View Model を選択します。
- Finish をクリックします。
注記
- 同じモデルクラスの既存モデルからのコピー。
- 既存の WSDL ファイルまたは URL からのビルド。
8.6.2. 既存の Web サービスビューモデルのコピー
- 同じモデルクラスの Copy from existing model というラベルが付いたモデルビルダーを選択し、Next > をクリックします。Copy Existing Model ダイアログが表示されます。
- Browse ボタンを使用してワークスペースから既存のリレーショナルモデルを選択します。
- 必要に応じて Copy all descriptions オプションを選択します。Finish をクリックします。
8.6.3. WSDL ファイルまたは URL からの Web サービスビューモデルの作成
- Build from existing WSDL file(s) or URL というラベルの付いたモデルビルダーを選択し、Next > をクリックします。
- ウィザードの残りの手順は、「WSDL の Web サービスへのインポート」に記載されているオプションの手順と同じです。
8.6.4. XML ドキュメントビューモデルからの Web サービスビューモデルの作成
- Model Explorer ビューで、単一の XML ドキュメントまたは単一の XML ドキュメントルートを選択します。
- 右クリックして Modeling > Create Web Service アクションを選択します。
- Web Service Generation Wizard で、不足しているプロパティーを入力します。
- Finish をクリックしてモデルを生成します。モデルの生成が完了すると確認ダイアログが表示されます。OK をクリックします。
注記
第9章 インポーター
9.1. インポーター
図9.1 Import ウィザード
9.2. DDL のインポート
- In Model Explorer, click File > Import action in the toolbar or select a project, folder or model in the tree and click Import...
- インポートオプションTeiid Designer > DDL File >> Source or View Model を選択し、Next> をクリックします。
- Choose from file system... または Choose from workspace... から既存の DDL を選択します。モデルフォルダーの場所を設定し、有効なモデル名を入力または選択します。モデルタイプ (Source Model または View Model) を設定し、必要なオプションを設定してから NEXT> (または有効な場合は Finish) をクリックします。
図9.2 DDL インポートオプション
- NEXT> をクリックすると、個別のリレーショナルエンティティーを確認または選択解除するために相違点のレポートが表示されます。Finish をクリックして終了します。
図9.3 DDL ダイアログのインポート
9.3. JDBC データベースからのインポート
注記
- Model Explorer でツールバーの File > Import アクションをクリックするか、ツリーのプロジェクト、フォルダー、またはモデルを選択し、Import... をクリックします。
- インポートオプション Metadata Modeling > JDBC Database >> Source Model を選択し、Next> をクリックします。
- ドロップダウンメニューから既存または以前の接続プロファイルを選択するか、 New... ボタンをクリックして New Connection Profile ダイアログを開始します。または、Edit... をクリックして選択前に既存の接続プロファイルを変更します。
注記
接続プロファイル選択リストは JDBC データベース接続のみで入力されます。図9.4 Select JDBC Source Configuration ダイアログ
JDBC データベースは異なるため、データタイプの変換またはメタデータの解釈を行うためにメタデータの特別な処理が必要になります。JDBC メタデータプロセッサードロップダウンメニューは、選択された接続プロファイルを基に自動的に選択されます。DB2、ModeShape、ODBC、Oracle、PostgeSQL、SQL Server、および Sybase 用の特別なプロセッサーを利用できます。他のデータベースではデフォルトの JDBC プロセッサーを使用できます。 - 接続プロファイルを選択した後、パスワードを入力します (入力済みでない場合)。Next> (または有効な場合は Finish) をクリックします。
図9.5 Select JDBC Source Configuration ダイアログ
- Select Database Metadata ページで、インポートするデータベースのオブジェクトのタイプを選択します。Next> (または有効な場合は Finish) をクリックします。
図9.6 Select Database Metadata ダイアログ
- Select Database Objects ページで、スキーマの内容の表示または選択の変更を行います。 リレーショナルオブジェクトの構築に使用されるデータベーススキーマオブジェクトを選択します。Next> (または有効な場合は Finish) をクリックします。
図9.7 Select Database Options ダイアログ
- Specify Import Options ページで、希望のモデル名と、リレーショナルオブジェクトの名前をカスタマイズするために使用されるその他のオプションを指定します。Finish をクリックして終了します。
図9.8 Specify Import Options ダイアログ
- 終了処理中に、モニターが表示され、インポートの進捗に関するフィードバックが提供されます。
図9.9 JDBC Import Progress ダイアログ
9.4. Teiid データソース接続からのインポート
手順9.1 Teiid データソース接続からのインポート
- Model Explorer に移動します。
- ツールバーの File - Import アクションを選択します。ツリーでプロジェクト、フォルダー、またはモデルを選択した後、Import... を選択します。
- Teiid Designer - Teiid Connection - Source Model と選択し、Next をクリックします。
- インポートに使用するデータソースを選択します。必要なソースが存在しない場合は新しいソースを作成できます。また、他のソース管理機能を実行することもできます。
- Next をクリックします。
- データソースタイプの適切なトランスレーターを選択し、作成または更新したいターゲットリレーショナルモデルを選択します。Next をクリックします。
- ウィザードの次のページに移動したときに、一時的な動的 VDB が実際にサーバーにデプロイされ、データソースのスキーマが DDL で読み出されます。この DDL は表示されます (必要な場合はエクスポートすることもできます)。Next をクリックします。
- ウィザードの最後のページで、個別のリレーショナルエンティティーを確認または選択解除するために相違点のレポートが表示されます。Finish をクリックして終了します。
9.5. フラットファイルソースからのインポート
getTextFiles()
プロシージャーが含まれるソースモデルが含まれます。
getTextFiles()
プロシージャーが含まれる SQL トランスフォーメーションはビューテーブル内で生成され、Teiid TEXTTABLE()
関数に必要な列定義およびパラメーターはデータファイルのクエリーに使用されます。また、新しいビューモデルを作成する代わりに既存のビューモデルの更新を選択することもできます。
TEXTTABLE
関数は文字入力をプロセスし、表形式出力を作成します。この関数は、固定および区切りのファイル形式解析をサポートします。関数自体は投影する列を定義します。TEXTTABLE
関数は暗黙的にはネストされたテーブルで、先行の FROM 句エントリーに関連付けることがあります。
TEXTTABLE(expression COLUMNS <COLUMN>, ... [DELIMITER char] [(QUOTE|ESCAPE) char] [HEADER [integer]] [SKIP integer]) AS name
SELECT A.Name, A.Sport, A.Position, A.Team, A.City, A.StateCode, A.AnnualSalary FROM (EXEC PlayerDataSource.getTextFiles('PlayerData.txt')) AS f, TEXTTABLE(f.file COLUMNS Name string, Sport string, Position string, Team string, City string, StateCode string, AnnualSalary string HEADER 2 SKIP 3) AS A
- In Model Explorer, click File > Import action in the toolbar or select a project, folder or model in the tree and click Import...
- インポートオプションTeiid Designer > File Source (Flat) >> Source and View Model を選択し、Next> をクリックします。
図9.10 フラットファイルソースからのインポート
- ドロップダウンメニューから既存または以前の接続プロファイルを選択するか、New... ボタンをクリックして New Connection Profile ダイアログを開始します。または、Edit... をクリックして選択前に既存の接続プロファイルを変更します。Flat File Source 選択リストは、フラットファイル接続プロファイルでのみ入力されます。接続プロファイルを選択した後、接続プロファイルで定義されたフォルダーのファイルが Available Data Files パネルに表示されます。処理するデータファイルを選択します。データの読み出しと結果セットの返信に必要な SQL トランスフォーメーションが含まれるビューテーブルの構築には、このファイルからのデータとカスタムインポートオプションが使用されます。最後に、ページの下部にある Source Model Definition に一意なソースモデル名を入力するか、Browse ボタンを使用して既存のソースモデルを選択します。モデル名の有効性、モデルが存在するかどうか、およびモデルに
getTextFiles()
プロジージャーがすでに含まれているかどうかを示す Model Status を確認してください。この場合、ソースモデルもプロシージャーも生成されません。このページの作業を終了したら Next> をクリックします。図9.11 Data File Source Selection ページ
- Flat File Column Format Definition というタイトルの次のページでは、ファイルの列データの形式を定義する必要があります。オプションは Character delimited と Fixed width。です。このページにはファイル内容のプレビューが含まれ、形式を決定するのに役立ちます。最初の 20 行を表示するのがウィザードのデフォルトになりますが、必要に応じて変更できます。このページの作業を終了したら Next> をクリックします。
図9.12 Data File Source Selection ページ
- Character Delimited (文字区切り) オプション - このインポーターの主な目的は、ユーザー定義のデータファイルをクエリーするために必要なトランスフォーメーションが含まれるビューテーブルを作成することです。このページには、Character delimited オプションの下のパネル (Generated SQL Statement) に表示される生成された SQL ステートメントをカスタマイズするために使用できるオプションが示されます。ヘッダーオプション (ヘッダーの列名、ヘッダー行番号、および最初のデータ行番号) の指定、選択した行の解析、文字デリミターの変更、および
TEXTTABLE()
関数オプションの編集を行います。ファイルヘッダーで列名が定義されていない場合や、カスタム列を編集または作成したい場合は、 ADD、DELETE、UP、または DOWN を使用して SQL の列情報を管理できます。このページの作業を終了したら Next> をクリックします。図9.13 Flat File Delimited Columns Options ページ
パーサー設定が適切であることを判断できるようにするには、File Contents Preview でデータ行を選択し、Parse Selected Row ボタンをクリックします。列のリストと結果となる列データを示すダイアログが表示されます。列データが予想どおりでなかった場合、結果に従って設定を調整する必要があります。図9.14 Parse Column Data ダイアログ
- Fixed Column Width (固定列幅) オプション - このインポーターの主な目的は、ユーザー定義のデータファイルをクエリーするために必要なトランスフォーメーションが含まれるビューテーブルを作成することです。このページには、Fixed Column Width オプションの下のパネル (Generated SQL Statement) に表示される生成された SQL ステートメントをカスタマイズするために使用できるオプションが示されます。ヘッダーオプション (ヘッダーの列名、ヘッダー行番号、および最初のデータ行番号) の指定、選択した行の解析、文字デリミターの変更、および
TEXTTABLE()
関数オプションの編集を行います。TEXTTABLE()
関数の詳細は、Teiid User's Guide を参照してください。ファイルヘッダーで列名が定義されていない場合や、カスタム列を編集または作成したい場合は、 ADD、DELETE、UP、または DOWN を使用して SQL の列情報を管理できます。左上のパネルにあるカーソルのポジションとテキストの長さの値を使用して、データファイルの列幅を判断することもできます。このページの作業を終了したら Next> をクリックします。図9.15 Flat File Fixed Columns Width Options ページ
- View Model Definition ページで、新しいビューモデルを作成するフォルダーの場所を選択します。新しいビューテーブルに既存のモデルを選択することもできます。モデル名の有効性、モデルが存在するかどうか、およびモデルに
getTextFiles()
プロジージャーがすでに含まれているかどうかを示す Model Status を確認してください。Finish をクリックしてモデルを生成し、ウィザードを終了します。図9.16 View Model Definition ページ
getTextFiles()
プロシージャーが含まれる図が表示されます。
図9.17 生成されたフラットファイルプロシージャー
getTextFiles
プロシージャーおよび Teiid TEXTTABLE()
関数を使用してフラットファイルのデータにアクセスするために必要な完全な SQL が含まれる生成済みのビューテーブルが表示されます。以下の図は生成されたビューテーブルの例になります。
図9.18 生成されたフラットファイルビューテーブル
9.6. XML データファイルソースからのインポート
getTextFiles()
または invokeHTTP()
プロシージャーが含まれるソースモデルが含まれます。これらのプロシージャーは JBoss Data Virtualization によってサポートされます。
getTextFiles()
プロシージャーが含まれる SQL トランスフォーメーションはビューテーブル内で生成され、Teiid XMLTABLE()
関数に必要な列定義およびパラメーターはデータファイルのクエリーに使用されます。また、新しいビューモデルを作成する代わりに既存のビューモデルの更新を選択することもできます。
XMLTABLE
関数は XQuery を使用して表形式出力を生成します。XMLTABLE
関数は暗黙的にはネストされたテーブルで、先行の FROM 句エントリーに関連付けることがあります。XMLTABLE
は SQL/XML 2006 仕様の一部です。
XMLTABLE([<NSP>,] xquery-expression [<PASSING>] [COLUMNS <COLUMN>, ... )] AS name
COLUMN := name (FOR ORDINALITY | (datatype [DEFAULT expression] [PATH string]))
SELECT A.entryDate AS entryDate, A.internalAudit AS internalAudit FROM (EXEC CCC.getTextFiles('sample.xml')) AS f, XMLTABLE(XMLNAMESPACES('http://www.kaptest.com/schema/1.0/party' AS pty), '/pty:students/student' PASSING XMLPARSE(DOCUMENT f.file) COLUMNS entryDate FOR ORDINALITY, internalAudit string PATH '/internalAudit') AS A
- In Model Explorer, click File > Import action in the toolbar or select a project, folder or model in the tree and choose Import...
- インポートオプション Teiid Designer > File Source (XML) >> Source and View Model を選択し、Next> をクリックします。
図9.19 XML ファイルソースからのインポート
- ウィザードの次のページでは、XML ファイルがローカルまたはリモートであるかを指定する XML インポートモードを選択できます。上部の Description には、このウィザードが実行する操作の詳細が記載されています。XML file on local file system または XML file via remote URL を選択し、Next> をクリックします。
図9.20 XML Import File Options ページ
- ドロップダウンメニューから既存または以前の接続プロファイルを選択するか、New... ボタンをクリックして New Connection Profile ダイアログを開始します。または、Edit... をクリックして選択前に既存の接続プロファイルを変更します。新しい XML 接続プロファイルは、XML File URL または REST Web Services URL から作成できます。XML File URL オプションでは、ファイルまたは URL ベースの XML ドキュメントへの接続が有効になります。REST Web Service URL オプションでは、REST ベースの Web サービスへの接続が有効になります。接続プロファイルを選択した後、接続プロファイルからの XML データファイルが Available Data Files パネルに表示されます。処理するデータファイルを選択します。データの読み出しと結果セットの返信に必要な SQL トランスフォーメーションが含まれるビューテーブルの構築には、このファイルからのデータとカスタムインポートオプションが使用されます。最後に、ページの下部にある Source Model Definition に一意なソースモデル名を入力するか、Browse ボタンを使用して既存のソースモデルを選択します。モデル名の有効性、モデルが存在するかどうか、およびモデルに
getTextFiles()
プロジージャーがすでに含まれているかどうかを示す Model Status を確認してください。この場合、ソースモデルもプロシージャーも生成されません。このページの作業を終了したら Next> をクリックします。図9.21 XML Data File Source Selection ページ
- このインポーターの主な目的は、ユーザー定義のデータファイルをクエリーするために必要なトランスフォーメーションが含まれるビューテーブルを作成することです。このページには、下部のパネル (Generated SQL Statement) に表示される生成された SQL ステートメントをカスタマイズするために使用できるオプションが示されます。パネルには、XML ファイルの内容のツリービューと、中央にある Column Information パネルに表示される列エントリーの作成に使用するアクションやボタンが含まれます。列を作成するには、ルート XML 要素を選択し、右クリックで Set as root path アクションを選択します。これにより、ルートパスの値が入力されます。次に、クエリーに含めたいツリーの列を選択します。DELETE、UP、または DOWN を使用して SQL の列情報を管理すると、カスタムの列を変更または作成できます。列の Path プロパティーの値は、定義されたルートパスを基にした選択された要素への相対パスになります。ルートパスが定義されていない場合は、パスはすべて絶対パスになります。各列エントリーにはデータタイプとオプションのデフォルト値が必要になります。
XMLTABLE()
関数の詳細は Teiid User's Guide を参照してください。このページの作業を終了したら Next> をクリックします。図9.22 XML File Delimited Columns Options ページ
- View Model Definition ページで、新しいビューモデルを作成するフォルダーの場所を選択します。新しいビューテーブルに既存のモデルを選択することもできます。モデル名の有効性、モデルが存在するかどうか、およびモデルに
getTextFiles()
プロジージャーがすでに含まれているかどうかを示す Model Status を確認してください。Finish をクリックしてモデルを生成し、ウィザードを終了します。図9.23 View Model Definition ページ
9.7. Salesforce からのインポート
注記
- Model Explorer でツールバーの File > Import アクションをクリックするか、ツリーのプロジェクト、フォルダー、またはモデルを選択し、Import... をクリックします。
- インポートオプション Teiid Designer > Salesforce >> Source Model を選択し、Next> をクリックします。
- ドロップダウンメニューから既存または以前の接続プロファイルを選択するか、New... ボタンをクリックして New Connection Profile ダイアログを開始します。または、Edit... をクリックして選択前に既存の接続プロファイルを変更します。Connection Profile 選択リストは、Salesforce 接続プロファイルでのみ入力されます。
図9.24 Select Salesforce Credentials ダイアログ
- 接続プロファイルを選択した後、パスワードを入力します (入力済みでない場合)。Next>> をクリックし、Salesforce Objects の選択ページを表示します。
図9.25 Select Salesforce Objects ダイアログ
- Target Model Selection ページで、生成されたモデルのフォルダーの場所と一意なモデル名を指定し、必要なインポートオプションを選択します。Next> (または有効な場合は Finish) をクリックします。
図9.26 Target Model Selection ダイアログ
- 既存のリレーショナルモデルを更新している場合は、次のページは Review Model Updates ページになります。Finish をクリックしてモデルとテーブルを作成します。
図9.27 Review Model Updates ダイアログ
- 終了したら、新しいまたは変更されたリレーショナルモデルのパッケージ図が表示され、新しいテーブルが表示されます。
図9.28 New Saleforce Tables ダイアグラム
9.8. テキストファイルからのメタデータのインポート
9.8.1. テキストファイルからのメタデータのインポート
- Teiid Designer で File > Import と選択し、Import... をクリックします。
- インポートオプションTeiid Designer > Designer Text File >> Source or View Models を選択し、Next> をクリックします。
- 以下のドロップダウンメニューからインポートタイプを選択します。
図9.29 Import ウィザード
- リレーショナルモデルテキストインポート
- リレーショナルテーブルテキストインポート
- 仮想テーブルテキストインポート
- データタイプテーブルテキストインポート
9.8.2. リレーショナルモデルのインポート (XML 形式)
- Relational Model (XML Format) インポートタイプを選択した後、Next > をクリックします。
図9.30 インポートタイプの選択 - リレーショナルモデル (XML 形式)
- 次のページでは、Browse... ボタンを使用してローカルファイルシステムの XML ファイルを選択します。2 つ目の Browse... ボタンを使用してインポートされたリレーショナルオブジェクトを追加するモデルを選択します。ダイアログでは、既存のリレーショナルモデルを選択したり、新しいモデルを作成したりできます。選択した XML ファイルの内容は File Contents ビューアーに表示されます。Finish をクリックします。
図9.31 Select Source Text File and Target Relational Model ページ
- ターゲットのモデルにインポートしたオブジェクトと競合する名前の子 (テーブル、ビュー、プロシージャー) が含まれている場合はダイアログが表示され、特定の既存オブジェクトの置き換え、同じ名前のオブジェクトの新規作成、またはインポートのキャンセルをオプションで選択できます。
図9.32 Duplicate Objects ダイアログ
9.8.3. リレーショナルモデルのインポート (CSV 形式)
- Relational Tables (CSV Format) インポートタイプを選択した後、Next > をクリックします。
図9.33 インポートタイプの選択 - リレーショナルテーブル (CSV 形式)
- 次のページでは、以前のページの仕様にフォーマットされたメタデータが含まれるソーステキストファイルを提供する必要があります。
図9.34 Select Source Text File and Target Relational Model
- Browse... ボタンを使用して Relational Model Selector ダイアログを開き、新しいリレーショナルコンポーネントの目的の場所として既存のリレーショナルモデルを選択します。ワークスペースからリレーショナルモデルを選択するか、一意の名前を指定して新しいモデルを作成します。
- 追加のオプションを選択し、Finish をクリックします。
9.8.4. リレーショナルビューテーブルのインポート (CSV 形式)
- Relational Virtual Tables (CSV Format) インポートタイプを選択した後、Next > をクリックします。
図9.35 インポートタイプの選択 - リレーショナル仮想テーブル (CSV 形式)
- 次のページでは、以前のページの仕様にフォーマットされたメタデータが含まれるソーステキストファイルを提供する必要があります。
図9.36 Select Source Text File and Target Virtual Relational Model
- Browse... ボタンを使用して Virtual Model Selector ダイアログを開き、新しいモデルコンポーネントの目的の場所として既存のリレーショナル仮想モデルを選択します。ワークスペースから仮想リレーショナルモデルを選択するか、一意の名前を指定して新しいモデルを作成します。
- Finish をクリックします。
9.8.5. データタイプのインポート (CSV 形式)
- Datatypes (CSV Format) import タイプを選択した後、Next > をクリックします。
図9.37 インポートタイプの選択 - データタイプ (CSV 形式)
- 次のページでは、以前のページの仕様にフォーマットされたメタデータが含まれるソーステキストファイルを提供する必要があります。
図9.38 Select Source Text File and Datatypes Model
- Browse... ボタンを使用して Datatypes Model Selector ダイアログを開き、新しいモデルコンポーネントの目的の場所として既存のデータタイプモデルを選択します。ワークスペースからワークタイプモデルを選択するか、一意の名前を指定して新しいモデルを作成します。
- 追加のオプションを選択し、Finish をクリックします。
9.9. WSDL のリレーショナルモデルへのインポート
9.9.1. WSDL のリレーショナルモデルへのインポート
- Model Explorer でツールバーの File > Import アクションをクリックするか、ツリーのプロジェクト、フォルダー、またはモデルを選択し、Import... をクリックします。
- インポートオプションを Teiid Designer > WSDL File or URL >> Source and View Model (SOAP) と選択し、Next> をクリックします。
- 次のページでリストから既存の Web サービス接続プロファイルを選択するか、New ボタンをクリックして新しいプロファイルを作成します。
図9.39 WSDL ソースの選択
- 個別の Web サービス演算を選択し、モデル化します。このページのデフォルト動作では、ツリーで利用可能な演算がすべて選択されます。モデル化されない場合は演算の選択を解除できます。Selection Details パネルには、入出力メッセージの名前や演算によって発生した障害など、演算に関する静的な情報が表示されます。Next > をクリックします。
- 次のページは Model Definition というタイトルで、モデルの場所 (フォルダーまたはプロジェクトなど) とソースおよびビューモデル両方の有効なモデル名が必要になります。Browse... ボタンを使用して既存のフォルダーまたはモデルを選択します。すべての情報が定義されたら Next> をクリックします。
図9.40 WSDL ソースの選択
- このウィザードは、クエリー可能なラップされたプロシージャーで使用されるリクエストおよび応答プロシージャーを両方生成します。次のページ Procedure Definition は、リクエストおよび応答構造の詳細を定義する方法を提供します。Request タブで、リクエストの入力パラメーターとしたいスキーマ要素を選択およびダブルクリックします。これらは Element Info パネルに追加され、生成される SQL ステートメントは新しい要素を反映するために更新されます。Request および Response タブの両方にある BODY および HEADER タブに注目してください。このプロシージャー向けに選択されたサービスモードが MESSAGE に設定されると HEADER タブが有効になり、同じスキーマツリーを利用して SOAP ヘッダー変数を定義できます。Response タブを選択し、応答プロシージャーの結果セット列を同様に作成します。上部の Operations セレクターで選択する演算を変更し、すべての演算に対してこの処理を繰り返します。
図9.41 Procedure Definition ページ
- Finish をクリックします。生成後、新しいモデルはワークスペースの指定された場所に格納されます。
9.9.2. WSDL スキーマでの循環参照
StackOverFlow
例外が発生し、アプリケーションが終了する可能性があります。
WsdlSchemaHandlerRecursiveDepth
により大きな値を設定し (例: -D WsdlSchemaHandlerRecursiveDepth=800
)、深さの制限を増やすことができます。一部のシステムでは、新しい深さの制限に達する前に JVM による StackOverFlow
例外が発生する可能性があるため、十分注意して使用するようにしてください。
図9.42 深さの限界に達したときに表示される警告メッセージ
9.10. WSDL の Web サービスへのインポート
9.10.1. WSDL の Web サービスへのインポート
- ワークスペースの場所
- ファイルシステムの場所
- URL
9.10.2. ワークスペースの場所からの WSDL のインポート
- Click the File > Import action in the toolbar or select a project, folder or model in the tree and click Import...
- インポートオプションを Teiid Designer > WSDL File or URL >> Web Service Model と選択し、Next> をクリックします。
- Web サービスモデルの有効な名前を入力し、Workspace... ボタンをクリックします。ダイアログで ワークスペースの WSDL ファイルを見つけ、OK> をクリックします。Next> をクリックして作業を継続します。
図9.43 WSDL File Selection ダイアログ
図9.44 WSDL ファイルワークスペース選択ダイアログ
注記
- WSDL が選択または指定されないと、インポーターは空の Web サービスモデルのみを作成します。XML スキーマや XML ビューモデルは生成されません。
- 参照されたファイル (WSDL またはスキーマ) は WSDL ファイルに組み込まれるか、ファイルシステムに存在する必要があります。
- 次のページのタイトルは Namespace Resolution です。このページは、正常または異常な WSDL 名前空間の解決を特定します。パスの取得にワークスペースファイルセレクターが使用されるため、主な WSDL ドキュメントは基本的に常に解決されます。解決できない他の WSDL ファイルがメイン WSDL ファイルによってインポートされると問題が発生します。エラーがない場合は、Next をクリックして作業を続けるか、Finish (有効な場合) をクリックしてデフォルトのオプションを適用して終了します。
図9.45 Namespace Resolution ダイアログ
- 次のページは WSDL Operations Selection です。ここでは、次のダイアログでさまざまな演算やインターフェースを選択または選択解除し、Web サービスモデルのコンテンツをカスタマイズできます。
図9.46 Namespace Resolution ダイアログ
- 次のページのタイトルは Schema Workspace Location Selection です。このページでは、WSDL によってインポートされるすべてのスキーマ (およびスキーマ内で参照される依存スキーマ) と WSDL に埋め込まれたスキーマをリストし、これらが解決可能であるかどうかを示します。解決されたスキーマはすべて別のファイルに作成され、ワークスペースに追加されます。エディターパネルでは、新しいスキーマファイルのデフォルトのファイル名を変更できます。エラーがない場合は、Next をクリックして作業を続けるか、Finish をクリックしてデフォルトのオプションを適用して終了します。
図9.47 Namespace Resolution ダイアログ
- 最後のページのタイトルは XML Model Generation で、「Generate virtual XML document model」を選択した場合に XML ビューモデルの名前を変更できます。希望の名前を入力するか、提供されるデフォルトの名前を使用します。Finish をクリックして完了します。
図9.48 Namespace Resolution ダイアログ
図9.49 WSDL Validation Problems ダイアログ
9.10.3. ファイルシステムの場所からの WSDL のインポート
- Click the File > Import action in the toolbar or select a project, folder or model in the tree and click Import...
- インポートオプションを Teiid Designer > WSDL File or URL >> Web Service Model と選択し、Next> をクリックします。
- Web サービスモデルの有効な名前を入力し、File System... ボタンをクリックします。ダイアログでファイルシステムの WSDL ファイルを見つけ、OK> をクリックします。
図9.50 WSDL File Selection ダイアログ
注記
- WSDL が選択または指定されないと、インポーターは空の Web サービスモデルのみを作成します。XML スキーマや XML ビューモデルは生成されません。
- 参照されたファイル (WSDL またはスキーマ) は WSDL ファイルに組み込まれるか、ファイルシステムに存在する必要があります。
- 次のページのタイトルは Namespace Resolution です。このページは、正常または異常な WSDL 名前空間の解決を特定します。パスの取得にワークスペースファイルセレクターが使用されるため、主な WSDL ドキュメントは基本的に常に解決されます。解決できない他の WSDL ファイルがメイン WSDL ファイルによってインポートされると問題が発生します。エラーがない場合は、Next をクリックして作業を続けるか、Finish (有効な場合) をクリックしてデフォルトのオプションを適用して終了します。
図9.51 Namespace Resolution ダイアログ
- 次のページは WSDL Operations Selection です。ここでは、次のダイアログでさまざまな演算やインターフェースを選択または選択解除し、Web サービスモデルのコンテンツをカスタマイズできます。
図9.52 Namespace Resolution ダイアログ
- 次のページのタイトルは Schema Workspace Location Selection です。このページでは、WSDL によってインポートされるすべてのスキーマ (およびスキーマ内で参照される依存スキーマ) と WSDL に埋め込まれたスキーマをリストし、これらが解決可能であるかどうかを示します。解決されたスキーマはすべて別のファイルに作成され、ワークスペースに追加されます。エディターパネルでは、新しいスキーマファイルのデフォルトのファイル名を変更できます。エラーがない場合は、Next をクリックして作業を続けるか、Finish をクリックしてデフォルトのオプションを適用して終了します。
図9.53 Namespace Resolution ダイアログ
- 最後のページのタイトルは XML Model Generation で、「Generate virtual XML document model」を選択した場合に XML ビューモデルの名前を変更できます。希望の名前を入力するか、提供されるデフォルトの名前を使用します。Finish をクリックして完了します。
図9.54 Namespace Resolution ダイアログ
図9.55 WSDL Validation Problems ダイアログ
9.10.4. URL からの WSDL のインポート
- Click the File > Import action in the toolbar or select a project, folder or model in the tree and click Import...
- インポートオプションを Teiid Designer > WSDL File or URL >> Web Service Model と選択し、Next> をクリックします。
- Web サービスモデルの有効な名前を入力し、URL... ボタンをクリックします。
- 有効な WSDL URL を入力します。URL を検証できない場合はエラーが表示され、OK> ボタンが無効化されます。
- WSDL が基本の HTTP 認証によって保護されている場合は、このオプションを選択し、適切なユーザー名とパスワードを入力する必要があります。
- OK> をクリックして次に進みます。
Next> をクリックして次に進みます。図9.56 WSDL URL ダイアログ
注記
- WSDL が選択または指定されないと、インポーターは空の Web サービスモデルのみを作成します。XML スキーマや XML ビューモデルは生成されません。
- 参照されたファイル (WSDL またはスキーマ) は WSDL ファイルに組み込まれるか、ファイルシステムに存在する必要があります。
- 次のページのタイトルは Namespace Resolution です。このページは、正常または異常な WSDL 名前空間の解決を特定します。パスの取得にワークスペースファイルセレクターが使用されるため、主な WSDL ドキュメントは基本的に常に解決されます。解決できない他の WSDL ファイルがメイン WSDL ファイルによってインポートされると問題が発生します。エラーがない場合は、Next をクリックして作業を続けるか、Finish (有効な場合) をクリックしてデフォルトのオプションを適用して終了します。
図9.57 Namespace Resolution ダイアログ
- 次のページは WSDL Operations Selection です。ここでは、次のダイアログでさまざまな演算やインターフェースを選択または選択解除し、Web サービスモデルのコンテンツをカスタマイズできます。
図9.58 Namespace Resolution ダイアログ
- 次のページのタイトルは Schema Workspace Location Selection です。このページでは、WSDL によってインポートされるすべてのスキーマ (およびスキーマ内で参照される依存スキーマ) と WSDL に埋め込まれたスキーマをリストし、これらが解決可能であるかどうかを示します。解決されたスキーマはすべて別のファイルに作成され、ワークスペースに追加されます。エディターパネルでは、新しいスキーマファイルのデフォルトのファイル名を変更できます。エラーがない場合は、Next をクリックして作業を続けるか、Finish をクリックしてデフォルトのオプションを適用して終了します。
図9.59 Namespace Resolution ダイアログ
- 最後のページのタイトルは XML Model Generation で、「Generate virtual XML document model」を選択した場合に XML ビューモデルの名前を変更できます。希望の名前を入力するか、提供されるデフォルトの名前を使用します。Finish をクリックして完了します。
図9.60 Namespace Resolution ダイアログ
図9.61 WSDL Validation Problems ダイアログ
9.11. REST サービスからのデータのインポート
手順9.2 REST サービスからのデータのインポート
- Model Explorer に移動します。
- ツールバーの File - Import アクションを選択します。
注記
この代わりに、tree でプロジェクト、フォルダー、またはモデルを選択し、Import... を選択することもできます。 - インポートオプション Web Service Source >> Source and View Model (REST) を選択し、Next をクリックします。
- ドロップダウンメニューから既存または以前の接続プロファイルを選択します。この代わりに、New... ボタンを押して New Connection Profile ダイアログを起動するか、選択前に Edit... を押して既存の接続プロファイルを変更することもできます。
- 新しい接続プロファイルを作成する場合は、Web Services Data Source (REST) を選択します。
- 新しい REST 接続プロファイルの名前を付け、Next をクリックします。
- Connection URL テキストフィールドで REST URL を設定し、該当する場合はセキュリティータイプとクレデンシャルを設定します。Next をクリックしてプロパティーの概要を表示するか、Finish をクリックして終了します。Request Header パラメーターを追加するオプションもあります。インポーターは、アプリケーションや xml の Accept ヘッダー値および Content-Type ヘッダー値を仮定します。これらのデフォルトは Optional Request Header Properties セクションで上書きできます。また、サービスに必要なその他のヘッダープロパティーを追加することもできます。Test Connection ボタンをクリックし、接続プロパティーを検証します。
- 新しい接続プロファイルを選択または作成した後、接続プロファイルからの REST XML の結果が REST Web Service Response Data File パネルに表示されます。処理するデータファイルをチェックして、Next をクリックします。
- Source Model Definition セクションに一意のソースモデル名を入力します。または、Browse ボタンを使用して既存のソースモデルを選択します。
注記
Model Status は、モデル名の有効性、モデルが存在するかどうか、およびモデルに invokeHttp() プロジージャーがすでに含まれているかどうかを示します。この場合、ソースモデルもプロシージャーも生成されません。 - View Model Definition セクションに一意のビューモデル名を入力します。または、Browse ボタンを使用して既存のビューモデルを選択します。
注記
Model Status は、モデル名の有効性とモデルが存在するかどうかを示します。 - View Model Definition セクションに新規のビュープロシージャー名を入力して、Next をクリックします。
- Jboss Data Source Information セクションに JNDI 名を入力して、Next をクリックします。
注記
このインポーターの主な目的は、ユーザー定義のデータファイルをクエリーするために必要なトランスフォーメーションが含まれるビュープロシージャーを作成することです。パネルには、結果のコンテンツの XML ツリービューと、中央の Column Information パネルに表示される列エントリーの作成に使用できるアクションやボタンが含まれます。ルートパスは、結果のドキュメントの xpath 解析に使用されます。インポーターによってルートバスが設定されます。必要な場合は XML 要素を選択し、「Set as root path」を右クリックするとルートパスを変更できます。次に、ツリーでクエリーに含める列を選択し、Add ボタンを選択します。また、カスタム列を変更または作成するには、ADD、DELETE、EDIT、UP、DOWN を使用して SQL の列情報を管理します。 - Finish をクリックしてモデルを生成し、ウィザードを終了します。
9.12. LDAP (Lightweight Directory Access Protocol)
9.13. LDAP サーバーからのインポート
- LDAP サブツリーはリレーショナルデータベースのテーブルのように表されます。
- サブツリーの各ノードは、テーブルの行として表されます。
- ノードの各属性は、テーブルの列として表すことができます。
- RDN (または DN) を使用してプライマリーキーを表すことができます。
- Model Explorer でツールバーの File > Import アクションをクリックするか、ツリーのプロジェクト、フォルダー、またはモデルを選択し、Import を選択します。
- インポートオプション Teiid Designer > LDAP Service >> Source Mode を選択し、Next をクリックします。
- ドロップダウンメニューから既存または以前の LDAP 接続プロファイルを選択するか、New... ボタンをクリックして New Connection Profile ダイアログを開始します (JBDS Data Tools ドキュメントを参照)。または、Edit... をクリックして選択前に既存の接続プロファイルを変更します。
注記
新規接続で必要となる情報は、以下の通りです。- 接続のユーザー名とパスワード - LDAP ツリーを閲覧する管理者アカウント (例: cn=Manager,dc=birds-of-prey,dc=org)
- 接続 URL (例: ldap://falcon:389)
- プリンシパルの識別名 (DN) 接尾辞 - LDAP ツリーのルート DN
- LDAP 接続ファクトリーの実装クラス (例: com.sun.jndi.ldap.LdapCtxFactory)
接続プロファイルを選択すると、LDAP サービス URL と DN 接尾辞 フィールドが入力されます。ウィザードページの残りの要件は、インポートされたテーブルの宛先として適切なモデルファイルを選択することです。既存のモデルを選択した場合、ウィザードは新しいテーブルをモデルの現在のコンテンツにマージします。 - 接続プロファイルを選択したら Next をクリックします。
- Select LDAP Entries to be modeled as tables ページで、ソースモデルのテーブルとして作成される LDAP エントリーをツリーから選択します (ツリーの各チェックボックスにチェックマークを入れ、エントリーを選択します)。エントリーをハイライトすると、以下の属性が表示されます。
- Table Name (テーブル名) - テーブルのラベルで、より読みやすい値に変更できます。
- Table Source Name (テーブルソース名) - 完全修飾エントリー名。ウィザードでは編集できず、後で作成されるソースモデルでも変更しないようにしてください。
- Table Source Name Suffix (テーブルソース名接尾辞) - テーブルの検索基準の範囲をさらに限定するため追加の接尾辞を追加できます。接尾辞の形式は「?search_scope?objectClass_name」で、search_scope は OBJECT_SCOPE (最初と 1 つのエントリーのみが返されます)、ONELEVEL_SCOPE (選択されたエントリーの直下にあるエントリーのみが返されます)、または SUBTREE_SCOPE (選択されたエントリー下にあるすべてのエントリーが再帰的に返されます) の 1 つになります。objectClass_name は LDAP ツリーにある objectClass の特定タイプの名前です (例: inetOrgPerson エントリーのみを返します)。基準は両方とも任意 (「?」は必須) であるため、「? ? inetOrgPerson」のような接尾辞が可能です。
- Next をクリックします。
- Select the LDAP Attributes to be modeled as columns ページは以前選択された LDAP エントリーとそれらの子エントリーの属性を表示します。選択された属性は、関連するソースモデルテーブルで列として作成することを目的としています。ツリーのチェックボックスにチェックマークを入れて属性を選択します。エントリーをハイライトすると、以下の属性が表示されます。
- Column Name (列名)- 列のラベルで、より読みやすい値に変更できます。
- Column Source Name (列ソース名) - 実際の LDAP 属性名。ウィザードでは編集できず、後で作成されるソースモデルでも変更しないようにしてください。
- Column Distinct Value Count (列の個別値数) - LDAP サービスの特定の属性に割り当てられた個別値数。この値は、ソースモデルを使用してクエリーを最適化するのに便利です。ウィザードでは編集できず、後で作成されるソースモデルでも変更しないようにしてください。
- Column Null Value Count (列の Null 値数) - LDAP サービスで特定の属性に値が割り当てされていないエントリーの数。この値は、ソースモデルを使用してクエリーを最適化するのに便利です。ウィザードでは編集できず、後で作成されるソースモデルでも変更しないようにしてください。
- Column Length (列の長さ) - LDAP サービスの属性に割り当てられた既存値の最大長。この値は、列の最大長として割り当てられます。ウィザードでは編集できませんが、必要な場合は後でソースモデルでの編集が可能です。
- Finish をクリックします。
- ウィザードが完了したら、新しいソースモデルが作成されます。
9.14. LDAP コネクターの更新機能
- Update テーブルプロパティーのサポート - 更新を有効にするには、各ソースモデルテーブルでこのプロパティーを true に設定する必要があります。
- 更新可能な column プロパティー - 更新を有効にするには、ソースモデルテーブルの各列でこのプロパティーを true に設定する必要があります。
- さらに、以下の列が追加で必要になります。
- DN - すべての更新タイプ (INSERT、UPDATE、および DELETE) で、ソースの名前を dn に設定し、識別名を列としてモデル化する必要があります。UPDATE および DELETE では DN を criteria 句で指定する必要があります。INSERT では DN が設定される列値の 1 つである必要があります。
- objectClass - INSERT では、ソースの名前を objectClass に設定し、オブジェクトクラスを列としてモデル化する必要があります。それは設定される列値の 1 つである必要があります。
- additional - LDAP ディレクトリーのスキーマに定義された各エントリーには追加列が 1 つまたは複数必要である場合があります。これは LDAP サーバー実装によるため、LDAP のドキュメントを確認してください。
SELECT * FROM LdapModel.People
INSERT INTO LdapModel.People (dn, sn, objectclass, Name) VALUES ('cn=JoeYoung,ou=people,dc=example,dc=org','Young','person', 'Joe Young')
UPDATE LdapModel.People SET PhoneNumber='(314) 299-2999' WHERE DN='cn=JoeYoung,ou=people,dc=example,dc=org'
DELETE FROM LdapModel.People WHERE DN='cn=JoeYoung,ou=people,dc=example,dc=org'
9.15. XSD スキーマファイル
- In Model Explorer, click the File > Import action in the toolbar or select a project, folder or model in the tree and choose Import...
- インポートオプション TTeiid Designer > XML Schemas を選択し、Next> をクリックします。
- Import XSD Schemas from file system または Import XSD Schemas via URL を選択し、Next > をクリックします。
- ファイルシステムからインポートする場合は、Import XSD Files ダイアログが表示されます。Browse ボタンをクリックし、インポートする XSD ファイルが含まれるディレクトリーを見つけます。
- ディレクトリーの XSD ファイルをすべて選択するには、左パネルのフォルダーの横にあるチェックボックスをクリックします。
- XSD ファイルを個別に選択するには、右パネルでファイルの横にあるチェックボックスをクリックします。
図9.62 ファイルシステムからの XSD の選択
- URL からインポートする場合は、Import XML Schemas via URL オプションを選択して OK をクリックし、最終の Add XML Schema URLs ウィザードページを表示します。
図9.63 Add XML Schema URLs ダイアログ
- Click the Add XML Schema URL button . Enter a valid schema URL. Click OK. Schema will be validated and resulting entry added to the list of XML Schema URLs.
図9.64 XSD スキーマ URL の追加
スキーマ URL が XML スキーマ URL リストに表示されます。図9.65 XSD スキーマ URL の追加
- Finish をクリックします。
注記
XSD ファイルが依存するファイルが存在する場合があります。「Add Dependent Schema Files」を選択すると、このインポーターは依存関係を判断し、依存関係もインポートします。
9.16. Red Hat JBoss Data Grid と複雑なデータタイプ
注記
- すべてのプリミティブデータタイプを使用する。
- 変換を処理するマーシャラーを実装する。その場合、.proto ファイルも作成する必要があります。(ファイル作成については、Red Hat JBoss Data Grid を参照してください。)
- BigdDecimal を文字列に変換するビューを作成し、そのビューを実体化する。
第10章 モデルオブジェクトの作成および編集
10.1. 新しいモデルオブジェクトの作成
10.1.1. 新しいモデルオブジェクトの作成
- New Child アクション
- New Sibling アクション
- New Association Action (新規の関連アクション)
10.1.2. New Child アクション
- 子を追加する親オブジェクトを選択します。たとえば、パッケージをパッケージに追加したり、属性をクラスに追加したりすることができます。
- コンテナーオブジェクトを右クリックします。ポップアップメニューの New Child をクリックします。その後、追加する子オブジェクトを選択できます。
図10.1 モデルエクスプローラーの New Child アクション
- 新しいモデルオブジェクトがモデルエクスプローラービューに表示され、名前を変更するためにハイライトされます。
図10.2 エクスプローラーの新しいモデルオブジェクト
- 子を追加する親オブジェクトを選択します。たとえば、パッケージをパッケージに追加したり、属性をクラスに追加したりすることができます。
- コンテナーオブジェクトを右クリックします。ポップアップメニューの New Child をクリックします。その後、追加する子オブジェクトを選択できます。
図10.3 ダイアグラムでの New Child アクション
- 新しいモデルオブジェクトがダイアグラムに表示され、名前を変更するためにハイライトされます。
図10.4 ダイアグラムの新しいモデルオブジェクト
- 子を追加する親オブジェクトの行を選択します。たとえば、列を追加する場合は Base Table タブをクリックし、ベーステーブル行を選択します。
- テーブル行を右クリックします。ポップアップメニューの New Child をクリックします。その後、追加する子オブジェクトを選択できます。
図10.5 テーブルエディターの New Child アクション
- テーブルエディターで選択されたタブが子オブジェクトタイプのタブに変更されます。新しいモデルオブジェクト行が表示され、名前を変更するために行の名前テーブルセルがハイライトされます。
10.1.3. New Sibling アクション
- 兄弟を追加するオブジェクトを選択します。たとえば、列に列の兄弟を追加できます。
- そのオブジェクトを右クリックします。ポップアップメニューの New Sibling をクリックします。その後、追加する兄弟オブジェクトを選択できます。
図10.6 モデルエクスプローラーの New Sibling アクション
- 新しいモデルオブジェクトがモデルエクスプローラービューに表示され、名前を変更するためにハイライトされます。
- 兄弟を追加するオブジェクトを選択します。たとえば、列に列の兄弟を追加できます。
- そのオブジェクトを右クリックします。ポップアップメニューの New Sibling をクリックします。その後、追加する兄弟オブジェクトを選択できます。
図10.7 ダイアグラムでの New Sibling アクション
- 新しいモデルオブジェクトがダイアグラムに表示され、名前を変更するためにハイライトされます。
- 兄弟を追加するオブジェクトの行を選択します。たとえば、列に列の兄弟を追加できます。
- 行を右クリックします。ポップアップメニューの New Sibling をクリックします。その後、追加する兄弟オブジェクトを選択できます。
図10.8 テーブルエディターの New Sibling アクション
- テーブルエディターで選択されたタブが子オブジェクトタイプのタブに変更されます。新しいモデルオブジェクト行が表示され、名前を変更するために行の名前テーブルセルがハイライトされます。
10.1.4. New Association Action (新規の関連アクション)
- 関連付ける 2 つのオブジェクトを選択します。たとえば、異なるベーステーブルの列を選択します。
- 右クリックします。ポップアップメニューで New Association > Foreign Key Relationship とクリックします。
図10.9 モデルエクスプローラーの New Association アクション
- ダイアグラムに新しい関係のリンクが表示されます。
図10.10 ダイアグラムの新しい関係
- 関連付ける 2 つのオブジェクトを選択します。たとえば、異なるベーステーブルの列を選択します。
- 右クリックします。ポップアップメニューで New Association > Foreign Key Relationship とクリックします。
- ダイアグラムに新しい関係のリンクが表示されます。Column、Foreign Key、および Primary Key 参照プロパティーが選択された列、新しいプライマリーキー、および新しい外部キーに適切に設定されます。
- テーブルで列を選択します。
- 列を別のテーブルにドラッグします。列をこの列にドラッグおよびドロップします。ドロップ先の列は黄色でハイライトされます。
- ダイアグラムに新しい関係のリンクが表示されます。Column、Foreign Key、および Primary Key 参照プロパティーが選択された列、新しいプライマリーキー、および新しい外部キーに適切に設定されます。
- 関連付ける 2 つのオブジェクトを選択します。たとえば、異なるベーステーブルの列を選択します。
- 右クリックします。ポップアップメニューで New Association > Foreign Key Relationship と選択します。
- 新しい Foreign Key および Primary Key オブジェクトは、テーブルエディターのそれぞれに対応する内容に追加されます。Column、Foreign Key、および Primary Key 参照プロパティーが選択された列、新しいプライマリーキー、および新しい外部キーに適切に設定されます。
10.1.5. 新規モデルオブジェクトのウィザード
- Create Relational Table Wizard では、列、一意キー、外部キーの定義およびインデックスを含む完全なリレーショナルテーブルを作成できます。
注記
リレーショナルビューウィザードはリレーショナルテーブルウィザードと全く同じです。 - Create Relational Procedure Wizard では、列、一意キー、外部キーの定義およびインデックスを含む完全なリレーショナルプロシージャーを作成できます。リレーショナルプロシージャーオブジェクトは、標準的なプロシージャーやソース関数 (プッシュダウン関数) を含む異なるタイプのプロシージャーを表すことができます。New Child - Procedure... アクションが開始されると、最初のダイアログでプロシージャータイプをオプションで選択できます。
注記
ユーザー定義の関数をビューモデルでモデル化できます。ウィザードの 2 つ目のダイアログでは、選択したタイプに基づいて Create Relation Procedure ダイアログをカスタマイズします。ソース関数は、データベースにすでにデプロイされ、アクセス可能になっているプロシージャーです。リレーショナルモデルのソース関数を定義すると、変換 SQL 内からこれらの関数を呼び出すことができ、関数は実行のためにデータベースにプッシュされます。 - Create Relational Index Wizard: インデックスはリレーショナルテーブルオブジェクトと同時に作成できます。また New Child - Index... アクションおよびダイアログでも作成できます。
- Create View Model Objects Wizards: ビューモデルでは、テーブル、プロシージャー (標準のプロシージャーおよびユーザー定義の関数) およびインデックスのみを作成できます。ビューテーブルおよびプロシージャーでは、ウィザードの主な違いは SQL 変換タブが含まれていることです。
- Create User Defined Functions Wizard: カスタム関数をタイプ「function」のビューモデルプロシージャーとして定義できます。ビューモデルに対して New Child - Procedure... と選択すると、最初のダイアログで標準のビュープロシージャーまたはユーザー定義の関数のいずれかが含まれるプロシージャータイプをオプションで選択できます。ユーザー定義の関数には、Java クラス、メソッド、コードが含まれる jar ファイルへのパスなどの追加のプロパティーが必要になります。
10.2. Model Object Editors
- Cut - 選択したオブジェクトを削除し、クリップボードへコピーします。
- Copy - 選択したオブジェクトをクリップボードへコピーします。
- Paste - クリップボードの内容を選択したコンテキストに貼り付けます。
- Clone - 選択したオブジェクトの複製を同じ名前で同じ場所に作成します。ユーザーはツリーで新しいオブジェクトの名前を変更できます。
- Delete - 選択したオブジェクトを削除します。
- Rename - オブジェクトの名前を変更できます。
オブジェクト作成の New Child、New Sibling、および New Association メニューの他に、Teiid Designer は実行できるオブジェクト固有のアクションを表す Modeling サブメニューを提供します。
図10.11 ソーステーブルの Modeling サブメニュー
図10.12 ソーステーブルの Modeling サブメニュー
10.3. Transformation Editor
10.3.1. Transformation Editor
- Edit をダブルクリックします。
- Model Explorer または Diagram Editor のリレーショナルビューテーブルまたはプロシージャー
- トランスフォーメーションダイアグラムまたはマッピングトランスフォーメーションダイアグラムのトランスフォーメーションノード
- Model Explorer、Diagram Editor、または Table Editor で選択したオブジェクトを右クリックし、Edit を選択します。
- リレーショナルビューテーブルまたはプロシージャー
- トランスフォーメーションダイアグラムまたはマッピングトランスフォーメーションダイアグラムのトランスフォーメーションノード
- マッピングダイアグラムまたはマッピングトランスフォーメーションダイアグラムのマッピングクラス
図10.13 String プロパティーの編集
- この仮想クラスで特定の更新トランスフォーメーションタイプを無効にします。
- 提供された SQL テンプレートでトランスフォーメーションを開始します。
- トランスフォーメーションで使用する criteria 句をビルドまたは編集します。
- トランスフォーメーションで使用する式をビルドまたは編集します。
- トランスフォーメーション内で文字列を見つけ、置き換えます。
- 内容にエラーがないよう、トランスフォーメーションを検証します。
- トランスフォーメーションにあるシンボルが仮想メタデータクラスの属性と一致するよう、属性を照合します。
- Transformation Editor ツールバーアクションの概要を以下に示します。
- Preview Virtual Data - executes a simple preview query for the target table or procedure of the transformation being edited.
- Search Transformations - provides a simple way select and edit another transformation based SQL text search criteria.
- Edit Transformation - provides a simple way to change which transformation to edit without searching in a diagram or the Model Explorer. Click the action and select from a list of views, tables, procedures or operations from the currently edited model.
- Cursor Position (line, column) - shows the current line and column position of the insertion cursor. For example, Cursor Position(1,4) indicates that the cursor is presently located at column 4 of line 1.
- Supports Update - checkbox allows you to enable or disable updates for the current transformation target. If Supports Update is selected, the editor shows four tabs at the bottom for the Select, Update, Insert and Delete transformations. If Supports Update is cleared, all updates are disabled and only the Select transformation is displayed.
- Reconcile - allows you to resolve any discrepancies between the transformation symbols and the target attributes. Clicking this button will display the Reconcile Virtual Target Attributes dialog box in which you can resolve discrepancies.
- Save/Validate - saves edits to the current transformation and validates the transformation SQL. Any Warning or Error messages will be displayed at the bottom of the editor in the messages area. If the SQL validates without error, the message area is not displayed.
- Criteria Builder - allows you to build a criteria clause in your transformation. The button will enable if the cursor position is within a query that allows a criteria. Pressing the button will launch the Criteria Builder dialog. If the Criteria Builder is launched inside an existing criteria, that criteria will be displayed for edit, otherwise the Criteria Builder will be initially empty.
- Expression Builder - allows you to build an expression within your transformation. The button will enable if the cursor position is at a location that allows an expression. Pressing the button will launch the Expression Builder dialog. If the Expression Builder is launched inside an existing expression, that expression will be displayed for edit, otherwise the Expression Builder will be initially empty.
- Expand Select * - allows you to expand a SELECT * clause into a SELECT clause which contains all of the SELECT symbols. The button will enable only if the cursor is within a query that contains a SELECT * clause that can be expanded.
- Increase Font Size - increases the font size of all editor text by 1.
- Decrease Font Size - decreases the font size of all editor text by 1.
- Show/Hide Messages - toggles the display of the message area at the bottom of the transformation editor.
- Optimize SQL - when toggled ON, will use the short names of all SQL symbols that can be optimized. Some symbol names may remain fully qualified in the event of a duplicate name or if the optimizer is unable to optimize it. When the action is toggled OFF, all symbol names will be fully qualified.
- Import SQL Text - allows you to import an SQL statement from a text file on your file system. Pressing this button will display an import dialog in which you can navigate to the file.
- Export SQL Text - allows you to export the currently displayed SQL statement into a text file on your file system. Pressing this button will display an export dialog in which you can choose the location for export.
- Close X - Transformation Editor を閉じます。
- Transformation Editor コンテキストメニューを表示するには、エディターのテキストエリア内でマウスの右ボタンをクリックします。コンテキストメニューを以下に示します。コンテキストメニューアクションの概要は次のとおりです。
図10.14 Transformation Editor コンテキストメニュー
- Cut - Copy - Paste - エディター内でテキストを切り取り、コピー、または貼り付けする一般的なテキストエディターアクション。
- Undo - Redo - 前回のアクションを取り消しまたは再度実行します。
- Find - トランスフォーメーション内でテキストを検索および置き換えできる Find and Replace ダイアログを表示します。
- Apply Template... - 一般的な SQL パターンのリストから 開始 SQL テンプレートを選択できる Choose an SQL Template ダイアログを表示します。このダイアログの説明は View Table ウィザードの項を参照してください。
10.3.2. Reconciler の使用
図10.15 Reconciler ダイアログ
- Target Attributes - SQL Symbol Table: このテーブルは、左列のターゲット属性と右列の SQL シンボルを表示します。SQL シンボルは SQL トランスフォーメーションから射影されたシンボルです。属性の横に表示されるとシンボルはターゲット属性にバインドされたとみなされます。ターゲット属性がバインドされていないと、行が赤でハイライトされます。すべての属性が対応する SQL シンボルのバインディングを持つまでトランスフォーメーションは無効です。以下をテーブルセクションで実行できます。
- ターゲット属性のロック: ターゲット属性の順序付けをロックするには、Lock Target Attributes チェックボックスを選択します。これにより、属性がロックされます。
- 属性の再順序: テーブル直下のTop、Up、Swap、Down、および Bottom コントロールを使用します。単一または複数のテーブル行を選択し、希望のアクションボタンをクリックします。
- 属性の削除: ターゲット属性を 1 つまたは複数削除するには、削除するテーブル行を選択し、Delete ボタンをクリックします。
- タイプの解決: 属性と SQL シンボルのバインディングにデータタイプの競合がある場合、メッセージが表示されます。データタイプの競合を解決するために、Datatype Resolver Dialog が提供されます。テーブル行をクリックし、Type Resolver... ボタンをクリックしてダイアログを表示します。詳細は、「データタイプリゾルバーの使用」を参照してください。
- 一致しない SQL シンボルのリスト:このリストは属性とシンボルのバインディングテーブルの右にあり、ターゲットテーブル属性にバインドされないトランスフォーメーション SQL から SQL シンボルを表示します。以下をリストセクションで実行できます。
- SQL シンボルの追加: SQL シンボルをリストに追加するには、Add ボタンをクリックします。トランスフォーメーションソーステーブルで使用できるシンボルがすべて表示されるダイアログが表示されます。追加したいシンボルをクリックし、OK をクリックします。
- シンボルの削除または消去: SQL シンボルを 1 つまたは複数削除するには、リスト項目を選択してから Remove ボタンをクリックします。SQL シンボルリスト全体を消去するには、Clear ボタンをクリックします。
- シンボルのソート: デフォルトでは、SQL クエリーが表示される順番にシンボルが表示されます。リストでアルファベット順に表示するには、Sort ボタンをクリックします。
- バインディングの制御: Binding Controls は Attribute-Symbol テーブルと Unmatched SQL Symbols リストの間にあります。これらのボタンを使用して、属性とシンボルのバインディングを定義します。以下をバインディングの制御で実行できます。
- Bind: このボタンは SQL シンボルをターゲット属性にバインドします。一致しない SQL シンボルとターゲット属性を選択し、Bind をクリックしてバインディングを確立します。
- Unbind: このボタンは Attribute-Symbol バインディングを解除します。すでにバインドされている属性をテーブルで選択し、Unbind をクリックします。SQL シンボルが Unmatched Symbols リストに出力されます。
- New: このボタンは、一致しない SQL シンボルを使用して新しいターゲット属性を作成します。リストから一致しない SQL シンボルを選択し、New をクリックします。新しいターゲット属性が Attribute-Symbol テーブルの下部に追加され、選択された SQL シンボルにバインドされます。
- Null: このボタンは、SQL シンボルをバインドする代わりに null をターゲット属性にバインドします。Attribute-Symbol テーブルの列を選択し、Null をクリックします。ターゲット属性は null にバインドされます。最初に SQL シンボルにバインドされていた場合は、シンボルが Unmatched Symbol リストに出力されます。
- Function: このボタンを使用すると、バインディングで SQL シンボルの代わりに式を定義できます。式を定義するには、Attribute-Symbol テーブルの行を選択し、Function ボタンをクリックします。Expression Builder ダイアログが表示され、すべてのタイプの式を定義できます。Expression Builder の詳細は「Expression Builder の使用」を参照してください。
- SQL Display: 現在のトランスフォーメーション SQL は Reconsiler ダイアログの下部に表示されます。SQL シンボルの追加または削除、およびその他の変更を行うと、その変更を反映して SQL Display が変更されます。OK をクリックすると、その SQL が新しいトランスフォーメーション SQL になります。必要な場合は、Show SQL Display チェックボックスの選択を解除し、SQL Display を非表示にすることができます。
10.3.3. Datatype Resolver の使用
図10.16 Datatype Resolver ダイアログ
- Convert all source SQL symbol datatypes: SQL シンボルのデータタイプが対象の属性のデータタイプに対応するよう、このボタンをクリックして CONVERT 関数をテーブルのすべての SQL に適用します。
- Change all target column datatypes: 提案されたデータタイプが適切でない場合は、このボタンをクリックし、Datatype ダイアログから他のデータタイプを選択します。
- Source SQL Symbol - Matched Datatype Table: このテーブルには、選択したバインディングの SQL シンボルデータタイプの情報がすべて表示されます。テーブル行で選択し、下部パネルにデータを読み込みます。
- Selected Binding Info: 下部パネルには選択した SQL シンボルのバインディング情報が表示されます。選択したバインディングの SQL シンボルデータタイプの情報がすべて表示されます。テーブル行で選択し、下部パネルにデータを読み込みます。
10.3.4. Criteria Builder の使用
- In the Transformation Editor, click the Launch Criteria Builder button.
- Criteria Builder が表示されます。
図10.17 String プロパティーの編集
上部にある Tree View と SQL View の 2 つのタブには、ビルドした現在の基準の内容が表示されます。下部の Criteria Editor で criteria 句をビルドできます。criteria 句をビルドするには、述語の左側に情報を追加して、比較演算子を選択し、値を右側に追加する必要があります。 - Predicate Editor の両側にあるラジオボタンを使用すると、述語の各側に置く内容のタイプを選択できます。配置したい内容タイプのラジオボタンをクリックします。以下をクリックできます。
- Attribute をクリックすると述語に属性を追加できます。Attribute ラジオボタンをクリックすると、Predicate Editor は次のようになります。
図10.18 Attribute パネル
ツリーから式に追加する属性を選択します。トランスフォーメーションのすべてのソースクラスから属性を選択できます。 - Constant をクリックすると述語にハードワイヤの定数値を追加できます。このラジオボタンをクリックすると、Predicate Editor は次のようになります。
図10.19 Constant パネル
Type ドロップダウンリストからこの定数のデータタイプを選択し、Value 編集ボックスに値を入力します。 - Function をクリックすると関数を追加できます。
図10.20 Function パネル
SQL 基準の述語で使用する関数の構築に Expression Builder を使用するには、Edit ボタンをクリックします。
- 述語の左側の値を設定し、必要な場合は述語の右側も設定します。述語の右側に値が必要ない場合は、値を入力できません。
- Apply をクリックします。
- Predicate Editor で左と右の式を両方作成したら、Apply をクリックしてダイアログボックス上部のツリービューに基準を追加します。
- Delete - 選択した基準を削除します。
- AND - true にする必要がある新しい基準を作成します。
- OR - 選択した基準の代わりに true にすることができる新しい基準を作成します。
- NOT - 否定的な基準を作成します。
10.3.5. Expression Builder の使用
- 属性 (属性を選択して作成)。
- 定数 (データタイプおよび値を選択して作成)。
- 標準の Teiid Designer SQL 関数および企業のカスタムユーザー定義の関数からの関数。Expression Builder を起動する前に関数を選択すると、Expression Builder を使用して選択した関数を編集できます。それ以外の場合は、新しい関数を最初から作成できます。
注記
Expression Builder を介して利用できる関数は Teiid Reference Guide に記載されています。
- Transformation Editor で関数を挿入する場所をクリックします。
- Click the Expression Builder button. The SQL Expression Builder displays.
図10.21 Expression Builder
上部にある Tree View および SQL View の 2 つのタブには、ビルドした式の現在の内容が表示されます。式をビルドするには、ビルドする式のタイプを指定し、データを入力する必要があります。ほとんどの場合で、Expression Builder を使用して複雑な式を構築します。 - Function ラジオボタンをクリックして関数を追加します。
注記
Attribute または Constant ラジオボタンを使用すると、定数および属性を式として追加できます。しかし、Expression Editor は関数を扱う場合に最も便利です。 - Expression Editor は関数エディターを表示します。
図10.22 関数パネルの選択
Category ドロップダウンリストで追加する関数のタイプを選択します。デフォルトでは、Teiid Designer は以下のカテゴリーを提供します。- Conversion - データタイプを他のデータタイプに変換する関数
- Datetime - 日付または時間の情報を処理する関数
- Miscellaneous - その他の関数
- Numeric - 数学的関数およびその他の数値関数
- String - 文字列操作関数
注記
追加のカテゴリーは、サイトによって作成されたユーザー定義の関数が含まれるものを表します。 - Function ドロップダウンリストで関数を選択します。ドロップダウンリスト下のテーブルにこの関数に必要な引数の数が表示されます。
- Apply をクリックします。
- 関数がツリーの上部に表示されます。この関数に設定する必要がある各引数に対してサブノードが表示されます。
図10.23 新しい空白の関数の作成
ツリーの各サブノードに属性または定数値を設定し、この関数に必要な引数を指定する必要があります。Function エディターを使用してツリーの別の関数をネストすることもできます。図10.24 ネストされた関数の例
- ツリーの各サブノードをクリックし、ダイアログボックスの下にあるエディターを使用して属性、定数、または関数値を適用します。
- 以下のようにすべてのノードに値を追加したら、OK をクリックしてこの式をクエリーに追加するか、Cancel をクリックして式を挿入せずにダイアログボックスを閉じます。ツリーのすべてのノードに値が追加されていないと、OK ボタンは有効になりません。
10.4. Input Set Editor (XML)
図10.25 Edit Input Set ボタン
図10.26 Input Set Editor パネル
- 親マッピングクラスから入力セットへマッピング属性を追加できます。右側のツリーで属性を作成するシンボルを選択し、New をクリックします。Input Parameters および Mapping Class Bindings テーブルに項目が表示されます。
- 入力セットからマッピング属性を削除できます。Input Parameters および Mapping Class Bindings テーブルで削除する行をクリックし、Delete をクリックします。Teiid Designer によってテーブルからこの行が削除され、入力セットからこのマッピング属性が削除されます。
- 入力パラメーターをバインドおよびバインド解除できます。
10.5. Choice Editor (XML)
10.5.1. Choice Editor (XML)
図10.27 Choice Editor を開く
図10.28 Choice Editor
図10.29 選択肢基準の概要
以下のいずれかを実行して各選択肢オプションに対処できます。
- 結果となるドキュメントに挿入する要素を決定するため、適用する Teiid Designer Server の基準ステートメントを指定します。
- ドキュメントにオプションの断片を含めるか、除外します。
- 要素の基準テストの順番を設定します。
- 設定した基準と一致しない場合に発生するデフォルトのアクションを設定します。
10.5.2. 断片の除外
10.5.3. 選択肢基準の編集
- Choice Editor パネルのテーブルで、編集する要素を選択します。
- Edit Criteria ボタンをクリックし、Criteria Builder ダイアログを表示します。
- Criteria Builder を使用し、XML インスタンスドキュメントでこのオプションを選択するかどうかを判断するために Teiid Designer Server がテストする条件を作成します。
- OK をクリックします。設定した基準は Table および Summary タブの両方に表示されます。
10.5.4. choice 要素の順序設定
10.5.5. デフォルトの Choice アクションの設定
- テーブル内のオプション (ドキュエントから除外したものを除く)。
- THROW (Teiid Designer Server 例外が発生します)。
- RECORD (Teiid Designer Server 例外を記録します)。
- DISCARD (XML インスタンスドキュメントに要素を置きません)。
注記
10.6. Recursion Editor (XML)
10.6.1. 再帰とは
- 1 巡目は再帰のエントリー条件として考えることができます。このノードにあるマッピングクラスは、普通のマッピングトランスフォーメーションを定義します。
- 2 巡目は、条件が合うまで繰り返し実行されるため Teiid Designer Server によって生成されるドキュメントインスタンスを停止するマッピングトランスフォーメーションを定義しますドキュメントモデルのこの断片は再帰的な断片と呼ばれます。この断片のマッピングトランスフォーメーションは、1 巡目のマッピングクラス属性にアクセスでき、再帰を停止する条件を指定する機会があること以外は 1 巡目と同じです。
10.6.2. Recursion Editor (XML)
- クエリーの固定された結果数。
- SQL ベースの基準制限条件。
- 上記両方の組み合わせ。
図10.30 Recursion Editor ボタンを開く
図10.31 Recursion Editor
10.6.3. 再帰プロパティーの編集
- Teiid Designer Server でクエリーを実行し、XML ドキュメント内でネストされたタグを生成するには、Enable Recursion チェックボックスを選択します。
- Count Limit ボックスの横にある矢印をクリックし、クエリーを再帰的に実行する回数を制限します。テキストエリアで Limit Condition を設定しないと、クエリーがこの制限に達すると再帰が終了します。 Teiid Designer Server によってサポートされる最大数まで制限を設定できます。この制限に関する詳細は、システム管理者に確認してください。
- Action When Count Limit Exceeded ドロップダウンメニューをクリックし、制限条件に達する前にクエリーの結果が回数制限を超えた場合に Teiid Designer Server が行うアクションを指定します。
- Edit ボタンをクリックして SQL を起動し、この再帰に対して制限条件を構築します。
注記
10.7. Operation Editor
- Operations セクション - Web サービスモデル内に含まれるインターフェースおよび演算のツリービューを表示します。
- Input Variable セクション - 入力変数の宣言を編集できます。
- Procedure セクション - プロシージャーの SQL を編集できます。
図10.32 Operation Editor
図10.33 Edit Input Variables ダイアログ
10.8. モデルオブジェクト拡張の管理
10.8.1. モデルオブジェクト拡張の管理
- Model Extension Definitions (MEDs)
- MED レジストリー - ワークスペースに登録されたすべての MED を把握します。モデルの拡張には登録された MED のみを使用できます。
- MED エディター
10.8.2. 新しい MED の作成
注記
図10.34 MED エディター概要タブ
10.8.3. MED の編集
.mxd
ファイルを選択し、右クリックで Open を選択します。MED Editor が開かれ、編集できるようになります。
図10.35 MED エディターの Properties タブ
図10.36 Add Model Object Name ダイアログ
図10.37 Edit Property Definition ダイアログ
10.8.4. MED でのモデルの拡張
.mxd
ファイルとしてローカル保存され、最後に MED レジストリーのバージョンと異なる場合はモデルの MED のバージョンが更新されます。
図10.38 Manage Model Extension Definitions ダイアログ
図10.39 Add Model Extension Definitions ダイアログ
注記
10.8.5. 拡張プロパティー値の設定
図10.40 拡張モデルオブジェクトの Properties View
第11章 ユーザー定義関数
11.1. ユーザー定義関数
- 関数名 - 以下を念頭に置いて関数名を作成してください。
- 既存の Teiid System 関数をオーバーロードできません。
- 関数名は、引数の数に対してモデルのユーザー定義関数全体で一意でなければなりません。異なる数の引数タイプでは同じ関数名を使用できるため、ユーザー定義関数をオーバーロードできます。
- 関数名に「.」文字を含めることはできません。
- 関数名は 225 文字以下でなければなりません。
- 入力パラメーター - 入力パラメーターはタイプ固有の署名リストを定義します。すべての引数は必要であると見なされます。
- 戻り値の型 - 戻されるスカラー値の予想される型。
- プッシュダウン - 予期されるプッシュダウン動作を示します。REQUIRED、NEVER、または ALLOWED のいずれかになります。NEVER または ALLOWED が指定されると、関数の Java 実装を提供する必要があります。REQUIRED が指定されると、ソースのトランスレーターを拡張し、この関数をプッシュダウン関数ライブラリーに追加する必要があります。
- invocationClass/invocationMethod- UDF がプッシュダウンされなかったときに呼び出すメソッドを示すオプションのプロパティー。
- 決定論 - メソッドが常に同じ入力パラメーターに対して同じ結果を返すかどうか。デフォルトは false です。パフォーマンスが向上するため、同じ入力に対して同じ値を返す場合は関数を決定論としてマーク付けすることが重要になります。
11.2. 関数のモデル化
図11.1 VDB UDF Jar ファイル
- 関数カテゴリー - ユーザー定義関数のグループ化に対する一意名。このカテゴリーは Expression Builder ウィザードに表示されるため、関数を見つけ選択することができます。
- Java クラス - 関数メソッドが含まれる Java クラスの完全修飾名。
- Java メソッド - Java クラスの関数メソッドの名前。
- UDF Jar パス - プロジェクトの lib フォルダーに存在する UDF が含まれる jar に対するプロジェクトの相対パス。初めて jar を定義し、lib フォルダーに jar がない場合、プロパティーエディターでファイルシステムから jar を選択することができます。lib フォルダーに 1 つ以上の jar が存在する場合、エディターでワークスペースまたはファイルシステムのどちらから指定するかを選択できます。
11.3. トランスフォーメーションでの関数の使用
11.4. VDB に関数を含める
図11.2 VDB UDF Jar ファイル
第12章 メタデータ固有のモデリング
12.1. リレーショナルソースのモデリング
12.1.1. ソース関数
図12.1 新しいソース関数アクション
図12.2 新しいソース関数アクション
図12.3 Create New Source Function ダイアログ
図12.4 パッケージ図の新しいソース関数
12.1.2. リレーショナルテーブルウィザード
図12.5 新しいリレーショナルテーブルウィザード
図12.6 Properties タブ
図12.7 Columns タブ
図12.8 Primary Key タブ
図12.9 Foreign Keys タブ
図12.10 Create Foreign Key ダイアログ
12.2. リレーショナルビューのモデリング
12.2.1. マテリアライズドビューの作成
図12.11 Materialized テーブルプロパティー
- マテリアライズプロセスは一度に 1 つのビューで実行されます。マテリアライズするビューを選択してから、Model Explorer View のビューテーブルを右クリックし、Modeling > Create Materialized Views と選択します。(2 つ以上のテーブルを選択しないと、別のコンテキストメニューとウィザードが表示されることに留意してください。)
図12.12
- Create Materialized View Model ダイアログで、生成されたリレーショナルテーブルの目的のリレーショナルモデルを指定または選択します。
図12.13
- Browse ... ボタンを選択すると Relational Model Selector ダイアログが表示されます。このダイアログでは、既存のリレーショナルモデルを選択したり、新しいモデルの一意名を指定したりできます。
図12.14
- OK をクリックして、選択したビューテーブルに対応するリレーショナルテーブルを作成します。Materialized プロパティーを自動的に TRUE に設定し、Materialized Table 参照値を新たに生成されたテーブルに設定します。
図12.15 Materialized テーブルプロパティー
12.2.2. JDG マテリアライズ
- 最小限 JDG 6.2 - この場合、pojo が JDG スキーマを設定するために、protobuf の定義ファイルと pojo マーシャラーを指定する必要があります。
- 最小限 JDG 6.6 - これは、JDG スキーマの定義に使用する、定義済み protobuf 注釈が pojo にある場合に使用できます。
表12.1 マッピング
プロパティー名 | プロパティーテンプレート | 説明 |
---|---|---|
CacheTypeMap | cacheName:className[;pkFieldName[:cacheKeyJavaType]] | 指定した cacheName で、ルート Java オブジェクト (pojo) クラス名をマップします。また、キャッシュに対するプライマリーキーとなるクラス属性を指定します。これはオプションではあるものの更新には必須となります。クラス属性タイプが異なる場合は、プラマリーキーの Java タイプを指定するオプションもあります。 |
表12.2 ベース実行プロパティー
プロパティー名 | 必要性 | プロパティーテンプレート | 説明 |
---|---|---|---|
ProtobufDefinitionFile | はい | jar にパッケージ化された Google Protobuf ファイルへのパス (/quickstart/addressbook.proto など) | 該当なし |
MessageMarshallers | はい | marshaller \[,marshaller,..\] | 各メッセージマーシャラーがマップされたクラス名を含みます (class:marshaller,\[class:marshaller,..\])。シリアル化のために登録されます。 |
MessageDescriptor | はい | 該当なし | キャッシュ内のルートオブジェクトに対するメッセージ記述子クラス名 |
public class Person { @ProtoField(number = 2, required = true) public String name; @ProtoField(number = 1, required = true) public int id; @ProtoField(number = 3) public String email; private List<PhoneNumber> phones; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public List<PhoneNumber> getPhones() { return phones; } public void setPhones(List<PhoneNumber> phones) { this.phones = phones; } }
表12.3 設定
プロパティー名 | 必要性 | プロパティーテンプレート | 説明 |
---|---|---|---|
CacheTypeMap | はい | cacheName:className[;pkFieldName[:cacheKeyJavaType]] | ルート Java オブジェクトクラス名をキャッシュにマップします。また、キャッシュに対するプライマリーキーとなるクラス属性を指定します。これはオプションではあるものの更新には必須となります。クラス属性タイプが異なる場合は、プラマリーキーの Java タイプを指定します。 |
ProtobinFile | はい | 該当なし | jar にパッケージ化された Google Protobin ファイルへのパス (/quickstart/addressbook.protobin など) |
MessageMarshallers | はい | marshaller [,marshaller,..] | 各メッセージマーシャラーがマップされたクラス名を含みます (class:marshaller,[class:marshaller,..])。シリアル化のために登録されます。 |
MessageDescriptor | はい | 該当なし | キャッシュ内のルートオブジェクトに対するメッセージ記述子クラス名 |
モジュール | なし | 該当なし | ロードする必要があるキャッシュクラスを含む JBoss EAP モジュールを指定します。 |
CacheJndiName | なし | 該当なし | CacheContainer を見つけるための JNDI 名 |
RemoteServerList | なし | host:port[;host:port….] | キャッシュにアクセスするために一緒にクラスタ化するホストおよびポートを指定します。 |
HotRodClientPropertiesFile | なし | 該当なし | リモートキャッシュに対する接続を設定するための HotRod プロパティーファイル。 |
表12.4 プロパティー
プロパティー名 | 必要性 | プロパティーテンプレート | 説明 |
---|---|---|---|
モジュール | なし | 該当なし | ロードする必要があるキャッシュクラスを含む WildFly モジュールを指定します。 |
表12.5 マッピング
プロパティー名 | 必要性 | 説明 |
---|---|---|
StagingCacheName | はい | マテリアライズに使用するステージングキャッシュのキャッシュ名 |
AliasCacheName | はい | マテリアライズに使用するキャッシュのエイリアス追跡に使用するエイリアスキャッシュのキャッシュ名。このキャッシュは、他の設定済みマテリアライズと共有できます。 |
<resource-adapter id="infinispanRemQS"> <module slot="main" id="org.jboss.teiid.resource-adapter.infinispan.hotrod"/> <connection-definitions> <connection-definition class-name="org.teiid.resource.adapter.infinispan.hotrod.InfinispanManagedConnectionFactory" jndi-name="java:/infinispanRemote" enabled="true" use-java-context="true" pool-name="infinispanDS"> <config-property name="CacheTypeMap"> addressbook:org.jboss.as.quickstarts.datagrid.hotrod.query.domain.Person;id </config-property> <config-property name="ProtobufDefinitionFile"> /quickstart/addressbook.proto </config-property> <config-property name="MessageDescriptor"> quickstart.Person </config-property> <config-property name="Module"> com.client.quickstart.pojos </config-property> <config-property name="MessageMarshallers"> org.jboss.as.quickstarts.datagrid.hotrod.query.domain.Person:org.jboss.as.quickstarts.datagrid.hotrod.query.marshallers.PersonMarshaller,org.jboss.as.quickstarts.datagrid.hotrod.query.domain.PhoneNumber:org.jboss.as.quickstarts.datagrid.hotrod.query.marshallers.PhoneNumberMarshaller,org.jboss.as.quickstarts.datagrid.hotrod.query.domain.PhoneType:org.jboss.as.quickstarts.datagrid.hotrod.query.marshallers.PhoneTypeMarshaller </config-property> <config-property name="RemoteServerList"> 127.0.0.1:11322 </config-property> </connection-definition> </connection-definitions> </resource-adapter>
<resource-adapter id="infinispanRemQSDSL"> <module slot="main" id="org.jboss.teiid.resource-adapter.infinispan.dsl"/> <connection-definitions> <connection-definition class-name="org.teiid.resource.adapter.infinispan.dsl.InfinispanManagedConnectionFactory" jndi-name="java:/infinispanRemoteDSL" enabled="true" use-java-context="true" pool-name="infinispanRemoteDSL"> <config-property name="RemoteServerList"> 127.0.0.1:11322 </config-property> <config-property name="CacheTypeMap"> addressbook_indexed:org.jboss.as.quickstarts.datagrid.hotrod.query.domain.Person;id </config-property> </connection-definition> </connection-definitions> </resource-adapter>
<resource-adapter id="infinispanRemQSDSL"> <module slot="main" id="org.jboss.teiid.resource-adapter.infinispan.hotrod"/> <connection-definitions> <connection-definition class-name="org.teiid.resource.adapter.infinispan.hotrod.InfinispanManagedConnectionFactory" jndi-name="java:/infinispanRemoteDSL" enabled="true" use-java-context="true" pool-name="infinispanRemoteDSL"> <config-property name="CacheTypeMap"> addressbook_indexed:org.jboss.as.quickstarts.datagrid.hotrod.query.domain.Person;id </config-property> <config-property name="StagingCacheName"> addressbook_indexed_mat </config-property> <config-property name="AliasCacheName"> aliasCache </config-property> <config-property name="Module"> com.client.quickstart.addressbook.pojos </config-property> <config-property name="RemoteServerList"> 127.0.0.1:11322 </config-property> </connection-definition> </connection-definitions> </resource-adapter>
- キャッシュからオブジェクトを取得し、行と列に変換します。
- キャッシュへの書き込みをサポートします。
- 外部マテリアライズを使用してクエリパフォーマンスを改善します。
- Compare Criteria - EQ
- Compare Criteria Ordered - LT, GT, LE, GE - SupportsComapareCriteriaOrdered のサポートはアクセスしている JDG のバージョンで制御されます。JDG バージョン 6.5 およびそれ以前は、JDG の問題のためにこれが false に設定されます。
- And/Or Criteria
- In Criteria
- Like Criteria
- Order By
- INSERT, UPDATE, DELETE (トランザクション以外)
- Not (NE)
- IsNull
- 'Not' のサポートは無効になっています。
- boolean data type: 挿入の値が指定されていない場合、または protobuf 定義ファイルでデフォルト値が定義されていない場合は JDG が例外をスローします。
- char data type: Protobuf データタイプでサポートされているタイプではありません (https://developers.google.com/protocol-buffers/docs/proto#scalar)。protobuf マーシャラーで変換を処理するか、char のデータタイプで Teiid ビューを作成する必要があります。
- 1-to-Many が現在サポートしているのは Collection または Array のみで、Maps はサポートされていません。
- 書き込みトランザクションは、Hot Rod クライアント使用時には JDG でサポートされません。
<model name="People" type="Physical"> <property name="importer.useFullSchemaName" value="false"/> <source name="infinispan-hotrod-connector" translator-name="ispn-hotrod" connection-jndi-name="java:/infinispanRemoteDSL" /> </model>
表12.6 マッピング
スクリプト | ネイティブクエリ | 説明 |
---|---|---|
teiid_rel:MATVIEW_BEFORE_LOAD_SCRIPT | truncate cache | staging cache として特定されたキャッシュを切り詰めます。 |
teiid_rel:MATVIEW_AFTER_LOAD_SCRIPT | swap cache names | キャッシュのエイリアスをスワップし、プラマリーキャッシュが最近読み込まれたキャッシュをポイントするようにします。 |
.. "teiid_rel:MATVIEW_BEFORE_LOAD_SCRIPT" 'execute StockMatCache.native(''truncate cache'');', "teiid_rel:MATVIEW_LOAD_SCRIPT" 'insert into StockMatCache.Stock (productId, symbol, price, companyName) SELECT A.ID, S.symbol, S.price, A.COMPANY_NAME FROM Stocks.StockPrices AS S, Accounts.PRODUCT AS A WHERE S.symbol = A.SYMBOL', "teiid_rel:MATVIEW_AFTER_LOAD_SCRIPT" 'execute StockMatCache.native(''swap cache names'');',
警告
SET NAMESPACE 'http://www.teiid.org/translator/object/2016' AS n0; CREATE FOREIGN TABLE Trade ( .... CONSTRAINT PK_TRADEID PRIMARY KEY(tradeId) ) OPTIONS (UPDATABLE TRUE); CREATE FOREIGN TABLE ST_Trade ( .... ) OPTIONS (NAMEINSOURCE 'Trade', UPDATABLE TRUE, "n0:primary_table" 'ObjectSchema.Trade');
注記
重要
- 注釈の使用において、pojo メソッド名はクラスを設定ビルダーに渡すことで、JDG スキーマの設定に使用されます。
- protobuf/mashallers の使用において、は、JDG スキーマは protobuf ファイルを使用して設定されます。
12.2.3. リレーショナルビューテーブルウィザードの作成
図12.16 新しいビューテーブルウィザード
図12.17 Properties タブ
図12.18 Columns タブ
図12.19 Transformation SQL タブ
図12.20 SQL Templates ダイアログ
12.3. XML ドキュメントのモデリング
12.3.1. スキーマからの XML ビュードキュメントの作成
図12.21 XML ビュードキュメントの作成
図12.22 Select or Create XML View Model ダイアログ
図12.23 Build XML Documents From XML Schema ダイアログ
12.4. Web サービスのモデリング
12.4.1. Web サービスの作成
- Mode Explorer のビューツリーでリレーショナルモデル、テーブル、プロシージャーの組み合わせを選択します。
注記
手順 3 で入出力スキーマおよび Web サービスモデルの自動命名が有効になるため、単一のソースモデルを選択することが推奨されます。 - 右クリックして Modeling > Create Web Service アクションを選択します。
図12.24 Web サービスの作成
- Create Web Service ダイアログで、生成された入力スキーマファイル、出力スキーマファイル、および Web サービスモデルのファイル名を指定します。必要な場合はオプションを変更します。 最後に Finish をクリックします。
図12.25 Create Web Service ダイアログ
- モデルの生成が終了したら、確認ダイアログが表示されます。OK をクリックします。
図12.26 Generation Completed ダイアログ
12.4.2. Web サービス war の生成
12.4.2.1. Web サービス war の生成
12.4.2.2. JBossWS-CXF war の生成
- Web サービスモデルが含まれる VDB を右クリックし、 Modeling > Generate JBossWS-CXF War と選択します。
図12.27
- 以下のように、Web Service War Generation Wizard で不足しているプロパティーを入力します。
図12.28 Generate a JBossWS-CXF War Web Service ダイアログ
表12.7 フィールドの説明
フィールド名 説明 名前 生成された war ファイルの名前。 ホスト サーバーのホスト名 (または IP)。 ポート サーバーポート。 VDB JNDI Name デプロイされた Teiid ソース VDB への JNDI 接続名。 Security options- None - 生成された Web サービスを介した VDB への接続にユーザー名やパスワードは必要ありません。
- HTTP Basic - 指定されたセキュリティーレルムおよびロールが使用されます。デフォルトのレルム値は、設定変更のない JBoss Data Virtualization (teiid-security) のレルムです。ロールは適切なセキュリティーメカニズムで定義する必要があります。Teiid の場合、
teiid-security-roles.properties
ファイルを使用します。HTTPBasic を使用する場合、PassthroughAuthentication プロパティーを使用するローカルの Teiid 接続が必要になります。 - WS-Security - war generator ダイアログに指定したユーザー名とパスワードの値が渡されるか検証するパスワードコールバッククラスが生成されます。これは、WS-Seurity が有効になっている Web サービスのテストメカニズムと独自のセキュリティーメカニズムがこのクラスに実装される必要があることを意味します。すべてのソースコードがコンパイルされたクラスファイルとともに生成された war に含まれます。
Target namespace 生成された WSDL および後続の生成された Web サービスクラスで使用される目的の名前空間。 MTOM (Message Transmission Optimization Mechanism) 生成されると、MTOM は Web サービスエンドポイントに対して有効になります。また、xmlns:xmime="http://www.w3.org/2005/05/xmlmim" スキーマと type="xs:base64Binary"xmime:expectedContentTypes="application/octet-stream" を最適化する出力要素に追加し、出力スキーマを更新する必要があります。 War File Save Location 生成された WAR ファイルが保存されるフォルダー。 - OK をクリックし、Web サービス war を生成します。war の生成が完了したら、確認ダイアログが表示されます。OK をクリックします。
図12.29 Generation Completed ダイアログ
- OK をクリックします。
12.4.2.3. RESTEasy war の生成
http://{host}:{port}/{war_context}/{model_name}/resource
は URI パスパラメーターや XML を許可し、http://{host}:{port}/{war_context}/{model_name}/json/resource
は URI パスパラメーターや JSON を許可します。また、REST:URI = authors&parm1&parm2
のように & を区切り文字として使用して目的の REST プロシージャーの URI プロパティーにあるクエリーパラメーターを指定できます。
- 仮想モデルで、XMLLiteral オブジェクトを返すプロシージャーを追加します。VDB のすべてのモデルをプロシージャーのターゲットとすることができます。仮想テーブル (VirtualBooks) から選択し、結果を XMLLiteral として返すプロシージャーの例を以下に示します。
図12.30
選択のリレーショナルテーブルの結果を VirtualBooks から XMLLiteral に変換する構文に注目してください。行を追加し、XMLLiteral オブジェクトを返す更新プロシージャーの例は次のとおりです。図12.31
REST プロシージャーの入力形式は、URI パラメーター、XML/JSON ドキュメント、または両方の組み合わせの一部になります。XML ドキュメントを使用する場合は、ルートノードが <input> である必要があり、XML ノードがプロシージャーの入力パラメーターの順番に対応する必要があります。たとえば、上記の挿入プロシージャーの入力は次のとおりです。図12.32 XML 入力の例
JSON ドキュメントを使用する場合は、値がプロシージャー入力パラメーターの順番と一致するようにしてください。上記の挿入プロシージャーの入力は次のとおりです。図12.33 JSON 入力の例
- ここでプロシージャーを REST 対応であると特定する必要があります。これには、Modeling > Enable REST for Procedures とコンテキストメニューオプションを選択し、プロシージャーのプロパティーを追加します。
図12.34
これにより、モデルで定義されたすべてのプロシージャーに対し、プロパティータブで 2 つの新しいプロパティーが有効になります。必要な 2 つのプロパティーは次のとおりです。表12.8 RESTful プロシージャーの必要な拡張プロパティー
プロパティー名 説明 REST メソッド このプロシージャーの REST マッピングを決定する HTTP メソッド。サポートされるメソッドは GET、PUT、POST、および DELETE です。 URI プロシージャーへのリソースパス。たとえば、books/{isbn} をプロシージャーの URI 値として使用する場合、このプロシージャーは http://{host}:{port}/{war_context}/{model_name}/books/123 によって実行され、123 がパラメーターとして渡されます。 上記の例は Property タブでは次のように表示されます。図12.35
生成された URI にはパスの一部としてモデル名が含まれるため、完全な URL は「http://{host}:{port}/{war_context}/{model_name}/books/123」のようになります。REST サービスがすべて本 (book) を返すようにするには、上記のとおりにプロシージャーを記述して入力パラメーターのみ削除します。URI プロパティーは「books」のみになり (または指定するもの)、URL は「http://{host}:{port}/{war_context}/{model_name}/books」になります。必要な拡張プロパティーとともにすべてのプロシージャーを追加したら、モデルを VDB に追加します。モデルがすでに VDB に含まれている場合は同期します。その後、VDB を再デプロイする必要があります。重要
開発中に VDB を再デプロイした場合、プールに対して陳腐化した接続が取得され、「Invalid Session Exception」(無効なセッション例外) が発生することがあります。これを修正するにはデータソースをフラッシュしますが、テストクエリーを VDB 接続の -ds.xml ファイルに追加して修正することもできます。これにより、VDB を再デプロイした後に確実に有効な接続を取得することができます。テストクエリーの構文は <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql> になります。 - VDB のデータソースを作成していない場合は作成する必要があります。これは、Teiid Designer の Server view で行うことができます。デプロイした VDB を右クリックし、Create Data Source を選択します。VDB に接続するため、Generate REST WAR ダイアログで作成したソースの JNDI 名が要求されます。
- REST 対応のプロシージャーを持つ仮想モデルが含まれる VDB を右クリックし、Modeling > Generate RESTEasy War と選択します。REST 対応のプロシージャーがない場合、「Generate RESTEasy War」オプションは有効になりません。
図12.36
- 以下のように REST War Generation Wizard で不足しているプロパティーを入力します。
図12.37 Generate a REST WAR War File ダイアログ
表12.9 フィールドの説明
フィールド名 説明 名前 生成された war ファイルの名前。 Connection JNDI Name デプロイされた Teiid ソース VDB への JNDI 接続名。 War File Save Location 生成された WAR ファイルが保存されるフォルダー。 Include RESTEasy Jars in lib Folder of WAR 選択すると、RESTEasy jar とそれらが依存する jar が生成された WAR の lib フォルダーに含まれるようになります。選択しないと、jar は含まれません。RESTEasy がサーバーインストールのクラスパスにインストールされている環境では、これを未選択にして競合を防ぐ必要があります。 - OK をクリックして REST war を生成します。war の生成が完了したら確認ダイアログが表示されます。OKをクリックします。
図12.38 Generation Completed ダイアログ
12.4.2.4. 生成された WAR ファイルのデプロイ
JBDS または JBoss Tools から
- 目的の JBoss AS が設定され、実行されていることを確認します。
- Model Explorer ビューで WAR ファイルを選択します。その場所に war を生成しなかった場合は、コピーして貼り付けできます。
- WAR ファイルを右クリックし、Mark as Deployable 選択します。これにより、定義した JBoss AS インスタンスに WAR ファイルが自動的にデプロイされます。
図12.39
JBoss AS 管理コンソールを使用
- JBoss AS に同梱される管理コンソールを使用して、WAR ファイルをデプロイできます。管理コンソールは、http://{host:port}/admin-console にあります。ログインしたら、Web Application (WAR) リソースフォルダーの Add a New Resource ボタンを使用します。
JBoss AS への手動デプロイメント
- 手動でファイルを JBoss AS の deploy フォルダーにコピーして、生成された WAR をデプロイすることも可能です。サーバーが稼働中の場合は、ホットデプロイで WAR は自動的にデプロイされます。それ以外の場合は、サーバーが次回起動したときに WAR がデプロイされます。
12.4.2.5. 生成された WAR ファイルのテスト
SOAP WAR テスト
- WSDL URL の判断
- http://{server:port}/jbossws/services で WSDL URL を確認できます。ここには、目的の JBoss AS サーバーのデプロイされた web サービスがすべてリストされます。サービスを見つけ、Endpoint Address リンクをクリックします。これにより、web サービスの WSDL が取得され、WSDL URL アドレスがブラウザーのアドレスバーに表示されます。
図12.40
WSDL URL を取得すると、JBDS や JBoss Tools に同梱される Web Service Tester や soapUI などの外部ツールを含むすべての SOAP テストツールを使用できます。 - JBoss AS 管理コンソールを使用
- JBoss AS に同梱される管理コンソールを使用して、WAR ファイルをデプロイできます。管理コンソールは、http://{host:port}/admin-console にあります。ログインしたら、Web Application (WAR) リソースフォルダーの Add a New Resource ボタンを使用します。
REST WAR テスト
- URI
- REST プロシージャーをモデル化したとき、対応する演算 (GET、PUT、POST、または DELETE) とともに定義された各 HTTP 演算に対して URI を割り当てました。各 URI のフルパスは、XML 入力/出力の場合は /{war_context}/{model_name}/{resource} として定義され、JSON 入力/出力の場合は /{war_context}/{model_name}/json/{resource} として定義されます。WSDL URL を使用すると、JBDS や JBoss Tools に同梱される Web Service Tester、および soapUI や cURL などの外部ツールなど、REST サポートが含まれるすべてのテストツールを使用できます。
第13章 モデルおよびプロジェクトの編集
13.1. モデルおよびプロジェクトの編集
13.2. モデル名の変更
- Model Explorer ビューでモデルを選択します。
- 右クリックして Refactor > Rename と選択します。
図13.1 Model Explorer の Refactor - Rename アクション
- Rename Model File ダイアログで一意のモデル名を指定します。OK をクリックします。
図13.2 Rename Model File ダイアログ
注記
13.3. モデルの移動
- Model Explorer ビューでモデルを選択します。
- 右クリックして Refactor > Move と選択します。
図13.3 Model Explorer の Refactor - Move アクション
- 新しいフォルダーの場所を選択し、OK をクリックします。
13.4. モデルのコピーの保存
注記
- Model Explorer ビューでモデルをダブルクリックするか、右クリックして Open を選択し、Model Editor でコピーするモデルを開きます。
- 開いたモデルの Editor タブを選択します。
図13.4 Editor タブの選択
- File > Save As... と選択し、Save Model As ダイアログを開きます。
図13.5 Save Model As ダイアログ
- new model name テキストフィールドに一意なモデル名を入力し、OK をクリックします。
- 依存するモデルが検出された場合、Save Model As - Import References ダイアログが表示され、依存するモデルのインポートが新しいモデルを参照するかどうかを変更できます。
図13.6 Save Model As ダイアログ
13.5. プロジェクトのクローン
- このアクションは、ユーザー定義のディレクトリー構造で組織されたモデルファイル (XMI または XSD) が任意の数含まれる、完全なモデルプロジェクトをクローンします。
- 元のオブジェクト内のすべてのオブジェクト参照 (UUID) は新しい一意な参照に置き換えられます。
- モデルの依存関係または内部オブジェクト参照はクローンされたプロジェクト内の依存関係を反映するためにリファクタリングされます。
- 元のプロジェクトの外部にあるプロジェクトのモデルへのモデル参照は置き換えられません。
- XMI および XSD ファイルのみがクローンされます。プロジェクトの他のファイルタイプはすべて処理されず、VDB を含む新たにクローンされたプロジェクトにコピーされません。
- 保存が必要な 1 つまたは複数のエディターが開かれている場合、クローン処理を継続する前に保存するよう要求されます。
- Model Explorer ビューで既存のモデルプロジェクトを選択します。
- コンテキストメニューで右クリックして Model Project > Clone と選択します。または、Teiid Designer のメインメニューバーにある Project > Clone Project アクションを選択します。
図13.7 Project メニューの Clone Project
- Clone Project ウィザードページで、新しいプロジェクトの名前を指定します。
図13.8 Project メニューの Clone Project
- (任意設定) デフォルトのワークスペース以外の場所にクローンされたプロジェクトを作成する場合は、Use default location チェックボックスのチェックマークを外し、ローカルファイルシステムの新しいディレクトリーの場所を指定します (直接入力するか Browse ボタンを押して選択します)。
- Finish をクリックして新しいプロジェクトを生成します。
第14章 仮想データベースの管理
14.1. 仮想データベースの作成
手順14.1 仮想データベースの作成
- Red Hat JBoss Developer Studio の New ウィザードを起動します。
- Teiid Designer カテゴリーディレクトリーを開き、Teiid VDB を選択します。
注記
また、モデルプロジェクトで 1 つ以上のモデルを選択できます。モデルを選択するには、右クリックして New - Teiid VDB action と選択します。このウィザードを起動すると、新しい VDB ダイアログが開かれます。選択したモデルを 1 つまたは複数起動した場合は、新しい VDB に含まれる事前設定されたモデルがダイアログに表示されます。注記
VDB は、同じモデルプロジェクト内のモデルやファイルを VDB として認識するようスコープ付けされます。異なるプロジェクトに存在する VDB へモデルを追加することはできません。
14.2. 仮想データベースの編集
手順14.2 既存の仮想データベースの編集
- Explorer で編集する VDB を選択します。
- 右クリックして Open を選択します (ダブルクリックすることもできます)。エディターで VDB が開かれます。
14.3. 複数ソースのバインディングサポート
注記
14.4. ユーザー定義関数のサポート
14.5. 仮想データベースの再使用
vdb.xml
定義の import-vdb XML 要素を用いて実現できます。VDB が他の VDB を参照できるようにすることで、ユーザーは再使用可能なデータベースコンポーネントを作成し、複雑なトランスフォーメーションの作成に必要なモデリングの量を減らすことができます。
vdb.xml
ファイルの例は、ビューモデルのモデル要素内の import-vdb 要素と対応する import-vdb-reference を強調しています。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <vdb version="1" name="PartssupplierViewsVDB"> <property value="false" name="preview"/> <import-vdb import-data-policies="false" version="1" name="PartssupplierSourcesVDB"/> <model visible="true" type="VIRTUAL" name="PartsViewModel" path="/PartssupplierProject/PartsViewModel.xmi"> <property value="1623826484" name="checksum"/> <property value="Relational" name="modelClass"/> <property value="false" name="builtIn"/> <property value="655076658.INDEX" name="indexName"/> <property value="PartssupplierSourcesVDB" name="import-vdb-reference"/> </model> </vdb>
- VDB ソースは読み取り専用です。
- VDB ソースモデル名は、インポートされた VDB のデプロイされたモデル名 (スキーマ) によって判断されます。
- モデル名はモデルプロジェクト内で一意である必要があります。
- VDB ソースモデルは、再使用 VDB の作成およびデプロイに使用されたプロジェクトとは異なるプロジェクトでインポートまたは作成される必要があります。
- JDBC インポートウィザードは、これらのルールに準拠するオプションを制限します。
14.6. VDB ソースモデルの作成
手順14.3 VDB ソースモデルの作成
- VDB をデプロイします。
- Import - Teiid Designer - JDBC Database Source Model とクリックし、JDBC Import Wizard を起動します。
- ウィザードの最初のページで、デプロイされた VDB の有効な接続プロファイルを選択します。ウィザードによって接続プロファイルが Teiid VDB 接続であることが検出され、選択が Teiid VDB Source Options というタイトルのウィザードページに表示されます。
注記
Import as VDB source model にチェックマークが入っていないと、ウィザードは通常の JDBC インポートとしてインポートを続行します。 - Select Database Objects ページで、VDB ソースモデルとして作成するために使用するスキーマを 1 つ選択します。
- 最後のページには、結果となる VDB ソースモデルの名前が表示されます。名前は変更できません。
注記
他のオプションはすべて無効になります。注記
目的の Into Folder に同じ名前のモデルが含まれないようにしてください。含まれると Finish ボタンが無効化されます。注記
VDB ソースモデルはプロジェクトの他のソースモデルと同様に使用できます。VDB ソースモデルテーブルはトランスフォーメーションクエリーで使用でき、ビューモデルには VDB ソースモデルへのモデルインポートが含まれます。しかし、ビューモデルが VDB に追加されても、参照された VDB ソースモデルは VDB に追加されません。代わりに、import-vdb 要素参照が追加されます。VDB の VDB インポートが存在する場合、Show Import VDBs ボタンが有効になり、インポートされた VDB の名前が表示されます。
14.7. セキュリティーおよびデータアクセス
- Security (行ベースの状態および列マスキング)
- 作成
- Read
- アップデート
- 削除
- Execute
- Alter
第15章 モデルのテスト
15.1. 接続プロファイルの管理
15.1.1. 接続プロファイルの管理
15.1.2. ソースモデルの接続プロファイルの設定
15.1.3. ソースモデルの接続プロファイルの表示
図15.1 Connection Profile Information ダイアログ
注記
図15.2 No Connection Info ダイアログ
15.1.4. ソースモデルの接続プロファイルの削除
15.2. モデルのデータプレビュー
15.2.1. モデルのデータプレビュー
- 選択したオブジェクトは、プレビュー可能なモデルオブジェクトタイプの 1 つである必要があります。
- モデル依存関係ツリー内のすべてのソースモデルは接続プロファイルを参照する必要があります。
注記
図15.3 Preview Not Available
図15.4 Missing Password Required
When editing transformation SQL in the Transformation Editor, a special SQL Results data action is provided in the editor toolbar . You can change your transformation SQL, re-validate and preview your the data for your modified SQL. The following sections provide steps for previewing your data. Note that all steps assume that all source models referenced by your models, either directly or through dependencies, are bound to connector bindings.
15.2.2. リレーショナルテーブルまたはビューのプレビュー
- リレーショナルテーブル、Model Explorer ビューのビュー、または図を選択します。テーブルまたはビューは、ビューモデルやソースモデルにあります。ステージングテーブルは Model Explorer ビューでは表示されないため、マッピング図を開いて選択する必要があります。
- Right-click select the Preview Data action . You can also select the same action in the toolbar of either the Model Explorer view or diagram.
- クエリーの結果は Preview Results ビューに表示されます。ビューは自動的に開かれ、パースペクティブで表示されない場合はフォーカスされます。
15.2.3. アクセスパターンが含まれるリレーショナルテーブルのプレビュー
- アクセスパターンが含まれるリレーショナルテーブル、Model Explorer ビューのビュー、または図を選択します。テーブルまたはビューは、ビューモデルやソースモデルにあります。
- Right-click select the Preview Data action . You can also select the same action in the toolbar of either the Model Explorer view or diagram.
- 列入力のダイアログが表示されます。各アクセスパターンを選択し、必要な列の値を入力します。
注記
入力したデータが列データタイプ (string、integer など) と一致しない場合は、ダイアログのヘッダーにエラーメッセージが表示されます。必要な値がすべて入力されたら、OK ボタンをクリックしてクエリーを実行します。図15.5 アクセスパターンの列入力ダイアログ
- クエリーの結果は Preview Results ビューに表示されます。ビューは自動的に開かれ、パースペクティブで表示されない場合はフォーカスされます。
15.2.4. リレーショナルプロシージャーのプレビュー
- Model Explorer ビューのリレーショナルプロシージャーまたは図を選択します。プロシージャーは、ビューモデルやソースモデルにあります。
- Right-click select the Preview Data action . You can also select the same action in the toolbar of either the Model Explorer view or diagram.
- 入力パラメーターの入力ダイアログが表示されます。各パラメーターに有効な値を入力します。
注記
入力したデータがパラメーターデータタイプ (string、integer など) と一致しない場合は、ダイアログのヘッダーにエラーメッセージが表示されます。必要な値がすべて入力されたら、OK ボタンをクリックしてクエリーを実行します。図15.6 プロシージャーパラメーター入力のダイアログ
- クエリーの結果は Preview Results ビューに表示されます。ビューは自動的に開かれ、パースペクティブで表示されない場合はフォーカスされます。
15.2.5. Web サービス演算のプレビュー
- Model Explorer ビューの Web サービス演算または図を選択します。演算は、ビューモデルやソースモデルにあります。
- Right-click select the Preview Data action . You can also select the same action in the toolbar of either the Model Explorer view or diagram.
- 入力パラメーターの入力ダイアログが表示されます。各パラメーターに有効な値を入力します。
注記
入力したデータがパラメーターデータタイプ (string、integer など) と一致しない場合は、ダイアログのヘッダーにエラーメッセージが表示されます。必要な値がすべて入力されたら、OK ボタンをクリックしてクエリーを実行します。図15.7 プロシージャーパラメーター入力のダイアログ
- クエリーの結果は Preview Results ビューに表示されます。ビューは自動的に開かれ、パースペクティブで表示されない場合はフォーカスされます。
15.2.6. Preview Data の SQL 結果の例
注記
図15.8 SQL Results ビュー
15.2.7. 実行計画
図15.9 Teiid Execution Plan ビュー
15.3. VDB を使ったテスト
15.3.1. VDB を使ったテスト
- デプロイされた有効なデータソースによってサポートされるデプロイされた VDB
- デプロイされた VDB に設定された Teiid Connection Profile のインスタンス。
15.3.2. データソースの作成
図15.10 Create Data Source ダイアログ
15.3.3. Model Explorer からの VDB の実行
- Model Explorer の VDB を右クリックし、Modeling > Execute VDB と選択します。これにより、選択した VDB が JBoss Data Virtualization にデプロイされ、その VDB に固有の Teiid Connection Profile が作成されます。さらに、Database Development パースペクティブが開かれ、VDB への接続が作成されます。
図15.11 Execute VDB
- 新しい Teiid 接続プロファイルを選択し、右クリックして Open SQL Scrapbook を選択し、デザイナー SQL (例:
SELECT * FROM TableXXXX
) を入力します。すべてのテキストを選択し、右クリックして Execute Selected Text を選択します。図15.12 SQL Scrapbook エディター
- クエリーの結果は、Result1 タブの SQL Results ビューに表示されるはずです。
図15.13 SQL Results ビュー
15.3.4. Model Explorer からの VDB のデプロイ
注記
図15.14 No Teiid Instance
15.3.5. デプロイされた VDB の実行
- Database Development パースペクティブを開きます。
- Database Connections フォルダーを選択し、New を選択して New Connection Profile ダイアログを表示します。
図15.15 New Connection Profile ダイアログ
- プロファイルの一意な名前を入力し、既存の接続プロファイルタイプを選択した後、Next をクリックします。
- Teiid Profile Wizard ページで New Driver Definition ボタンを選択し、ファイルシステムの Teiid クライアント jar を見つけて選択します。VDB Name、Host, Port、Username (デフォルトは admin)、および Password (デフォルトは teiid) を使用して URL を設定します。
図15.16 Teiid 接続プロファイルのダイアログ
- Next を選択し、新しい Teiid 接続プロファイルの概要を表示します。
図15.17 Teiid 接続プロファイルの概要
- Finish を選択します。
- 新しい Teiid 接続プロファイルを選択し、右クリックして Open SQL Scrapbook を選択し、デザイナー SQL (例:
SELECT * FROM TableXXXX
) を入力します。すべてのテキストを選択し、右クリックして Execute Selected Text を選択します。図15.18 SQL Scrapbook エディター
第16章 検索
16.1. 検索
- Transformations... - Transformation Search ダイアログを起動します。ワークスペースのモデルを検索し、一致する SQL テキストを探すことができます。検索結果はダイアログに表示され、SQL を選択して表示することができます。また、編集のためにトランスフォーメーションを開くこともできます。
- Metadata... - Search ダイアログを起動します。ユーザーはワークスペースのモデルを検索し、 オブジェクトタイプ、データタイプ、プロパティー値を指定してワークスペースでモデルを検索できます。検索結果は Search Results ビューに表示され、結果をダブルクリックするとそのモデルが適切なエディターで開かれます。
- Find Model Object - オブジェクトの名前のすべてまたは一部を指定して、ワークスペースでオブジェクトを見つけるために使用できる Find Model Object ダイアログを起動します。
16.2. モデルオブジェクトの検索
- メインの Teiid Designer ツールバーのアクションを選択するか、メインメニューで Search > Find Model Object と選択していアクションを選択します。
- Type Object Name フィールドで言葉または言葉の一部を入力します。ワイルドカード (*) も使用できます。入力すると、名前と一致するオブジェクトが Matching Model Objects リストに表示されます。同じ名前のオブジェクトが複数存在する場合は、オブジェクトの場所またはパスが Locations リストに表示されます。
- 希望の名前を持つオブジェクトが複数存在する場合は、場所の 1 つを選択します。
- OK をクリックします。オブジェクトのモデルに対してエディターが開かれていない場合は、エディターが開かれます。オブジェクトが図に表示され (該当する場合)、選択されます。
16.3. トランスフォーメーション SQL の検索
- Teiid Designer メインメニューで Search > Transformations... とクリックし、Search Transformations ダイアログを開きます。
- Find: フィールドで文字列のセグメントを指定し、大文字と小文字の区別を指定または変更します。
- Perform Search ボタンを選択します。文字列が含まれる SQL テキストが含まれるトランスフォーメーションオブジェクトが結果セクションに表示されます。
16.4. メタデータプロパティーによるモデルの検索
- メインの Teiid Design ツールバー Search > Metadata... と選択し、Search ダイアログを開きます。
- Object Type、Data Type、および Properties の検索オプションを指定します。
- Search をクリックします。検索が実行され、結果が Search Results View に表示されます。ビューが開かれていない場合は自動的に開かれます。
付録A サポートされる構成
A.1. サポートされるデータソースおよびトランスレーター
表A.1 サポートされるデータソースおよびトランスレーター
データソース | トランスレーター | サポートされる DV バージョン | ドライバー |
---|---|---|---|
Apache Hive 12
|
-
|
6.0+
|
-
|
Apache Solr
|
solr
|
6.1+
|
-
|
Cloudera Hadoop
|
-
|
6.1+
|
-
|
EDS 5.x
|
teiid
|
6.0+
|
-
|
ファイル – 区切り、固定長
|
file
|
6.0+
|
-
|
汎用データソース -JDBC ansi
|
jdbc-ansi
|
6.0+
|
-
|
汎用データソース -JDBC simple
|
jdbc-simple
|
6.0+
|
-
|
Google Spreadsheet
|
-
|
6.0+
|
-
|
Greenplum 4.x
|
postgresql
|
6.0+
|
-
|
Hortonworks Hadoop
|
-
|
6.1.+
|
-
|
HSQL (テスト/例のみ)
|
-
|
-
|
-
|
IBM DB2 10
|
db2
|
6.1+
|
Universal Driver v4.x
|
IBM DB2 9.7
|
db2
|
6.0+
|
Universal Driver v4.x
|
Ingres 10
|
ingres
|
6.0+
|
-
|
Intel Hadoop
|
-
|
6.1+
|
-
|
JBoss Data Grid 6.4 (リモートクライアント- hotrod)
|
infinispan-cache-dsl
|
6.2+
|
-
|
JBoss Data Grid 6.4 (ライブラリーモード)
|
infinispan-cache
|
6.0 - post GA、6.1+
|
-
|
LDAP/ActiveDirectory v3
|
ldap
|
6.0+
|
-
|
Mainframe (CICS,IMS,VSAM)
|
-
|
6.0+
|
-
|
MariaDB
|
mysql5
|
6.1+
|
-
|
ModeShape/JCR 3.1
|
-
|
6.0+
|
-
|
MongoDB 2.2
|
mongodb
|
6.0
|
post GA、6.1+ -
|
MS Access 2010
|
-
|
6.0+
|
-
|
MS Access 2013
|
-
|
6.0+
|
-
|
MS Excel 2010
|
excel
|
6.0+
|
-
|
MS Excel 2013
|
excel
|
6.0+
|
-
|
MS SQL Server 2008
|
sqlserver
|
6.0+
|
Microsoft SQL Server JDBC Driver 4
|
MS SQL Server 2012
|
sqlserver
|
6.0+
|
Microsoft SQL Server JDBC Driver 4
|
MySQL 5.1
|
mysql5
|
6.0+
|
V5.1
|
MySQL 5.5
|
mysql5
|
6.0+
|
V5.5
|
Netezza 6.0.2
|
netezza
|
6.0+
|
-
|
Oracle 10g R2
|
oracle
|
6.0+
|
Oracle JDBC Driver v10
|
Oracle 11g RAC
|
oracle
|
6.0+
|
Oracle JDBC Driver v11
|
Oracle 12c
|
oracle
|
6.0 - post GA、6.1+
|
Oracle JDBC Driver v12
|
PostgreSQL 8.4
|
postgresql
|
6.0+
|
-
|
PostgreSQL 9.2
|
postgresql
|
6.0+
|
-
|
HTTP 上の REST/JSON
|
ws
|
-
|
-
|
RHEL 5.5/6 PostgreSQL config
|
-
|
6.0+
|
-
|
Salesforce.com API 22
|
salesforce
|
6.0+
|
-
|
SAP Netweaver Gateway (OData)
|
sap-nw-gateway
|
6.1+
|
-
|
SAP Service Registry をデータソースとしてサポート
|
-
|
6.2+
|
-
|
Sybase ASE 15
|
sybase
|
6.0+
|
jConnect JDBC3.0 v7
|
Teradata Express 12
|
teradata
|
6.0+
|
-
|
Webservices
|
ws
|
6.0+
|
-
|
XML ファイル
|
FILE
|
6.0+
|
-
|
注記
A.2. JBoss Data Virtualization ランタイムでの Teiid Designer メタデータ使用要件
表A.2 テーブルのデータ使用
テーブル | Type | Teiid Designer | Metadata API | 必要性 | 説明 |
---|---|---|---|---|---|
FullName | 文字列 | はい | はい | はい | テーブルの名前 |
NameInSource | 文字列 | はい | はい | はい | ソースシステムでのテーブルの名前。ビューでは空にでき、さまざまなユースケースに使用されます。 |
Cardinality | 整数 | はい | はい | はい | ソースノードアクセスのコストを算出するために使用されます。 |
TableType | 整数 | はい | はい | はい | Table,View,Document,XmlMappingClass,XmlStagingTable,MaterializedTable |
IsVirtual | ブール値 | はい | はい | はい | ソーステーブルまたはビューであるかを確認するために使用されます。 |
IsSystem | ブール値 | はい | はい | なし | システムメタデータのみに使用されます。 |
IsMaterialized | ブール値 | はい | はい | はい | テーブルがマテリアライズされているかを識別します。 |
SupportsUpdate | ブール値 | はい | はい | はい | テーブルの更新を許可します。 |
PrimaryKeyID | 文字列 | はい | KeyRecord | はい | 一時テーブルでのインデックスの作成に使用され、デフォルトの update/delete プロシージャーを作成します。 |
ForeignKeyIDs | コレクション | はい | List<ForeignKey> | はい | クエリーの計画に使用されます (ルールの raise access) |
IndexIDs | コレクション | はい | List<KeyRecord> | はい | 一時テーブルまたは計画でのインデックスの作成に使用されます。 |
UniqueKeyIDs | コレクション | はい | List<KeyRecord> | はい | クエリーの計画に使用されます。 |
AccessPatternIDs | コレクション | はい | List<KeyRecord> | はい | クエリーで基準を強制するために使用されます。 |
MaterializedTableID | 文字列 | はい | Table | はい | マテリアライズテーブルへの参照 |
insertEnabled | ブール値 | ** | はい | はい | ビューに対して insert プロシージャーが有効になっているかをチェックするフラグ。 |
deleteEnabled | ブール値 | ** | はい | はい | ビューに対して delete プロシージャーが有効になっているかをチェックするフラグ。 |
updateEnabled | ブール値 | ** | はい | はい | ビューに対して update プロシージャーが有効になっているかをチェックするフラグ。 |
Select Transformation | 文字列 | ** | はい | はい | ビューの場合の Select のトランスフォーメーション。 |
Insert Plan | 文字列 | ** | はい | はい | ビューの場合の Insert のトランスフォーメーション。 |
Update Plan | 文字列 | ** | はい | はい | ビューの場合の Update のトランスフォーメーション。 |
Delete Plan | 文字列 | ** | はい | はい | ビューの場合の Delete のトランスフォーメーション。 |
Bindings | コレクション | ** | はい | はい | XML ドキュメント。 |
SchemaPaths | コレクション | ** | はい | はい | XML ドキュメント。 |
表A.3 列のデータ使用
列 | Type | Teiid Designer | Metadata API | 必要性 | 説明 |
---|---|---|---|---|---|
FullName | 文字列 | はい | はい | はい | 列の名前 |
NameInSource | 文字列 | はい | はい | はい | ソースシステムの列の名前。 |
IsSelectable | ブール値 | はい | はい | はい | 列は select で許可されます。 |
IsUpdatable | ブール値 | はい | はい | はい | 列は Update、Insert、Delete で許可されます。 |
NullType | 整数 | はい | はい | はい | null 値が許可される場合は検証で使用されます。 |
IsAutoIncrementable | ブール値 | はい | はい | はい | 値が必要であるかどうかを検証するため insert 処理中に使用されます。 |
IsCaseSensitive | ブール値 | はい | はい | ?? | ?? |
IsSigned | ブール値 | はい | はい | ?? | システムメタデータで使用されます。 |
IsCurrency | ブール値 | はい | はい | なし | システムメタデータのみに使用されます。 |
IsFixedLength | ブール値 | はい | はい | なし | システムメタデータのみに使用されます。 |
IsTranformationInputParameter | ブール値 | はい | ?? | ?? | ?? |
SearchType | 整数 | はい | はい | はい | ソースの機能を定義するために使用されます。 |
Length | 整数 | はい | はい | ?? | システムメタデータで使用されます。 |
Scale | 整数 | はい | はい | ?? | システムメタデータで使用されます。 |
Precision | 整数 | はい | はい | ?? | システムメタデータで使用されます。 |
CharOctetLength | 整数 | はい | はい | なし | システムメタデータのみに使用されます。 |
Radix | 整数 | はい | はい | ?? | システムメタデータで使用されます。 |
DistinctValues | 整数 | はい | はい | はい | コストの計算に使用されます。システムメタデータ。 |
NullValues | 整数 | はい | はい | はい | コストの計算に使用されます。システムメタデータ。 |
MinValue | 文字列 | はい | はい | はい | コストの計算に使用されます。システムメタデータ。 |
MaxValue | 文字列 | はい | はい | はい | コストの計算に使用されます。システムメタデータ。 |
Format | 文字列 | はい | はい | なし | システムメタデータのみに使用されます。 |
RuntimeType | 文字列 | はい | DataType | はい | データタイプ |
NativeType | 文字列 | はい | はい | はい | トランスレーターはこのフィールドを使用してさらに計画できます。 |
DatatypeObjectID | 文字列 | はい | ?? | ?? | |
DefaultValue | 文字列 | はい | はい | はい | 値の指定がない場合にInsert およびプロシージャー実行演算に使用されます。 |
役職 | 整数 | はい | はい | はい | インデックスの計算に使用されます。 |
表A.4 プライマリーキーのデータ使用
プライマリーキー | Type | Teiid Designer | Metadata API | 必要性 | 説明 |
---|---|---|---|---|---|
FullName | 文字列 | KeyRecord、Table を参照。 | |||
NameInSource | 文字列 | ||||
ColumnIDs | コレクション | ||||
ForeignKeyIDs | コレクション | KeyRecord を拡張します。 |
表A.5 一意キーのデータ使用
一意キー | Type | Teiid Designer | Metadata API | 必要性 | 説明 |
---|---|---|---|---|---|
FullName | 文字列 | KeyRecord、Table を参照。 | |||
NameInSource | 文字列 | ||||
ColumnIDs | コレクション | ||||
ForeignKeyIDs | コレクション |
表A.6 インデックスのデータ使用
インデックス | Type | Teiid Designer | Metadata API | 必要性 | 説明 |
---|---|---|---|---|---|
FullName | 文字列 | KeyRecord、Table を参照。 | |||
NameInSource | 文字列 | ||||
ColumnIDs | コレクション |
表A.7 アクセスパターンのデータ使用
アクセスパターン | Type | Teiid Designer | Metadata API | 必要性 | 説明 |
---|---|---|---|---|---|
FullName | 文字列 | KeyRecord、Table を参照。 | |||
NameInSource | 文字列 | ||||
ColumnIDs | コレクション |
表A.8 結果セットのデータ使用
結果セット | Type | Teiid Designer | Metadata API | 必要性 | 説明 |
---|---|---|---|---|---|
FullName | 文字列 | DataType を参照。 | |||
NameInSource | 文字列 | ||||
ColumnIDs | コレクション |
表A.9 外部キーのデータ使用
外部キー | Type | Teiid Designer | Metadata API | 必要性 | 説明 |
---|---|---|---|---|---|
FullName | 文字列 | KeyRecord、Table を参照。 | |||
NameInSource | 文字列 | ||||
ColumnIDs | コレクション | ||||
UniqueKeyID | 文字列 |
表A.10 データタイプのデータ使用
データタイプ | Type | Teiid Designer | Metadata API | 必要性 | 説明 |
---|---|---|---|---|---|
FullName | 文字列 | なし | システムメタデータのみに使用されます。 | ||
NameInSource | 文字列 | なし | システムメタデータのみに使用されます。 | ||
Length | 整数 | なし | システムメタデータのみに使用されます。 | ||
PrecisionLength | 整数 | なし | システムメタデータのみに使用されます。 | ||
Scale | 整数 | なし | システムメタデータのみに使用されます。 | ||
Radix | 整数 | なし | システムメタデータのみに使用されます。 | ||
IsSigned | ブール値 | なし | システムメタデータのみに使用されます。 | ||
IsAutoIncrement | ブール値 | なし | システムメタデータのみに使用されます。 | ||
IsCaseSensitive | ブール値 | なし | システムメタデータのみに使用されます。 | ||
Type | 整数 | なし | システムメタデータのみに使用されます。 | ||
SearchType | 整数 | なし | システムメタデータのみに使用されます。 | ||
NullType | 整数 | なし | システムメタデータのみに使用されます。 | ||
JavaClassName | 文字列 | はい | Java クラス名を基にしてランタイムへマップします。 | ||
RuntimeTypeName | 文字列 | なし | システムメタデータのみに使用されます。 | ||
DatatypeID | 文字列 | なし | システムメタデータのみに使用されます。 | ||
BaseTypeID | 文字列 | なし | システムメタデータのみに使用されます。 | ||
PrimitiveTypeID | 文字列 | なし | システムメタデータのみに使用されます。 | ||
VarietyType | 整数 | なし | システムメタデータのみに使用されます。 | ||
VarietyProps | コレクション | なし | システムメタデータのみに使用されます。 |
表A.11 プロシージャーのデータ使用
プロシージャー | Type | Teiid Designer | Metadata API | 必要性 | 説明 |
---|---|---|---|---|---|
FullName | 文字列 | はい | はい | はい | 列の名前 |
NameInSource | 文字列 | はい | はい | はい | ソースシステムの列の名前。 |
IsFunction | ブール値 | はい | はい | 関数であるかを決定します。 | |
IsVirtual | ブール値 | はい | はい | 関数の場合、ユーザー定義関数 else ストアドプロシージャー。 | |
ParametersIDs | コレクション | はい | はい | パラメーターリスト | |
ResultSetID | 文字列 | はい | はい | 結果セットの列 | |
UpdateCount | 整数 | はい | はい | 更新数は更新されたソースの数を定義します。仮想プロシージャーのみ該当します。 |
表A.12 プロシージャーパラメーターのデータ使用
プロシージャーパラメーター | Type | Teiid Designer | Metadata API | 必要性 | 説明 |
---|---|---|---|---|---|
ObjectID | 文字列 | 列と同じ。 | |||
FullName | 文字列 | 列と同じ。 | |||
nameInSource | 文字列 | 列と同じ。 | |||
defaultValue | 文字列 | 列と同じ。 | |||
RuntimeType | 文字列 | 列と同じ。 | |||
DatatypeObjectID | 文字列 | 列と同じ。 | |||
Length | 整数 | 列と同じ。 | |||
Radix | 整数 | 列と同じ。 | |||
Scale | 整数 | 列と同じ。 | |||
NullType | 整数 | 列と同じ。 | |||
Precision | 整数 | 列と同じ。 | |||
役職 | 整数 | 列と同じ。 | |||
Type | 文字列 | はい | パラメーターが IN、OUT、RETURN であることを定義します。 | ||
オプション | ブール値 | なし | パラメーターが任意であるかどうかを定義します。システムメタデータのみで使用されます。 |
表A.13 SQL トランスフォーメーションのデータ使用
SQL TRANSFORMATION(**) | Type | Teiid Designer | Metadata API | 必要性 | 説明 |
---|---|---|---|---|---|
VirtualGroupName | 文字列 | はい | なし | はい | テーブル、テーブルで定義されたプロパティーを参照。 |
TransformedObjectID | 文字列 | はい | なし | はい | テーブル、テーブルで定義されたプロパティーを参照。 |
TransformationObjectID | 文字列 | はい | なし | はい | テーブル、テーブルで定義されたプロパティーを参照。 |
TransformationSql | 文字列 | はい | なし | はい | テーブル、テーブルで定義されたプロパティーを参照。 |
Bindings | コレクション | はい | なし | はい | テーブル、テーブルで定義されたプロパティーを参照。 |
SchemaPaths | コレクション | はい | なし | はい | テーブル、テーブルで定義されたプロパティーを参照。 |
表A.14 VDB のデータ使用
VDB | Type | Teiid Designer | Metadata API | 必要性 | 説明 |
---|---|---|---|---|---|
FullName | 文字列 | はい | vdb.xml | はい | VDB の名前 |
NameInSource | 文字列 | ?? | なし | なし | 不要 |
バージョン | 文字列 | はい | vdb.xml | はい | VDB バージョン |
Identifier | 文字列 | はい | なし | なし | 不要 |
説明 | 文字列 | はい | vdb.xml | なし | システムメタデータによって使用されます。 |
ProducerName | 文字列 | はい | なし | なし | 不要 |
ProducerVersion | 文字列 | はい | なし | なし | 不要 |
プロバイダー | 文字列 | はい | なし | なし | 不要 |
TimeLastChanged | 文字列 | はい | なし | なし | 不要 |
TimeLastProduced | 文字列 | はい | なし | なし | 不要 |
ModelIDs | コレクション | はい | vdb.xml | はい | VDB のモデルリストを定義します。 |
表A.15 アノテーションのデータ使用
アノテーション | Type | Teiid Designer | Metadata API | 必要性 | 説明 |
---|---|---|---|---|---|
FullName | 文字列 | はい | はい | なし | システムメタデータ、プロシージャーパラメーターの説明。 |
NameInSource | 文字列 | はい | なし | なし | 不要 |
説明 | 文字列 | はい | なし | なし | 不要 |
付録B ユーザー設定
B.1. ユーザー設定
図B.1 Preferences ダイアログ
B.2. Teiid Designer の設定
- Enable auto-creating of a source model's data source on Server - デフォルト名に一致するデータソースが Teiid サーバーに存在しない場合、これを自動作成するかどうかを指定します。
- Default Teiid Server Version - Servers View でサーバーが定義されていない場合、ターゲットとするサーバーモデリングのバージョンを決定します。つまり、サーバーの定義および接続なしでモデルを設計することが可能です。ただし、使用可能な値はインストール済みの teiid ランタイムクライアントに限定されます。
- Always open editor without prompting - モデルを変更または編集する場合、モデルを開く必要があります。このボックスを選択すると、ユーザーがモデルを変更するときにモデルがエディターで自動的に開かれます。ボックスにチェックマークを入れないと、操作が完了する前にエディターが開かれることが通知されます。
- Open Designer perspective when model is opened -モデルがインポートしたプロジェクトによって開かれ、New > Teiid Metadata Model メニューと Teiid Designer パースペクティブが開かれない場合、パースペクティブを自動的に開き、モデルの作業を行いたいことがあります。これには 3 つの設定があります。Always open を選択すると確認せずに常にパースペクティブが開かれます。Never open を選択すると、Teiid Designer パースペクティブが開かれません。Prompt を選択すると、Teiid Designer パースペクティブを開くかどうかを常に要求されます。
- Check and update imports during save - 場合によっては、モデルの編集時に他のモデルにあるオブジェクトを参照するモデルのオブジェクトを追加または削除することがあります。モデルインポートは、各モデル内でこれらの依存関係を追跡します。ビルド中に検証エラーや警告が発生することがあります。このボックスを選択すると、保存処理中にインポートを自動的にチェックおよび更新します。これにより、モデルから不要なインポートが削除され、必要なインポートがモデルに追加されます。このボックスを選択しないと、インポートの更新は実行されません。
B.3. ダイアグラムの設定
- Routers - パッケージおよびカスタムダイアグラムの関係リンク (外部キー - プライマリーキーの関係) はカスタマイズできます。利用できるオプションには、Orthogonal (デフォルト)、Direct、 Manual (ユーザー定義のブレークポイント) が含まれます。
- Font Settings - フォントタイプ、スタイル、およびサイズを選択します。
- Background Color Settings - 各ダイアグラムタイプの背景色を選択し、タイプを区別できるようにします。
- Model Size - 大きなダイアグラムを表示するには大変時間かかることがあります。この設定を使用すると、ダイアグラムで表示できるオブジェクトの最大数を設定できます。この数を超えると、警告が表示され、ダイアグラムが構築されません。
- Relationship Options - UML タイプの関係は複数の方法でカスタマイズできます。Role Names および Multiplicity ラベルを表示または非表示にするには、 Show Role Names および Show Multiplicity というラベルが付けられたチェックボックスを使用します。
図B.2 ダイアグラム設定パネル
B.4. エディターの設定
B.4.1. XML ドキュメントの設定
図B.3 XML ドキュメント設定パネル
B.4.2. Table Editor の設定
図B.4 Table Editor 設定パネル
B.4.3. Transformation Editor の設定
図B.5 Transformation Editor 設定パネル
B.4.4. VDB Editor の設定
図B.6 VDB Editor 設定パネル
B.5. 検証の設定
図B.7 Core モデル検証設定パネル
図B.8 Relational モデル検証設定パネル
図B.9 XML ドキュメントモデル検証設定パネル
図B.10 XSD スキーマモデル検証設定パネル
注記
付録C Teiid Designer UI 参照
C.1. Teiid Designer パースペクティブ
C.2. Teiid Designer パースペクティブ
- Model Explorer ビュー - モデルオブジェクトの Teiid ツリービュー。
- Server ビュー - JBoss Data Virtualization Server インスタンスのビュー。インストールされた Teiid ランタイムの接続されたインスタンスに対してコンテンツのビューを提供します。
- Model Editor -
.xmi
メタデータモデルファイルを対象とするカスタムエディター。 - Properties ビュー - 選択されたワークベンチオブジェクトの標準的なプロパティー値。
- Guides ビュー - 使いやすさを向上する Guides および Status ビュー。
- Miscellaneous ビュー - Problems ビュー、Message Log ビュー、および SQL Results ビュー (Preview Data が実行された場合に開かれる) が含まれます。
図C.1 Teiid Designer パースペクティブレイアウト
C.3. パースペクティブを開く
- Using the Open Perspective button on the shortcut bar.
- Window > Open Perspective メニューからパースペクティブを選択します。
- Click the Open Perspective button .
- メニューが表示され、Window > Open Perspective メニューと同じ選択肢が表示されます。メニューで Other をクリックします。
図C.2 パースペクティブメニュー
- Select Perspective ダイアログで Teiid Designer を選択し、OK をクリックします。
図C.3 Select Perspective ダイアログ
- 使用中のパースペクティブがウィンドウのタイトルになります。
図C.4 ワークベンチウィンドウタイトルバー
- ショートカットバーには複数のパースペクティブが含まれることがあります。押された状態のパースペクティブボタンが現在のパースペクティブを示します。
- パースペクティブのフルネームを表示するには、パースペクティブバーを右クリックして Show Text をクリックします。アイコンのみを表示するには Hide Text をクリックします。
- 開かれたパースペクティブを即座に切り替えるには、パースペクティブボタンを選択します。各パースペクティブによってビューのセットが異なることに注意してください。
図C.5 ワークベンチウィンドウタイトルバー
C.4. 詳細情報
付録D Teiid Designer ビュー
D.1. Teiid Designer ビュー
図D.1 Show View ダイアログ
D.2. Model Explorer ビュー
図D.2 Model Explorer ビュー
- Preview Data - Executes a simple preview query
(SELECT * FROM )
. - Sort Model Contents - Sorts the contents of the models based on object type and alphabetizing.
- Refresh Markers - Refreshes error and warning markers for objects in tree.
- Back - Displays the last Go Into location. (See Eclipse Help)
- Forward - Displays the next Go Into location. (See Eclipse Help)
- Up - Navigates up one folder/container location. (See Eclipse Help)
- Collapse All - Collapses all projects.
- Link with Editor - When object is selected in an open editor, this option auto-selects and reveals object in Model Explorer.
- Additional Actions
図D.3 追加のアクション
図D.4 Show Model Imports アクション
D.3. 選択ベースのアクションメニュー
図D.5 コンテキストメニューの例
D.4. Outline ビュー
D.5. オンラインツリービュー
図D.6 Outline ビュー
D.6. アウトラインサムネイルビュー
図D.7 Outline ビュー
図D.8
D.7. サーバービュー
図D.9 サーバービュー
- Server View で New... を選択すると、JBoss Data Virtulization Server ウィザードが起動されます。JBoss Data Virtualization Server インスタンスを Teiid がインストールされた状態で設定すると、Teiid サーバーへの接続が可能になります。
- New Server ウィザードで、JBoss Enterprise Middleware カテゴリー下にあるJBoss Enterprise Application Platform サーバータイプを選択し、Next > をクリックします。
図D.10 New Server ダイアログ
- JBoss Runtime のページで上部の Browse... ボタンをクリックし、JBoss Enterprise Application Platform サーバーのインストールフォルダーを選択します。
図D.11 JBoss Runtime の定義
- 下部の Browse... ボタンをクリックし、ファイルシステムの EAP_HOME/standalone/configuration/ フォルダー下にある
standalone.xml
設定ファイルを選択します。Finish をクリックします。図D.12 Teiid 設定ファイルの選択
- 新しい JBoss Data Virtualization サーバー設定が JBoss / Teiid Editor で開かれ、表示されます。このエディターでは、Teiid 管理と JDBC 接続の両方をテストできます。
図D.13 Teiid Editor
- Teiid Server Properties - View and edit properties of an existing Teiid instance.
- Reconnect - Reconnect and refresh contents of the selected Teiid instance.
- Execute VDB - Creates a JDBC Teiid connection profile and opens the Data Tools Database Development perspective.
- Undeploy VDB - Removes the selected VDB from the Teiid instance.
- Create Data Source - Launches the New Data Source wizard.
- Delete Data Source - Removes the selected Data Source from the Teiid instance.
注記
図D.14 Server ビューの Teiid コンテンツ
D.8. プロパティービュー
図D.15 プロパティービュー
図D.16 Open Model Editor ダイアログ
図D.17 Open Model Editor ダイアログ
- Show Categories - toggles between categorized properties and flat alphabetical properties list.
- Show Advanced Properties - shows/hide advanced properties (if available).
- Restore Default Value - for a selected property, this action will reset the current to a default value (if available).
D.9. 説明ビュー
図D.18 説明ビュー
図D.19 Description ビューのコンテキストメニュー
図D.20 Edit Description ダイアログ
D.10. 問題ビュー
図D.21 問題ビュー
- Description - A description of the problem preceded by a severity icon (i.e., error , warning , or info ).
- Resource - リソースの名前。
- Path - プロジェクト名。
- Location - 検証エラーがあるリソース内のオブジェクト。
- type - 検証項目のタイプ。
D.11. ツールバーメニュー
D.12. コンテキストメニュー
図D.22 Problems View のコンテキストメニュー
- Go To - 適切なエディターを開き、影響を受けたオブジェクトまたは参照されたオブジェクトを選択します。
- Show In Navigator - Basic > Navigator ビューを開き (開かれていない場合)、ファイルシステムツリーを展開して該当するリソースを表示します。
- Copy - 問題情報をシステムのクリップボードにコピーします。
- Paste - システムクリップボードにある問題情報 (該当する場合) を指定されたテキストエディターのカーソルの場所に貼り付けます。
- Delete - 選択した問題の行を削除します (該当する場合)。
- Select All - テーブルのすべての問題を選択します。
- Quick Fix - (Teiid Designer には実装されていません)。
- Properties - 追加情報が含まれるダイアログを表示します。
D.13. 検索結果ビュー
図D.23 検索結果ビュー
- Show Next Match - Navigates down one row in the view.
- Show Previous Match - Navigates up one row in the view.
- Remove Selected Matches - Removes selected results from the view.
- Remove All Matches - Clears the view.
- Search - Launches the Teiid Designer Dialog.
- Previous Search Results - Select previous search results from history.
図D.24 検索結果コンテキストメニュー
D.14. Datatype Hierarchy ビュー
図D.25 Datatype Hierarchy ビュー
表D.1 対応するランタイムタイプ
Teiid Designer タイプ | Java Runtime タイプ |
---|---|
anyURI | java.lang.String |
base64Binary | java.lang.String |
bigdecimal | java.math.BigDecimal |
biginteger | java.math.BigInteger |
blob | java.sql.Blob [a] |
boolean | java.lang.Boolean |
byte | java.lang.Byte |
char | java.lang.Character |
clob | java.sql.Clob [b] |
date | java.sql.Date |
dateTime | java.sql.Timestamp |
decimal | java.math.BigDecimal |
double | java.lang.Double |
duration | java.lang.String |
ENTITIES | java.lang.String |
ENTITY | java.lang.String |
float | java.lang.Float |
gDay | java.math.BigInteger |
gMonth | java.math.BigInteger |
gMonthDay | java.sql.Timestamp |
gYear | java.math.BigInteger |
gYearMonth | java.sql.Timestamp |
hexBinary | java.lang.String |
ID | java.lang.String |
IDREF | java.lang.String |
IDREFS | java.lang.String |
int | java.lang.Integer |
整数 | java.math.BigInteger |
言語 | java.lang.String |
long | java.lang.Long |
名前 | java.lang.String |
NCName | java.lang.String |
negativeInteger | java.math.BigInteger |
NMTOKENS | java.lang.String |
NMTOKENS | java.lang.String |
nonNegativeInteger | java.math.BigInteger |
nonPositiveInteger | java.math.BigInteger |
normalizedString | java.lang.String |
NOTATION | java.lang.String |
object | java.lang.Object |
positiveInteger | java.math.BigInteger |
QName | java.lang.String |
short | java.lang.Short |
文字列 | java.lang.String |
time | java.sql.Time |
timestamp | java.sql.Timestamp |
token | java.lang.String |
unsignedByte | java.lang.Short |
unsignedInt | java.lang.Long |
unsignedLong | java.lang.BigInteger |
unsignedShort | java.lang.Integer |
XMLLiteral | java.sql.SQLXML [c] |
[a]
期待される具象タイプは org.teiid.core.types.BlobType です。
[b]
期待される具象タイプは org.teiid.core.types.ClobType です。
[c]
期待される具象タイプは org.teiid.core.types.XMLType です。
|
D.15. Teiid Model Classes ビュー
図D.26 Datatype Hierarchy ビュー
D.16. Model Extension Registry ビュー
図D.27 Model Extension Registry ビュー
D.17. SQL Reserved Words ビュー
図D.28 Model Extension Registry ビュー
図D.29 SQL Reserved Words アクション
D.18. Model Extension Definition Registry ビュー (MED Registry ビュー)
図D.30 Model Extension Registry ビュー
- ビルトイン MED: これらの MED は Teiid Designer のインストール中に登録されます。ユーザーは更新や登録解除することはできません。
- ユーザー定義 MED: これらの MED はユーザーによって作成されます。ユーザーは更新、登録、および登録解除することができます。
注記
D.19. Guides ビュー
図D.31 Guides ビュー
D.20. Status ビュー
図D.32 Status ビュー
- Source Connections - すべてのソース接続が完全に定義されているか。
- Sources - ソースモデルが存在するか。
- XML Schema - XML スキーマが存在するか。
- Views - ビューモデルが存在するか。
- VDBs - VDB が存在し、デプロイ可能であるか。
- Model Validation (Status) - すべてのモデルが検証に合格したか。
- Test - 定義された VDB がすべて検証に合格したか。
D.21. Cheat Sheets ビュー
図D.33 チートシートの例
付録E エディター
E.1. エディター
図E.1 エディタータブ
図E.2 複数エディターの表示
- Diagram Editor - XML スキーマモデル以外のすべてのモデル。
- Table Editor - すべてのモデル。
- Simple Datatypes Editor - XML スキーマモデルのみ。
- Semantics Editor - XML スキーマモデルのみ。
- Source Editor - XML スキーマのみ。
- Transformation Editor - リレーショナルビューベーステーブル、プロシージャー、および XML Web サービス演算のトランスフォーメーション SQL を管理します。
- Choice Editor - XML ドキュメントビューモデルの XML choice 要素のプロパティーおよび基準を管理します。
- Input Editor - XML ドキュメントビューモデルのマッピングクラス間で使用される入力セットパラメーターを管理します。
- Recursion Editor - XML ドキュメントビューモデルの再帰 XML 要素に対する再帰プロパティーを管理します。
- Operation Editor - Web サービス演算の SQL および入力変数を管理します。
E.2. Model Editor
E.2.1. Model Editor
E.2.2. Diagram Editor
- Package Diagram
- Custom Diagram
- Transformation Diagram
- Mapping Diagram
- Mapping Transformation Diagram
図E.3 メインツールバーダイアグラムアクション
- Zoom In
- Zoom to Level
- Zoom Out
- Increase Font Size
- Decrease Font Size
- Perform Diagram Layout
E.2.3. Package Diagram
図E.4 Package Diagram の例
- Refresh Diagram - Redraws diagram.
- Show Parent Diagram - Navigates to diagram for parent object (if available).
- Preview Data - Executes a simple preview query
(SELECT * FROM )
. - Save Diagram as Image - Save the diagram image to file in JPG or BMP format.
- Modify Diagram Printing Preferences - Modify page layout information for printing diagrams. Includes margins, orientation, etc...
- Show/Hide Page Grid - Show current page boundaries as grid in diagram.
図E.5 Package Diagram コンテキストメニュー
E.2.4. Custom Diagram
図E.6 Custom Diagram の例
- Refresh Diagram - Redraws diagram.
- Show Parent Diagram - Navigates to diagram for parent object (if available).
- Preview Data - Executes a simple preview query
(SELECT * FROM )
. - Add To Diagram - Add objects selected in Model Explorer to diagram.
- Remove From Diagram - Removed objects selected in diagram from diagram.
- Clear Diagram - Remove all objects from diagram.
- Save Diagram as Image - Save the diagram image to file in JPG or BMP format.
- Modify Diagram Printing Preferences - Modify page layout information for printing diagrams. Includes margins, orientation, etc...
- Show/Hide Page Grid - Show current page boundaries as grid in diagram.
E.2.5. Transformation Diagram
図E.7 Transformation Diagram の例
- Refresh Diagram - Redraws diagram.
- Show Parent Diagram - Navigates to diagram for parent object (if available).
- Preview Data - Executes a simple preview query
(SELECT * FROM )
. - Add Transformation Sources - Add selected sources to transformation.
- Add Union Transformation Sources - Add selected sources as union sources.
- Remove Transformation Sources - Removed sources selected in diagram from transformation.
- Clear Transformation - Remove all sources from transformation.
- Open Transformation Reconciler dialog
- Save Diagram as Image - Save the diagram image to file in JPG or BMP format.
- Modify Diagram Printing Preferences - Modify page layout information for printing diagrams. Includes margins, orientation, etc...
- Show/Hide Page Grid - Show current page boundaries as grid in diagram.
E.2.6. Mapping Diagram
図E.8 Mapping Diagram の例
- Refresh Diagram - Redraws diagram.
- Show Parent Diagram - Navigates to diagram for parent object (if available).
- Show Mapping Transformation Diagram - Show detailed mapping transformation diagram for selected mapping class.
- Preview Data - Executes a simple preview query (SELECT * FROM ).
- Generate Mapping Classes - Generate mapping classes for the selected XML document root element.
- New Mapping Class - Insert new mapping class referenced to the selected XML document element or attribute..
- New Staging Table - Insert new staging table referenced to the selected XML document element or attribute.
- Merge Mapping Classes - Merge selected mapping classes.
- Split Mapping Class - Split selected mapping class.
- Display All Mapping Classes
- Show Mapping Class Columns
- Filter Displayed Mapping Classes with Selection
E.2.7. Mapping Transformation Diagram
図E.9 Mapping Transformation Diagram の例
- Refresh Diagram - Redraws diagram.
- Show Parent Diagram - Navigates to diagram for parent object (if available).
- Preview Data - Executes a simple preview query
(SELECT * FROM )
. - New Mapping Link - Create a mapping link between selected mapping extent (i.e. XML element or attribute) and mapping class column.
- Remove Mapping Link - Delete mapping link between selected mapping extent (i.e. XML element or attribute) and mapping class column.
- Add Transformation Sources - Add selected sources to transformation.
- Add Union Transformation Sources - Add selected sources as union sources.
- Remove Transformation Sources - Removed sources selected in diagram from transformation.
- Clear Transformation - Remove all sources from transformation.
- Open Transformation Reconciler dialog
- Save Diagram as Image - Save the diagram image to file in JPG or BMP format.
- Modify Diagram Printing Preferences - Modify page layout information for printing diagrams. Includes margins, orientation, etc...
E.3. Table Editor
E.3.1. Table Editor
図E.10 Table Editor の例
- 既存のプロパティーの編集。
- メイン Edit メニューおよびコンテキストメニュー (Cut、Copy、Paste、Clone、Delete、Rename、Insert Rows) からのオブジェクトの追加、削除、または編集。
- クリップボードの情報をテーブルに貼り付ける。
- テーブルの出力。
- Table Paste - Paste common spreadsheet data (like Microsoft Excel) to set object properties.
- Table Editor Preferences - 表示されるプロパティーのカスタマイズなど、テーブルエディターの設定を変更します。
- Insert Rows - 新しい兄弟オブジェクトを複数作成します。
- Refresh Table - Refreshes the contents of the current Table Editor to insure it is in sync with the model.
図E.11 Table Editor の例
E.3.2. プロパティーの編集
図E.12 String プロパティーの編集
図E.13 ブール値の編集
図E.14 複数値プロパティーの編集
図E.15 ピッカーを使った複数値の編集
図E.16 データタイプ値の編集
E.3.3. テーブル行の挿入
- 挿入する行の上になるテーブル行を選択します。
- 右クリックで Insert Rows アクションを選択するか、メインツールバーの Insert Rows をクリックします。以下のダイアログが表示されます。
図E.17 String プロパティーの編集
- ダイアログの Number of Rows の値を編集するか、アップダウンボランを使用して値を変更します。
- ダイアログで OK をクリックします。
E.4. Simple Datatypes Editor
図E.18 String プロパティーの編集
E.5. Semantic Editor
E.6. Source Editor
E.7. Model Object Editors
E.8. VDB Editor
E.8.1. VDB Editor
図E.19 VDB Editor
図E.20 トランスレーターまたはデータソースの変更
E.8.2. Data Roles の編集
図E.21 VDB Data Roles パネル
図E.22 VDB Data Roles タブ
E.8.3. Translator Overrides の編集
図E.23 VDB Translator Overrides タブ
図E.24 Add Translator Override ダイアログ
図E.25 Add New Translator Override ダイアログ
E.9. Model Extension Definition Editor
*.mxd
ファイル) を作成および編集するために使用されます。MED Editor には、ヘッダーセクションを共有する 3 つのサブエディター (Overview、Properties、および Source) があります。
- Overview サブエディター - このエディターで一般的な MED 情報が管理されます。この情報には、名前空間接頭辞、名前空間 URI、拡張モデルクラス、および説明が含まれます。以下に Overview サブエディターを示します。
図E.26 概要タブ
- Properties サブエディター - このエディターで MED 拡張プロパティーが管理されます。各拡張プロパティーはモデルオブジェクトタイプに関連付けられる必要があります。Properties サブエディターは 2 つセクションに分割されます (Extended Model Objects および Extension Properties)。以下に Properties サブエディターを示します。
図E.27 Properties タブ
- Source - このタブは MED の詳細を表示する読み取り専用の XML ソースビューアーです。このソースビューアーは編集できません。
図E.28 エラーのあるテキストフィールド
- Status Image - 最も重大な検証メッセージ (エラー、警告、または情報) を示すイメージ。検証メッセージがない場合はモデル拡張イメージが表示されます。
- Title - サブエディターのタイトルが表示されます。
- Menu - レジストリーの MED に追加および更新するアクションと、Model Extension Registry ビューを表示するアクションが含まれるドロップダウンメニュー。
- Validation Message - このエリアには OK またはエラー概要メッセージが表示されます。概要メッセージが表示される場合、メッセージのツールヒントはすべてのメッセージを列挙します。
- Toolbar - 同じアクションがドロップダウンメニューとして含まれます。
図E.29 共有ヘッダーの例
付録F Teiid Designer メインメニュー
F.1. Teiid Designer メインメニュー
- リソース管理アクション
- undo (元に戻す) と redo (やり直す) が含まれる標準の編集アクション
- リソースアクション (Rename、Move など)
- ワークスペース内でのデータの検索
- モデルレベルアクション
- カスタムメタデータに関するアクション
- パースペクティブの変更、またはパースペクティブへのビューの追加や削除
- 利用できる Teiid Designer ヘルプドキュメント、Teiid Designer SQL Support Guide、および Eclipse の概要へのアクセス
図F.1 アプリケーションメインメニュー
F.2. File メニュー
図F.2 File メニュー
図F.3 File メニュー
- New > Model Project - Create user a new model project.
- New > Folder - Create new folder within an existing project or folder.
- New > Model - Create a new model of a specified model type and class using the New Model Wizards.
- New > Virtual Database Definition - Create a new VDB, or Virtual Database Definition.
- Open File - ファイルを開いて編集することができます (ワークスペースにないファイルを含む)。
- Close (Ctrl+W) - アクティブなエディターを閉じます。ファイルを閉じる前に変更を保存するよう促されます。
- Close All (Shift+Ctrl+W) - 開かれているエディターをすべて閉じます。ファイルを閉じる前に変更を保存するよう促されます。
- Save (Ctrl+S) - Saves the contents of the active editor.
- Save As - Enables you to save the contents of the active editor under another file name or location.
- Save All (Shift+Ctrl+S) - Saves the contents of all open editors.
- Move - Refactor > Move resource ダイアログを起動します。
- Rename (F2) - リソースが選択された場合は Refactor > Rename resource ダイアログが起動されます。その他の場合はインラインの名前変更が実行されます。
- Refresh - ファイルシステムの内容でリソースが更新されます。
- Convert Line Delimiters To - 選択されたファイルの行区切り文字を変更します。変更は即座に反映され、再度区切り文字を変更するまで保持されます。ファイルを保存する必要はありません。
- Print (Ctrl+P) - Prints the contents of the active editor. In the Teiid Designer, this action prints the diagram in the selected editor. Allows control over orientation (portrait or landscape), scaling, margins and page order. User can also specify a subset of the pages to print (i.e., 2 through 8).
- Switch Workspace - 別のワークスペースに切り替えできる Workspace Launcher を開きます。これによりワークベンチが再起動されます。
- Restart - ワークベンチを終了し、再起動します。
- --> Import - Launches the Import Wizard which provides several ways to construct or import models..
- Export - Launches the Export Wizard which provides options for exporting model data.
- Properties (Alt+Enter) - 現在選択されているリソースの Properties ダイアログを開きます。これには、ファイルシステムのリソースへのパス、最終変更された日付、および書き込み可能または実行可能な状態が含まれます。
- Most Recent Files List - ワークベンチの最後にアクセスされたファイルのリストが含まれます。ファイル名を選択して File メニューからこれらのファイルを開くことができます。
- Exit - ワークベンチを閉じ、終了します。
F.3. Edit メニュー
図F.4 Edit メニュー
- New > Child - このメニューは、選択されたオブジェクト下で作成できるあらゆるタイプの子オブジェクトの作成をサポートするために動的に作成されます。
- New > Sibling - このメニューは、選択されたオブジェクトと同じ親で作成できるあらゆるタイプの兄弟オブジェクトの作成をサポートするために動的に作成されます。
- New > Association - このメニューは、選択されたオブジェクトと作成できるあらゆるタイプの関連 (アソシエーション) の作成をサポートするために動的に作成されます。
- Modeling > - このメニューは動的に作成されます。さまざまなモデリング演算は選択されたモデルオブジェクトタイプを基に表されます。
- Undo - Reverses the effect of the most recent command.
- Redo - Reapplies the most recently undone command.
- Cut - Deletes the selected object(s) and copies it to the clipboard.
- Copy - Copies the selected object(s) to the clipboard.
- Paste - Pastes the contents of the clipboard to the selected context.
- Paste Special... - 複雑なクリップボードオブジェクトに対して追加の貼り付け機能を提供します。
- Clone - 選択したオブジェクトを同じ場所に同じ名前で複製します。ユーザーはツリーの新しいオブジェクトの名前を変更できます。
- Delete - Deletes the selected object(s).
- Select All - 現在のビューのオブジェクトをすべて選択します。
- Rename - ユーザーがツリーのオブジェクトの名前を変更できるようにします。
- Find/Replace - Transformation Editor など、現在のテキストビューでの検索に使用できるダイアログを起動します。
- Open - 適切なエディターで選択したオブジェクトを開きます。
- Edit - Choice Editor や Recursion Editor など、適切な専門エディターで選択したオブジェクトを開きます。
- Add Bookmark... - このコマンドは、カーソルが現在表示されている行のアクティブなファイルにブックマークを追加します。
- Add Task... - このコマンドは、カーソルが現在表示されている行のアクティブなファイルにタスクを追加します。
F.4. Refactor メニュー
図F.5 Refactor メニュー
- Undo - 最後に実行した refactor コマンドを取り消します。
- Redo - 最後に取り消した refactor コマンドを再度実行します。
- Move - モデルをあるコンテナー (フォルダーまたはプロジェクト) から別のコンテナーに移動します。
- Rename - モデルの名前を変更します。
F.5. Navigate メニュー
図F.6 Navigate メニュー
F.6. Search メニュー
図F.7 Search メニュー
図F.8 Search メニュー
- Transformations... - Launches the Transformation Search dialog. User can search models in the workspace for matching SQL text. Search results appear in the dialog and user can select and view SQL as well as open desired transformations for editing.
- Metadata... - Launches the Search dialog. User can search for models in the workspace by specifying an Object Type, and/or a Data Type, and/or a property value. Search results appear in the Search Results view, and double-clicking a result will open that model in the appropriate editor.
- Find Model Object - Launches the Find Model Object dialog, which can be used to find an object in the workspace by specifying all or part of its name. Selecting the object will open it in the appropriate editor.
F.7. Project メニュー
図F.9 Project メニュー
- Open Project - Open Project ダイアログを表示します。
- Close Project - 現在選択されているプロジェクトを閉じます。
- Build All - Validates the contents of the entire workspace. Any errors or warnings will appear in the Problems View.
- Build Project - 選択されたプロジェクトの内容を検証します。エラーや警告は Problems ビューに表示されます。
- Build Working Set - 選択されたワーキングセットの内容を検証します。エラーや警告は Problems ビューに表示されます。
- Clean.. - Clean ダイアログを表示します。
- Build Automatically - Build Automatically フラグを on または off に設定します。on の場合、このメニュー項目の左側にチェックマークが表示され、Save が実行されるたびに変更の検証が自動的に行われます。
- Clone Project - Clone Project ダイアログを表示します。
- Build Project Imports - 選択されたプロジェクト内に含まれるモデルのモデルインポート依存関係をすべて調整します。
- Build All Imports - ワークスペース内に含まれるモデルのモデルインポート依存関係をすべて調整します。
- Build Packages - 現在未定義
- Validate Model Transformations - 選択されたビューモデルのトランスフォーメーションをすべて再検証します。
- Properties - 選択されたファイルに対するオペレーシングシステムのファイルプロパティーダイアログを表示します。
F.8. Metadata メニュー
図F.10 Metadata メニュー
- Update Model from Source - 選択したモデルが JDBC インポートより作成されたリレーショナルソースモデルである場合、モデルはデータベーススキーマの変更を基に更新されます。
- Show System Catalog - System Catalog ビューを開きます。
- Show Datatype Hierarchy - Datatype Hierarchy ビューを開きます。
- Re-resolve References - 別のモデルコンポーネントへのモデル内の参照を分析します。
- Convert to Enterprise Datatypes - 追加のプロパティーを選択されたスキーマモデル内の簡単なデータタイプへ追加し、エンタープライズデータタイプとしてラベル付けします。
- Show Model Statistics - 選択したモデルの Model Statistics ダイアログを開きます。
- Build Model Imports - 選択したモデルのモデルインポート依存関係をすべて調整します。
F.9. Run メニュー
図F.11 Window メニュー
F.10. Window メニュー
図F.12 Window メニュー
注記
図F.13 Show View ダイアログ
F.11. Help メニュー
図F.14 Help メニュー
- Welcome - ドキュメント、例、手順の開始点へのリンクが含まれる Welcome パースペクティブへ移動します。
- Help Contents - Launches the Help Window. All of Designer's online documentation is accessible from there as well.
- Search - Launches the Help Search view, which can be used to search for phrases in the documentation.
- Dynamic Help - 格納された動的ヘルプビューを開きます。
- Key Assist (Ctrl-Shift-L) ... - 既存のキー補助バインディングを説明するダイアログを表示します。
- Tips and Tricks... - Tips and Tricks ヘルプページの 1 つを選択できるダイアログを表示します。
- Cheat Sheets... - Eclipse チートシートの 1 つを選択できるダイアログを表示します。
- Project Examples... - さまざまなプロジェクトサンプルを即座にワークスペースにインポートできる JBoss によるアクション。
- Report Problem - 簡単に問題を報告できる JBoss によるアクション。
- Check for Updates... - インストールされた Eclipse ソフトウェアへの更新を取得できます。
- Install New Software... - 新しいソフトウェアをワークベンチにインストールできます。
- About JBoss Developer Studio - About ダイアログを表示します。
付録G 改訂履歴
改訂履歴 | |||
---|---|---|---|
改訂 6.3.0-27.4 | Wed Feb 1 2017 | Kenzo Moriguchi | |
| |||
改訂 6.3.0-27.3 | Wed Feb 1 2017 | Kenzo Moriguchi | |
| |||
改訂 6.3.0-27.2 | Mon Jan 16 2017 | Terry Chuang | |
| |||
改訂 6.3.0-27.1 | Mon Jan 16 2017 | Terry Chuang | |
| |||
改訂 6.3.0-27 | Fri Oct 14 2016 | David Le Sage | |
| |||
改訂 6.2.0-03 | Fri Nov 20 2015 | David Le Sage | |
|