ソーシャル・ネットワークを BPM に統合する: 第 2 回 Twitter のデータを CRM に追加する

ソーシャル・メディアを活用した Bonita のビジネス・プロセスを設計する

この 2 回の連載記事では、ソーシャル・ネットワーキング・サイトからデータを収集して、そのデータを表示したり、使用したりするビジネス・プロセス・マネジメント (BPM) アプリケーションを構築する方法を紹介しています。第 1 回では、Twitter Web サービスに接続してユーザーがキーワード検索によって関連データ (ツイート) を検出できるようにアプリケーションを構成する方法を説明しました。第 2 回ではアプリケーションの構成を完成させて、アプリケーションが顧客関係管理 (CRM) システムとインターフェースを取って検索データを実際のビジネスで活用できるようにします。

Bilal Siddiqui , Freelance consultant, XML4Java

Bilal Siddiqui は、電気工学エンジニア、XML コンサルタント、そして e-business の簡易化を専門とする会社、WaxSys の共同設立者でもあります。1995年にパキスタンのラホールにある University of Engineering and Technology を卒業して電子工学技術の学位を取得した後、産業用制御システムを対象としたソフトウェア・ソリューションの設計を始めました。その後、XML に転向し、C++ のプログラミング経験を生かして Web ベースや Wap ベースの XML 処理ツール、サーバー・サイドの構文解析ソリューション、そしてサービス・アプリケーションを作成しました。テクノロジー・エバンジェリストである彼が書いた技術書は、頻繁に発行されています。



2011年 7月 15日

IBM と BPM

長い間ビジネス・プロセスの分野で活躍し、ビジネス・プロセスをモデル化、シミュレート、実行、適応、監視、そして最適化するための堅牢な商用ツールを提供してきた IBM は、今年 4月、Business Process Manager V7.5 を発表しました。IBM の包括的な BPM プラットフォームを大々的に更新するこの製品は、2011年 6月に使用可能になる予定です。それまでの間、IBM の BPM 活動に関する developerWorks の最新情報を見逃さないでください。

この 2 回連載記事の第 1 回では、オープンソースの BPM エンジンである Bonita を利用したソーシャル・メディア検索アプリケーションの機能とアーキテクチャーについて説明し、アプリケーションの構築に取り掛かりました。前回行ったのは、以下の作業です。

  • Bonita で TwitterSearchConnector コネクターを構成しました。これは、ビジネス・プロセスを Twitter に接続するためのコネクターです。
  • Bonita を使用して TwitterSearchConnector クラスのテンプレートを生成しました。このテンプレートが、Twitter との接続機能をラップします。
  • TwitterSearchConnector クラスに Twitter4J を使用させるために、このクラスを手動で編集しました。Twitter4J は、Twitter API を扱うためのオープンソースの Java ライブラリーです。
  • TwitterSearchConnector クラスをスタンドアロン・モードでテストしました。

第 1 回で説明した TwitterSearchConnector の構成手順をすべて完了していない場合には、この記事に付属のソース・コードのダウンロードに含まれる TwitterSearchConnector.jar ファイルを Bonita インストール済み環境にインポートするのでも構いません。それには、Bonita のメニューから「Connector (コネクター)」 > 「Import connector (コネクターのインポート)」の順に選択します。そして TwitterSearchConnector.jar ファイルを参照して「Open (開く)」をクリックすると、Bonita のエディターに、(第 1 回で編集した内容が盛り込まれた) TwitterSearchConnector の完全な Java コードが表示されます。

演習: IBM BPM in action

IBM BPM は、常に変化している今日のビジネス環境の中で、組織が他をしのいで生き残るために不可欠な、ビジネス・プロセス全体の視覚化および管理の手段を提供します。演習「IBM BPM in action」で、コードの不要なビジュアル環境を使用して、ビジネス・プロセスをモデル化および実行してください。

