CData Software Blog

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

インテリジェントオートメーション RPA Blue Prism で CData ODBC Driverを使う方法:Salesforce からデータを取得する

f:id:sugimomoto:20220302212952p:plain

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

今回はインテリジェントオートメーション RPA Blue Prism と CData ODBC Driver を組み合わせて、様々なクラウドサービスのデータを取得・自動化するための方法を紹介したいと思います。

Blue Prism とは?

Blue Prism は2001年にイギリスで創業したBlue Prism 社が提供するエンタープライズ企業向けのロボティック・プロセス・オートメーション(RPA)ツールです。

https://www.Blue Prism.com/japan/www.Blue Prism.com

f:id:sugimomoto:20220302212315p:plain

大きな特徴は「プロセス」と「オブジェクト」という概念で自動化処理を構成していくところが挙げられるでしょう。

予め各種アプリケーションを操作する手続き、振る舞いをオブジェクトとして定義することで、再利用性を高め、全体の開発生産性を向上させています。

f:id:sugimomoto:20220302212321p:plain

このオブジェクトはVBOという名前で各種テンプレート、プリセットが公開されており、初心者でも様々なアプリケーションやローカルファイル・サービス等に接続することが可能になっています。

そんなVBOの中にはODBC経由でデータベースに接続できるものも提供されており、CData ODBC Driverと組み合わせることで、CData が対応している様々なデータソース と手軽に連携ができるようになります。

f:id:sugimomoto:20220302212327p:plain

今回の記事ではこのODBC用のVBO とCData ODBC Driver を使って、Blue Prism から SFAとして有名なクラウドサービス「Salesforce」に接続する方法を紹介します。

シナリオ

今回は前述の通り、シンプルな連携方法として、Salesforce から CData ODBC Driver経由でアプリのデータを取得するプロセスを作成します。最終的にはExcel 操作用のVBOも用いて、ローカルのExcelファイルに書き込むところまでやってみましょう。

最終的に作成するフローは以下のようなイメージとなります。

f:id:sugimomoto:20220302212332p:plain

Blue Prism はRPAなので、Salesforce の UI上からデータを取得して処理するといったことも考えられますが、その場合ページ遷移や項目名の変更、UIのビュー調整・認証方法などを考慮しなくてはいけません。

また、REST Web サービス向けのVBOも提供されていますが、それぞれのAPI仕様の把握および認証方法への対応やAPI Updateへの追従なども含めて考える必要があり、非開発者にとっては敷居が高い部分があると思います。

f:id:sugimomoto:20220302212700p:plain

しかしながら、CData ODBC Driverを利用することで上記API固有のハンドリングを委任し、Blue Prism からシームレスに呼び出すことができるようになります。

また、今回のシナリオではSalesforceを例に紹介していますが、CData で提供するkintone やMarketo・Amazon Marketplace などのODBC Driver も同様に接続が可能です。

www.cdata.com

f:id:sugimomoto:20210125142529p:plain

手順

CData Salesforce ODBC Driverのインストール・セットアップ

最初に CData Salesforce ODBC Driverを対象のマシンにインストール・セットアップします。

CData Salesforce ODBC Driver は以下のURLから30日間のトライアル版が入手できます。

www.cdata.com

f:id:sugimomoto:20210302162708p:plain

インストーラーを立ち上げると、以下のような画面になるので、ダイアログに従ってセットアップを完了してください。

f:id:sugimomoto:20210302162714p:plain

セットアップ完了後、接続設定画面が立ち上がります。下記の項目に Salesforce への接続情報を設定します。

Salesforceの接続情報 設定項目 備考
ユーザID User
パスワード Password
セキュリティートーク Security Token 取得方法はこちら

f:id:sugimomoto:20220125142418p:plain

「接続のテスト」ボタンをクリックします。下記のようなダイアログが表示されれば成功です。「接続ウィザード」の「OK」ボタンをクリックして保存します。

f:id:sugimomoto:20210125142555p:plain

ODBC 用の VBO を追加する

続いて、ODBC 用のVBO をBlue Prism に追加しましょう。

以下のURLから「Connector for ODBC Utility Blue Prism」が入手できます。

Connector for ODBC Utility Blue Prism

f:id:sugimomoto:20220302212340p:plain

BPA+Object+-+Data+-+ODBC+v1.0.xml」というXMLファイルがダウンロードできるので、Blue Prism を立ち上げてオブジェクトとしてインポートしましょう。

f:id:sugimomoto:20220302212355p:plain

対象のファイルを選択し「次へ」進みます。

f:id:sugimomoto:20220302212400p:plain

インポートが完了すると、以下のようにオブジェクト一覧に「Data -ODBC」が追加されます。

f:id:sugimomoto:20220302212404p:plain

これを使って、CData ODBC Driver へ Blue Prism から簡単に接続できるようになります。

