こんにちは。CData Software Japanリードエンジニアの杉本です。
今回は企業内検索ソフトQuickSolutionにCData JDBC Driver経由で様々なデータを取り込み、検索できるようにする方法を紹介します。
QuickSolution とは?
QuickSolution は住友電工情報システムが提供する純国産のエンタープライズサーチソフトウェアです。
OfficeファイルやPDF、Webサイト、データベース、グループウェア、文書管理システム、Box、Microsoft 365など、企業内に存在する様々なデータを横断的に検索・活用できる仕組みを提供しています。
本記事のシナリオ
本記事では CRM・SFAのクラウドサービスであるSalesforceのデータをQuickSolutionに取り込み、全文検索が実施できるようするための手順を解説します。
通常 QuickSolution はファイルサーバーやSharePoint、Notesといったファイル・ドキュメント管理サービスを検索対象とします。
しかしながら、Salesforce は現在検索対象としてサポートされていません。
そこで本記事ではQuickSolutionがもともと備えているRDB・JDBCのインターフェースを利用することで、Salesforceを検索できるようにします。
CData Software Japan では SalesforceやKintone、JIRAなどに接続することができる各種JDBC Driverを200種類ほど提供しています。
https://www.cdata.com/jp/jdbc/#drivers
この各種JDBC DriverをQuickSolutionの既存の機能と組み合わせることで、QuickSolutionからシームレスにWeb APIアクセスが可能となり、GUIからの設定のみで各種クラウドサービス・SaaSのデータをロードし収集することができるようになります。
手順
それでは実際に QuickSolution から Salesforce に接続し、データを収集する方法を紹介したいと思います。
必要なもの
- QuickSolution 本体
- CData Salesforce JDBC Driver
- Salesforce アカウント(トライアルの取得方法はこちらを参照)
なお、今回はWindows Server 2016 に予め QuickSolution をインストールしています。
Salesforce JDBC Driver のインストール
まず、CData Salesforce JDBC Driver をインストールします。トライアルは以下のURLから入手できます。
ダウンロード後、exeファイルを実行し、セットアップを進めます。
JDBC Driver を QuickSolution のlibフォルダに配置
CData Salesforce JDBC Driver のインストールが完了すると、以下のフォルダにJDBC Driverの本体であるjarファイルが生成されます。
C:\Program Files\CData\CData JDBC Driver for Salesforce 2020J\lib
この「cdata.jdbc.salesforce.jar」ファイルとライセンスファイルである「cdata.jdbc.salesforce.lic」をQuickSolutionの以下のフォルダに配置します。
C:\QuickSolution12.0\lib
これで、CData Driverの準備は完了です。
インデックスの構成
それでは、QuickSolution側の設定も進めていきましょう。
QuickSolutionでは、管理ツール上でインデックスと呼ばれる検索対象を設定して、取り込むデータの管理を行います。
今回はこのインデックスに、CData JDBC Driver経由でSalesforceのデータを取り込む設定を追加します。
まずQuickSolutionを立ち上げて、管理ツールにアクセスし、対象のアカウントでログインします。
ログイン後、画面の下にある「検索対象を追加」をクリックします。
任意の検索対象名を入力し、種別から「RDB」を選択して、「次へ」をクリックします。
続いて、接続する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を指定 |
次の画面に移ると、以下のようにSalesforce上のオブジェクト一覧がテーブルとしてリストアップされます。
ここで取り込みたい任意のオブジェクトを指定します。今回はSalesforce上の取引先責任者にあたる「Contact」テーブルを指定しました。
続けて読み込み条件、差分更新の判定、そしてQuickSolutionで扱う対象フィールドを指定します。
差分更新の設定は、もし更新日付を持っているデータであれば指定可能です。Salesforceでは共通でLastModifiedDateという更新日付を持つフィールドが存在するので、これをSQL_DATE型で判定します。これにより差分データを取得する際に、必要最低限のリクエストで行うことができるようになります。
合わせてQuickSolutionで検索対象となる対象フィールドも指定します。検索対象としたい任意のフィールドを選びましょう。IdはユニークIDに指定しておきます。
保存をクリックし、以下のようにメッセージが表示されれば、インデックスの作成は成功です。
合わせて、「インデックスを初回(再)生成するにはこちら」をクリックし、データの取り込みを実行してしまいましょう。
以下の画面で「実行」をクリックすると、取り込みが開始されます。
取り込み結果は、インデックスの状態一覧画面で確認できます。
最後に、検索画面でCData Driverで取り込んだ項目を対象に指定できるように「アクセス制御設定」を行います。
以下のようにアクセス権を付与して、保存しておきましょう。
これで、QuickSolutionの設定は完了です。
必要に応じて、差分更新などの設定も合わせて行ってください。
QuickSolution 上で検索の実施
それでは実際に QuickSolution 上で検索ができるか確認してみます。
QuickSolutionの検索画面にアクセスし、ログインします。
ログイン後、検索対象として取り込んだインデックスを指定し、検索をかけてみると、以下のようにデータを取得できました。
しっかりと、Salesforce上のデータが読み込まれていることがわかりますね。
おわりに
このように、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/
すべて30日間のトライアルがあるので、是非一度試してみてください。