連載第 2 回となる今回の記事では、このアプリケーションが使用するすべてのアクティビティー、フォーム、変数について説明した後、アプリケーションのビジネス・プロセスを構成していきます。そして、構成が完了したビジネス・プロセスに TwitterSearchConnector を接続し、Bonita でアプリケーションを実行して Twitter メッセージのキーワード検索をテストします。最後の仕上げとして行うのは、このアプリケーションの機能強化です。ユーザーが検索結果を選択すると、そのメッセージに関連付けられた Twitter ユーザーのプロフィールが表示され、さらにそのプロフィール・データを CRM システムに追加できるようにアプリケーションを構成します。

検索アプリケーションのビジネス・プロセス

この記事のソース・コードのダウンロードに含まれている SocialMediaSearchApplication_ProcessFormsAndVariables_1.0.proc というファイルに、この検索アプリケーションを構成するために必要なプロセス定義、フォーム、変数がすべて揃っています (Bonita でプロセス、フォーム、および変数を構成する方法については、連載「ビジネス・プロセス・マネジメントのための Bonita」で詳しく説明しています)。したがって、ここで必要となる作業は、SocialMediaSearchApplication_ProcessFormsAndVariables_1.0.proc ファイルを Bonita インストール済み環境にインポートすることだけです。それには、Bonita のメイン・ツールバーで「Import (インポート)」をクリックし、SocialMediaSearchApplication_ProcessFormsAndVariables_1.0.proc ファイルを参照してください (図 1 を参照)。

図 1. アプリケーションのプロセス定義をインポートする
アプリケーションのプロセス定義を Bonita にインポートする画面のスクリーン・ショット

Finish (完了)」をクリックします。すると、検索アプリケーションのプロセスが Bonita エディター・ウィンドウのホワイトボードに開きます (図 2 を参照)。

図 2. 検索アプリケーションのプロセス定義
検索アプリケーションのプロセス定義を示す Bonita のスクリーン・ショット

図 2 のとおり、このプロセス定義には 6 つのボックスがあります。そのそれぞれが、検索アプリケーションのアクティビティーです。アクティビティーをクリックすると、そのアクティビティーのプロパティーがホワイトボード右下のウィンドウに表示されます。このウィンドウは、「General (一般)」、「Application (アプリケーション)」、「Appearance (外観)」、および「Simulation (シミュレーション)」の 4 つのタブで構成されています。

図 2 の一番左にあるボックスには、「Present the search page (検索ページを表示)」というラベルが付いています。これは、単純な検索ページを表示するアクティビティーです。このアクティビティーによって表示される「Search Tweets (ツイート検索)」フォーム (第 1 回の図 1) に、ユーザーが検索キーワードを入力します。ユーザーが入力する検索キーワードを保持するプロセス変数として、私は searchKeyWord という変数を構成しておきました。searchKeyWord 変数 (および他の変数) を表示するには、ホワイトボード上で 6 つのアクティビティー・ボックス以外の任意の場所をクリックし、右下のウィンドウで「General (一般)」タブを選択し、最後に「Data (データ)」タブを選択します (図 3 を参照)。

図 3. アプリケーションのプロセス変数のなかから選択された searchKeyWord
アプリケーションのプロセス変数のなかから選択された searchKeyWord を示すスクリーン・ショット

図 2 の左から 2 番目のボックスには、「Search messages on Twitter (Twitter でメッセージを検索)」というラベルが付いています。このアクティビティーについては、次のセクションで TwitterSearchConnector をこのアクティビティーに接続するように構成します。TwitterSearchConnector は、「Search Tweets (ツイート検索)」フォームから検索キーワードを受け取り、そのキーワードを Twitter Web サービスに送信するコネクターです。TwitterSearchConnector から返された検索結果は、tweetsFound という名前の変数が保持します。

図 2 の左から 3 番目のアクティビティー (「Display Twitter messages (Twitter メッセージを表示)」) は、第 1 回の図 2 に示されているように、検索結果 (検出されたツイート) をユーザーに表示します。第 1 回を読んでおわかりのように、完成したアプリケーションでは、ユーザーが任意のメッセージを選択してボタンをクリックすると、そのメッセージを送信した Twitter ユーザーのプロフィールを見ることができます。