f:id:sugimomoto:20220302212409p:plain

新しいプロセスを作成する

それでは早速自動化のプロセスを作成していきましょう。

「新しいプロセスまたはビジネスオブジェクト」から「プロセス」を選択して、次へ進みます。

f:id:sugimomoto:20220302212415p:plain

任意のプロセス名を入力します。

f:id:sugimomoto:20220302212421p:plain

必要に応じてプロセスの説明を指定して、「終了」をクリックしましょう。

f:id:sugimomoto:20220302212426p:plain

これで以下のように初期のプロセスが立ち上がります。

f:id:sugimomoto:20220302212431p:plain

ODBC Open 処理を追加する

ODBC の接続処理は以下の3つのプロセスで実施します。実際にデータの操作を実行するのは真ん中の部分ですが、前後の処理が必要になるという点に注意してフローを組みましょう。

  • コネクションを確立するためのOpen処理
  • SQLやINSERT文などを実行するExecute(ExecuteNonQuery)処理
  • コネクションを終了するためのClose処理

まずは「コネクションを確立するためのOpen処理」を追加します。

「アクション」を画面に配置して設定画面を開きます。

f:id:sugimomoto:20220302212437p:plain

ビジネスオブジェクトの一覧から先程インポートした「Data - ODBC」を選択しアクションの一覧で「Open」を選択しましょう。

「Open」アクションは入力パラメータとして「Connection String」を必要とします。ここで先程設定したCData ODBC DriverのDSN名を「"DSN=CData Salesforce Source"」といった形式で指定します。

f:id:sugimomoto:20220302212443p:plain

これでOpenのアクションは設定完了です。

ODBC経由でデータを取得する処理を追加する

続いてSalesforce からデータを取得する処理を追加していきましょう。

先程と同じように「アクション」を追加し

f:id:sugimomoto:20220302212447p:plain

ビジネスオブジェクトの一覧から「Data - ODBC」を選択、アクションの一覧で「Execute」を選択しましょう。

ExecuteではSQLを指定して、データを取得することができます。今回は以下のようにSalesforce の取引先情報であるAccountを取得する処理を書いてみました。

SELECT Id, Name FROM Account LIMIT 10;

f:id:sugimomoto:20220302212453p:plain

なお、SELECT Statementで利用するテーブルやカラムの情報はODBC DSNの「テーブル」タブから確認できます。

f:id:sugimomoto:20220125142432p:plain

また、Blue Prism上で取得した結果を扱えるように、処理結果を変数に格納します。出力タブにある「Results」の変数アイコンをクリックして、出力先の変数を生成し「OK」をクリックしましょう。

f:id:sugimomoto:20220302212458p:plain

ODBCのクローズ処理を追加する

最後にODBCの処理を終了して、接続を開放するためにクローズ処理を追加します。

同じようにアクションを配置し

f:id:sugimomoto:20220302212503p:plain

ビジネスオブジェクトの一覧から「Data - ODBC」、アクションの一覧で「Close」を選択しましょう。

Close では特に設定するパラメータはありません。

f:id:sugimomoto:20220302212508p:plain

最後にリンクを繋いで、以下のようになプロセスが出来上がります。

f:id:sugimomoto:20220302212513p:plain

Excel に保存する処理を追加する

これだけではデータを取得して何も行わないので、Excelファイルに書き込みを行ってみましょう。

以下から取得できる「Excel VBO」を使って、後続のフローを作成します。

Connector for MS Excel VBO - JP(日本語版)

Excel VBO」の設定詳細は割愛しますが、以下のアクションの流れで取得したデータをExcelに書き込んでいます。

  • MS Excel VBO::Create Instance
  • MS Excel VBO::Show
  • MS Excel VBO::Open Workbook
  • MS Excel VBO::Write Collection
  • MS Excel VBO::Save Workbook
  • MS Excel VBO::Exit

f:id:sugimomoto:20220302212527p:plain

「MS Excel VBO::Write Collection」のアクションで入力パラメータの「Collection」にODBC経由で取得した「Results」を書き込んでいます。

f:id:sugimomoto:20220302212531p:plain

動作確認

プロセスが完了したら「実行」ボタンをクリックして、実際に動かしてみましょう。

f:id:sugimomoto:20220302212536p:plain

最終的に以下のようなExcelファイルに書き込みが完了していればOKです。

f:id:sugimomoto:20220302212541p:plain

おわりに

今回はシンプルなデータ取得方法を解説しましたが、ODBC Driverでは書き込み・更新・削除もサポートしています。

Blue Prism の「ExecuteNonQuery」で「INSERT/UPDATE/DELETE」処理も利用できるのでぜひ試してみてください。

f:id:sugimomoto:20220302212547p:plain

他のCDataが提供するデータソースと一緒に活用することも可能なので、ぜひ様々なユースケースで連携を試してみてください。

www.cdata.com