SuccessFactors Connector - Mule 3

SAP SuccessFactors 用 Anypoint Connector (SuccessFactors Connector) では、SuccessFactors によって公開されている SFAPI API を使用してエンティティをクエリ、作成、更新、削除できます。本製品の詳細は、 SuccessFactors HCM スイートサイトLeaving the Siteを参照してください。

始める前に

この情報を使用するには、SAP SuccessFactors に精通して、 SAP アカウントLeaving the Siteを持っている必要があります。 このコネクタを使用するには、SuccessFactors Connector がインストールされている Anypoint StudioLeaving the Site が稼動している必要があります。

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

  1. Anypoint Studio で、Studio タスクバーの Exchange アイコンをクリックします。

  2. Anypoint Platform のログイン情報で Exchange にサインインします。

  3. Anypoint Exchange で [Provided by MuleSoft (MuleSoft による提供)] をクリックします。

  4. Mule 3 Connector を検索して [Install (インストール)] をクリックします。

新規プロジェクトを作成する

SuccessFactors Connector を Mule アプリケーションで使用するには、まず Anypoint Studio で新しい Mule プロジェクトを作成します。

  1. Anypoint Studio で、[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)] をクリックします。

  2. 新しいプロジェクトの名前を入力し、残りのオプションをデフォルト値のままにします。

  3. Git を使用する場合、[Create a default .gitignore file (デフォルトの gitignore ファイルを作成)] を選択し (Studio プロジェクトの場合は無視設定)、[Next (次へ)] をクリックします。

  4. [Finish (完了)] をクリックして、プロジェクトを作成します。

名前空間とスキーマの場所

コネクタを Studio キャンバスにドラッグすると、Mule アプリケーションの設定 XML に名前空間とスキーマの場所が自動的に入力されます。

​名前空間:

xmlns:successfactors="http://www.mulesoft.org/schema/mule/successfactors"

​スキーマの場所:

http://www.mulesoft.org/schema/mule/successfactors/current/mule-successfactors.xsd

Studio の XML エディターまたは他のテキストエディターで Mule アプリケーションを手動でコーディングする場合、設定 XML のヘッダーの <mule> タグ内で名前空間およびスキーマの場所を定義します。

Studio Visual Editor で SuccessFactors グローバル要素を設定する方法

  1. Mule アプリケーションで SuccessFactors Connector を使用するには、アプリケーション内のすべての SuccessFactors Connector が使用できるグローバル設定要素を設定します。

  2. キャンバスの下部にある [Global Elements (グローバル要素)] タブをクリックします。

  3. [Global Mule Configuration Elements (グローバル Mule 設定要素)] 画面で、[Create (作成)] をクリックします。

  4. [Choose Global Type (グローバル種別の選択)] ウィザードで、[Connector Configuration (コネクタ設定)] を展開し、[SuccessFactors] を選択します。

  5. [OK] をクリックします。

  6. 以下の指示に従ってパラメーターを設定します。

    Global Element Configuration (グローバル要素設定)
    項目 説明

    Name (名前)

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

    Username (ユーザー名)

    SuccessFactors にログインして API にアクセスするためのユーザー名。

    Password (パスワード)

    そのユーザー名のパスワード。

    Company ID (会社 ID)

    情報を管理する SuccessFactors の組織の ID。

    Connection Timeout (接続タイムアウト)

    クライアントがタイムアウトするまで接続の確立を試みる時間 (ミリ秒) を指定します。0 を指定すると、接続の確立を無期限に試行します。

    Receive Timeout (受信タイムアウト)

    クライアントがタイムアウトするまで応答を待機する時間 (ミリ秒) を指定します。0 を指定すると無限に待ちます。

    WSDL Location (WSDL の場所)

    SFAPI SOAP 1.1 WSDL の場所。

    Fetch all entities (すべてのエンティティを取得)

    すべての操作で利用できるエンティティの完全なリストを表示するには、このチェックボックスをオンにします。このリストの作成には非常に長い時間を要するため、このチェックボックスはオフにしておくことを強くお勧めします。このチェックボックスをオフにした場合は、[Entity List (エンティティリスト)] 項目を設定してください。

    Entity List (エンティティリスト)

    [Fetch all entities (すべてのエンティティを取得)] チェックボックスをオフにした場合は必須です。作業するすべてのエンティティ名のリストを入力してください。

  7. [Test Connection (接続をテスト)] をクリックし、「Connection Successful (接続に成功しました)」のメッセージが返されることを確認してください。

  8. [OK] をクリックして、グローバルコネクタ設定を保存します。