次のアクティビティー (「Fetch profile of Twitter user (Twitter ユーザーのプロフィールを取得)」) は、別の Bonita コネクターを使用します。このコネクター (第 1 回の図 5 に示されている TwitterUserProfileConnector) も、後で構成します。TwitterUserProfileConnector は、Twitter に接続して、該当する Twitter ユーザーのプロフィールを取得します。このコネクターが取る入力は 5 つあります。それは、第 1 回で入手した、Twitter Web サービスにログインするための 2 つのセキュリティー・キー・ペア、そしてプロフィールを取得する対象の Twitter ユーザーの名前を指定する twitterUserName 変数です。TwitterUserProfileConnector が Twitter ユーザーに関して返すパラメーターには、名前、場所、言語、プロフィール画像、ユーザーの Web サイトの URL、Twitter フォロワーの数、説明の 7 つがあります。このそれぞれのパラメーターをプロセス変数にマッピングすることになります。

5 番目のアクティビティー (「Display Twitter user profile (Twitter ユーザー・プロフィールを表示)」) は、Twitter ユーザーのプロフィールを「User Profile (ユーザー・プロフィール)」フォーム (第 1 回の図 3) に表示します。プロフィールには、Twitter ユーザーの属性が 7 つ含まれます。「User Profile (ユーザー・プロフィール)」フォームでも、ボタンのクリック操作によって、ユーザーが該当する Twitter ユーザーを新規アカウントとして SugarCRM に追加することができます。

最後のアクティビティー (図 2 の一番右の「Add profile to SugarCRM (プロフィールを SugarCRM に追加)」というラベルの付いたアクティビティー) は、Twitter ユーザーを SugarCRM に追加します。この機能を実装するには、「Create Sugar Account (Sugar アカウントを作成)」という名前のコネクター (Bonita にバンドルされているコネクター) を「Add profile to SugarCRM (プロフィールを SugarCRM に追加)」アクティビティーに接続します。


TwitterSearchConnector をビジネス・プロセスに接続する

ビジネス・プロセスについての説明が済んだところで、ここからは早速、TwitterSearchConnector を構成してアプリケーションのビジネス・プロセスに接続する作業に取り掛かれます。このコネクターの接続先は、「Search messages on Twitter (Twitter でメッセージを検索)」アクティビティーです。

ビジネス・プロセスのホワイトボード内で「Search messages on Twitter (Twitter でメッセージを検索)」アクティビティーをクリックして、このアクティビティーのプロパティーを右下のウィンドウに表示します。「General (一般)」タブで、「Connectors (コネクター)」タブ (図 4 で、青い丸で囲まれたタブ) をクリックします。

図 4. 「Search messages on Twitter (Twitter でメッセージを検索)」アクティビティーの「Connectors (コネクター)」タブ
「Search messages on Twitter (Twitter でメッセージを検索)」アクティビティーの「Connectors (コネクター)」タブを示す Bonita のスクリーン・ショット

「Connectors (コネクター)」タブには、アクティビティーに接続されたコネクターが表示されます。現時点では、接続されているコネクターはありません。「Add (追加)」ボタン (図 4 で、赤い丸で囲まれたボタン) をクリックすると、「Select a connector (コネクターの選択)」ダイアログが開き、アクティビティーと接続するように構成できるコネクターの一覧が表示されます。

この一覧には、Jasper や SugarCRM をはじめ、よく使われているさまざまなアプリケーション用のコネクターがカテゴリー別に示されます。第 1 回で TwitterSearchConnector を構成するときに指定したカテゴリーは「Social (ソーシャル)」なので、「Social (ソーシャル)」カテゴリーを展開して、「TwitterSearchConnector」を選択します (図 5 を参照)。

