【ノーコード】SpagoBI でSAP SuccessFactors に連携する方法

古川えりか
古川えりか
コンテンツスペシャリスト
複雑なSpagoBI × SAP SuccessFactors データ連携をノーコードで。JDBCの設定からレポート配信まで手順を詳しく解説。データ分析・レポーティング環境をすぐに構築できます。

CData JDBC Driver for SAPSuccessFactors はJDBC 標準をサポートするビジネスインテリジェンスおよびデータマイニングツールからリアルタイムSAP SuccessFactors に接続することを可能にします。この記事では、SAP SuccessFactors をSpagoBI Studio のレポートに統合し、SpagoBI サーバーでホストする方法を説明します。

SpagoBI サーバーのJDBC ドライバーをデプロイ

以下のステップに従ってSpagoBI サーバーでJDBC data source for SAPSuccessFactors を作成します。

  1. ドライバーJAR を%CATALINA_BASE%/lib にコピーします。これらのファイルは、インストールディレクトリのlib サブフォルダにあります。
  2. SAP SuccessFactors ドライバーリソースをコンテクストに追加します。以下のリソース定義をserver.xml の[GlobalNamingResources]要素に追加できます。

    
    <Resource name="jdbc/sapsuccessfactors" auth="Container" type="javax.sql.DataSource" driverclassname="cdata.jdbc.sapsuccessfactors.SAPSuccessFactorsDriver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" maxactive="20" maxidle="10" maxwait="-1"/>

  3. 以下のリソースリンクを追加し、Web アプリケーションへのアクセスを許可します。この記事では、SpagoBI のMETA-INF\context.xml に次の行を追加します。
    
    <ResourceLink global="jdbc/sapsuccessfactors" name="jdbc/sapsuccessfactors" type="javax.sql.DataSource"/>
    
  4. サーバーを再起動します。

SpagoBI サーバーのリソースにドライバーを追加した後、データソースを追加します。SpagoBIで[Resources]->[Data Source]->[Add]と進み、以下の情報を入力します。

  • Label:ドライバーに独特の識別子を入力します。
  • Description:ドライバーにディスクリプションを入力します。
  • Dialect:デフォルトの方言を選択します。
  • Read Only:読み取り専用オプションを選択します。このオプションは、データソースがエンドユーザーによって作成された、データセットを保存するためのデフォルトデータベースであるかどうかを決定します。
  • Type:[JDBC]を選択します。
  • URL:
  • 必要な接続文字列プロパティを使用してJDBC URLを入力します。

    SAP SuccessFactorsへの接続

    それでは、SAP SuccessFactors に接続していきましょう。CData 製品は、デフォルトで有効になっているOData API を介してSAP SuccessFactors と通信します。追加の権限が必要な場合は、SAP サポートサイトをご確認ください。

    認証方法として、Azure AD 認証、SAP IAS 認証、OAuth 認証(推奨)、Basic 認証(非推奨)のいずれかを使用してSAP SuccessFactors に認証できます。

    必要な接続プロパティ

    選択したAuthScheme に関わらず、SAP SuccessFactors 環境を識別するために以下の接続プロパティを設定しましょう。

    • URL:SuccessFactors をホストするサーバーのURL
    • CompanyId:SAP SuccessFactors テナントに割り当てられた一意の識別子。この値はAPI 認証に必要で、組織固有のものです

    OAuth 認証

    SAP SuccessFactors では、OAuth 認証を2種類のグラント種別でサポートしています。

    • SAP SuccessFactors LMS インスタンスのクライアントグラント種別
    • SAML-2 Bearer グラント種別

    OAuth 認証を有効にするには、すべてのOAuth フローでカスタムOAuth アプリケーションを作成し、適切なプロパティを設定する必要があります。

    デスクトップアプリケーションでカスタムOAuth アプリケーションの資格情報を使用して認証するには、OAuth アクセストークンを取得し、更新する必要があります。これらを設定すると、接続の準備が整います。

    OAuth アクセストークンの取得およびリフレッシュ

    以下のプロパティを設定してください。

    • InitiateOAuthGETANDREFRESHOAuthAccessToken を自動的に取得およびリフレッシュするために使用します
    • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId
    • CallbackURL:カスタムOAuth アプリケーションの登録時に定義されたリダイレクトURI
    • OAuthClientSecret (クライアントグラント種別のみ):アプリケーションの登録時に割り当てられたクライアントシークレット
    • PrivateKey (SAML-2 Bearer グラント種別のみ):カスタムOAuth アプリケーションの作成時にダウンロードした秘密鍵証明書のパス、またはその証明書のbase64 でエンコードされた内容

    接続すると、CData 製品がデフォルトブラウザでSAP SuccessFactors のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えてください。

    アプリケーションにアクセス許可を与えると、CData 製品がOAuth プロセスを完了します。

    1. CData 製品がSAP SuccessFactors からアクセストークンを取得し、それを使ってデータをリクエストします
    2. OAuth 値はOAuthSettingsLocation で指定されたパスに保存されます。これらの値は接続間で永続化されます

    アクセストークンの期限が切れた際は、CData 製品が自動でアクセストークンをリフレッシュします。

    カスタムOAuth アプリケーションの作成やその他の認証方法については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」をご確認ください。

    ビルトイン接続文字列デザイナ

    JDBC URL の構成については、SAP SuccessFactors JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

    java -jar cdata.jdbc.sapsuccessfactors.jar
    

    接続プロパティを入力し、接続文字列をクリップボードにコピーします。

    Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

    以下は一般的なJDBC URL です。

    jdbc:sapsuccessfactors:User=username;Password=password;CompanyId=CompanyId;Url=https://api4.successfactors.com;
    
  • Driver:ドライバーのクラス名にcdata.jdbc.sapsuccessfactors.SAPSuccessFactorsDriver を入力します。