XML エディターで SuccessFactors グローバル要素を設定する方法

  1. Mule アプリケーションで SuccessFactors Connector を使用するには、アプリケーション内のすべての SuccessFactors Connector が使用できるグローバル設定要素を設定します。

  2. 設定ファイルに SuccessFactors 名前空間を含めます。

    <?xml version="1.0" encoding="UTF-8"?>
    
    <mule xmlns:successfactors="http://www.mulesoft.org/schema/mule/successfactors"
    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/successfactors http://www.mulesoft.org/schema/mule/successfactors/current/mule-successfactors.xsd">
    </mule>
    xml
  3. 次のグローバル設定コードを使用して、フローの外側と上にグローバル SuccessFactors 設定を作成します。

    <successfactors:config name="Success_Factors__Configuration" username="${username}" password="${password}" companyId="${companyId}" wsdlLocation="${wsdlLocation}" doc:name="Success Factors: Configuration" fetchAllEntities="false">
            <successfactors:entity-list>
                <successfactors:entity-list>Goal$1</successfactors:entity-list>
                <successfactors:entity-list>picklistlabel</successfactors:entity-list>
                <successfactors:entity-list>picklistoption</successfactors:entity-list>
                <successfactors:entity-list>TrendData_sysOverallCompetency</successfactors:entity-list>
                <successfactors:entity-list>user</successfactors:entity-list>
            </successfactors:entity-list>
        </successfactors:config>
    xml
    項目 説明

    Name (名前)

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

    Username (ユーザー名)

    SuccessFactors にログインして API にアクセスするためのユーザー名。

    Password (パスワード)

    そのユーザー名のパスワード。

    Company ID (会社 ID)

    情報を管理する SuccessFactors の組織の ID。

    Connection Timeout (接続タイムアウト)

    クライアントがタイムアウトするまで接続の確立を試みる時間 (ミリ秒) を指定します。0 を指定すると、接続の確立を無期限に試行します。

    Receive Timeout (受信タイムアウト)

    クライアントがタイムアウトするまで応答を待機する時間 (ミリ秒) を指定します。0 を指定すると無限に待ちます。

    WSDL Location (WSDL の場所)

    SFAPI SOAP 1.1 WSDL の場所。

    Fetch all entities (すべてのエンティティを取得)

    すべての操作で利用できるエンティティの完全なリストを表示するには、true に設定します。このリストの作成には非常に長い時間を要するため、このチェックボックスはオフにしておくことを強くお勧めします。false に設定した場合は、[Entity List (エンティティリスト)] 項目を設定してください。

    Entity List (エンティティリスト)

    [Fetch all entities (すべてのエンティティを取得)] パラメーターを false に設定した場合は必須です。作業するすべてのエンティティ名のリストを入力してください。

コネクタの使用

操作の詳細を見るには、 SuccessFactors Connector テクニカルリファレンスLeaving the Siteを参照し、ご利用のコネクタバージョンの APIdoc をクリックしてください。

Maven 対応の Mule アプリケーションでのコネクタの使用

Maven 対応の Mule アプリケーションをコーディングしている場合は、次のスニペットを pom.xml ファイルに含める必要があります。

<dependency>
  <groupId></groupId>
  <artifactId></artifactId>
  <version>x.y.z</version>
</dependency>
xml

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

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

SuccessFactor Connector のユースケースとデモ

SuccessFactors Connector は操作ベースのコネクタであり、SFAPI API によって公開されている Web サービス操作を呼び出すことができます。

このマニュアルセクションでは、このコネクタのシンプルなユースケースシナリオを簡単に説明します。

すべてのユースケース例は、1 つの Mule アプリケーションに保存されています。ユースケースのフロー XMLを参照してください。

List Entities のユースケース

このフローは、組織内のエンティティのリストを取得します。

list_flow

コネクタ自身は、選択する操作以外は追加の設定を必要としません。

list_flow_connector_config

テストするため、Studio でフローを実行し、ブラウザーウィンドウを開きます。http://localhost:8081/Leaving the Site にアクセスして、[List Entities] セクションにある [List (リスト)] ボタンをクリックします。

Describe Entity のユースケース

このフローは、組織内のエンティティから利用できるメタデータをすべて取得します。

describe_flow

Describe Entities 操作では、メタデータを取得するエンティティに対応する文字列のリストのみを指定する必要があります。次の例では、先行するエンドポイントから送信されたペイロードを取るように次の入力を設定します。

describe_flow_connector_config

コネクタ用の入力を設計するには、Transform Message コンポーネントを介して利用できる Dataweave を使用します。出力は、HTTP Connector からのクエリパラメーター「entity」を唯一の要素として含むリストです。

Transform Message コンポーネント内で、DataWeave エディターに次の DataWeave コードを追加します。

%dw 1.0
%output application/java
---
[inboundProperties."http.query.params".'entity']
text