図 5. 「Social (ソーシャル)」カテゴリーに含まれる「TwitterSearchConnector」を選択する
「Social (ソーシャル)」カテゴリーから「TwitterSearchConnector」が選択された状態の「Select a connector (コネクターの選択)」ダイアログを示すスクリーン・ショット

次に、以下の手順に従って「Search messages on Twitter (Twitter でメッセージを検索)」アクティビティーに TwitterSearchConnector を接続します。

  1. Search messages on Twitter (Twitter でメッセージを検索)」アクティビティーでの TwitterSearchConnector の役割を説明する情報を提供します。
  2. セキュリティー・クレデンシャル (2 つのキー・ペア) を TwitterSearchConnector に指定します。
  3. 「Search Tweets (ツイート検索)」フォームの検索キーワードを TwitterSearchConnector に渡します。
  4. tweetsFound 変数が TwitterSearchConnector から検索結果を受け取るように構成します。

役割を説明する情報を提供する

「Select a connector (コネクターの選択)」ダイアログで「Next (次へ)」ボタンをクリックして、「Name the connector (コネクターの名前を指定)」ダイアログを表示します (図 6 を参照)。

図 6. 「Name the connector (コネクターの名前を指定)」ダイアログ
Bonita の「Name the connector (コネクターの名前を指定)」ダイアログでまだ名前が指定されていない状態のスクリーン・ショット

「Name the connector (コネクターの名前を指定)」ダイアログのフィールドに以下のように入力します。

  • Name (名前): 「Connection of the search application with Twitter (検索アプリケーションと Twitter との接続)」と入力します。
  • Description (説明): 「Pass the search keyword to TwitterSearchConnector and fetch Twitter data (検索キーワードを TwitterSearchConnector に渡し、Twitter データを取得する)」と入力します。
  • Select event (イベントの選択): このフィールドには、TwitterSearchConnector を呼び出す正確なタイミングとして、アクティビティーの開始時または終了時のいずれかを指定します。このコネクターの場合は、デフォルト値のままにしてください (アクティビティーに関連付ける必要があるタスクは 1 つだけなので、TwitterSearchConnector がアクティビティーの開始時または終了時のどちらに呼び出されるかは重要ではありません)。
  • If connector fails (コネクターに障害が発生した場合): このフィールドには、TwitterSearchConnector に障害が発生した場合に「Search messages on Twitter (Twitter でメッセージを検索)」アクティビティーに実行させるアクションを指定します。Bonita では、このフィールドを使用して、フェイルセーフなアプリケーションを構築することができます。フェイルセーフ機能については、この記事では焦点を当てませんので、このフィールドはデフォルト値のままで構いません。

以上の入力が完了すると、「Name the connector (コネクターの名前を指定)」ダイアログは図 7 のようになっているはずです。

図 7. 入力が完了した「Name the connector (コネクターの名前を指定)」ダイアログ
入力が完了した「Name the connector (コネクターの名前を指定)」ダイアログを示すスクリーン・ショット

Next (次へ)」をクリックします。今度は「Twitter Search Connector Input Parameters Page (Twitter 検索コネクターの入力パラメーター・ページ)」が表示されます。

TwitterSearchConnector に対してセキュリティー・キーを指定する

図 8 を見るとわかるように、このダイアログには第 1 回で入手した 2 つのキー・ペア (コンシューマー・キーとコンシューマー・シークレット、およびアクセス・トークンとアクセス・トークン・シークレット) を入力する必要があります。

図 8. セキュリティー情報を入力するための構成ダイアログ
セキュリティー情報を入力するための構成ダイアログを示す Bonita のスクリーン・ショット

図 8 には、「SearchKeyword」というラベルが付いたフィールドも示されています。

記事に付属のソース・コードのダウンロードに含まれる SecurityKeyValues.txt というファイルに、第 1 回で Twitter から入手したキーをコピーしておきました。独自のセキュリティー・キーを入手していない場合は、このファイルの値を構成ダイアログにコピーするのでも構いません。とりあえず、「SearchKeyword」フィールドは空白のままにしておいてください。他のセキュリティー・データを入力した後のダイアログは、図 9 のようになります。

