SAP SuccessFactors コネクタ

Select

SuccessFactors 用の Mule コネクタでは、SuccessFactors によって公開されている ODATA API を使用してエンティティをクエリ、作成、更新、削除できます。

このコネクタでは、次の操作を実行できます。

  • エンティティを作成、更新、削除する。

  • 単一エンティティの取得または複数エンティティのクエリを行う。

注意: このコネクタは、Anypoint Design Center では使用できません。

前提条件

このドキュメントは、読者が SuccessFactors、Mule、Anypoint コネクタ、Anypoint Studio Essentials に精通していることを前提としています。

このコネクタを使用するには、以下が必要です。

  • 開発者アカウントまたは他の有効な SAP SuccessFactors インスタンス

  • MuleSoft Enterprise ライセンス

ハードウェアとソフトウェアの要件および互換性に関する情報は、「コネクタリリースノート」を参照してください。

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

このコネクタの新機能

このバージョンのコネクタでは、Mule 4.x のサポートが追加されています。

このコネクタは、SuccessFactors によって公開されている ODATA API に対応しています。

サポートされている操作

SuccessFactors コネクタでは、次のアウトバウンド操作がサポートされています。

  • Create Entity

  • Delete Entity

  • Get entity by merge

  • Query

  • Update Entity By Merge

  • Update Entity By Replacement

Anypoint Studio 7 での接続

Anyconnect Studio でこのコネクタを使用するには、最初に Exchange からダウンロードし、必要に応じて設定します。

Studio でのコネクタのインストール

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

  2. Anypoint Exchange で [Login (ログイン)] をクリックします。

  3. このコネクタを検索して [Install (インストール)] をクリックします。

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

Studio の更新がある場合、右下隅にメッセージが表示されます。メッセージをクリックすると、更新をインストールできます。

Studio での設定

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

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

    <dependency>
        <groupId>com.mulesoft.connectors</groupId>
        <artifactId>mule-sap-successfactors-connector</artifactId>
        <version>3.0.0</version>
        <classifier>mule-plugin</classifier>
    </dependency>

SuccessFactors コネクタのグローバル要素を設定する

Mule アプリケーションで SuccessFactors コネクタを使用するには、アプリケーションで必要な任意の数の SuccessFactors コネクタで使用できるグローバル SuccessFactors 設定要素を設定する必要があります。

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

  2. [Global Configuration Elements (グローバル設定要素)] 画面で、[Create (作成)] をクリックします。次のウィンドウが表示されます。

    [Global Element Configuration (グローバル要素設定)] ウィザード
  3. [Choose Global Type (グローバル種別を選択)] ウィザードで、[Connector Configuration (コネクタ設定)] を展開し、[SuccessFactors connector Config (SuccessFactors コネクタ設定)] を選択して [OK] をクリックします。

    [Basic Connection (基本接続)] の次の設定画面が表示されます。

    [Basic Connection (基本接続)] 画面
  4. 次のプロパティを設定します。

    パラメータ 説明

    Company ID (会社 ID)

    会社 ID。

    User Name (ユーザ名)

    接続するためのユーザ名。

    Password (パスワード)

    接続するためのパスワード。

    Data Center’s Endpoint URL (データセンターのエンドポイント URL)

    SuccessFactors Web API URL。

    Enable Session Reuse (セッション再利用を有効化)

    セッションが存続します。

    注意:

    • 上記の [Basic configuration (基本設定)] 画面のプレースホルダ値は、プロジェクトの src/main/resources フォルダの設定ファイル mule-artifact.properties を参照します。

    • ログイン情報をグローバル設定プロパティに入力するか、それらの値を含む設定ファイルを参照することができます。

    • メンテナンスをシンプルにして、プロジェクトを再利用できるようにするために、設定ファイルを使用することをお勧めします。これらの値を別個のファイルに保存しておくと、アクセスログイン情報が異なるさまざまな環境 (本番、開発、QA など) にデプロイする必要がある場合に便利です。

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

ユースケース: Studio でセットアップおよび実行する

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

  2. プロジェクト名を指定して、[Finish (完了)] をクリックします。

  3. 「http」を検索し、HTTP コネクタをキャンバスにドラッグします。 [Connector Configuration (コネクタ設定)] の横にある緑のプラス記号をクリックし、メニューで [OK] をクリックしてデフォルト値を受け入れます。

  4. SuccessFactors コネクタの操作をキャンバスにドラッグします。 [Connector Configuration (コネクタ設定)] の横にある緑のプラスをクリックし、アクセスログイン情報を指定します。

  5. 認証の接続戦略をクリックします。

    • Basic Connection (基本接続)

基本接続の設定方法

「SuccessFactors コネクタのグローバル要素を設定する」セクションの説明に従って基本接続を設定します。

フローの実行方法

  1. Package Explorer で、プロジェクトの名前を右クリックし、[Run As (別のユーザとして実行)] > [Mule Application (Mule アプリケーション)] をクリックします。

  2. アプリケーションの起動時にコンソールを確認します。エラーが発生していない場合、次のようなメッセージが表示されます。