Studio でフローを実行してテストし、ブラウザーウィンドウを開きます。http://localhost:8081/Leaving the Site にアクセスします。[List Entities] セクションにある [List (リスト)] をクリックして、いずれかのエンティティ名をクリックします。そして、[Describe Entities] セクションにある [Describe (説明)] ボタンをクリックし、選択したエンティティで利用できるすべてのメタデータを表示します。

Query のユースケース

このフローは、SuccessFactors に対してクエリを実行して応答を表示します。

query_flow

Query 操作では、クエリとページサイズを指定する必要があります。

ネイティブ (SFQL) クエリ言語を入力するか、または DataSense クエリビルダーを使用してクエリを作成できます。

query_flow_query_builder

ページサイズはデフォルトのままで構いません。

query_flow_connector_config

テストするため、Mule Studio でフローを実行し、ブラウザーウィンドウを開きます。 http://localhost:8081/query​ にアクセスします。 ブラウザーにクエリの結果が表示されます。

Upsert のユースケース

このフローは次の処理を実行します。

  • 新規ユーザーを挿入する (すでに存在する場合は更新する)。

  • 更新/挿入の結果を返す。

upsert_flow

SuccessFactors エンドポイントを ​Upsert 操作で設定する必要があります。まず、更新/挿入するエンティティの種別を選択します。この例では User です。[Type (種別)] ドロップダウンの内容が表示されていない場合は、右側の更新ボタンをクリックします。 DataWeave によってペイロードから入力構造が取得されます。

upsert_flow_connector_config

DataWeave は、HTTP エンドポイントのペイロードから取った JSON オブジェクトを、Upsert 操作で必要な入力であるマップに変換します。

テストするため、Mule Studio でフローを実行し、ブラウザーウィンドウを開きます。http://localhost:8081/ にアクセスし、[Upsert User] セクションにある [Submit (送信)] ボタンをクリックして、Upsert 操作の結果をブラウザーで表示します。

Update のユースケース

このフローは次の処理を実行します。

  • User エンティティを新しいユーザー名で更新する。

  • 最後の更新からの出力を返す。

update_flow

SuccessFactors エンドポイントを Update 操作で設定する必要があります。まず、更新するエンティティの種別を選択します。ここでは User です。[Type (種別)] ドロップダウンの内容が表示されていない場合は、右側の更新ボタンをクリックします。 DataWeave によってペイロードから入力構造が取得されます。

DataWeave は、HTTP エンドポイントのペイロードから取った JSON オブジェクトを、Update 操作で必要な入力であるマップに変換します。

テストするため、Mule Studio でフローを実行し、ブラウザーウィンドウを開きます。http://localhost:8081/ にアクセスし、[Update User (ユーザーを更新)] セクションにある [Submit (送信)] ボタンをクリックして、Update 操作の結果をブラウザーで表示します。Upsert のデモを実行してある場合は、Update ジョブの入力はすでに設定されています。

Insert のユースケース

このフローは、新しい Goal$1 エンティティを挿入して、挿入からの出力を返します。

insert_flow

SuccessFactors エンドポイントを Insert 操作で設定する必要があります。挿入するエンティティの種別を選択します。ここでは Goal$1 です。[Type (種別)] ドロップダウンの内容が表示されていない場合は、右側の更新ボタンをクリックします。 DataWeave によってペイロードから入力構造が取得されます。

insert_flow_connector_config

DataWeave は、HTTP エンドポイントのペイロードから取った JSON オブジェクトを、Insert 操作で必要な入力であるマップに変換します。

テストするため、Mule Studio でフローを実行し、ブラウザーウィンドウを開きます。http://localhost:8081/ にアクセスし、[Insert Goals] セクションにある [Submit (送信)] ボタンをクリックして、Insert 操作の結果をブラウザーで表示します。

Delete のユースケース

このフローは、既存の Goal エンティティを削除して、削除からの出力を返します。

delete_flow

SuccessFactors エンドポイントを Delete 操作で設定する必要があります。削除するエンティティの種別を選択します。[Type (種別)] ドロップダウンの内容が表示されていない場合は、右側の更新ボタンをクリックします。 DataWeave によってペイロードから入力構造が取得されます。

delete_flow_connector_config

DataWeave は、HTTP エンドポイントのペイロードから取った JSON オブジェクトを、Delete 操作で必要な入力であるマップに変換します。

dataweave_payload

テストするため、Mule Studio でフローを実行し、ブラウザーウィンドウを開きます。http://localhost:8081/ にアクセスし、[Delete Goals] セクションにある [Submit (送信)] ボタンをクリックして、Delete 操作の結果をブラウザーで表示します。Insert のデモを実行してある場合は、Delete ジョブの入力はすでに設定されています。

ユースケースのフロー XML

ユースケースの例を実行するには、次のコードを XML エディターに貼り付けます。