Oracle PeopleSoft Connector 3.1 - Mule 4

Oracle PeopleSoft 用 Anypoint Connector (PeopleSoft Connector) は、クローズドソースコネクタで、コンポーネントインターフェース (CI) を使用して、リアルタイムでサービスと通信します。これは、Oracle の PeopleTools によって提供されるコンポーネントです。

PeopleTools 8.61 でコネクタを実行するには、​-DTM_ALLOW_NOTLS=Y​ フラグを次の両方の場所に追加する必要があります。

  • Studio の ​[Run (実行)]​ > ​[Run Configurations (実行設定)]​ ウィンドウ > ​[Arguments (引数)]​ タブ > ​[VM arguments (VM 引数)]

  • AnypointStudio.ini​ ファイルの ​-Dmule.deployment. forceParseConfigXmls=true​ フラグの後など

始める前に

この情報を使用するには、PeopleSoft、Mule Runtime Engine (Mule)、Anypoint Connector、Anypoint Studio、Mule の概念、Mule フローの要素、グローバル要素に精通している必要があります。

対象リソースへの接続をテストするには、ログイン情報が必要です。

POM ファイル情報

<dependency>
  <groupId>org.mule.connectors</groupId>
  <artifactId>mule-peoplesoft-connector</artifactId>
  <version>x.x.x</version>
  <classifier>mule-plugin</classifier>
</dependency>
xml

x.x.x​ を使用しているコネクタに対応するバージョンに置き換えます。

最新の ​pom.xml​ ファイル情報を取得するには、​ Anypoint ExchangeLeaving the Site​ でコネクタにアクセスし、​[Dependency Snippets (連動関係スニペット)]​ をクリックします。

このコネクタの新機能

コネクタ設定のユーザーインターフェースが一新されました。 操作の入力と出力は JSON です。 Save (保存) 操作の日付変換が修正されました。

コンポーネントインターフェース

PeopleSoft のコンポーネントインターフェース (CI) は、PeopleSoft データベースインスタンスへの一方向のリアルタイムインターフェースです。PeopleSoft のコンポーネントは、[Employee Onboarding (従業員オンボーディング)] などの完全なビジネストランザクションを表す PeopleSoft ページの論理的なグルーピングです。コンポーネントインターフェースでは、PeopleSoft コンポーネントによって使用される基礎となる API が公開されるため、入力規則、デフォルト、ビジネスロジックがそれらのコンポーネントの元の定義から保持されます。

コンポーネントインターフェースを使用すると、PeopleSoft への特定のレコードの照会、データの更新、レコードの新しいインスタンスの作成を行うことができます。

属性とアーキテクチャ

コンポーネントインターフェースには、次の 4 つの主要属性があります。

PeopleSoft アーキテクチャ
  • Component Interface Name (コンポーネントインターフェース名): 各コンポーネントインターフェースには一意の名前が必要です。コンポーネントをコールするプログラムは、コンポーネントインターフェースの名前を使用してプロパティやメソッドにアクセスします。

  • Keys (Get keys, Create keys, and Find keys) (キー (取得キー、作成キー、検索キー)): キーは特殊なプロパティで、コンポーネントインターフェースのインスタンスを取得する値 (取得キー) やインスタンスのリストを取得する値 (検索キー) が含まれています。キーの追加、削除、変更は、PeopleSoft Application Designer で実行できます。キーは、コンポーネントインターフェースを作成すると自動的に作成されます。

  • Get keys (取得キー): [Components Search (コンポーネント検索)] レコードで検索キーとしてマークされている項目にマップされます。

  • Create keys (作成キー): [Component Properties (コンポーネントプロパティ)] ダイアログの [Use (使用)] タブで [Add (追加)] アクションが許可されている場合に CI で生成されます。

  • Find keys (検索キー): [Component Search (コンポーネント検索)] レコードで [Alternate Search Key (代替検索キー)] および [Search Key (検索キー)] の両方としてマークされている項目にマップされます。

  • Properties and Collections (Fields and Records) (プロパティおよびコレクション (項目およびレコード)): プロパティを使用すると、コンポーネントデータとコンポーネントインターフェース設定の両方にアクセスできます。プロパティは、項目またはスクロール (コレクション) に対応します。コンポーネントインターフェースコレクションは、特殊な種別のプロパティで、スクロールに対応し、基礎となるコンポーネントで定義されている項目や下位スクロールが含まれます。
    プロパティの種別:

    • 標準プロパティは、コンポーネントインターフェースを作成すると自動的に割り当てられます。

  • ユーザー定義プロパティは、PeopleSoft コンポーネントのレコード項目にマップされ、PeopleSoft Application Designer に表示されます。

    • Methods (メソッド): メソッドは、実行時にコンポーネントインターフェース上で特定のタスクを実行する関数です。メソッドの主な種別には、標準とユーザー定義の 2 種類があります。

      標準メソッドは、すべてのコンポーネントインターフェースで使用できるメソッドです。このコネクタでは、次の標準メソッドがサポートされています。

      メソッド 説明

      Create (作成)

      コンポーネントインターフェースの新しいインスタンスを PeopleSoft データベースに追加します。これは、PeopleSoft Web UI で [Add (追加)] をクリックし、関連するキーを入力するのと似ています。

      Cancel (キャンセル)

      コンポーネントインターフェースのインスタンスをキャンセルします。これは、特定のコンポーネントで作業しているときの Web UI での [Cancel (キャンセル)] 操作と同等です。

      Find (検索)

      指定した [Search Key (検索キー)] に一致するコンポーネントのインスタンスを検索します。一致候補のリストが返されます。

      Get (取得)

      指定した特定のキーに一致するインスタンスを取得します。1 件のレコードが返されるか、何も返されません。

      Save (保存)

      新規または既存のコンポーネントに対する変更を保存します。

      [Save (保存)] 操作では、新しいレコードを作成する前に、既存のレコードの更新が試みられます。新しいレコードの場合、PeopleSoft インスタンスによって指定されたデフォルト値が自動的にキーに入力されるため、ユーザーはデフォルトのキー/値ペアを指定する必要がありません。

  • ユーザー定義のメソッドは、コンポーネントインターフェースに機能を追加するために PeopleSoft Application Designer で作成されます。