図 9. セキュリティー・データを入力した後の構成ダイアログ
セキュリティー・データを入力した後の構成ダイアログを示す Bonita のスクリーン・ショット

図 9 では、セキュリティー・キー・フィールドの内容は読めないようになっています。また、「SearchKeyword」フィールドは空白のままです。

TwitterSearchConnector に対して検索キーワードを渡す

検索キーワードは、アプリケーションを実行するたびに変わるはずです。したがって、検索キーワードの値をそのまま「SearchKeyword」フィールドに入力することはできません。この理由から、検索キーワードは searchKeyWord 変数に格納します (「検索アプリケーションのビジネス・プロセス」を参照)。ドロップダウン・リストから「searchKeyWord」を選択し、この変数を 5 番目の入力として TwitterSearchConnector に渡します (図 10 を参照)。

図 10. ドロップダウン・リストから searchKeyWord を選択する
ドロップダウン・リストから選択された searchKeyWord を示す Bonita のスクリーン・ショット

tweetsFound 変数が TwitterSearchConnector の出力を受け取るように構成する

Next (次へ)」ボタンをクリックすると、コネクターの出力をプロセス変数にマッピングするように求める新しいダイアログが表示されます。このダイアログでプロセスに対し、TwitterSearchConnector によって Twitter で検出されたメッセージのリストをどの変数に格納するのかを指示します。図 2 の説明を思い出してください。TwitterSearchConnector がユーザーのために検出したツイートを格納するのは、tweetsFound という変数です。

TwitterSearchConnector には、searchResults という出力しかありません (第 1 回のリスト 2 を参照)。この出力に、TwitterSearchConnector が検出した Twitter メッセージが含まれます。searchResults は、図 11 の左側にある「Connector output (コネクター出力)」ドロップダウン・リストに含まれているはずです。

図 11. コネクター出力とプロセス変数とのマッピング
コネクター出力とプロセス変数とのマッピングを示す Bonita のスクリーン・ショット

searchResults が選択されたままの状態で、その値を「Destination variable (宛先変数)」ドロップダウン・リストの tweetsFound 変数に割り当てます。このマッピングの結果、searchResults の内容 (Twitter で検出されたメッセージ) が tweetsFound プロセス変数にコピーされるようになります。

Finish (完了)」をクリックします。ここまでの作業はすべて、ソース・コードのダウンロードに含まれる TwitterSearchApplication_CompleteWithTwitterSearchConnector_2.0.proc ファイルに反映されています。


Twitter で検出されたメッセージを表示する

これまでのところで、図 2 の最初の 2 つのボックス (「Present the search page (検索ページを表示)」と「Search messages on Twitter (Twitter でメッセージを検索)」) の構成が完了しました。次のタスクは 3 番目のアクティビティー、「Display Twitter messages (Twitter メッセージを表示)」を構成することです。

「Display Twitter messages (Twitter メッセージを表示)」アクティビティーは、Twitter で検出されたメッセージを tweetsFound プロセス変数を使って表示するフォームに過ぎません。tweetsFound プロセス変数を使用するための構成は、ソース・コードのダウンロードに含まれている TwitterSearchApplication_CompleteWithTwitterMessageDisplay_3.0.proc というファイルにすべて含まれています (変数を使用したフォームの設計については、「ビジネス・プロセス・マネジメントのための Bonita」で詳しく解説しています)。この TwitterSearchApplication_CompleteWithTwitterMessageDisplay_3.0.proc ファイルを Bonita にインポートしてください。

検索アプリケーションを実行する

これで、検索アプリケーションの (初めての) テストを実行することができます。Bonita のメイン・ツールバーで「Run (実行)」ボタンをクリックしてください (図 12 を参照)。

図 12. Bonita のツールバーの「Run (実行)」ボタン
Bonita のツールバーの「Run (実行)」ボタンのスクリーン・ショット

