イベント・テーブルの作成と PeopleSoft JAR ファイルのコンパイル
必要な 2 つの JAR ファイルのうち、最初のファイル (名前は PSFTCI.jar になります) は、手動でビルドしてコンパイルする必要があります。
PeopleSoft コネクターは、指定された間隔で PeopleSoft Enterprise サーバーでイベントのポーリングを行います。イベントを検出すると、コネクターは、イベント・データをビジネス・オブジェクトに変換して、クライアント・アプリケーションに送信します。このシナリオを使用するには、PeopleSoft Enterprise サーバーでカスタム・イベント・プロジェクトを作成する必要があります。
イベント・ストア
イベント・ストアは、ポーリング・コネクターが処理できるようになるまで、データ変更を表すイベントを保持するテーブルです。コネクターは、イベント・エンティティーを追跡するために、イベント・ストアを使用します。インバウンド処理を使用するには、PeopleTools Application Designer を使用して、イベント通知用のカスタム・プロジェクトを作成する必要があります。 カスタム・プロジェクトは、コネクターがインバウンド処理を行うために必要なイベント・ストアを作成します。ビジネス・オブジェクトが作成、更新、または削除されるたびに、プロジェクトで使用されてからコンポーネント・インターフェースに追加される PeopleCode 関数により、適切なオブジェクト名、キー、および状況値を持つ新規レコードがイベント・ストアに挿入されます。
インバウンド処理中、コネクターは、構成されたポーリング間隔でイベント・ストアからイベントをポーリングします。それぞれのポーリング呼び出しでは、構成された数のイベントがコネクターによって処理されます。イベント処理の順番は、優先順位の昇順およびイベント・タイム・スタンプの昇順に基づいています。各ポーリング周期でのポーリングでは、「ポーリング準備完了 (0)」状況のイベントが選出されます。コネクターは、対応するビジネス・オブジェクトを取得するために、オブジェクト名とオブジェクト・キーを使用します。 以下の表に示すように、イベントがイベント・ストアから取得され、処理されると、イベントの状況が変わり、その状態を反映します。
状況のショート・ネーム | 説明 | イベント・テーブル値 |
---|---|---|
イベント処理エラー | イベント処理中にエラーが発生しました。 | -1 |
ポーリング準備完了 | イベントは選出される準備が整っています。 | 0 |
成功 | イベントはイベント・マネージャーに配信されました。 | 1 |
削除済み | イベントは、正常に処理され、イベント・ストアから削除されています。 | 4 |
I. イベント・テーブルを作成するには
- イベント・テーブルを作成する
- WBI_CUSTOMER_COMP コンポーネントにトリガーを追加する
- コンポーネント・インターフェース用の Java™ API を作成する
- <Cast Iron のインストール・ディレクトリー>¥etc¥peoplesoft¥scripts にある WBI_CUST_PROJ プロジェクトを PeopleTools が実行されているマシンの一時ディレクトリー (C:¥Projects) にコピーします。
- PeopleSoft アプリケーション・デザイナーにログオンし、「ツール」>「プロジェクトのコピー (Copy Project)」>「ファイルから (From File)」を選択します。
- C:¥Projects ディレクトリーを参照します。「下のリストからプロジェクトを選択 (Select Project from the List Below)」から、WBI_CUST_PROJ をダブルクリックします。
- 「ファイルからコピー (Copy From File)」ダイアログで「コピー」をクリックします。操作が完了するのを待ちます。
- 左のパネルで WBI_CUST_PROJ を選択してから、メインメニューから「ビルド」>「プロジェクト」を選択します。
- 「ビルド」パネルで、以下のチェック・ボックスを選択します。
- テーブルの作成
- ビューの作成 (Create Views)
- トリガーの作成 (Create Trigger)
- 実行およびビルド・スクリプト (Run and build script)
- プロジェクトのビルドを開始するには「ビルド」をクリックします。
- 「ビルドの進行中 (Build Progress)」ダイアログを終了するには「閉じる」をクリックします。
- アプリケーション・デザイナーの「ビルド・ログ (Build Log)」ビューで、ログ・メッセージを調べて、3 つのレコードが正しく処理されたことを確認します。
- 「ファイル」>「すべて保存」を選択し、変更内容を保存します。
- コンポーネント・インターフェースのユーザー・セキュリティーを構成するために、PeopleSoft Web クライアント (http://localhost/psp/ps/?cmd=login) にログオンします。
- 「PeopleTools」>「セキュリティー」>「許可と役割 (Permissions & Roles)」>「許可リスト (Permission Lists)」に移動します。
- 「先頭 (begins with)」の編集ボックスで PTPT1200 を指定して、「検索」をクリックします。
- 「コンポーネント・インターフェース (Component Interfaces)」タブに移動し、「+」をクリックしてコンポーネント・インターフェース WBI_CUSTOMER_COMP_INTERFACE を追加します。
- WBI_CUSTOMER_COMP_INTERFACE の「編集」をクリックします。
- すべてのメソッドについて「フルアクセス (Full Access)」を選択して、「OK」をクリックします。
- 「コンポーネント・インターフェース」タブに戻り、「+」をクリックしてコンポーネント・ インターフェース IBM_EVENT_CI を追加します。
- IBM_EVENT_CI の「編集」をクリックします。
- すべてのメソッドについて「フルアクセス (Full Access)」を選択して、「OK」をクリックします。
- 「コンポーネント・インターフェース (Component Interfaces)」タブに戻り、「保存」ボタンを押して変更内容を保存します。
II. トリガーを追加するには
- PeopleSoft アプリケーション・デザイナーで WBI_CUST_PROJ プロジェクトを開きます。
- 左のパネルで WBI_CUSTOMER_COMP を右クリックし、「PeopleCode の表示 (View PeopleCode)」を選択します。
- PeopleCode の編集ウィンドウの右パネルで「SavePostChange」を選択します。
- 編集ウィンドウで次の PeopleCode を入力します。
Declare Function IBMPublishEvent PeopleCode IBM_FETCH_ID.IBM_NEXT_EVENT_ID FieldFormula; Component string &BONAME1; Component string &KEYLIST1; &BONAME1 = "WbiCustomerCompInterface"; &KEYLIST1 = "WBI_CUSTOMER.WBI_CUSTOMER_ID"; /* Check if Component Changed before calling function*/ If ComponentChanged() And %UserId <> "C" Then /* Publish this event to the IBM WebSphere IBM_EVENT_TBL for polling */ IBMPublishEvent(&BONAME1; &KEYLIST1); End-If;
- 「ファイル」>「すべて保存」を選択し、変更内容を保存します。
- 上記ステップで作成されたトリガーを正常に機能させるには、なんらかの初期化作業が必要です。PeopleTools が使用するデータベースに接続し、次の SQL ステートメントを実行してください。
$ insert into PS_IBM_FETCH_ID values(1000); $ commit;
III. コンポーネント・インターフェース用の Java API を作成するには
- PeopleSoft アプリケーション・デザイナーで IBM_EVENT_CI コンポーネント・インターフェースを開きます。
- メインメニューから「ビルド」>「PeopleSoft API」を選択します。
- 「PeopleSoft API バインディングのビルド (Build PeopleSoft API Bindings)」ダイアログで、「Java クラス (Java Classes)」の「ビルド」チェック・ボックスのみが選択されていることを確認します。生成された Java ファイルを保管するターゲット・ディレクトリーを設定します。「ビルドする API の選択 (Select API to Build)」リストで、以下の項目を選択します。
- CompIntfc.CompIntfcPropertyInfo
- CompIntfc.CompIntfcPropertyInfoCollection
- CompIntfc.IBM_EVENT_CI で始まるすべて
- CompIntfc.WBI_CUSTOMER_COMP_INTERFACE で始まるすべて
- 「OK」をクリックします。ターゲット・ディレクトリーを調べて、Java ファイルが正常に生成されたことを確認します。
- 生成された Java ファイルを C:¥Temp ディレクトリーにコピーしてから、psjoa.jar ファイルを <PeopleTools_HOME>¥web¥psjoa ディレクトリーから C:¥Temp ディレクトリーにコピーします。
- ディレクトリーを C:¥Temp と入力し、以下のコマンドを実行して Java ファイルをビルドします。
$ javac -classpath .¥psjoa.jar PeopleSoft¥Generated¥CompIntfc¥*.java $ jar -cvf PSFTCI.jar PeopleSoft¥Generated¥CompIntfc¥*.class
これらの 2 つの JAR ファイル psjoa.jar と PSFTCI.jar は、PeopleSoft Enterprise アプリケーションにアクセスするために PeopleSoft コネクターによって使用されます。