Studio プロジェクトへのコネクタの追加

Anypoint Studio には、Studio プロジェクトにコネクタを追加する 2 つの方法があります。Studio タスクバーの Exchange ボタンから追加するか、[Mule Palette (Mule パレット)] ビューから追加します。

Exchange を使用してコネクタを追加する

  1. Studio で Mule プロジェクトを作成します。

  2. Studio タスクバーの左上にある Exchange アイコン ​(X)​ をクリックします。

  3. Exchange で、​[Login (ログイン)]​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。

  4. Exchange で、「peoplesoft」を検索します。

  5. コネクタを選択して ​[Add to project (プロジェクトに追加)]​ をクリックします。

  6. 画面の指示に従ってコネクタをインストールします。

Studio でコネクタに追加する

  1. Studio で Mule プロジェクトを作成します。

  2. [Mule Palette (Mule パレット)] ビューで、​[(X) Search in Exchange ((X) Exchange 内を検索)]​ をクリックします。

  3. [Add Modules to Project (モジュールをプロジェクトに追加)]​ で、検索項目に「peoplesoft」と入力します。

  4. [Available modules (使用可能なモジュール)]​ で、このコネクタの名前をクリックします。

  5. [Add (追加)]​ をクリックします。

  6. [Finish (完了)]​ をクリックします。

Studio で設定する

  1. コネクタを Studio キャンバスにドラッグします。

  2. コネクタ設定を作成し、パラメーターを設定し、​psjoa​ ライブラリを追加します。

  3. Invoke Operation のプロパティエディターで、残りのパラメーターを設定します。

    パラメーター

    Display Name (表示名)

    Studio で表示する操作の名前。

    Extension Configuration (拡張機能設定)

    作成したグローバル要素への参照名。

    Component Name (コンポーネント名)

    コンポーネントインターフェース名。

    Operation (操作)

    選択した CI で実行する操作。

    コネクタ設定は、次の画像のようになります。

    [Global Element Properties (グローバル要素プロパティ)]

要求と応答の記録

コネクタを使用するときに要求と応答を記録するには、Mule アプリケーションの ​log4j2.xml​ 設定ファイルの ​Loggers​ 要素に次の行を追加して、ロガーを設定します。

<AsyncLogger name="org.mule.modules.peoplesoft.extension.internal.service.PeopleSoftServiceImpl" level="DEBUG"/>
xml

次の例は、​AsyncLogger​ 行が追加された ​Loggers​ 要素を示しています。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <AsyncLogger name="org.mule.modules.peoplesoft.extension.internal.service.PeopleSoftServiceImpl" level="DEBUG" additivity="false">
            <appender-ref ref="Console" level="debug"/>
        </AsyncLogger>
    </Loggers>
</Configuration>
xml

アプリケーションログは次の方法で表示できます。

  • アプリケーションを Anypoint Platform から実行している場合、出力は Anypoint Studio のコンソールウィンドウに表示される。

  • コマンドラインから Mule を使用してアプリケーションを実行している場合、アプリケーションログは OS コンソールに表示される。