「Search Tweets (ツイート検索)」フォームがブラウザー・ウィンドウに表示されるまで待ちます (図 13 を参照)。

図 13. 「Search Tweets (ツイート検索)」フォーム
ブラウザーに表示された「Search Tweets (ツイート検索)」フォームのスクリーン・ショット

Twitter で検索したいキーワードを入力して「Search (検索)」ボタンをクリックします。検索アプリケーションは、2 番目のフォームに Twitter で検出したメッセージを表示します (図 14 を参照)。

図 14. Twitter で検出されたメッセージ
ブラウザーに表示された、Twitter で検出されたメッセージを表示するフォームのスクリーン・ショット

今のところ、残りのアクティビティーはまだ構成していないので、検索アプリケーションはここまでのところしか機能しません。


TwitterUserProfileConnector を構成して接続する

今度は、図 2 の 4 番目のアクティビティー (「Fetch profile of Twitter user (Twitter ユーザーのプロフィールを取得)」) を構成します。このアクティビティーには、TwitterSearchConnector と同じような別の TwitterUserProfileConnector という Twitter コネクターが必要になります。TwitterSearchConnector に対して実行した手順を参照しながら、TwitterUserProfileConnectorを以下のように実装して構成してください。

  1. コネクター作成ウィザードを使用して TwitterUserProfileConnector を作成し、このコネクターに関する説明を入力します。
  2. 5 つの入力パラメーターを構成します。具体的には、Twitter Web サービスにログオンする際のセキュリティー・クレデンシャルとなる 2 つのキー・ペア、そしてプロフィールを取得する Twitter ユーザーの名前を格納する twitterUserName プロセス変数です。
  3. 7 つの出力パラメーターを構成します。具体的には、名前、場所、言語、プロフィール画像のパス、Web サイトの URL、ユーザーの Twitter フォロワーの数、そして説明です。
  4. 7 つの出力パラメーターをそれぞれ profileNameprofileLocationprofileLanguageprofilePath2ImageprofileWebSiteURLprofileNumFollowersprofileDescription プロセス変数にマッピングします。
  5. Twitter4J ライブラリーを使用して、手動で TwitterUserProfileConnector Java クラスのソース・コードを編集します。TwitterUserProfileConnector第 1 回のリスト 4 のステップ 4 で使用した Twitter.search() メソッドではなく、Twitter クラスの searchUsers() メソッドを使用します。searchUsers() メソッドは、Twitter ユーザーに関する詳細なプロフィール情報を返します。
  6. TwitterUserProfileConnector を構成して、「Fetch profile of Twitter user (Twitter ユーザーのプロフィールを取得)」アクティビティーに接続します。

上記の手順については TwitterSearchConnector を構成するときに詳しく説明したので、TwitterUserProfileConnector で同じ説明を最初から最後まで繰り返すことはしません。同じく、5 番目のアクティビティー (ユーザー・プロフィールを表示する「Display Twitter user profile (Twitter ユーザー・プロフィールを表示)」) の構成についても具体的には説明しません。これは単なるフォームに過ぎないからです。ソース・コードのダウンロードに含まれる TwitterSearchApplication_CompleteWithProfileConnectorAndDisplay_4.0.proc ファイルでは、ビジネス・プロセスの 5 つのアクティビティーがすべて構成されています。この TwitterSearchApplication_CompleteWithProfileConnectorAndDisplay_4.0.proc ファイルを Bonita にインポートして実行すれば、第 1 回の冒頭で説明した 3 つのフォームがすべて完全に機能するようになったことを確かめられます。


Bonita で SugarCRM とのインターフェースを取る

残るは、図 2 の最後のアクティビティー (「Add profile to SugarCRM (プロフィールを SugarCRM に追加)」) を構成すれば完成です。このアクティビティーでは、「Create Sugar Account (Sugar アカウントを作成)」という名前の Bonita コネクターを使用します。TwitterSearchConnector が Twitter の Web サービス API を使用して Twitter とやりとりするのと同じく、このコネクターも Web サービス API を使用して SugarCRM とやりとりします。

