高度なカスタマイズ > Windchill ESI のカスタマイズ > Windchill ESI のカスタマイズ - SAP > Windchill ESI Services のカスタマイズのシナリオ
Windchill ESI Services のカスタマイズのシナリオ
機能の概要
Windchill ESI サービスは、エンタープライズアプリケーションが変更通知、BOM、部品、プロモーションリクエスト、プロセス計画、リソース、スタンドアロンドキュメント、および部品、プロセス計画、シーケンス、オペレーション、リソースに関連するドキュメントにアクセスできるようにする getXXX() API を提供しています。これらの API は、オブジェクトの属性を読み取って XML にマッピングすることによって、特定の Windchill オブジェクトの詳細を表すデータを抽出するようにコーディングされています。XML フォーマットについては、Windchill Enterprise Systems Integration Open Application Programming Interface Guide を参照してください。
Windchill ESI サービスでサポートされているオブジェクト属性タイプには、モデル化属性、インスタンスベース属性 (IBA)、ソフトタイプ属性などがあります。通常、モデル化属性はオブジェクトにローカルであり、Windchill コード生成プロセスによって作成される getter メソッドによって取得できます。ただし、API コードは、計算によって、またはオブジェクトの関連をナビゲートすることによって、属性値を派生させる必要が生じることがあります。その場合、コード生成によって getter メソッドは提供されません。関連をナビゲートして属性値を取得するように、関連するメソッドを明示的にコーディングする必要があります。
通常、カスタム属性がモデル化されている場合、コンフィギュレーション手順を実行することで Windchill ESI でカスタム属性をマッピングできます。ただし、非ローカルカスタム属性の場合、カスタマイズ手順を実行する必要があります (非ローカルカスタム属性の定義については、用語集を参照してください)。
以下のテーブルでは、カスタマイズされた Windchill オブジェクトが ESI Services でどのようにサポートされるかについて説明しています。
ESI におけるカスタマイズされた Windchill オブジェクトのサポート
具体的な用途
RPC
関連イベント
Windchill オブジェクト4
適用される手順
WTPart をパブリッシング
GetPart
GetBOM
GetECN
部品または変更をパブリッシングする準備が完了
WTPart
WTPartMaster
なし、そのまま動作
ドキュメントが関連付けられている をパブリッシング; ドキュメントがリクエストされる
GetPart
GetBOM
GetECN
部品または変更をパブリッシングする準備が完了
WTPart
WTPartMaster
WTDocument
WTDocumentMaster
EPMDocument
なし、そのまま動作
WTPart をパブリッシング; ドキュメントが修正されているが、ドキュメントがリクエストされない
GetPart
GetBOM
GetECN
部品または変更をパブリッシングする準備が完了
WTPart
WTPartMaster
なし、そのまま動作
追加のカスタムモデル化5 属性がマッピングされていない6 WTPart をパブリッシング; ドキュメントが修正されていないかドキュメントがリクエストされない
GetPart
GetBOM
GetECN
部品または変更をパブリッシングする準備が完了
WTPart
WTPartMaster
WTDocument
WTDocumentMaster
EPMDocument
なし、そのまま動作
追加のカスタム IBA またはソフトタイプ属性7 がマッピングされていない WTPart をパブリッシング; ドキュメントが修正されていないかドキュメントがリクエストされない
GetPart
GetBOM
GetECN
部品または変更をパブリッシングする準備が完了
WTPart
WTPartMaster
WTDocument
WTDocumentMaster
EPMDocument
なし、そのまま動作
* 
WTDocument、WTDocumentMaster、および EPMDocument は、関連する Windchill ESI RPC がドキュメントをサポートし、Windchill ESI RPC 呼び出しによってそのドキュメントを含めるようリクエストされている場合にのみ、影響を受けます。Windchill ESI RPC GetPartGetBOMGetECNGetProcessPlan、および GetResource はドキュメントをサポートしています。
このテーブルで "モデル化" 属性として説明されている属性は、パブリック getter メソッドを持つものと見なされます。
マッピングされていない属性は Windchill ESI Open API RPC 応答には含まれません。
Windchill ESI は Windchill アダプタ Query-Objects Webject を使用して、部品および部品マスターオブジェクトのすべての属性を取得します。Query-Objects Webject によって属性が返されるかぎり、その属性を Windchill ESI マッピングロジックで使用できます。
具体的な用途
RPC
関連イベント
Windchill オブジェクト4
適用される手順
部品の親子関係リンク、代用リンク、参照指定子リンク、および/または代替リンクの追加のカスタムモデル化属性がマッピングされていない WTPart をパブリッシング; ドキュメントが修正されていないかドキュメントがリクエストされない
GetPart
GetBOM
GetECN
部品または変更をパブリッシングする準備が完了
WTPart
WTPartMaster
WTDocument
WTDocumentMaster
EPMDocument
なし、そのまま動作
追加のカスタムモデル化属性がマッピングされている WTPart をパブリッシング; ドキュメントが修正されていないかドキュメントがリクエストされない
GetPart
GetBOM
GetECN
部品または変更をパブリッシングする準備が完了
WTPart
WTPartMaster
WTDocument
WTDocumentMaster
EPMDocument
Windchill ESI のコンフィギュレーション:
応答メタ情報ファイルを修正し、関連する配布ターゲットに関連付ける
XML スキーマを修正8
代用リンク、代替リンク、または参照指定子リンクの追加のカスタムモデル化属性がマッピングされている WTPart をパブリッシング; ドキュメントが修正されていないかドキュメントがリクエストされない
GetPart
GetBOM
GetECN
部品または変更をパブリッシングする準備が完了
WTPart
WTPartMaster
WTDocument
WTDocumentMaster
EPMDocument
Windchill ESI のコンフィギュレーション:
応答メタ情報ファイルを修正し、関連する配布ターゲットに関連付ける
XML スキーマを修正
* 
カスタマイズによって XML スキーマを変更することは可能ですが、将来の Windchill ESI のメンテナンスによってカスタマイズがオーバーレイされないように、カスタム RPC を作成した方が安全です。
具体的な用途
RPC
関連イベント
Windchill オブジェクト4
適用される手順
代用部品、参照指定子、または代替リンクが拡張され、拡張されたオブジェクトの追加のカスタムモデル化属性がマッピングされていない WTPart をパブリッシング; ドキュメントが修正されていないかドキュメントがリクエストされない
GetPart
GetBOM
GetECN
部品または変更をパブリッシングする準備が完了
WTPart
WTPartMaster
WTDocument
WTDocumentMaster
EPMDocument
Windchill ESI のコンフィギュレーション:
ESI プリファレンスを修正
代用部品、参照指定子、または代替リンクが拡張され、拡張されたオブジェクトの追加のカスタムモデル化属性がマッピングされている WTPart をパブリッシング; ドキュメントが修正されていないかドキュメントがリクエストされない
GetPart
GetBOM
GetECN
部品または変更をパブリッシングする準備が完了
WTPart
WTPartMaster
WTDocument
WTDocumentMaster
EPMDocument
Windchill ESI のコンフィギュレーション:
応答メタ情報ファイルを修正し、関連する配布ターゲットに関連付ける
XML スキーマを修正
ESI プリファレンスを修正
部品の親子関係リンクの追加のカスタムモデル化属性がマッピングされている WTPart をパブリッシング; ドキュメントが修正されていないかドキュメントがリクエストされない
GetPart
GetBOM
GetECN
部品または変更をパブリッシングする準備が完了
WTPart
WTPartMaster
WTDocument
WTDocumentMaster
EPMDocument
Windchill ESI のカスタマイズ:
Java コードを拡張9
応答メタ情報ファイルを修正し、関連する配布ターゲットに関連付ける
ESI プリファレンスを修正
* 
Windchill BOM 差異ロジックは、部品の親子リンクを直接公開しません。代わりに、クラス PartUsageInfo のラッパーオブジェクトのセットを返します。属性を Windchill ESI マッピングロジックで使用できるようにする場合、PartUsageInfo を修正する必要があります。あるいは、必要な属性値を取得するように Windchill ESI Java コードを修正する必要があります。
具体的な用途
RPC
関連イベント
Windchill オブジェクト4
適用される手順
WTPartWTPartMaster の間のマスター関係を修正した後で WTPart をパブリッシング10
GetPart
GetBOM
GetECN
部品または変更をパブリッシングする準備が完了
WTPart
WTPartMaster
WTDocument
WTDocumentMaster
EPMDocument
Windchill ESI のコンフィギュレーション:
ESI Java コードを拡張
ESI プリファレンスを修正
追加のモデル化属性または非モデル化属性がマッピングされていない、WTPart から拡張されたカスタムオブジェクト MyPartWTPartMaster から拡張されたカスタムオブジェクト MyPartMaster、またはその両方をパブリッシング; ドキュメントが修正されていないかドキュメントがリクエストされない
GetPart
GetBOM
GetECN
部品または変更をパブリッシングする準備が完了
WTPart
WTPartMaster
WTDocument
WTDocumentMaster
EPMDocument
Windchill ESI のコンフィギュレーション:
ESI プリファレンスを修正11
応答メタ情報ファイルを修正し、関連する配布ターゲットに関連付ける
* 
Windchill WTPart オブジェクトは、Windchill コード生成ツールによって定義される複雑な関係によって WTPartMaster オブジェクトに関連付けられます。この関係は製品構造ナビゲーションおよび Windchill ESI による部品のリリースの中核をなします。関係を変更すると Windchill ESI ロジックが破綻します。Windchill ESI ロジックの破綻を修復するための Java コーディングを必要とする、次のようないくつかの種類の修正があります。
リンククラスを使用した既存の関連の実装を置き換える
WTPartMaster との継承関係を破綻させる、WTPart を拡張した新規オブジェクトを作成する
WTPart との継承関係を破綻させる、WTPartMaster を拡張した新規オブジェクトを作成する
これらのプリファレンスは、部品クラスと部品マスタークラスの名前を定義します。これらのプロパティ値が変更された場合、それらの値によって指定された拡張オブジェクトのみをリリースできます。GetPart RPC は WTPart および WTPartMaster をサポートしなくなります。
具体的な用途
RPC
関連イベント
Windchill オブジェクト4
適用される手順
追加のモデル化属性または非モデル化属性がマッピングされている、WTPart から拡張されたカスタムオブジェクト MyPartWTPartMaster から拡張されたカスタムオブジェクト MyPartMaster、またはその両方をパブリッシング; ドキュメントが修正されていないかドキュメントがリクエストされない
GetPart
GetBOM
GetECN
部品または変更をパブリッシングする準備が完了
MyPart および/または
MyPartMaster
WTDocument
WTDocumentMaster
EPMDocument
Windchill ESI のコンフィギュレーション:
ESI プリファレンスを修正12
応答メタ情報ファイルを修正し、関連する配布ターゲットに関連付ける
XML スキーマを修正
ドキュメントがリクエストされる、モデル化属性、IBA、またはソフトタイプ属性が WTDocument、WTDocumentMaster、EPMDocument に追加された WTPart をパブリッシング
GetPart
GetBOM
GetECN
部品または変更をパブリッシングする準備が完了
MyPart および/または
MyPartMaster
WTDocument
WTDocumentMaster
EPMDocument
Windchill ESI のコンフィギュレーション:
応答メタ情報ファイルを修正し、関連する配布ターゲットに関連付ける
ESI プリファレンスを修正13
XML スキーマを定義
追加のモデル化属性または非モデル化属性がマッピングされている、WTPart から拡張されたカスタムオブジェクト MyPartWTPartMaster から拡張されたカスタムオブジェクト MyPartMaster、またはその両方をパブリッシング
カスタム14
部品または変更をパブリッシングする準備が完了
WTPart
Windchill ESI のカスタマイズ:
カスタム RPC を作成
XML スキーマを定義
* 
これらのプリファレンスは、部品クラスと部品マスタークラスの名前を定義します。これらのプロパティ値が変更された場合、それらの値によって指定された拡張オブジェクトのみをリリースできます。GetPart RPC は WTPart および WTPartMaster をサポートしなくなります。
ドキュメントソフトタイプを宣言します。
具体的な用途
RPC
関連イベント
Windchill オブジェクト4
適用される手順
ドキュメントがリクエストされる、以下のような WTPart をパブリッシング
ドキュメントクラスが拡張された15 または
ドキュメントリンクが修正された
カスタム16
部品または変更をパブリッシングする準備が完了
MyPart および/または
MyPartMaster
WTDocument
WTDocumentMaster
EPMDocument
Windchill ESI のカスタマイズ:
ドキュメント差異 API をカスタマイズ
ESI Java コードを拡張
カスタム RPC を作成
XML スキーマを定義
マッピングされた非ローカル属性 (またはこれをサポートするサービス) へのリンクが修正されたかマッピングされた非ローカル属性をサポートするサービスが修正された WTPart をパブリッシング17
カスタム
部品または変更をパブリッシングする準備が完了
WTPart
Windchill ESI のカスタマイズ:
カスタム RPC を作成
XML スキーマを修正
リンク (子部品、代用部品、または参照) が修正された WTPart をパブリッシング
カスタム
部品または変更をパブリッシングする準備が完了
WTPart
ESI のカスタマイズ:
GetBOM、GetECN、またはその両方に基づいてカスタム RPC を作成
BOM 差異 API をカスタマイズ
XML スキーマを修正
WTChangeOrder2 をパブリッシング
GetECN
変更をパブリッシングする準備が完了
WTChangeOrder2
WTPart
WTPartMaster
WTDocument
WTDocumentMaster
EPMDocument
なし、そのまま動作
* 
この場合、Windchill ESI GetPart RPC は WTPart および WTPartMaster を引き続きサポートします。
このカテゴリでは、拡張にソフトタイプは含まれません。新規ソフトタイプドキュメントの追加はコンフィギュレーションオプションです。上記を参照してください。
この場合、GetPartGetBOM、および GetECN をカスタマイズできますが、このようなカスタマイズは将来の ESI メンテナンスの影響を受けやすくなります。カスタム RPC の方が安全です。
たとえば、部品の代替関係を修正します。
具体的な用途
RPC
関連イベント
Windchill オブジェクト4
適用される手順
追加の属性がマッピングされていない WTChangeOrder2 をパブリッシング
GetECN
変更をパブリッシングする準備が完了
WTChangeOrder2
WTPart
WTPartMaster
WTDocument
WTDocumentMaster
EPMDocument
なし、そのまま動作
追加の属性がマッピングされている WTChangeOrder2 をパブリッシング
GetECN
変更をパブリッシングする準備が完了
WTChangeOrder2
WTPart
WTPartMaster
WTDocument
WTDocumentMaster
EPMDocument
Windchill ESI のコンフィギュレーション:
応答メタ情報ファイルを修正し、関連する配布ターゲットに関連付ける
XML スキーマを修正
WTPart から拡張されていないカスタムオブジェクト MyObject をパブリッシング
カスタム
MyObject をパブリッシングする準備が完了
MyObject
Windchill ESI のカスタマイズ:
カスタム RPC を作成
XML スキーマを修正
ESITarget を修正
カスタム
任意
Any
詳細については、「配布ターゲット」を参照してください。
現在のリリースでは、関連ドキュメントが Windchill 部品、オペレーション、またはリソースに関連している場合にのみパブリッシングされます (このドキュメントの前のセクションで説明したように、プロセス計画とシーケンスに関連するドキュメントは ESI サービスによって処理され、ESI RPC 応答で送信されますが、ミドルウェアのビジネスロジックによって無視されます)。Windchill ESI によってパブリッシングされたドキュメントは、Windchill ESI Services によって Windchill ドキュメント差異ロジックから取得されます。Windchill ドキュメント差異ロジックのカスタマイズについては、「ドキュメント添付資料差異」を参照してください。
* 
上記のテーブルには部品、BOM、変更通知、および関連ドキュメントに関連するユースケースのみがリストされていますが、スタンドアロンドキュメント (オブジェクトセントリックモードと変更通知セントリックモードの両方)、プロモーションリクエスト、およびこのリリースでサポートされているすべての MPMLink オブジェクト (プロセス計画およびツーリング、加工材料、技能などのリソース) でもほとんど同じユースケースが成立します。これらのオブジェクトに関連する RPC には GetDocument、GetPromotionRequest、GetProcessPlan、GetResource などがあり、変更適用オブジェクトには WTDocument、EPMDocument、PromotionNotice、MPMProcessPlan、MPMSequence、MPMOperation、MPMTooling、MPMProcessMaterial、MPMSkill などがあります。
GetXXX PRC は、ESIService (デフォルトでは StandardESIService) の具象実装の getXXX() API を意味します。
テーブルの「関連イベント」コラムの内容は、パブリッシングをトリガーするユーザー操作を指しています (オブジェクトのライフサイクル状態を「リリース済み」に設定するなど)。オブジェクトのパブリッシングがトリガーされたときに ESI Services によってイベントが発生して EAI ソフトウェアコンポーネントに渡されるのではなく、代わりに、ESI Services が ESI 応答を直接生成して EAI ソフトウェアコンポーネントに引き渡すということを理解しておくことが重要です。
長所
コーディングなしでソリューションの柔軟性が向上します。これにより展開のコストと時間が削減されます。
既成のコードではカバーされていない状況でサポートされるカスタマイズパスが提供されます。これは RTP に対する機能強化です。
制約
Windchill ESI は Windchill アダプタ Query-Objects Webject を使用して、部品および部品マスターオブジェクトのすべての属性、およびサポートされているドキュメントタイプの属性を取得します。Query-Objects Webject によって属性が返されない場合、その属性を ESI マッピングロジックに使用することはできません。
Windchill ESI BOM 処理では、Windchill 標準 WTPart サービスの BOM 差異計算が使用されます。以下の場合、BOM 差異のカスタマイズが必要です。
新規オブジェクトタイプが BOM に含まれている。
新しい関係が BOM 構造に関連する。
変更が行われたかどうかを判別する際に追加のデータエレメントが考慮される。
ESI ドキュメント処理では、Windchill 標準 WTPart サービスの部品ドキュメント差異計算が使用されます。以下の場合、部品ドキュメント差異のカスタマイズが必要です。
新しいリンクが部品/ドキュメントの関係に関連する。
変更が行われたかどうかを判別する際に追加のデータエレメントが考慮される。
既存の Windchill オブジェクト間の既存の関係 (関連付け) を変更するには、必ず Windchill ESI をカスタマイズする必要があります。
Windchill ESI によってパブリッシングされるデータに関係、関係属性、または関係するオブジェクトを含める場合、既存の Windchill オブジェクト間の関係を追加するには ESI をカスタマイズする必要があります。
これは役に立ちましたか?