アプリケーションのログファイル (​log4j2.xml​) でログファイルパスがカスタマイズされていない場合、次のデフォルトの場所でアプリケーションログを表示することもできます。

MULE_HOME/logs/<app-name>.log

アプリケーションログについての詳細は、​「ログの設定」​を参照してください。

ユースケース: 従業員レコードコレクションを取得する

Listener、Transform Message、Find Employees、Transform Message、および Logger を含む従業員 Studio フロー
  1. Anypoint Studio で新しい Mule プロジェクトを作成します。

  2. HTTP リスナーをキャンバスにドラッグし、次のパラメーターを設定します。

    パラメーター

    Display Name (表示名)

    HTTP

    Extension Configuration (拡張機能設定)

    まだ HTTP 要素が作成されていない場合、プラス記号をクリックして新しい [HTTP Listener Configuration (HTTP リスナー設定)] を追加し、[Host (ホスト)] と [Port (ポート)] を設定し、[OK] をクリックします。

    Path (パス)

    /find

  3. [PeopleSoft Invoke Operation] を HTTP エンドポイントコンポーネントの横にドラッグし、次の手順に従って設定します。

    1. [Basic Settings (基本設定)] 項目でプラス記号をクリックして、新しい [PeopleSoft Configuration (PeopleSoft 設定)] を追加します。

    2. 必須項目にログイン情報を入力して、グローバル要素を設定します。

    3. psjoa​ ライブラリを追加します。

    4. [Component Interface IDs (コンポーネントインターフェース ID)] に ​CI_PERSONAL_DATA​ を追加します。

  4. [Test Connection (接続をテスト)] をクリックして、Mule が PeopleSoft インスタンスに接続できることを確認します。正常に接続できた場合は、[OK] をクリックして設定を保存します。そうでない場合は、見直して、誤ったパラメーターを修正してからもう一度テストします。

  5. Invoke Operation のプロパティエディターに戻り、残りのパラメーターを設定します。

    パラメーター

    Display Name (表示名)

    Find Employees

    Extension Configuration (拡張機能設定)

    PeopleSoft (作成したグローバル要素への参照名)。

    Component Name (コンポーネント名)

    CI_PERSONAL_DATA​ (従業員データを保持するコンポーネントインターフェース名)。

    Operation (操作)

    Find (検索)

    コネクタ設定は、次のようになります。

    Find 操作のプロパティウィンドウ設定
  6. FIND (検索) メソッドに必要な入力パラメーターを指定するために、HTTP エンドポイントと PeopleSoft エンドポイントの間に [Transform Message (メッセージの変換)] (コア) 要素を追加します。入力項目は自動的に入力されます。

    DataWeave 入力

    [Transform Message (メッセージの変換)] 内で、項目を queryParamas に関連付けます。こうすることで、各値を URL から動的に設定できます。

    %dw 2.0
    output application/json
    ---
    {
    	KEYPROP_EMPLID: attributes.queryParams.id,
    	PROP_NAME: attributes.queryParams.name,
    	PROP_LAST_NAME_SRCH: attributes.queryParams.lastname,
    	PROP_NAME_AC: attributes.queryParams.nameac
    }
    dataweave
  7. ブラウザーに応答を表示するために、[PeopleSoft] 要素の後に [Transform Message (メッセージの変換)] をもう 1 つ追加します。

    %dw 2.0
    output application/json
    ---
    payload
    dataweave
  8. PeopleSoft Connector に渡されたデータを Mule コンソールに出力するために、JSON トランスフォーマーの後にロガースコープを追加します。

  9. 保存して、Mule アプリケーションとして実行します。次に、Web ブラウザーを開き、URL ​http://localhost:8081/find?id=0004&name=&last_name=&name_ac=​ を入力した後に応答を確認します。PeopleSoft データベース内に、KEYPROP_EMPLID に値「MULE」が含まれるレコードがある場合は、それらのレコードの JSON コレクションを取得する必要があります。そうしないと、取得したコレクションが空になります。

[
    {
    "KEYPROP_EMPLID": "MULE0001",
    "PROP_NAME": "Muley",
    "PROP_LAST_NAME_SRCH": "The Mule",
    "PROP_NAME_AC": ""
    },
    {
    "KEYPROP_EMPLID": "MULE0002",
    "PROP_NAME": "Second Muley",
    "PROP_LAST_NAME_SRCH": "The Backup Mule",
    "PROP_NAME_AC": ""
    },
    ...
]
json

+ この例では、FIND (検索) 操作のすべての入力パラメーターは省略可能です。いずれも定義しなかった場合 (​http://localhost:8081/find?id=&name=&last_name=&name_ac=​)、PeopleSoft は使用可能な最初の 300 件のレコードを取得します (サーバーによって制限される最大値)。

ユースケース: XML