Bonita にバンドルされて提供される「Create Sugar Account (Sugar アカウントを作成)」コネクターは、SugarCRM とのすべての通信を内部で処理します。したがって、ここで必要となる作業は、「Create Sugar Account (Sugar アカウントを作成)」コネクターを「Add profile to SugarCRM (プロフィールを SugarCRM に追加)」アクティビティーに接続することだけです。

作業に進む前に、お使いのマシンまたはネットワーク上のどこかに SugarCRM をインストールしてください (SugarCRM のインストール手順についての詳細は、「参考文献」を参照)。私がこの検索アプリケーションを開発する際にマシンにインストールしたのは、SugarCRM Community Edition バージョン 6.1.6 (Build 5860) です。

Add profile to SugarCRM (プロフィールを SugarCRM に追加)」アクティビティーをクリックして、このアクティビティーのプロパティーを右下のウィンドウに表示してください。「General (一般)」タブをクリックし、このタブで「Connectors (コネクター)」タブを選択して、「Add (追加)」ボタンをクリックします。「Select a connector (コネクターの選択)」ダイアログ (図 5 を参照) が表示されるので、「SugarCRM」カテゴリーを展開し、「Create Sugar Account (Sugar アカウントを作成)」コネクターを選択します (図 15 を参照)。

図 15. 「Create Sugar Account (Sugar アカウントを作成)」コネクターを選択する
「Create Sugar Account (Sugar アカウントを作成)」コネクターが選択された状態の「Select a connector (コネクターの選択)」ダイアログを示す Bonita のスクリーン・ショット

Next (次へ)」ボタンをクリックします。表示された「Name the connector (コネクターの名前を指定)」ダイアログ (図 6 を参照) に、「Name (名前)」フィールドと「Description (説明)」フィールドの値として、それぞれ「Twitter to Sugar connection (Twitter と Sugar の接続)」、「Create a new SugarCRM account using the Twitter (Twitter を使用して新しい SugarCRM アカウントを作成する)」と入力します。その他のフィールドは、デフォルト値のままにしておきます。以上の入力が完了すると、「Name the connector (コネクターの名前を指定)」ダイアログは図 16 のようになっているはずです。

図 16. 「Create Sugar Account (Sugar アカウントを作成)」コネクターの「Name the connector (コネクターの名前を指定)」ダイアログ
「Create Sugar Account (Sugar アカウントを作成)」コネクターの「Name the connector (コネクターの名前を指定)」ダイアログを示す Bonita のスクリーン・ショット

Next (次へ)」をクリックします。すると Bonita には、SugarCRM サービスに関する情報の入力を求める「SugarCRM Configuration (SugarCRM の構成)」ダイアログを表示します (図 17 を参照)。

図 17. SugarCRM 環境に関する情報の入力を求めるダイアログ
「SugarCRM Configuration (SugarCRM の構成)」ダイアログを示す Bonita のスクリーン・ショット

図 17 を見るとわかるように、入力が必要なフィールドは 4 つあります。

  • Sugar SOAP Port (Sugar SOAP ポート): SugarCRM がリッスンしている SOAP サーバーの URL を入力します (SugarCRM の SOAP サービスについての詳細は、「参考文献」を参照)。検索アプリケーションを SugarCRM で試したときに、私のマシンで SOAP サーバーが稼動していた URL は http://127.0.0.1:8080/sugarcrm/service/v2/soap.php でした (図 17 に示されている値)。
  • User (ユーザー) および Password (パスワード): SugarCRM 環境にログオンするときに使用するユーザー名とパスワードを入力します。
  • Application name (アプリケーション名): SugarCRM に接続するアプリケーションの名前として、「Twitter user account (Twitter ユーザー・アカウント)」と入力します。

Next (次へ)」をクリックします。今度は、入力パラメーターの情報を求める「Parameters (パラメーター)」ダイアログが表示されます (図 18 を参照)。

図 18. 「Create Sugar Account (Sugar アカウントを作成)」コネクターの入力パラメーター
「Create Sugar Account (Sugar アカウントを作成)」コネクターの入力パラメーターを指定するダイアログのスクリーン・ショット

図 18 に示されているように、「Create Sugar Account (Sugar アカウントを作成)」コネクターに指定するパラメーターは、「Account name (アカウント名)」、「Phone number (電話番号)」、「Website (Web サイト)」の 3 つがあり、各フィールドのドロップダウン・リストから値を選択してアカウントを作成するようになっています。ただし、TwitterUserProfileConnector から取得した Twitter ユーザー・プロフィールには Twitter ユーザーの電話番号が含まれていないため、このパラメーターを指定することはできません。そこで、使用可能な他の 2 つのパラメーターを profileName プロセス変数、profileWebSiteURL プロセス変数にそれぞれマッピングしておきました。ドロップダウン・リストから、この 2 つの値を選択してください (図 19 を参照)。

図 19. 「Create Sugar Account (Sugar アカウントを作成)」コネクターの入力パラメーター
「Create Sugar Account (Sugar アカウントを作成)」コネクター用に選択された入力パラメーターを示すスクリーン・ショット

Next (次へ)」をクリックします。次のダイアログでは、コネクター出力をプロセス変数にマッピングするよう求められます。検索アプリケーションは「Create Sugar Account (Sugar アカウントを作成)」コネクターの出力に対しては何も処理をしないので、このダイアログは変更せずに「Finish (完了)」をクリックしてください。最後に、アプリケーションを保存します。

SugarCRM サーバーを起動して、完成した検索アプリケーションを実行し、3 つすべてのフォームを調べてください。「User Profile (ユーザー・プロフィール)」フォームでは、「Add to CRM (CRM に追加)」ボタンをクリックします。すると、「User Profile (ユーザー・プロフィール)」フォーム上にプロフィールが表示されている Twitter ユーザーが新規アカウントとして SugarCRM に追加されるのを確認することができます。


まとめ

この記事では、Bonita のコネクター・フレームワークを使用して、Web サービスを介してビジネス・プロセスに外部アプリケーションを統合するプロセスを紹介しました。この統合プロセスのなかで、皆さんは独自のコネクター (TwitterSearchConnector および TwitterUserProfileConnector) を作成するとともに、Bonita にバンドルされているコネクター (「Create Sugar Account (Sugar アカウントを作成)」) を使用しました。この 2 回の連載をとおして学んだ手法を適用すれば、ビジネス・プロセスに、Facebook などの人気の高い他のアプリケーションからソーシャル・ネットワーキング・データを取り込むことができます。


ダウンロード

内容ファイル名サイズ
Source codej-sb2.zip19KB

参考文献

学ぶために

製品や技術を入手するために

  • Bonita Open Solution: Bonita をダウンロードしてください。
  • SugarCRM: SugarCRM をダウンロードしてください。
  • Twitter4J: Twitter4J をダウンロードしてください。
  • ご自分に最適な方法で IBM 製品を評価してください。評価の方法としては、製品の試用版をダウンロードすることも、オンラインで製品を試してみることも、クラウド環境で製品を使用することもできます。また、SOA Sandbox では、数時間でサービス指向アーキテクチャーの実装方法を効率的に学ぶことができます。

議論するために

  • IBM Business Process Manager フォーラム: developerWorks コミュニティーでのディスカッションに参加してください。
  • developerWorks コミュニティーに参加してください。ここでは他の developerWorks ユーザーとのつながりを持てる他、開発者が主導するブログ、フォーラム、グループ、ウィキを調べることができます。

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Java technology
ArticleID=710803
ArticleTitle=ソーシャル・ネットワークを BPM に統合する: 第 2 回 Twitter のデータを CRM に追加する
publish-date=07152011