************************************************************
INFO  2018-07-14 22:12:42,003 [main] org.mule.module.launcher.DeploymentDirectoryWatcher:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Mule is up and kicking (every 5000ms)                    +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INFO  2018-07-14 22:12:42,006 [main] org.mule.module.launcher.StartupSummaryDeploymentListener:
**********************************************************
*  - - + DOMAIN + - -               * - - + STATUS + - - *
**********************************************************
* default                           * DEPLOYED           *
**********************************************************

************************************************************************
* - - + APPLICATION + - -   * - - + DOMAIN + - -  * - - + STATUS + - - *
************************************************************************
* myapp                     * default             * DEPLOYED           *
************************************************************************

例: SuccessFactors

この例では、SuccessFactors コネクタの使用について説明します。

このデモプロジェクトを構築して実行するには、以下が必要です。

  • Mule 4.0 Runtime 以上を備えた Anypoint Studio

  • SuccessFactors コネクタ v3.0.0 以降

  • ODATA API 要求を送信するためのログイン情報

フローのテスト方法

  1. Anypoint Exchange を使用するか、Anypoint Studio で [File (ファイル)] メニューの [Import (インポート)] コマンドを使用して、デモプロジェクトをワークスペースにインポートします。

  2. /src/main/app/mule-app.properties ファイルで基本ログイン情報を指定します。

  3. Studio でプロジェクトを実行します。

  4. ブラウザで localhost:8081 と入力し、デモの選択メニューにアクセスします。

  5. 必要に応じて、[Connection Timeout (接続タイムアウト)] と [Read Timeout (読み取りタイムアウト)] を設定できます。

    [Connection Timeout (接続タイムアウト)] は、サーバに初めて接続するときのタイムアウトです。 [Read Timeout (読み取りタイムアウト)] は、サーバからのデータの読み取りを待機するときのタイムアウトです。

http://localhost:8081 の選択メニューを使用して、フローをテストできます。

ユースケース: SuccessFactors の操作

Studio 7 の操作フロー
Studio 7 の操作フロー
<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:successfactors="http://www.mulesoft.org/schema/mule/successfactors"
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:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.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/successfactors
http://www.mulesoft.org/schema/mule/successfactors/current/mule-successfactors.xsd">
  <http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" >
      <http:listener-connection host="0.0.0.0" port="8081" />
  </http:listener-config>
  <successfactors:config name="SuccessFactors_Configuration" doc:name="SuccessFactors Configuration" >
      <successfactors:basic-connection
              companyId="${config.companyId}"
              userName="${config.userName}"
              password="${config.password}"
              endpointUrl="${config.endpointUrl}"/>
      </successfactors:config>
      <configuration-properties file="automation-credentials.properties"/>

      <flow name="Query">
           <http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="/list"/>
           <successfactors:query entitySetName="VendorInfo" doc:name="Query"
	   config-ref="SuccessFactors_Configuration" />
           <ee:transform doc:name="Transform Message">
               <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" message="#[payload]"/>
       </flow>

           <flow name="Create-Entry">
           <http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="/createVendor"/>
           <ee:transform doc:name="Transform Message">
               <ee:message >
                   <ee:set-payload ><![CDATA[%dw 2.0
   output application/java
   ---
   {
       vendorCode: "XYZ123ABC",
       effectiveStartDate: "2018-07-08T00:00:00"  as DateTime,
       effectiveStatus: "I"
   }]]></ee:set-payload>
               </ee:message>
           </ee:transform>
           <successfactors:create-entity doc:name="Create entity"
	   config-ref="SuccessFactors_Configuration" entitySetName="VendorInfo"/>
           <ee:transform doc:name="Transform Message" >
               <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" message="#[payload]"/>
       </flow>

           <flow name="Get-Entity-by-Id">
           <http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="/getById"/>
           <ee:transform doc:name="Transform Message">
               <ee:message>
                   <ee:set-payload><![CDATA[%dw 2.0
   output application/java
   ---
   {
   	effectiveStartDate: attributes.queryParams.effectiveStartDate as DateTime,
   	vendorCode: attributes.queryParams.vendorCode
   }]]></ee:set-payload>
               </ee:message>
           </ee:transform>
   		<successfactors:get-entity-by-id entitySetName="VendorInfo" doc:name="Get entity by id"
		config-ref="SuccessFactors_Configuration" />
           <ee:transform doc:name="Transform Message">
               <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" message="#[payload]"/>
       </flow>

       <flow name="Delete-Entry">
           <http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="/deleteVendor"/>
           <ee:transform doc:name="Transform Message">
               <ee:message >
                   <ee:set-payload ><![CDATA[%dw 2.0
   output application/java
   ---
   {
       effectiveStartDate: attributes.queryParams.effectiveStartDate as DateTime,
       vendorCode: attributes.queryParams.vendorCode as String
   }]]></ee:set-payload>
               </ee:message>
           </ee:transform>
           <successfactors:delete-entity entitySetName="VendorInfo" doc:name="Delete entity"
	   config-ref="SuccessFactors_Configuration" />
           <ee:transform doc:name="Transform Message">
               <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" message="#[payload]"/>
       </flow>
</mule>

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub