CData Software Blog

クラウド連携のCData Software の技術ブログです。

全文検索・情報活用システム QuickSolution にSalesforceのデータを取り込んで検索:CData JDBC Driver

f:id:sugimomoto:20210402152959p:plain

こんにちは。CData Software Japanリードエンジニアの杉本です。

今回は企業内検索ソフトQuickSolutionにCData JDBC Driver経由で様々なデータを取り込み、検索できるようにする方法を紹介します。

QuickSolution とは?

QuickSolution は住友電工情報システムが提供する純国産のエンタープライズサーチソフトウェアです。

OfficeファイルやPDF、Webサイト、データベース、グループウェア、文書管理システム、Box、Microsoft 365など、企業内に存在する様々なデータを横断的に検索・活用できる仕組みを提供しています。

www.sei-info.co.jp

f:id:sugimomoto:20210402153016p:plain

本記事のシナリオ

本記事では CRMSFAクラウドサービスであるSalesforceのデータをQuickSolutionに取り込み、全文検索が実施できるようするための手順を解説します。

通常 QuickSolution はファイルサーバーやSharePoint、Notesといったファイル・ドキュメント管理サービスを検索対象とします。

f:id:sugimomoto:20210402153025p:plain

しかしながら、Salesforce は現在検索対象としてサポートされていません。

そこで本記事ではQuickSolutionがもともと備えているRDBJDBCのインターフェースを利用することで、Salesforceを検索できるようにします。

CData Software Japan では SalesforceやKintone、JIRAなどに接続することができる各種JDBC Driverを200種類ほど提供しています。

https://www.cdata.com/jp/jdbc/#drivers

f:id:sugimomoto:20200702152837p:plain

この各種JDBC DriverをQuickSolutionの既存の機能と組み合わせることで、QuickSolutionからシームレスにWeb APIアクセスが可能となり、GUIからの設定のみで各種クラウドサービス・SaaSのデータをロードし収集することができるようになります。

f:id:sugimomoto:20210402153044p:plain

手順

それでは実際に QuickSolution から Salesforce に接続し、データを収集する方法を紹介したいと思います。

必要なもの

なお、今回はWindows Server 2016 に予め QuickSolution をインストールしています。

Salesforce JDBC Driver のインストール

まず、CData Salesforce JDBC Driver をインストールします。トライアルは以下のURLから入手できます。

www.cdata.com

f:id:sugimomoto:20200116122206p:plain

ダウンロード後、exeファイルを実行し、セットアップを進めます。

JDBC Driver を QuickSolution のlibフォルダに配置

CData Salesforce JDBC Driver のインストールが完了すると、以下のフォルダにJDBC Driverの本体であるjarファイルが生成されます。

C:\Program Files\CData\CData JDBC Driver for Salesforce 2020J\lib

f:id:sugimomoto:20200702152855p:plain

この「cdata.jdbc.salesforce.jar」ファイルとライセンスファイルである「cdata.jdbc.salesforce.lic」をQuickSolutionの以下のフォルダに配置します。

C:\QuickSolution12.0\lib

f:id:sugimomoto:20210402153057p:plain

これで、CData Driverの準備は完了です。

インデックスの構成

それでは、QuickSolution側の設定も進めていきましょう。

QuickSolutionでは、管理ツール上でインデックスと呼ばれる検索対象を設定して、取り込むデータの管理を行います。

今回はこのインデックスに、CData JDBC Driver経由でSalesforceのデータを取り込む設定を追加します。

まずQuickSolutionを立ち上げて、管理ツールにアクセスし、対象のアカウントでログインします。

f:id:sugimomoto:20210402153105p:plain

ログイン後、画面の下にある「検索対象を追加」をクリックします。

任意の検索対象名を入力し、種別から「RDB」を選択して、「次へ」をクリックします。

f:id:sugimomoto:20210402153118p:plain

続いて、接続するJDBC Driverのクラス名とSalesforce へ接続するための接続URLを設定します。

接続URLにはSalesforce へのログインユーザーID・PWと共にSalesforce から取得できるセキュリティトークンを指定します。

プロパティ名 備考
JDBCドライバ cdata.jdbc.salesforce.SalesforceDriver CData JDBC Driverのクラス名を指定
URL 例)jdbc:salesforce:User=XXX@XXXX.com;Password=XXXX;Security Token=XXXX; 詳しい設定値はこちらを参照してください
ユーザID 例)YOUR_USER_ID SalesforceのユーザーIDを指定
パスワード 例)YOUR_USER_PASSWORD SalesforceのユーザーPWを指定

f:id:sugimomoto:20210402153128p:plain

次の画面に移ると、以下のようにSalesforce上のオブジェクト一覧がテーブルとしてリストアップされます。

ここで取り込みたい任意のオブジェクトを指定します。今回はSalesforce上の取引先責任者にあたる「Contact」テーブルを指定しました。

f:id:sugimomoto:20210412135536p:plain

続けて読み込み条件、差分更新の判定、そしてQuickSolutionで扱う対象フィールドを指定します。

差分更新の設定は、もし更新日付を持っているデータであれば指定可能です。Salesforceでは共通でLastModifiedDateという更新日付を持つフィールドが存在するので、これをSQL_DATE型で判定します。これにより差分データを取得する際に、必要最低限のリクエストで行うことができるようになります。

合わせてQuickSolutionで検索対象となる対象フィールドも指定します。検索対象としたい任意のフィールドを選びましょう。IdはユニークIDに指定しておきます。

f:id:sugimomoto:20210412135801p:plain

保存をクリックし、以下のようにメッセージが表示されれば、インデックスの作成は成功です。

合わせて、「インデックスを初回(再)生成するにはこちら」をクリックし、データの取り込みを実行してしまいましょう。

f:id:sugimomoto:20210402153156p:plain

以下の画面で「実行」をクリックすると、取り込みが開始されます。

f:id:sugimomoto:20210402153203p:plain

取り込み結果は、インデックスの状態一覧画面で確認できます。

最後に、検索画面でCData Driverで取り込んだ項目を対象に指定できるように「アクセス制御設定」を行います。

以下のようにアクセス権を付与して、保存しておきましょう。

f:id:sugimomoto:20210402153217p:plain

これで、QuickSolutionの設定は完了です。

必要に応じて、差分更新などの設定も合わせて行ってください。

QuickSolution 上で検索の実施

それでは実際に QuickSolution 上で検索ができるか確認してみます。

QuickSolutionの検索画面にアクセスし、ログインします。

ログイン後、検索対象として取り込んだインデックスを指定し、検索をかけてみると、以下のようにデータを取得できました。

f:id:sugimomoto:20210412140058p:plain

しっかりと、Salesforce上のデータが読み込まれていることがわかりますね。

f:id:sugimomoto:20210412140117p:plain

おわりに

このように、CData JDBC Driverを利用することで、特にSalesforce APIの仕様を意識することなく、QuickSolutionにデータを取り込むことが可能です。

今回はSalesforceの取引先責任者を取り込みの対象としましたが、例えば商談(Opportunity)やサポーケース(Case)なども対象にすることで、顧客に関する情報を横断的に検索することも可能になります。

またCData では Salesforce 以外にも数多くの JDBC Driver を提供しています。

kintone や Sansan といった日本のクラウドサービスや JIRA、Gmail、などのKBやナレッジが非定形で蓄積されているようなデータソース、もしくはSAPなどのERPにも対応しているので、QuickSolutionの検索対象とすることでより業務効率化やコラボレーションの強化に活かせるのではないかと思います。

https://www.cdata.com/jp/jdbc/

f:id:sugimomoto:20200116122333p:plain

すべて30日間のトライアルがあるので、是非一度試してみてください。