エンタープライズ管理 > Windchill ESI の実装 > SAP 環境での Windchill ESI の実装 > Windchill ESI アーキテクチャについて > トランザクション管理
  
トランザクション管理
Windchill ESI サービスのトランザクション管理機能は、配布ターゲットにパブリッシングされた各 Windchill PDMLink ビジネスオブジェクトを管理して記録します。Windchill ESI の各パブリッシングトランザクションは標準的な Windchill PDMLink ワークフローによって開始され、失敗したトランザクションのエラー処理はワークフローに統合されます。
目的と機能
トランザクション管理には以下の 3 つの目的があります。
配布ターゲットにパブリッシングされた Windchill PDMLink オブジェクトの監査記録を提供します。
パブリッシングされたオブジェクトの履歴を提供し、Windchill PDMLinkWindchill ESI コンポーネントがその後のパブリッシング操作でパブリッシングするオブジェクトを特定できるようにします。
Enterprise Systems のトランザクション管理ユーザーインタフェースを使用して、エンドユーザーがこの履歴を表示して管理できるようにします。
Windchill ESI サービスは以下のトランザクション管理機能を提供します。
トランザクションアクティビティを記録し、Windchill ESI パブリッシングアクティビティのステータスを記録する、永続的な Java クラスセット
同じ Windchill オブジェクトを同時にパブリッシングしないようにする一連の API
外部プロセスが Windchill ESI サービスに対して、パブリッシングアクティビティのステータスを記録するようリクエストできるようにする RPC
Windchill ESI サービスが記録しているパブリッシングステータスを表示する (およびユーザーによる編集を可能にする) グラフィカルユーザーインタフェース
トランザクションとサブトランザクション
ビジネスオブジェクトおよびその関連オブジェクトを ERP インスタンスに属する配布ターゲットにパブリッシングすること全体を指してトランザクションと呼ばれます。このトランザクション内では、主要なオブジェクトも含めてトランザクション内の関連オブジェクトはそれぞれサブトランザクションとして表されます。サブトランザクションの対象となるオブジェクトタイプは、部品、部品アセンブリ (BOM)、ドキュメント、ドキュメントリンク、変更通知 (CN)、プロセス計画、オペレーション、シーケンス、リソース、管理特性、および関連付けられた品質リンクです。各サブトランザクションは、リリースアクティビティタイプのオブジェクトとして保存されます。各リリースアクティビティは、それが発生したトランザクションにリンクされ、配布ターゲットにパブリッシングされた Windchill オブジェクトごとにリリースアクティビティがあります。
各トランザクションは、全体のトランザクションのステータスを "保留中"、"プロセス中"、"成功"、または "失敗" として保存します。ReleaseActivity オブジェクトはサブトランザクションのステータスを保留中、成功、または失敗として保存します。
トランザクショントラッキング
Windchill PDMLink からオブジェクトがリリースされると、Windchill ESI サービスは、1 つまたは複数のトランザクションオブジェクトを作成します。各トランザクションオブジェクトは、ERP インスタンスへのオブジェクトのリリースを表します。トランザクションオブジェクトの最初のステータスは保留中です。これは、オブジェクトデータが Windchill ESI ビジネスロジックにパブリッシングされている状態であることを示しています。
Windchill ESI サービスは次に、オブジェクトデータを Windchill PDMLink に照会し、Windchill ESI レスポンスを構成する書式設定済み出力を ERP インスタンス用に生成します。その出力は、次に Windchill ESI ビジネスロジックに送信され、Windchill ESI のレスポンススキーマに従って書式設定されます。詳細については、Windchill ESI の実装を参照してください。
フォーマット済みの出力を Windchill ESI ビジネスロジックに送信する直前に、Windchill ESI サービスは Windchill PDMLink オブジェクトと配布ターゲットの組み合わせごとにリリースアクティビティオブジェクトを作成します。リリースアクティビティオブジェクトの最初のステータスは "保留中" です。これは、オブジェクト/ターゲットは Windchill ESI ビジネスロジックにパブリッシングされたにもかかわらず、EAI 側の結果は不明であることを示しています。保留中の ReleaseActivity オブジェクトが存在すると、Windchill ESI サービスは同じ配布ターゲットにオブジェクトをパブリッシングできません。
Windchill ESI ビジネスロジックが各サブトランザクション (オブジェクト/ターゲット) を処理すると、完了通知が生成されます。この通知にはステータス (成功または失敗) およびステータスを説明するオプションのテキストメッセージが含まれています。Windchill ESI サービスは、この通知を受信すると、特定のオブジェクト/ターゲットのリリースアクティビティオブジェクトを更新します。
Windchill ESI サービスは、サブトランザクションの最初の完了通知を受信すると、そのサブトランザクションを含むトランザクションのステータスを「プロセス中」に更新します。トランザクション処理の最後に、Windchill ESI ビジネスロジックはそのトランザクションの完了通知を生成します。Windchill ESI サービスは、この通知を受信すると、通知のステータスに従ってトランザクションのステータスを成功または失敗に更新します。この時点で保留中のリリースアクティビティオブジェクトは削除されます。
* 
上述のアクティビティは、リリースのあらゆるトランザクションで実行されます。
トランザクションの再サブミット
トランザクションが失敗すると、Windchill ESI リリース全体が失敗したものと見なされます。オブジェクトをパブリッシングしたユーザーは、失敗の原因となった問題を修正してオブジェクトを再サブミットできます。詳細については、Enterprise Systems のトランザクション管理グラフィカルユーザーインタフェースを参照してください。再サブミットするデータは、Windchill ESI サービスから提供されます。Windchill ESI の EAI コンポーネントが以前のトランザクションを保存または処理したり、以前のパブリッシングに対して新しいトランザクションデータを検証することはありません。再サブミットしたすべてのデータは、新しくパブリッシングされたオブジェクトとして処理されます。オブジェクトを再びパブリッシングする場合、デフォルトでは、前回オブジェクトのパブリッシングに成功したとき以降に変更されたオブジェクトだけがパブリッシングされます。これにより、Windchill ESI サービスと配布ターゲット間の一貫性が保たれます。
* 
再サブミットにより、オブジェクトが再びパブリッシングされます。失敗が発生したすべての ERP インスタンスに対して新しいトランザクションオブジェクトが作成されます。ただし、再サブミットされたデータは、元のパブリッシングが失敗した配布ターゲットにのみ送信されます。
Enterprise Systems のトランザクション管理グラフィカルユーザーインタフェース
Enterprise Systems のトランザクション管理グラフィカルユーザーインタフェース (GUI) を使用して、パブリッシングしたオブジェクトのトランザクション履歴を表示できます。配布ターゲットにオブジェクトをパブリッシングできるユーザーには、パブリッシングしたすべてのオブジェクトのトランザクション履歴を表示および編集する権限があります。Windchill ESI 管理者には、すべてのリリース済みオブジェクトのトランザクション履歴を表示および編集する権限があります。また、管理者は失敗したトランザクションを修正し再サブミットできます。
トランザクション履歴の削除
長期的には、システムに保持されているトランザクション履歴が増え、煩雑になります。Windchill ESI では、将来のパブリッシングアクティビティでパブリッシングするオブジェクトを特定するときにトランザクション履歴が必要なので、実際のデータをシステムから削除することはできません。代わりに、履歴に削除済みのマークを付けて、エンドユーザーには非表示にし、レポートに表示しないようにすることができます。