PeopleSoft コネクタ

Premium

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

前提条件

このドキュメントは、読者が Mule、Anypoint コネクタ、Anypoint Studio、Mule の概念、Mule フローの要素、グローバル要素に精通していることを前提としています。

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

Maven でこのコネクタを使用するには、Anypoint Exchange の [Dependency Snippets (連動関係スニペット)] で pom.xml の連動関係情報を確認してください。

このコネクタの新機能

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

コンポーネントインターフェース (CI)

PeopleSoft のコンポーネントインターフェースは、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) (プロパティおよびコレクション (項目およびレコード)): プロパティを使用すると、コンポーネントデータとコンポーネントインターフェース設定の両方にアクセスできます。プロパティは、項目またはスクロール (コレクション) に対応します。コンポーネントインターフェースコレクションは、特殊な種別のプロパティで、スクロールに対応し、基礎となるコンポーネントで定義されている項目や下位スクロールが含まれます。プロパティには 2 種類あります。

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

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

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

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

      Method (メソッド) 説明

      Create

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

      Cancel (キャンセル)

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

      Find (検索)

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

      Get

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

      Save (保存)

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

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

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

Design Center での接続方法

  1. Design Center で、[Set Up (セットアップ)] > [Upload (アップロード)] をクリックし、ファイルシステムにあるこのコネクタのドライバを参照して選択し、アップロードします。または、すでにアップロードされているドライバを検索して選択します。

  2. トリガをクリックします。

  3. コネクタの HTTP グローバル要素を作成するには、次の項目を設定します。

    HTTP リスナの設定
    1. Protocol (プロトコル): HTTP エンドポイント用に選択したプロトコル。HTTP または HTTPS (セキュア) を選択できます。

    2. Host (ホスト): Mule アプリケーションが要求をリスンする IP アドレス。

    3. Port (ポート): Mule アプリケーションが要求をリスンするポートアドレス。

    4. Base Path (ベースパス): Mule アプリケーションが要求をリスンするパス。

  4. プラス記号を選択して、コンポーネントを追加します。

  5. コンポーネントとしてコネクタを選択します。

  6. 次の項目を設定します。

    トリガオプション
    パラメータ 説明

    Configuration Name (設定名)

    後ほど参照できるように設定の名前を入力します。

    Application Server (アプリケーションサーバ)

    サービスへのアクセス元サーバの URL を入力します。HOST:PORT の形式に従う必要があります。たとえば、my.host.com:9000 などです。

    Username (ユーザ名)

    PeopleSoft インスタンスにログインするためのユーザ名を入力します。

    Password (パスワード)

    対応するパスワードを入力します。

    Domain Connection Password (ドメイン接続パスワード)

    省略可能。PeoplSoft インスタンスで設定されている場合、ドメイン接続パスワードを入力します。

    Component Interface IDs (コンポーネントインターフェース ID)

    [Add (追加)] ボタンを選択し、コンポーネントインターフェースの名前を設定して [OK] をクリックします。

このコネクタのライブラリの追加

  1. コネクタの [Global Configuration (グローバル設定)] に移動します。

  2. メッセージの下の [Set Up (セットアップ)] をクリックして、ドライバをセットアップします。

  3. ライブラリをアップロードして選択します。

    ライブラリのアップロード

Anypoint Studio 7 での接続

このコネクタは、連動関係として Mule アプリケーションに追加すれば Anypoint Studio で使用できます。

Studio でコネクタをインストールする

  1. Anypoint Studio で Mule プロジェクトを開きます。

  2. コネクタを連動関係として pom.xml ファイルに追加します。

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

Studio で設定する

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

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

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

    パラメータ

    Display Name (表示名)

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

    Extension Configuration (拡張機能設定)

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

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

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

    Operation (操作)

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

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

    Studio の [Configuration (設定)] 画面の画像

ユースケース: 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 (検索)

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

    DataWeave - 入力
  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
    }
  7. ブラウザに応答を表示するために、[PeopleSoft] 要素の後に [Transform Message (メッセージの変換)] をもう 1 つ追加します。

    %dw 2.0
    output application/json
    ---
    payload
  8. PeopleSoft コネクタに渡されたデータを 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": ""
    },
    ...
]

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

ユースケース: XML

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:peoplesoft="http://www.mulesoft.org/schema/mule/peoplesoft"
	xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns="http://www.mulesoft.org/schema/mule/core"
	xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/peoplesoft http://www.mulesoft.org/schema/mule/peoplesoft/current/mule-peoplesoft.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
	<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="1fbb684d-badc-45e0-b1a2-3aad0a17596e" >
		<http:listener-connection host="0.0.0.0" port="8081" />
	</http:listener-config>
	<peoplesoft:config name="PeopleSoft_Config" doc:name="PeopleSoft Config" doc:id="d6e17fef-cad6-4c16-859c-a50c5fc06a79" >
		<peoplesoft:connection server="${config.server}" username="${config.username}" password="${config.password}" domainConnectionPassword="${config.domainPassword}" >
			<peoplesoft:component-interface-ids >
				<peoplesoft:component-interface-id value="CI_PERSONAL_DATA" />
			</peoplesoft:component-interface-ids>
		</peoplesoft:connection>
	</peoplesoft:config>
	<flow name="find-employee-flow" doc:id="edfe458a-fc80-43c1-85a9-53fe57d840e1" >
		<http:listener config-ref="HTTP_Listener_config" path="/find" doc:name="Listener" doc:id="d13da911-1079-461f-bb87-180344503920" />
		<ee:transform doc:name="Transform Message" doc:id="915c5ab7-7feb-4fd1-9780-272fe37bf1d8" >
			<ee:message >
				<ee:set-payload ><![CDATA[%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
}]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<peoplesoft:invoke-operation config-ref="PeopleSoft_Config" component="CI_PERSONAL_DATA" operation="Find" doc:name="Find Employees" doc:id="21f9f83b-5d26-45e7-9d13-47650f973394" />
		<ee:transform doc:name="Transform Message" doc:id="2664a502-6980-4349-94d2-1ffb8b01a959" >
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<logger level="INFO" doc:name="Logger" doc:id="28fd6c17-7af2-4dd9-a8ed-c8d0cf1991af" message="#[payload]"/>
	</flow>
	<flow name="peoplesoft_demoFlow" doc:id="59bba5f0-5e29-4a3b-b6b2-5559367171b6" >
		<http:listener config-ref="HTTP_Listener_config" path="/save" doc:name="Listener" doc:id="51aaa3a1-8117-4af2-b3cc-ff1514984598" />
		<ee:transform doc:name="Transform Message" doc:id="a065721e-54c3-429d-99d2-e46b647c5976" >
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
{
}]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<peoplesoft:invoke-operation config-ref="PeopleSoft_Config" component="CI_PERSONAL_DATA" operation="Save" doc:name="Invoke Operation" doc:id="23e23e82-677f-44f8-9feb-a068cea31a0c" />
	</flow>
</mule>

関連情報

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub