Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerSAP SuccessFactors 用 Anypoint Connector (SuccessFactors Connector) では、SuccessFactors によって公開されている OData API を使用してエンティティをクエリ、作成、更新、削除できます。
このコネクタでは、次の操作を実行できます。
エンティティを作成、更新、削除する
単一エンティティの取得または複数エンティティのクエリを行う
ソフトウェアの要件および互換性については、『SAP SuccessFactors Connector リリースノート』を参照してください。
このコネクタを使用するには、以下に精通している必要があります。
SAP SuccessFactors
Mule Runtime Engine (Mule)
Anypoint Connector
Anypoint Studio の基礎
このコネクタを使用するには、以下が必要です。
開発者アカウントまたは他の有効な SAP SuccessFactors インスタンス
MuleSoft Enterprise ライセンス
SuccessFactors Connector では、次のアウトバウンド操作がサポートされています。
Create Entity
Delete Entity
Get Entity by ID
Query
Update
Update Entity
Upsert Entity
Anypoint Studio には、Studio プロジェクトにコネクタを追加する 2 つの方法があります。Studio タスクバーの Exchange ボタンから追加するか、[Mule Palette (Mule パレット)] ビューから追加します。
Studio で Mule プロジェクトを作成します。
Studio タスクバーの左上にある Exchange アイコン (X) をクリックします。
Exchange で、[Login (ログイン)] をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。
Exchange で、「success」を検索します。
コネクタを選択して [Add to project (プロジェクトに追加)] をクリックします。
画面の指示に従ってコネクタをインストールします。
Studio で Mule プロジェクトを作成します。
[Mule Palette (Mule パレット)] ビューで、[(X) Search in Exchange ((X) Exchange 内を検索)] をクリックします。
[Add Modules to Project (モジュールをプロジェクトに追加)] で、検索項目に「success」と入力します。
[Available modules (使用可能なモジュール)] で、このコネクタの名前をクリックします。
[Add (追加)] をクリックします。
[Finish (完了)] をクリックします。
Mule アプリケーションで SuccessFactors Connector を使用するには、アプリケーションで必要な任意の数の SuccessFactors Connector インスタンスで使用できるグローバル SuccessFactors 設定要素を設定します。
キャンバスの下部にある [Global Elements (グローバル要素)] タブをクリックします。
[Global Configuration Elements (グローバル設定要素)] 画面で [Create (作成)] をクリックして [Choose Global Type (グローバル種別の選択)] ウィンドウを開きます。
[Choose Global Type (グローバル種別の選択)] ウィンドウで、次の操作を実行します。
[Connector Configuration (コネクタ設定)] を展開します。
[SuccessFactors Connector Config (SuccessFactors Connector 設定)] を選択します。
[OK] をクリックします。
[Basic Connection (基本接続)] の次の設定ダイアログウィンドウが表示されます。
次のプロパティを設定します。
| パラメーター | 説明 |
|---|---|
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 を参照します。
ログイン情報をグローバル設定プロパティに入力するか、それらの値を含む設定ファイルを参照することができます。
メンテナンスの簡略化とプロジェクトの再利用性の向上のために、設定ファイルを使用するのが最善です。これらの値を別個のファイルに保存しておくと、アクセスログイン情報が異なるさまざまな環境にデプロイする必要がある場合に便利です。
[OK] をクリックして、グローバルコネクタ設定を保存します。
Anypoint Studio で、[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)] をクリックします。
プロジェクト名を指定して、[Finish (完了)] をクリックします。
http を検索し、HTTP Connector をキャンバスにドラッグします。
[Connector Configuration (コネクタ設定)] の横にある緑のプラス記号をクリックし、メニューで [OK] をクリックしてデフォルト値を受け入れます。
SuccessFactors Connector の操作をキャンバスにドラッグします。
[Connector Configuration (コネクタ設定)] の横にある緑のプラスをクリックし、アクセスログイン情報を指定します。
認証の接続戦略をクリックします。
次のプロパティを設定します。
| パラメーター | 説明 |
|---|---|
Company ID (会社 ID) |
会社 ID。 |
User Name (ユーザー名) |
接続するためのユーザー名。 |
Password (パスワード) |
接続するためのパスワード。 |
Data Center’s Endpoint URL (データセンターのエンドポイント URL) |
SuccessFactors Web API URL。 |
Enable Session Reuse (セッション再利用を有効化) |
セッションが存続します。 |
+ . [OK] をクリックします。
Package Explorer で、プロジェクトの名前を右クリックし、[Run As (別のユーザーとして実行)] > [Mule Application (Mule アプリケーション)] をクリックします。
アプリケーションの起動時にコンソールを確認します。エラーが発生していない場合、次のようなメッセージが表示されます。
************************************************************
INFO 2019-07-14 22:12:42,003 [main] org.mule.module.launcher.DeploymentDirectoryWatcher:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Mule is up and kicking (every 5000ms) +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INFO 2019-07-14 22:12:42,006 [main] org.mule.module.launcher.StartupSummaryDeploymentListener:
**********************************************************
* - - + DOMAIN + - - * - - + STATUS + - - *
**********************************************************
* default * DEPLOYED *
**********************************************************
************************************************************************
* - - + APPLICATION + - - * - - + DOMAIN + - - * - - + STATUS + - - *
************************************************************************
* myapp * default * DEPLOYED *
************************************************************************
この例では、SuccessFactors Connector の使用について説明します。
このデモプロジェクトを構築して実行するには、以下が必要です。
Mule 4.1.1 以降の Anypoint Studio。
SuccessFactors Connector v3.0.0 以降。
OData API 要求を送信するための SuccessFactors ログイン情報。
Anypoint Studio の [File (ファイル)] メニューで、デモプロジェクトをワークスペースにインポートします。
/src/main/app/mule-app.properties ファイルで基本ログイン情報を指定します。
Studio でプロジェクトを実行します。
ブラウザーで localhost:8081 と入力し、デモの選択メニューにアクセスします。
必要に応じて、次のパラメーターを設定できます。
Connection Timeout (接続タイムアウト)
サーバーに初めて接続するときのタイムアウト。
Read Timeout (読み取りタイムアウト)
サーバーからのデータの読み取りを待機するときのタイムアウト。
http://localhost:8081 の選択メニューを使用して、フローをテストできます。
<?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>
Anypoint Studio の [Filter (検索条件)] 項目で、[Query (クエリ)] 値を使用します。これにより、独自の検索条件を作成できます。
[Value (値)] 項目で、 「ODATA URI Conventions (ODATA URI 変換)」サイトの項目 4.5 で説明されている形式を使用して検索条件オプションを入力します。
クエリに [Entity set name (エンティティセット名)] を追加する必要はありません。リストから選択する必要があります。
例:
startswith(username, 'Mule') eq true
startswith(username, 'JA') eq true or endswith(username, 'n3') eq true
username eq 'Mike'
[Query (クエリ)] の値は [Filter (検索条件)] 項目にのみ使用されます。コネクタによって実際のクエリが作成されます。