The configuration for the SAP SuccessFactors JDBC data source.(Salesforce is shown.)

SpagoBI Studio でレポートを作成

以下のステップに従い、SpagoBI StudioでSAP SuccessFactors に基づいたレポートを作成します。SQL クエリの結果をチャートに挿入するデータセットを作成します。次のセクションでは、このレポートをSpagoBI サーバーでホストします。

初めに、SpagoBI Studio のレポートからSAP SuccessFactors に接続してください。

  1. SpagoBI Studio で、[File]->[New]->[Project]とクリックしていき、[Business Intelligence and Reporting Tools]フォルダで[Report Project]を選択します。
  2. [File]->[New]->[Report]と進み、[Blank Report]を選択します。
  3. [Data Explorer]ビューで[Data Sources]を右クリックし、[New Data Source]をクリックします。
  4. [JDBC Data Source]を選択し、データソース名を入力します。
  5. [Manage Drivers]をクリックし、[Add]をクリックしてドライバーJAR(cdata.jdbc.sapsuccessfactors.jar) を追加します。
  6. ドライバーJAR は、インストールディレクトリのlib サブフォルダにあります。
  7. [Driver Class]メニューでドライバークラス(cdata.jdbc.sapsuccessfactors.SAPSuccessFactorsDriver)を選択します。
  8. [Database URL]ボックスに、[JDBC URL]を入力します。以下は一般的な接続文字列です。
    jdbc:sapsuccessfactors:User=username;Password=password;CompanyId=CompanyId;Url=https://api4.successfactors.com;
    
    必要な接続プロパティを取得するためのガイドについては、ドライバーヘルプの[Getting Started]チャプターを見てください。 The JDBC data source.(Salesforce is shown.)

SAP SuccessFactors に接続した後、SQL クエリの結果を含むデータセットを作成します。

  1. [DataSet]フォルダを右クリックし、[New Data Set]をクリックします。JDBC data source for SAPSuccessFactors を選択し、データセットの名称を入力します。
  2. SQL クエリを構築します。ここでは、このクエリを使用してダッシュボードにチャートを追加します。例:
    SELECT address1, zipCode FROM ExtAddressInfo WHERE city = 'Springfield'
    
    The query to be used to populate a chart.(Salesforce is shown.)

データセットを使用して、レポートオブジェクトにデータを入力できます。以下のステップに従って、チャートを作成します。

  1. [Palette]ビューで、チャートをキャンバスにドラッグします。
  2. [Select Chart Type]タブで棒グラフを選択します。
  3. [Select Data]タブで[Use Data From]オプションをクリックし、メニューからSAP SuccessFactors のデータセットを選択します。
  4. address1 をテーブルからx 軸の系列にドラッグします。
  5. zipCode をテーブルからy 軸の系列にドラッグします。 Columns in the dataset defined as the x- and y-axes for the chart.(Salesforce is shown.)

SpagoBI サーバーに関するホストSAP SuccessFactors レポート

以下のステップに従って、SpagoBI サーバーでリアルタイムSAP SuccessFactors に基づいてドキュメントをホストできます。前のセクションで作成したレポートをテンプレートとして使用します。レポートユーザーがリアルタイムデータにアクセスできるようにするには、サーバー上のSAP SuccessFactors JDBC データソースに置き換えられるプレースホルダパラメータを作成します。

  1. 未実行の場合、SpagoBI Studio で[Report Design]パースペクティブで開きます。
  2. [Data Explorer]ビューで[Report Parameters]フォルダを右クリックし、[New Parameter]をクリックします。url パラメータを追加し、それに空の値を割り当てます。このパラメータはSpagoBI サーバー上のJDBC データソースのプレースホルダです。
  3. SAP SuccessFactors のデータソースを右クリックし、[Edit]をクリックします。
  4. [Property Binding]ノードで、JDBC Driver のURL バインディングプロパティurl パラメータに設定します。プロパティのボックスをクリックします。[Category]セクションで[Report Parameters]を選択します。[Subcategory]セクションで[All]を選択し、パラメータをダブルクリックします。

    JavaScript構文に以下のように入力することもできます。

    params["url"].value
    
    Placeholder values in the report for the JDBC data source on the server.

続いて、SpagoBI サーバーでレポート用の新しいドキュメントを作成します。

  1. SpagoBI サーバーで、[Documents Development]->[Create Document]->[Generic Document]と進みます。[Document Details]ページが表示されます。
  2. 以下の情報を入力し、ドキュメントを作成します。
    • Label:ドキュメントに独自の識別子を入力します。
    • Name:ドキュメントのわかりやすい名前を入力します。
    • Type:メニューから[Report]を選択します。
    • Engine:[BIRT Report Engine]を選択します。
    • Data Source:SpagoBI サーバーのCreate a JDBC Data Source for SAPSuccessFactors で作成したSAP SuccessFactors Data Source を選択します。
  3. [Show Document Templates]セクションで、ドキュメントを格納したいフォルダを選択します。
  4. [Template]セクションで、[Choose File]をクリックします。レポートプロジェクトを含むフォルダに移動します。.rptdesign ファイルを選択します。

    Noteプロジェクトへのパスは、プロジェクトプロパティで確認できます。

  5. [Save]ボタンをクリックします。
The document using the report as a template.(Salesforce is shown.)

サーバーでレポートを実行すると、プレースホルダurl パラメータがサーバーで定義されたJDBC URL に置き換えられます。

The chart running on the SpagoBI Server.(Salesforce is shown.)

はじめる準備はできましたか?

SAP SuccessFactors Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

SAP SuccessFactors Icon SAP SuccessFactors JDBC Driver お問い合わせ

SAP SuccessFactors に連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。