Oracle Workflow管理者ガイド リリース12 E05663-01 | ![]() 目次 | ![]() 前へ | ![]() 次へ |
この章では、ワークフロー・オブジェクト定義に対するアクセス保護と、これらの定義をデータベースとフラット・ファイルの間でロードする方法について説明します。
この章の内容は、次のとおりです。
アクセス保護は、シード・データの提供者によって作成されたワークフロー・シード・データが、シード・データの使用者によって変更されないようにする機能です。シード・データの提供者とは、他の組織(シード・データの使用者)がワークフロー・プロセスの定義やカスタマイズに使用するシード・データを作成する組織を指します。Oracle Workflowでは、シード・データは次のいずれかを指します。
特定の使用者のニーズにあわせてカスタマイズされるワークフロー・オブジェクト定義
標準であり、提供者によって将来アップグレードされる可能性があるため、カスタマイズされないように保護するワークフロー・オブジェクト定義
たとえば、Oracle Workflow開発チームは、標準項目タイプというシード・データの提供者です。標準項目タイプには、カスタム・ワークフロー・プロセスに組み込むことができる標準アクティビティが含まれます。組織の本社にある開発チームが、標準項目タイプのアクティビティを参照する、カスタム・ワークフロー・プロセスの定義を作成することがあります。この場合は、本社のチームが標準項目タイプのシード・データの使用者となります。
本社のチームが、作成したカスタム・ワークフロー定義を他の地域のオフィスのチームに展開するとします。本社のチームは、シード・データの提供者として次のように規定する可能性があります。
カスタム・ワークフロー定義内の特定のワークフロー・オブジェクトを社内標準として指定し、地方のチームはこれを遵守し、変更できないようにします。
展開されたプロセス内のあるオブジェクトをカスタマイズ可能なオブジェクトとして指定し、地方のオフィスがそのニーズにあわせて変更できるようにします。
本社チームは、Oracle Workflowのアクセス保護機能を使用して、両方の要件を満たすことができます。アクセス保護を使用すると、シード・データの提供者は、あるデータを読取り専用として保護し、他のデータのカスタマイズを許可できます。また、シード・データのアップグレート中にアクセス保護を使用すると、シード・データ提供者は保護されている既存のシード・データを新バージョンで上書きし、一方でカスタマイズ可能なシード・データに追加されたカスタマイズは保存できます。
Oracle Workflowはデータベースに格納されるすべてのワークフロー・オブジェクト定義に保護とカスタマイズのレベルを割り当て、Oracle Workflowの各ユーザーに特定のアクセス・レベルで操作するように要求します。アクセス保護機能は保護、カスタマイズおよびアクセスの各レベルの組合せで構成され、ユーザーが特定のワークフロー・オブジェクトを変更できるかどうかを決定します。3つのすべての場合に、レベルは0から1000の数値で、シード・データの提供者と使用者としての異なる組織間の関連を示します。
Oracle Workflowでは、次の範囲のレベルを想定しています。
変数 | 説明 |
---|---|
0-9 | Oracle Workflow |
10-19 | Oracle Application Object Library |
20-99 | Oracle Applicationsの開発 |
100-999 | 顧客の組織。この範囲の解釈方法は、ユーザーが定義できます。たとえば、100が本社を示し、101が地方のオフィスを示す、などです。 |
1000 | 制限なし |
Oracle Workflowの各ユーザーは、前述のレベルの範囲に従って特定のアクセス・レベルでシステムを操作します。この場合、Oracle Workflowのユーザーとは、Oracle Workflow Builderまたはファイルからデータベースへワークフロー・プロセス定義をロードするワークフロー定義ローダーのプログラムを操作するユーザーを示します。作業時のレベルは作成するシード・データの保護レベルに影響するため、シード・データ提供者は、常に一貫して同じアクセス・レベルでOracle Workflow Builderを操作する必要があります。
アクセス・レベルを表示するには、次の方法があります。
Oracle Workflow Builderで、「ヘルプ」メニューから「Oracle Workflow Builderのバージョン情報」を選択します。
ワークフロー定義ローダーのプログラムを実行して、ワークフロー・プロセス定義をデータベースからファイルにダウンロードする場合は、ワークフロー・サーバー上の環境変数WF_ACCESS_LEVELの値をチェックします。「ワークフロー定義ローダーの使用」を参照してください。
注意: ワークフロー定義ローダーのプログラムでは、環境変数WF_ACCESS_LEVELに格納されているアクセス・レベルが参照されます。この環境変数は、Oracle Workflowをサーバーにインストールするときに定義する必要があります。この環境変数が定義されていない場合、ワークフロー定義ローダーでは、デフォルトのアクセス・レベルである1が想定されます。
Oracle Applicationsをインストールする場合は、この変数を環境ファイル内で定義する必要があります。デフォルトの環境ファイルはAPPLSYS.envです。この環境変数を定義しなければ、ワークフロー定義ローダーではデフォルトのアクセス・レベルである1が想定されます。環境ファイルの詳細は、該当する製品のOracle Applicationsのインストレーション・マニュアルを参照してください。
Oracle Workflow Builderでワークフロー・オブジェクトを作成するときに、そのオブジェクトを特定のレベルで保護するかどうかを選択できます。オブジェクトの保護レベルは、他のユーザーがアクセス・レベルに基づいてオブジェクトを変更できるかどうかを制御するのに役立ちます。オブジェクトを変更できるのは、そのオブジェクトの保護レベル以下のアクセス・レベルを持つユーザーだけです。
注意: オブジェクトを変更できるアクセス・レベルの範囲は、オブジェクトのカスタマイズ・レベルによってさらに制限できます。
オブジェクトの保護レベルを設定するには、そのオブジェクトのプロパティ画面の「アクセス」タブを表示し、「このアクセス・レベルでロック」チェック・ボックスを選択または選択を解除します。オブジェクトに設定する保護レベルは、「このアクセス・レベルでロック」チェック・ボックスの設定と自分の現行のアクセス・レベルによって異なります。
「このアクセス・レベルでロック」チェック・ボックスを選択すると、オブジェクトの保護レベルは自分の現行のアクセス・レベルに設定されます。自分の現行のアクセス・レベルよりも上位のアクセス・レベルのユーザーは、そのオブジェクトを変更できません。このようなユーザーには、ワークフロー・オブジェクトのアイコンに小さなロック・アイコンが表示されます。これは、そのオブジェクトの使用は可能でも変更はできないことを示します。自分の現行のアクセス・レベル以下のアクセス・レベルを持つユーザーの場合は、オブジェクトのカスタマイズ・レベルによって、そのオブジェクトを変更できるかどうかが決まります。
「このアクセス・レベルでロック」チェック・ボックスの選択を解除すると、オブジェクトの保護レベルは1000に設定されます。この場合、カスタマイズ・レベルで制限されていないすべてのユーザーがオブジェクトを変更できます。
オブジェクトを変更してデータベースまたはファイルに保存すると、保護レベルのワークフロー・オブジェクトのみでなく、すべてのワークフロー・オブジェクトにカスタマイズ・レベルが記録されます。オブジェクトのカスタマイズ・レベルは、他のユーザーがアクセス・レベルに基づいてオブジェクトを変更できるかどうかを制御するのに役立ちます。オブジェクトを変更できるのは、そのオブジェクトのカスタマイズ・レベル以上のアクセス・レベルを持つユーザーだけです。
注意: オブジェクトを変更できるアクセス・レベルの範囲は、オブジェクトの保護レベルによってさらに制限できます。
カスタマイズ・レベルの設定により、シード・データのアップグレード中に、すでにカスタマイズされているカスタマイズ可能オブジェクトが上書きされることを防止できます。これは、アップグレード時には、カスタマイズされたオブジェクトのカスタマイズ・レベルよりも低いアクセス・レベルで処理を行うワークフロー定義ローダーが常に使用されるためです。
オブジェクトのカスタマイズ・レベルを設定するには、そのオブジェクトのプロパティ画面の「アクセス」タブを表示し、「カスタマイズを保持」チェック・ボックスを選択または選択を解除します。オブジェクトに設定するカスタマイズ・レベルは、「カスタマイズを保持」チェック・ボックスの設定と自分の現行のアクセス・レベルによって異なります。
「カスタマイズを保持」チェック・ボックスを選択すると、オブジェクトのカスタマイズ・レベルは自分の現行のアクセス・レベルに設定されます。自分の現行のアクセス・レベルよりも下位のアクセス・レベルのユーザーは、そのオブジェクトを変更できません。このようなユーザーには、ワークフロー・オブジェクトのアイコンに小さなロック・アイコンが表示されます。これは、そのオブジェクトの使用は可能でも変更はできないことを示します。自分の現行のアクセス・レベル以下のアクセス・レベルを持つユーザーの場合は、オブジェクトの保護レベルによって、そのオブジェクトを変更できるかどうかが決まります。
「カスタマイズを保持」チェック・ボックスの選択を解除すると、オブジェクトのカスタマイズ・レベルは0に設定されます。この場合、保護レベルで制限されていないすべてのユーザーがオブジェクトを変更できます。
保護レベルとカスタマイズ・レベルを組み合せた設定で、オブジェクトへのアクセスを制御します。許可するアクセスのタイプを指定するときは、次の4つの方法のいずれかで、オブジェクトに対して「カスタマイズを保持」と「このアクセス・レベルでロック」のチェック・ボックスを設定できます。
全員にアクセスを許可: デフォルトでは、「カスタマイズを保持」と「このアクセス・レベルでロック」の両方の選択が解除されていると、誰でもオブジェクトにアクセスできます。つまり、保護レベルが1000、カスタマイズ・レベルが0です。
自分のアクセス・レベル以上のアクセス・レベルを持つユーザーにアクセスを制限: 「カスタマイズを保持」を選択し、「このアクセス・レベルでロック」の選択を解除すると、自分の現行のアクセス・レベル以上であれば誰でもそのオブジェクトをカスタマイズできます。ただし、下位のアクセス・レベルのユーザーはそのオブジェクトを変更できません。つまり、保護レベルが1000、カスタマイズ・レベルが自分の現行のアクセス・レベルです。この方法でカスタマイズ可能のマークを付けるのは、将来そのオブジェクトのアップグレード・バージョンを提供しないことが確実な場合のみにしてください。アップグレード・バージョンを提供すると、そのオブジェクトに対する他のユーザーのカスタマイズが上書きされます。
自分のアクセス・レベル以下のアクセス・レベルを持つユーザーにアクセスを制限: 「このアクセス・レベルでロック」チェック・ボックスを選択し、「カスタマイズを保持」の選択を解除すると、そのオブジェクトは保護され、変更できるのは自分の現行のアクセス・レベル以下のユーザーのみになります。ただし、上位のアクセス・レベルのユーザーはそのオブジェクトを変更できません。つまり、保護レベルが自分の現行のアクセス・レベル、カスタマイズ・レベルが0です。グローバル・アップグレードを使用しないかぎり変更されない、標準コンポーネントとして定義するオブジェクトを保護してください。このため、常に一貫して同じアクセス・レベルで操作することが重要になります。
自分と同じアクセス・レベルのユーザーにアクセスを制限: 「このアクセス・レベルでロック」と「カスタマイズを保持」の両方のチェック・ボックスを選択すると、そのオブジェクトを変更できるのは、自分の現行のアクセス・レベルと同じアクセス・レベルで操作するユーザーのみになります。つまり、保護レベルとカスタマイズ・レベルの両方が自分の現行のアクセス・レベルに設定されます。
次の表に、「カスタマイズを保持」と「このアクセス・レベルでロック」の設定によって、どのアクセス・レベルでオブジェクトにアクセスできるかをまとめます。
カスタマイズを保持 | このアクセス・レベルでロック | オブジェクトに適用されるアクセス・レベル |
---|---|---|
オフ | オフ | オブジェクトはどのアクセス・レベルでも更新できます。 |
オン | オフ | オブジェクトは、現行のアクセス・レベル以上のアクセス・レベルでのみ更新できます。 |
オフ | オン | オブジェクトは、現行のアクセス・レベル以下のアクセス・レベルでのみ更新できます。 |
オン | オン | オブジェクトは、現行のアクセス・レベルと同じアクセス・レベルでのみ更新できます。 |
Oracle Workflowの保護レベルとアクセス・レベルは、特定のワークフロー・オブジェクトの変更に関して、それが不可能であるか、または許可されたアクセス・レベルでこのツールにアクセスするユーザーのみが可能であるかを示します。この機能は、ワークフロー・オブジェクトの安全性確保やソース管理のための手段ではありません。
重要: Oracle Workflowのほとんどのワークフロー・オブジェクトは、保護レベルが0に設定されています。これは、そのオブジェクトが、アクセス・レベル0で操作するOracle Workflowチームによってのみ、変更可能であることを示します。自分のアクセス・レベルを0に変更してデータを変更しようとして、特にOracle Workflowでシード・データがアップグレードされたことにより、もともと保護されていたデータに対して行う変更が上書きされる可能性がある場合は、カスタマイズはサポートされなくなります。
『Oracle Workflow開発者ガイド』のオブジェクトのアクセス・レベルの設定に関する項を参照してください。
Oracle Workflow BuilderをWindowsのPCにインストールする場合は、Oracle Universal Installerにより、インストール先のPCとオペレーティング・システムに対してグローバルなデフォルトのアクセス・レベルが割り当てられます。Oracle Workflow Builderのインストール後は、PC上の個々のユーザーに各自のアクセス・レベルを新しい設定に変更させることができます。これにより、そのPCに対して設定されたデフォルトのアクセス・レベルが上書きされます。ユーザーがアクセス・レベルを定義しなければ、Oracle Workflow BuilderではPCのデフォルトのアクセス・レベルの値が使用されます。このアクセス・レベルは、Microsoft Windowsのレジストリに保存されます。
Oracle Workflow Builderとワークフロー・シード・データを組織の他の部署のユーザーに展開し、提供したシード・データをそれらのユーザーが変更しないようにするには、Oracle Workflow Builderでそのデータの保護レベルよりも高いアクセス・レベルで処理を実行するようにできます。たとえば、シード・データ提供者としてアクセス・レベル100で処理を実行し、作成したシード・データがレベル100で保護されている場合は、ユーザーまたはシード・データ使用者のデフォルトのアクセス・レベルを101以上に設定する必要があります。
Oracle Workflow Builderでユーザーのアクセス・レベルを設定するには、「ヘルプ」メニューから「Oracle Workflow Builderのバージョン情報」を選択します。「Oracle Workflow Builderのバージョン情報」ウィンドウで、「アクセス・レベル」フィールドを自分のシード・データ保護レベルより大きい数値に変更し、「OK」を選択します。
また、regeditなどのレジストリ・エディタで、HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\Workflow\Levelの10進値を編集することで、Microsoft Windowsのレジストリでアクセス・レベルを直接設定できます。
ワークフロー定義ローダーのプログラムの場合は、環境変数WF_ACCESS_LEVELを定義し、適切なオペレーティング・システム・コマンドで値を設定することで、プログラムがプロセス定義をファイルにダウンロードするときに動作するデフォルトのアクセス・レベルを設定します。
注意: 自分のアクセス・レベルを変更することも可能ですが、Oracle Workflowでは、もともと99以下のレベルで保護されていたシード・データのカスタマイズはサポートされません。自分のアクセス・レベルを許可されていないレベルに変更して、保護されているデータを変更することは、絶対にしないでください。
Oracle Workflowでは、アップグレード時にOracleシード・データを保護してカスタマイズの設定を保持するために、ビジネス・イベントおよびイベント・サブスクリプションの定義に対するアクセス保護も提供します。ビジネス・イベント・システムでは、アクセス保護は各イベントおよびサブスクリプションに割り当てられたカスタマイズ・レベルに基づきます。カスタマイズ・レベルは、イベントやサブスクリプションの定義を誰が更新できるかを決定します。
イベントまたはサブスクリプションは、次のいずれかのカスタマイズ・レベルを保持できます。
コア: このレベルは、Oracleによってシードされたイベントおよびサブスクリプションにのみ使用されます。このレベルでは、イベントやサブスクリプションの定義を変更できません。ただし、Oracleシード・データのアップグレードによって、定義に含まれる任意のプロパティを変更できます。
制限: このレベルは、Oracleによってシードされたイベントおよびサブスクリプションにのみ使用されます。このレベルでは、イベントまたはサブスクリプションのステータスを「使用可能」または「使用不能」に更新できますが、オブジェクトの定義に対してその他の変更は行えません。逆に、Oracleシード・データのアップグレードでは、ステータスの設定は変更できませんが、定義のその他のプロパティは変更できます。
ユーザー: このレベルは、ユーザーが定義するイベントおよびサブスクリプションに対して自動的に設定されます。このレベルでは、イベントやサブスクリプションの定義内のすべてのプロパティを変更できます。ただし、Oracleシード・データのアップグレードでは、定義に対して変更を行うことはできません。
Oracle Applicationsのシード・データのアップグレード中に、ワークフローXMLローダーは標準アップロード・モードでビジネス・イベント・システムのオブジェクト定義をロードし、カスタマイズ・レベルに従ってカスタマイズ・データを保持します。「ワークフローXMLローダーの使用」を参照してください。
関連項目
『Oracle Workflow開発者ガイド』のイベントに関する項
『Oracle Workflow開発者ガイド』のイベント・サブスクリプションに関する項
Oracle Workflow Builderで「ファイル」メニューの「保存」または「開く」オプションを使用するかわりに、ワークフロー定義ローダーというプログラムを使用してデータベースやフラット・ファイルからプロセス定義をロードしたり保存できます。
データベースをアップグレードする前に、ワークフロー定義ローダーを使用してユーザーのプロセス定義をフラット・ファイルに保存し、バックアップを作成できます。データベースのアップグレードが完了した後、保存した定義を再ロードする必要がある場合は、ローダー・プログラムを使用して定義をデータベースにアップロードしなおすことができます。ローダー・プログラムを使用して、新バージョンのプロセス定義でデータベースをアップグレードしたり、プロセス定義を他のデータベースに移動できます。
プロセス定義をアップロードまたはアップグレードすると、ワークフロー定義ローダーにより自動的にプロセス定義が検証され、特定のプロセス設計ルールに従っていることが確認されます。ここでは、Oracle Workflow Builderの検証機能と同じ検証が行われます。『Oracle Workflow開発者ガイド』のプロセス定義の検証に関する項を参照してください。
ワークフロー定義ローダーをコンカレント・プログラムとして実行します。
注意: データベースの既存の定義上にワークフロー定義をアップロードまたはアップグレードすると、アップロード/アップグレード定義のオブジェクトの表示名が、ターゲット・データベース内の異なるオブジェクトにすでに使用されている場合があります。この場合、ワークフロー定義ローダーでは、ターゲット・データベース内で競合している表示名の先頭にアットマーク(@)を追加することで、この表示名の競合が自動的に解決されます。その後、アップロード/アップグレード定義がそのまま適用され、警告メッセージが生成されます。
ワークフロー定義ローダーの実行
Oracle Applicationsの「要求の発行」フォームに移動し、「ワークフロー定義ローダー」コンカレント・プログラムを発行します。 Oracle ApplicationsとOracle Workflowをインストールして設定するときに、システム管理者はこのコンカレント・プログラムを実行する職責の要求セキュリティ・グループに追加する必要があります。『Oracle Applicationsシステム管理者ガイド』のコンカレント・プログラムおよびコンカレント要求の概要に関する項を参照してください。
「ワークフロー定義ローダー」コンカレント・プログラムを要求として発行します。『Oracle Applicationsユーザーズ・ガイド』のレポートおよびプログラムの実行に関する項を参照してください。
「パラメータ」ウィンドウで次のパラメータの値を入力します。
変数 | 説明 |
---|---|
モード |
|
ファイル | プロセス定義のダウンロード先またはアップグレード元、アップロード元となるファイルのフルパス名を指定します。 |
項目タイプ | 「Mode」を「Download」に設定した場合は、「List」ボタンを使用して、ダウンロードするプロセス定義の項目タイプを選択します。
注意: 「要求の発行」フォームから「ワークフロー定義ローダー」を発行してプロセス定義をファイルにダウンロードする場合は、項目タイプを一度に1つずつダウンロードするようにしか指定できません。同時に複数またはすべての項目タイプをダウンロードする場合は、ワークフロー定義ローダーのコンカレント・プログラムをコマンドラインから発行する必要があります。詳細は、後述のステップ6を参照してください。 |
「OK」を選択して「パラメータ」ウィンドウを閉じます。
この要求の印刷オプションと実行オプションを変更してから、「発行」を選択して要求を発行します。
「要求の発行」フォームを使用せずに、次のコマンドを入力し、「ワークフロー定義ローダー」コンカレント・プログラムをコマンドラインから実行することもできます。
アップグレードする場合:
WFLOAD apps/pwd 0 Y UPGRADE file.wft
アップロードする場合:
WFLOAD apps/pwd 0 Y UPLOAD file.wft
強制的にアップロードする場合:
WFLOAD apps/pwd 0 Y FORCE file.wft
ダウンロードする場合:
WFLOAD apps/pwd 0 Y DOWNLOADfile.wft ITEMTYPE1 [ITEMTYPE2 ...ITEMTYPEN]
apps/pwdは、APPSスキーマのユーザー名とパスワードに、file.wftは、ワークフロー・プロセス定義ファイルのファイル仕様に、ITEMTYPE1、ITEMTYPE2、...ITEMTYPENは、ダウンロードする1つ以上の項目タイプにそれぞれ置き換えます。また、ITEMTYPE1を'*'に置き換えると、すべての項目タイプを同時にダウンロードできます(アスタリスクは必ず一重引用符で囲みます)。
ファイル仕様は次のように指定します。
@<application_short_name>:[<dir>/.../]file.ext
または
<native path>
関連項目
コマンド・ライン・ユーティリティであるワークフローXMLローダーを使用すると、データベースとフラット・ファイルとの間でビジネス・イベント・システムのオブジェクトのXML定義をアップロードおよびダウンロードできます。データベースからビジネス・イベント・システムのオブジェクト定義をダウンロードすると、Oracle WorkflowによってXMLファイルとして保存されます。データベースにオブジェクト定義をアップロードすると、Oracle Workflowによってオブジェクト定義がソースXMLファイルからデータベース内のビジネス・イベント・システム表にロードされます。必要に応じて、新しい定義が作成されたり、既存の定義が更新されます。
ビジネス・イベント・システムのオブジェクトのXML定義は、次の文書タイプ定義(Document Type Definition: DTD)に従って構成されます。
イベント: 『Oracle Workflow APIリファレンス』のWF_EVENTS文書タイプ定義に関する項
イベント・グループ・メンバー: 『Oracle Workflow APIリファレンス』のWF_EVENT_GROUPS文書タイプ定義に関する項
イベント・サブスクリプション: 『Oracle Workflow APIリファレンス』のWF_EVENT_SUBSCRIPTIONS文書タイプ定義に関する項
システム: 『Oracle Workflow APIリファレンス』のWF_SYSTEMS文書タイプ定義に関する項
エージェント: 『Oracle Workflow APIリファレンス』のWF_AGENTS文書タイプ定義に関する項
エージェント・グループ・メンバー: 『Oracle Workflow APIリファレンス』のWF_AGENT_GROUPS文書タイプ定義に関する項
ワークフローXMLローダーでアップロードまたはダウンロードされたXMLファイルには、ワークフロー・オブジェクトXML定義であることを示す拡張子.wfxが付いています。
ビジネス・イベント・システムのオブジェクト定義は、標準ダウンロード・モードまたは完全ダウンロード・モードでダウンロードできます。
標準ダウンロード・モードを使用した場合は、特定のシステムのオブジェクト定義から標準コピーが作成および保存されます。このコピーを使用すると、類似した定義を他のシステムで作成できます。このモードでは、ワークフローXMLローダーによって、オブジェクト定義内の特定のシステム固有のデータがトークンに置き換えられます。たとえば、開発システムのビジネス・イベント・システムのオブジェクト定義を保存して、本番システムにアップロードできるシード・データとして使用するときに選択します。
完全ダウンロード・モードを使用すると、データベースに指定されているオブジェクト定義を保存できます。 このモードのワークフローXMLローダーでは、ほとんどのシステム固有データはトークンに変換されません。すべての値がXMLファイルにコピーされます。たとえば、特定の本番システムのビジネス・イベント・システムのオブジェクト定義を保存して、そのシステムと対話する別の本番システムにレプリケートするときに選択します。
標準ダウンロード・モードでは、ビジネス・イベント・システムのオブジェクト定義にあるシステム固有のデータが次のトークンに置き換えられます。トークンの先頭には、#が付きます。
#NEW: エージェント定義内のエージェント、またはサブスクリプション定義内のイベント・サブスクリプションのグローバル一意識別子を置き換えます。
#LOCAL: エージェント定義またはサブスクリプション定義内の任意の場所にある、ローカル・システムのグローバル一意識別子を置き換えます。
#OWNER: キューを所有するスキーマがエージェント定義内のキュー名およびエージェント・アドレスの一部として表示されるときに、スキーマの名前を置き換えます。
#SID: データベース・システム識別子(SID)がエージェント定義内のエージェント・アドレスの一部として表示されるときに、そのデータベース・システム識別子を置き換えます。
#WF_IN: ローカル・システム上のWF_INエージェントのグローバル一意識別子がイベント・サブスクリプション定義内のソース・エージェント、送信エージェントまたは宛先エージェントとして表示されるときに、そのグローバル一意識別子を置き換えます。
#WF_OUT: ローカル・システム上のWF_OUTエージェントのグローバル一意識別子がイベント・サブスクリプション定義内のソース・エージェント、送信エージェントまたは宛先エージェントとして表示されるときに、そのグローバル一意識別子を置き換えます。
#WF_ERROR: ローカル・システム上の#WF_ERRORエージェントのグローバル一意識別子がイベント・サブスクリプション定義内のソース・エージェント、送信エージェントまたは宛先エージェントとして表示されるときに、そのグローバル一意識別子を置き換えます。
ローダーでは、これらのシステム固有の値をトークンに変換することにより、テンプレート定義を作成します。このテンプレート定義を使用して、類似したオブジェクトを他のシステムで作成できます。トークンが含まれているオブジェクト定義をデータベースにアップロードすると、Oracle Workflowによってそれらのトークンがシステムに適した値に置き換えられます。
注意: ワークフローXMLローダーは、標準ダウンロード・モードでサブスクリプションのグローバル一意識別子をトークンに置き換えるため、かわりにサブスクライブ・システム、ソース・タイプ、トリガー・イベント、ソース・エージェント、所有者名および所有者タグの一意の組合せで各サブスクリプションを識別する必要があります。
ただし、ダウンロードしたビジネス・イベント・システム・オブジェクト定義の移植性を保証するために、ワークフローXMLローダーでは、イベントはダウンロード・モードに関係なく常にイベント名で識別されます。 イベントのグローバル一意識別子がコピーされることはありません。 かわりに、ワークフローXMLローダーではトークン#NEWを使用してイベント定義内のイベントのグローバル一意識別子が置き換えられます。 さらに、イベント名を使用して、イベント・グループ・メンバー定義内のイベント・グループとイベント・グループ・メンバーが表され、イベント・サブスクリプション定義内のトリガー・イベントが表されます。 イベントが別のデータベースにアップロードされると、そのデータベース内でイベント用に新規グローバル一意IDが生成されますが、イベントと関連オブジェクトの照合にはイベント定義内のイベント名が使用されます。
ビジネス・イベント・システムのオブジェクト定義は、標準アップロード・モードまたは強制アップロード・モードでアップロードできます。
標準アップロード・モードでは、ワークフローXMLローダーはオブジェクト定義をソースXMLファイルからデータベースのビジネス・イベント・システム表にロードしますが、カスタマイズ・レベルが「ユーザー」のイベントやサブスクリプションの定義は更新しません。Oracle Workflowでは、このモードを使用してアップグレード時にカスタマイズ設定を保持します。
強制アップロード・モードでは、ワークフローXMLローダーはオブジェクト定義をソースXMLファイルからデータベースのビジネス・イベント・システム表にロードし、カスタマイズ・レベルが「ユーザー」のイベントやサブスクリプションの場合も、既存の定義を上書きします。独自のカスタム・イベントやサブスクリプションを更新するときに、このモードを使用します。
「ビジネス・イベント・システム・データのアクセス保護」および『Oracle Workflow開発者ガイド』のビジネス・イベントの管理に関する項を参照してください。
データベースからのビジネス・イベント・システムのXML定義のダウンロード
ビジネス・イベント・システムのオブジェクト定義をデータベースからフラットXMLファイルにダウンロードするには、oracle.apps.fnd.wf.WFXLoadに対してJavaを実行することでワークフローXMLローダーを実行します。Java Runtime Environment、ワークフローJARファイルが格納されているディレクトリ、Oracle JDBC実装および次のワークフローJARファイルを指しているCLASSPATHを指定する必要があります。
wfjava.jar: ワークフローJavaユーティリティ
wfapi.jar: ワークフローJava API
fndctx.jar: Application Object Libraryサービス
注意: ワークフローJARファイルは、通常は$JAVA_TOP/oracle/apps/fnd/jarディレクトリに格納されています。
たとえば、UNIXでは、次のコマンドを使用してワークフローXMLローダーを実行します。
java -classpath "$<JREPATH>/rt.jar:$<Workflow_JAR_file_directory>:
$<Workflow_JAR_file_directory>/wfjava.jar:
$<Workflow_JAR_file_directory>/wfapi.jar:
$<Workflow_JAR_file_directory>/fndctx.jar:
$<ORACLE_HOME>/jdbc/lib/classes111.zip:"
oracle.apps.fnd.wf.WFXLoad -d[e] <user> <password>
<connect_string> <protocol> <lang> <output_file> <object> <key>
OWNER_TAG <owner_tag>
Windowsでは、次のコマンドを使用します。
java -classpath ";<JREPATH>\rt.jar;<Workflow_JAR_file_directory>;
<Workflow_JAR_file_directory>\wfjava.jar;
<Workflow_JAR_file_directory>\wfapi.jar;
<Workflow_JAR_file_directory>\fndctx.jar;
<ORACLE_HOME>\jdbc\lib\classes111.zip;"
oracle.apps.fnd.wf.WFXLoad -d[e] <user> <password>
<connect_string> <protocol> <lang> <output_file> <object> <key>
OWNER_TAG <owner_tag>
ワークフローXMLローダーを実行するときは、-dオプションまたは-deオプションを使用して、適切なダウンロード・モードを指定します。
-d: 標準ダウンロード・モード。必要に応じて、オブジェクト定義内のシステム固有のデータが、先頭に#が付いたトークンに変換されます。
-de: 完全ダウンロード・モード。 オブジェクト定義はデータベース内で指定されているためコピーされ、システム固有のデータはトークンに変換されません。
また、ダウンロード・コマンド内の次の変数がパラメータに置き換えられます。
<user>: データベース・アカウントのユーザー名。
<password>: データベース・アカウントのパスワード。
<connect_string>: データベースの接続文字列。接続文字列の形式は、JDBCドライバのタイプに応じて変わります。
JDBC OCI8ドライバの場合は、TNSNAMESエントリに指定されたデータベース名を次の形式で指定する必要があります。
<database_name>
JDBC Thinドライバの場合は、2種類の接続文字列を使用できます。一方の接続文字列では、ホスト名、ポート番号およびデータベース・システム識別子(SID)を次の形式で指定する必要があります。
<host_name>:<port_number>:<database_SID>
もう一方の接続文字列では、ホスト名、プロトコル、ポート番号およびSIDで構成されるOracle Netの名前/値ペアを次の形式で指定する必要があります。
(description=(address=(host=<host_name>)(protocol= <protocol>)
(port=<port_number>))(connect_data=(sid=<database_SID>)))
<protocol>: データベース接続に使用するJDBCドライバのタイプ。JDBCドライバのタイプには、oci8またはthinを指定できます。
<lang>: XMLファイルの言語の略称。このパラメータでは、大文字/小文字が区別されます。US(米語)やJA(日本語)など、Oracle Databaseの標準言語略称を使用してください。標準言語略称の一覧は、『Oracle Databaseグローバリゼーション・サポート・ガイド』のロケール・データに関する項を参照してください。
<output_file>: 定義の保存先となる出力ファイルの名前およびフルパス。出力ファイルの拡張子は.wfxであることが必要です。
<object>: ダウンロードするオブジェクト定義のタイプ。
EVENT_GROUPS: イベント・グループの定義
注意: このオブジェクト・タイプにはイベント・グループ自体の定義のみが含まれ、メンバー・イベントに関する情報は含まれません。
EVENTS: 個別イベントのイベント定義と、すべてのイベント・グループ内における各イベントのメンバーシップの定義
SUBSCRIPTIONS: イベント・サブスクリプションの定義
AGENTS: エージェント、エージェント・グループのメンバーおよびシステムの定義
注意: ワークフローXMLローダーでは、ローカル・システムに登録されているイベント・サブスクリプション、エージェント、エージェント・グループ・メンバーおよびシステムの定義のみをダウンロードします。
<key>: ダウンロードする定義を制限するオプション・キー。キーを指定した場合は、内部名にそのキーが含まれるオブジェクト定義だけが取り出されます。このキー値では、大文字/小文字が区別されます。空白を含めることはできません。指定したタイプのオブジェクト定義をすべて取り出す場合は、このパラメータを省略できます。
OWNER_TAG <owner_tag>: ダウンロードするオブジェクト定義を所有するプログラムまたはアプリケーションのオプションのプログラムIDコード。この値では、大文字/小文字が区別されます。空白を含めることはできません。このパラメータを渡す場合は、このパラメータを識別するために所有者タグ値の前にOWNER_TAGマーカーを含める必要があります。
注意: プログラムの出力でより詳細なデバッグ情報を表示する場合は、-dまたは-deオプションの前にDebugMode引数を指定すると、デバッグ・モードでワークフローXMLローダーを実行できます。たとえば、次のコマンドを使用します。
java -classpath <classpath> oracle.apps.fnd.wf.WFXLoad
DebugMode -d[e] <user> <password> <connect_string>
<protocol> <lang> <output_file> <object> <key>
OWNER_TAG <owner_tag>
データベースへのビジネス・イベント・システムのXML定義のアップロード
ビジネス・イベント・システムのオブジェクト定義をXMLファイルからデータベースにアップロードするには、oracle.apps.fnd.wf.WFXLoadに対してJavaを実行することで、ワークフローXMLローダーを実行します。Java Runtime Environment、ワークフローJARファイルが格納されているディレクトリ、Oracle JDBC実装および次のワークフローJARファイルを指しているCLASSPATHを指定する必要があります。
wfjava.jar: ワークフローJavaユーティリティ
wfapi.jar: ワークフローJava API
fndctx.jar: Application Object Libraryサービス
注意: ワークフローJARファイルは、通常は$JAVA_TOP/oracle/apps/fnd/jarディレクトリに格納されています。
たとえば、UNIXでは、次のコマンドを使用してワークフローXMLローダーを実行します。
java -classpath "$<JREPATH>/rt.jar:$<Workflow_JAR_file_directory>:
$<Workflow_JAR_file_directory>/wfjava.jar:
$<Workflow_JAR_file_directory>/wfapi.jar:
$<Workflow_JAR_file_directory>/fndctx.jar:
$<ORACLE_HOME>/jdbc/lib/classes111.zip:"
oracle.apps.fnd.wf.WFXLoad -u[f] <user> <password>
<connect_string> <protocol> <lang> <source_file>
Windowsでは、次のコマンドを使用します。
java -classpath ";<JREPATH>\rt.jar;<Workflow_JAR_file_directory>;
<Workflow_JAR_file_directory>\wfjava.jar;
<Workflow_JAR_file_directory>\wfapi.jar;
<Workflow_JAR_file_directory>\fndctx.jar;
<ORACLE_HOME>\jdbc\lib\classes111.zip;"
oracle.apps.fnd.wf.WFXLoad -u[f] <user> <password>
<connect_string> <protocol> <lang> <source_file>
ワークフローXMLローダーを実行するときは、-uオプションまたは-ufオプションを使用して、適切なアップロード・モードを指定します。
-u: 標準アップロード・モード。ワークフローXMLローダーはオブジェクト定義をソースXMLファイルからデータベースのビジネス・イベント・システム表にロードしますが、カスタマイズ・レベルが「ユーザー」のイベントやサブスクリプションは更新しません。
-uf: 強制アップロード・モード。ワークフローXMLローダーはオブジェクト定義をソースXMLファイルからデータベースのビジネス・イベント・システム表にロードし、カスタマイズ・レベルが「ユーザー」のイベントやサブスクリプションの場合も、既存の定義を上書きします。
また、次の変数をパラメータに置き換えます。
<user>: データベース・アカウントのユーザー名。
<password>: データベース・アカウントのパスワード。
<connect_string>: データベースの接続文字列。接続文字列の形式は、JDBCドライバのタイプに応じて変わります。
JDBC OCI8ドライバの場合は、TNSNAMESエントリに指定されたデータベース名を次の形式で指定する必要があります。
<database_name>
JDBC Thinドライバでは、ホスト名、ポート番号およびデータベース・システム識別子(SID)を次の形式で指定する必要があります。
<host_name>:<port_number>:<database_SID>
<protocol>: データベース接続に使用するJDBCドライバのタイプ。JDBCドライバのタイプには、oci8またはthinを指定できます。
<lang>: XMLファイルの言語の略称。このパラメータでは、大文字/小文字が区別されます。US(米語)やJA(日本語)など、Oracle Databaseの標準言語略称を使用してください。標準言語略称の一覧は、『Oracle Databaseグローバリゼーション・サポート・ガイド』のロケール・データに関する項を参照してください。
<source_file>: 定義のアップロード元となるソース・ファイルの名前およびフルパス。ソース・ファイルの拡張子は.wfxであることが必要です。
アップロードする各サブスクリプションの定義には、フェーズ番号、所有者名および所有者タグを含める必要があります。ワークフローXMLローダーは、この情報がないサブスクリプション定義を含むソース・ファイルをアップロードできません。
完全モードでダウンロードされたサブスクリプション定義がソース・ファイルに含まれている場合、サブスクリプションは、そのグローバル一意識別子に従ってビジネス・イベント・システム表にロードされます。 ただし、トークンを使用して標準モードでサブスクリプション定義をダウンロードした場合、各サブスクリプションは、かわりにサブスクリプション・システム、ソース・タイプ、トリガー・イベント、ソース・エージェント、所有者名および所有者タグの一意の組合せで識別されます。
注意: プログラムの出力でより詳細なデバッグ情報を表示する場合は、-uオプションの前にDebugMode引数を指定すると、デバッグ・モードでワークフローXMLローダーを実行できます。たとえば、次のコマンドを使用します。
java -classpath <classpath> oracle.apps.fnd.wf.WFXLoad
DebugMode -u[f] <user> <password> <connect_string>
<protocol> <lang> <source_file>