Comments
Description
Transcript
CIS Salesforce.com Adapter ガイド
CIS Salesforce.com Adapter Guide シ ス コ デー タ 仮想化ス イ ー ト バージ ョ ン 7.0.1 初版発行日:2014 年 11 月 19 日 最終更新日:2015 年 1 月 6 日 Cisco Systems, Inc. www.cisco.com こ のマニ ュ アルに記載 さ れている仕様および製品に関する情報は、予告な し に変更 さ れる こ と があ り ます。こ のマニ ュ アルに記載 さ れている表現、情報、および推奨事項は、すべて正確である と 考えていますが、明示的であれ黙示的であれ、一切の保証の責任を負わ ない も の と し ます。こ のマニ ュ アルに記載 さ れている製品の使用は、すべてユーザ側の責任にな り ます。 対象製品の ソ フ ト ウ ェ ア ラ イ セ ン スおよび限定保証は、製品に添付 さ れた『Information Packet』に記載 さ れています。添付 さ れてい ない場合には、代理店にご連絡 く だ さ い。 The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB’s public domain version of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California. こ こ に記載 さ れている他のいかな る保証に も よ ら ず、各社のすべてのマニ ュ アルおよび ソ フ ト ウ ェ アは、障害も含めて「現状のま ま」 と し て提供 さ れます。シス コ および こ れ ら各社は、商品性の保証、特定目的への準拠の保証、および権利を侵害 し ない こ と に関する保 証、あるいは取引過程、使用、取引慣行によ っ て発生する保証をは じ め と する、明示 さ れたまたは黙示 さ れた一切の保証の責任を負わ ない も の と し ます。 いかな る場合において も、シス コ およびその供給者は、こ のマニ ュ アルの使用または使用で き ない こ と によ っ て発生する利益の損失 やデー タ の損傷をは じ め と する、間接的、派生的、偶発的、あるいは特殊な損害について、あ ら ゆる可能性がシ ス コ またはその供給者 に知ら さ れていて も、それ ら に対する責任を一切負わない もの と し ます。 こ のマニ ュ アルで使用 し ている IP ア ド レ スおよび電話番号は、実際のア ド レ スおよび電話番号を示す ものではあ り ません。マニ ュ ア ル内の例、コ マ ン ド 出力、ネ ッ ト ワー ク ト ポロ ジ図、およびその他の図は、説明のみを目的 と し て使用 さ れています。説明の中に実際 のア ド レ スおよび電話番号が使用 さ れていた と し て も、それは意図的な ものではな く 、偶然の一致によ る ものです。 ハー ド コ ピーおよび ソ フ ト コ ピーの複製は公式版 と みな さ れません。 最新版はオン ラ イ ン版を参照 し て く だ さ い。 シス コ は世界各国 200 箇所にオ フ ィ ス を開設 し ています。各オ フ ィ スの住所、電話番号、FAX 番号は当社の Web サイ ト (www.cisco.com/go/offices)を ご覧 く だ さ い。 Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R) © 2015 Cisco Systems, Inc. All rights reserved. 2 は じ めに 目的 こ のマニ ュ アルでは、Cisco Application Adapters の概要、CIS Salesforce.com Adapter の設定方法、および Oracle E-Business Suite の認証およびア ク セス制御について説明 し ます。 表記法 こ のマニ ュ アルでは、次の表記法を使用 し ています。 表記法 説明 太字 コ マ ン ド 、キーワー ド 、お よびユーザが入力する テキス ト は太字で記載 さ れます。 イ タ リ ッ ク体 文書の タ イ ト ル、新規用語、強調する用語、およびユーザが値を指定する引数は、イ タ リ ッ ク体 で示 し て います。 [ ] 角カ ッ コの中の要素は、省略可能です。 {x | y | z } 必ずいずれか 1 つを選択 し なければな ら ない必須キーワー ド は、波カ ッ コ で囲み、縦棒で区切っ て示 し ています。 [x|y|z] いずれか 1 つを選択で き る省略可能なキーワー ド は、角カ ッ コ で囲み、縦棒で区切っ て示 し ています。 string 引用符を付けない一組の文字。string の前後には引用符を使用 し ません。引用符を使用する と 、その引 用符 も含めて string と みな さ れます。 courier フ ォ ン ト シ ス テムが表示する端末セ ッ シ ョ ンおよび情報は、courier フ ォ ン ト で示 し ています。 < > パスワー ド のよ う に出力 さ れない文字は、山カ ッ コ で囲んで示 し ています。 [ ] シ ス テム プ ロ ン プ ト に対するデ フ ォル ト の応答は、角カ ッ コ で囲んで示 し ています。 !、# コ ー ド の先頭に感嘆符(!)またはポン ド 記号(#)がある場合には、コ メ ン ト 行である こ と を示 し ます。 「注 : 」 は、 読者に留意 し ていただ き たい こ と を示 し ています。 役立つ情報やこ のマニ ュ アルに記載 さ れていない参照資料 を紹介 し ています。 「注意 : 」 は、 注意が必要な こ と を 示 し ています。 機器の損傷またはデー タ 損失を予防する ための注意事項が記述 さ れてい ます。 複数の CIS PDF ド キ ュ メ ン ト の検索 CIS の ド キ ュ メ ン ト セ ッ ト で情報を探す場合には、複数の ド キ ュ メ ン ト を検索する こ と がで き ます。その場合、無料の Adobe Reader を使用 し ます。 使用 し ているバージ ョ ンの Adobe Reader に次に示すオプ シ ョ ンがない場合は、 更新 し て く だ さ い。 CIS PDF ド キ ュ メ ン ト を検索する方法 1. Adobe Reader を開き ます。 2. [File] メ ニ ュ ーから [Open] を選択 し 、 任意の PDF ド キ ュ メ ン ト を開き ます。 PDF ド キ ュ メ ン ト が見つから ない場合は、<CIS_install_dir>\docs を参照 し て く だ さ い。 Cisco Systems, Inc. www.cisco.com 3 は じ めに 3. [Edit] メ ニ ュ ーから [Advanced Search] を選択 し ます。 4. [Where would you like to search?] で、[All PDF Documents] を ク リ ッ ク し ます。 5. [My Documents] を ク リ ッ ク し 、ド ロ ッ プダウン リ ス ト の最下部の [Browse for Location] を選択 し ます。 6. コ ン ピ ュ ー タ の次の場所に移動 し ます。 <CIS_install_dir>\docs 7. 検索条件を入力 し 、[Search] を ク リ ッ ク し ます。 Acrobat によ っ て、フ ォルダ内でその検索文字列が含まれているすべての PDF と 、それぞれに含まれる検索文字列の数 が示 さ れます。 8. 検索語 と その周囲のテキス ト を ク リ ッ ク する と 、PDF の該当するページが表示 さ れます。 マニ ュ アルの入手方法およびテ ク ニ カル サポー ト マニ ュ アルの入手方法、テ ク ニ カル サポー ト 、その他の有用な情報について、次の URL で、毎月更新 さ れる『What's New in Cisco Product Documentation』を参照 し て く だ さ い。シ ス コ の新規および改訂版の技術マニ ュ アルの一覧も 示 さ れていま す。http://www.cisco.com/c/en/us/td/docs/general/whatsnew/whatsnew.html 『What's New in Cisco Product Documentation』は、シス コ の新規および改訂版の技術マニ ュ アルの一覧も示 し 、RSS フ ィ ー ド と し て購読で き ます。また、リ ーダー ア プ リ ケーシ ョ ン を使用 し て コ ン テ ン ツ をデス ク ト ッ プに配信する こ と も で き ます。 RSS フ ィ ー ド は無料のサービ スです。 マニ ュ アルの変更履歴 次の表に、こ のガ イ ド の変更履歴を示 し ます。 バージ ョ ン番号 発行日 7.0 2014 年 11 月 ス テー タ ス 変更理由 イ ン ス ト ールの章の削除後に再編成 (イ ン ス ト ール方法の説 明は『Install Guide』に移動)。 7.0.1 2015 年 3 月 企業イ メ ージの更新 4 Salesforce.com Adapter の使用 こ の章では、Cisco Application Adapter の全体的な概要 と 、Salesforce.com のデー タ ソ ース を イ ン ト ロ スペ ク ト する方法に ついて説明 し ます。 こ の章の内容は、次の と お り です。 「Cisco Application Adapter について」(P.5) 「Salesforce.com の ク エ リ の制限」(P.6) 「Salesforce.com のイ ン ト ロ スペ ク シ ョ ン」(P.6) 「Salesforce.com の ID 確認セキ ュ リ テ ィ 機能」(P.10) 「Salesforce.com を使用 し た接続のテ ス ト 」(P.10) Cisco Application Adapter について Cisco Application Adapters には、Cisco Information Server を通 じ て Enterprise Information System(EIS)ア プ リ ケーシ ョ ン内のデー タ にア ク セスする ための、広範な テ ン プ レー ト と ビルデ ィ ン グ ブ ロ ッ クがパ ッ ケージ化 さ れています。EIS ア プ リ ケーシ ョ ンはパ ッ ケージ型ア プ リ ケーシ ョ ン と も呼ばれます。 Salesforce.com のア プ リ ケーシ ョ ン ビ ュ ー Salesforce.com Adapter 内の既製のア プ リ ケーシ ョ ン ビ ュ ー と フ ォルダの編成は、カ ス タ マ イ ズ さ れていない Salesforce.com ア カ ウン ト のユーザ イ ン タ ー フ ェ イ スに従っ てパ タ ーン化 さ れています。DataServicesForSalesforce.com フ ォルダ内の各 フ ォルダは、Salesforce.com の タ ブに対応 し ています。フ ォルダ内の各ビ ュ ーは、Salesforce.com のいずれ かのデ フ ォル ト ビ ュ ーの 1 つに対応 し ています。 ア プ リ ケーシ ョ ン ビ ュ ーの使用 ア プ リ ケーシ ョ ン ビ ュ ーは、CIS 内の他の RDBMS のビ ュ ー と 同様に機能 し ます。ビ ュ ーを組み合わせる こ と で、新 し い ビ ュ ーを作成で き ます。また、JDBC、ODBC、および Web サービ ス ク ラ イ ア ン ト から公開 し て使用で き ます。一方、基盤 と な る リ ソ ース と し ての Salesforce SObject を、カ ス タ ム ビ ュ ーにいつで も 含める こ と がで き ます。 デ フ ォル ト では、ア プ リ ケーシ ョ ン ビ ュ ーはデー タ を オンデマ ン ド で提供 し ます。ビ ュ ーに対 し て SQL 文が実行 さ れる と 、 Salesforce.com にア ク セス し てデー タ が取得 さ れます。変更頻度が高 く ないデー タ については、CIS のキ ャ ッ シ ュ機能を使 用する こ と で、Salesforce.com のパ フ ォ ーマ ン ス を向上 さ せ、負荷を軽減 さ せる こ と がで き ます。キ ャ ッ シ ュ ビ ュ ーに対する ク エ リ は、Salesforce.com ではな く CIS によ っ て処理 さ れます。キ ャ ッ シ ュの詳細については、『CIS User Guide』を参照 し て く だ さ い。 ア プ リ ケーシ ョ ン ビ ュ ーからのデー タ のフ ィ ル タ リ ン グ ア プ リ ケーシ ョ ン ビ ュ ーは、他のビ ュ ーの構成要素 と し て使用 さ れる こ と を意図 し ています。し たがっ てほ と んどのア プ リ ケーシ ョ ン ビ ュ ーはデ フ ォル ト で フ ィ ル タ リ ング さ れず、特定のオブ ジ ェ ク ト について Salesforce.com で使用可能なすべ てのデー タ が返 さ れます。そのため、依存する ビ ュ ーで必要に応 じ てデー タ を フ ィ ル タ リ ン グで き ます。 Salesforce.com から のデー タ を ア プ リ ケーシ ョ ン ビ ュ ーを使用 し て フ ィ ル タ リ ングする方法は 2 つあ り ます。 Salesforce.com 自体のフ ィ ル タ を使用する方法 と 、CIS 内で フ ィ ル タ リ ングする方法です。フ ィ ル タ の詳細については、 「Salesforce.com の SQL サポー ト 」(P.11) を参照 し て く だ さ い。 Cisco Systems, Inc. www.cisco.com 5 Salesforce.com Adapter の使用 Salesforce.com のク エ リ の制限 Salesforce.com の ク エ リ の制限 Salesforce.com にはク エ リ に関する制限があ り ます。結果の数を制限 し ない と 、パフ ォ ーマ ン ス上の問題が発生 し ます。 Salesforce.com のマニ ュ アルによれば、ク エ リ 結果の望ま し い制限数は 2,000 です。ただ し この制限は Salesforce.com の 各バージ ョ ンに応 じ て変更 さ れる可能性がある ため、使用中の Salesforce.com のバージ ョ ン での制限を確認 し て、必要に応 じ て ク エ リ の制限数を調整 し て く だ さ い。 Salesforce に対する ク エ リ には、レ コ ー ド 数を所定の値に制限する WHERE 句を含める必要があ り ます。た と えば 2,000 な どに指定 し ます。制限 し ない と 、ク エ リ が タ イ ムアウ ト し た り 、パフ ォ ーマ ン スが低下する可能性があ り ます。 Salesforce.com のイ ン ト ロ スペ ク シ ョ ン こ こ では、Salesforce.com のデー タ ソ ース を イ ン ト ロ スペ ク ト し て、Cisco Information Server に追加する方法について説 明 し ます。こ の手順では、Salesforce.com の管理者が Salesforce.com のイ ン ス ト ールに必要な接続パラ メ ー タ を提供 し てい る こ と が前提にな り ます。 Salesforce.com のデー タ ソ ース を イ ン ト ロ スペ ク ト する方法 1. Studio Modeler の リ ソ ース ツ リ ーで、Salesforce.com のデー タ ソ ース を追加する場所を選択 し ます。 2. 右 ク リ ッ ク し て [New Data Source] を選択 し ます。[New Physical Data Source] ウ ィ ン ド ウが開き ます。 3. [Salesforce.com] を選択 し 、[Next] を ク リ ッ ク し て続行 し ます。接続の詳細を指定するウ ィ ン ド ウが開き ます。 6 Salesforce.com Adapter の使用 Salesforce.com のイ ン ト ロ スペ ク シ ョ ン 4. [Datasource Name] で、イ ン ト ロ スペ ク ト さ れた Salesforce.com のデー タ ソ ースについて、ユーザ定義の一意の名前を 入力 し ます。CIS で有効な任意の名前を入力で き ます。こ の名前は、デー タ ソ ースが Cisco Server に追加 さ れる と 、リ ソ ース ツ リ ーに表示 さ れます。 接続情報:基本プ ロパテ ィ 5. [Basic] タ ブの [Connection Information] で、次の入力フ ィ ール ド に必要な情報を入力 し ます。 [Username and Password] — Salesforce.com で有効なユーザ名 と パスワー ド 。 注:Salesforce.com のデー タ ソ ースにア ク セスするには、必要に応 じ てセキ ュ アなパスワー ド を使用 し ます。こ の方法に ついては 「Salesforce.com の ID 確認セキ ュ リ テ ィ 機能」(P.10) を参照 し て く だ さ い。 [Save Password] — こ のオプ シ ョ ンは [Pass-through Login] オプ シ ョ ン と 合わせて機能 し ます。デ フ ォル ト ではこ のオ プ シ ョ ンは無効で、編集で き ません。[Pass-through Login] オプ シ ョ ン を選択する と 編集可能にな り ます。 デ フ ォル ト のま まにする と 、パスワー ド が保存 さ れ、[Pass-through Login] オプ シ ョ ンが無効のま まにな り ます。こ れで、 パスワー ド を再入力 し ないで次の操作を行 う こ と がで き ます。 — 現在のデー タ ソ ースのイ ン ト ロ スペ ク シ ョ ン — デー タ ソ ースの再イ ン ト ロ スペ ク シ ョ ン — デー タ ソ ースの リ ソ ースの追加または削除 — デー タ ソ ース内のテーブルでの ク エ リ /更新/挿入操作 — ス ト ア ド プ ロ シージ ャの呼び出 し — デー タ ソ ースの リ ソ ースに基づ く キ ャ ッ シ ュ ビ ュ ーの更新 — ク エ リ オプ テ ィ マ イザを使用 し た統計情報の収集 注:[Basic] タ ブの下部を表示するには、ス ク ロール ダウン し ます。 [Pass-through Login] — [Save Password] オプ シ ョ ン と 合わせて機能 し ます。デ フ ォル ト ではこ のモー ド は無効であ り 、 パスワー ド が保存 さ れます。こ のモー ド は非パス スルー モー ド 呼ばれます。[Save Password] オプ シ ョ ンの詳細を参照 し て く だ さ い。[Enabled] オプ シ ョ ン を選択する と 、[Save Password] オプ シ ョ ンが編集可能にな り ます。こ のモー ド は非 パススルー モー ド と 呼ばれます。 7 Salesforce.com Adapter の使用 Salesforce.com のイ ン ト ロ スペ ク シ ョ ン パススルー モー ド で実行で き る操作 と で き ない操作は、[Save Password] を次のよ う にオン またはオ フ にする こ と で決 定 さ れます。 パスワー ド を 保存するか 実行で き る操作 実行で き ない操作 Yes イ ン ト ロ スペ ク シ ョ ン。パスワー ド を再入力する 必要はあ り ません。 該当な し No 再イ ン ト ロ スペ ク シ ョ ンのスケジ ュ ール設定。 ク エ リ オプ テ ィ マ イザを使用 し た統計情報の 収集。 ク エ リ /更新/挿入/削除操作。現在のセ ッ シ ョ ンの元のログ イ ン ク レデン シ ャルを再指定す る必要があ り ます。 再イ ン ト ロ スペ ク シ ョ ン。デー タ ソ ースの リ ソ ースの追加/削除。デー タ ソ ース を最初に イ ン ト ロ スペ ク ト し た と き に使用 し たパスワー ド を再入力する よ う に求め られます。 詳細については、『CIS User Guide』を参照 し て く だ さ い。 接続情報 — 詳細プ ロパテ ィ 6. [Advanced] タ ブ を ク リ ッ ク する と 、デー タ ソ ースの詳細プ ロパテ ィ のパネルが表示 さ れます。こ れら のプ ロパテ ィ は CIS 固有であ り 、Salesforce.com と のイ ン タ ラ ク シ ョ ンがそれぞれ異な り ます。 [Connection timeout (sec)] — Salesforce.com への HTTPS 接続の タ イ ムアウ ト 。デ フ ォル ト は 60 秒です。こ れはセ ッ シ ョ ン タ イ ムアウ ト ではあ り ません。Salesforce.com のセ ッ シ ョ ン タ イ ムアウ ト (デ フ ォル ト は 120 分)は、 Salesforce.com Web サイ ト の [Setup] | [Security Controls] で設定で き ます。 [User Concurrent Calls Limit] — 現在のユーザに対する同時コ ールの最大数。デ フ ォル ト 値は 3 です。 [Concurrent Calls Limit] — こ のデー タ ソ ースに対する同時 コ ールの最大数。デ フ ォル ト 値は 5 です。この設定によ り 、 CIS が Salesforce.com に対 し て発行する同時要求数が抑制 さ れます。た と えば 5 に設定 さ れていて、同時に ト リ ガー さ れる よ う にスケジ ュ ール さ れた ビ ュ ーが 20 である場合に、CIS は 15 のビ ュ ーをキ ュ ーに入れます。通常こ の制限数は増 やすべき ではあ り ませんが、Salesforce.com のデー タ ソ ースが複数設定 さ れている場合には、制限数を減ら す場合があ り ます。 [Query batch size] — Salesforce.com に対する 1 つの要求によ っ て返 さ れる最大行数。デ フ ォル ト は 500 行です。ク エ リ の最大バ ッ チ サイ ズは 2,000 レ コ ー ド です。ただ し この最大サイ ズは、サイ ズが大き な テキス ト フ ィ ール ド または多 数の フ ィ ール ド を選択 し た場合には自動的に小 さ く な り ます。こ の動作は、パフ ォ ーマ ン ス を維持する ために、 Salesforce.com が各サーバに対 し て実行 し ます。ク エ リ のバ ッ チ サイ ズ と し て 200 を選択 し ている場合で も、 Salesforce.com は返 さ れる レ コ ー ド 数を増減 さ せる権利を留保 し ています。た と えば、ク エ リ で long 型のテキス ト の複 数のカ ス タ ム フ ィ ール ド を選択 し た場合、バ ッ チ サイ ズは 200 以下にな り ます。こ れは、サイ ズが大き い SOAP メ ッ セージが返 さ れないよ う にする ためです。CIS 用の Salesforce.com ド ラ イバは、1 つの要求に対 し て Salesforce.com か ら返 さ れる行数に関わ ら ず、Salesforce.com に対 し て必要な数の要求を行い、ク エ リ を完全に評価 し ます。た と えばバ ッ チ サイ ズを 2,000 行に設定 し た と き に (Salesforce.com がこ の行数に従 う こ と が前提)、オブ ジ ェ ク ト 内の行数が 4,000 で、それが 1 つの ク エ リ の対象にな っ ている場合、CIS は Salesforce.com に 2 つの要求を発行 し ます。 [Maximum retries] — Salesforce.com は、HTTPS を使用 し て イ ン タ ーネ ッ ト 経由で ア ク セス さ れる Web サービ スの コ レ ク シ ョ ン である ため、本質的に接続の信頼性があ り ません。完全に タ イ ムアウ ト または失敗する可能性があ り ます。こ のイ ン フ ラ ス ト ラ ク チ ャ上で構築 さ れる ク エ リ の信頼性を向上 さ せる ために、接続障害の発生時に Salesforce.com に対 する要求が自動的に リ ト ラ イ さ れる よ う に、最大 リ ト ラ イ回数を設定で き ます。デ フ ォル ト は 0 で、その場合は機能が無 効にな り 、リ ト ラ イは行われません。 [Wait between retries (sec)] — 最大 リ ト ラ イ回数機能が有効である場合、こ のプ ロパテ ィ によ っ て、リ ト ラ イ間隔の秒数 を指定 し ます。デ フ ォル ト は 0 秒です。 [Proxy enabled] — こ のチ ェ ッ ク ボ ッ ク スが選択 さ れている場合、こ のデー タ ソ ースに関する Salesforce.com に対する すべての要求は、[Proxy host]、[Proxy port]、さ ら にオプ シ ョ ンの [Proxy username] お よび [Proxy password] プ ロパ テ ィ で指定 さ れた Web プ ロキシ をパススルー し ます。 8 Salesforce.com Adapter の使用 Salesforce.com のイ ン ト ロ スペ ク シ ョ ン [Proxy host] — Web プ ロキシのホス ト 名または IP ア ド レ ス。プ ロキシは、[Proxy enabled] プ ロパテ ィ を選択 し た場合の み使用 さ れます。 [Proxy port] — Web プ ロキシのポー ト 。プ ロキシは、[Proxy enabled] プ ロパテ ィ を選択 し た場合のみ使用 さ れます。 注:[Advanced] タ ブの下部を表示するには、必要に応 じ てス ク ロール ダウン し ます。 [Proxy username] および [Proxy password] — 選択 し た Web プ ロキシの認証に使用するユーザ名 と パスワー ド を指定 し ます。 [Batch updates] — Salesforce.com では、1 つの更新要求の影響を受ける レ コ ー ド 数が 200 に制限 さ れています。こ のオ プ シ ョ ン を無効にする と (デ フ ォル ト )、Salesforce.com はこ の制限を超えた場合に例外を ス ロー し ます。こ のオプ シ ョ ン を有効にする と 、200 を超え る行に影響する更新は、制限を回避する ために Salesforce.com に対 し てバ ッ チに分割 さ れます。バ ッ チは ト ラ ンザ ク シ ョ ン ではないため、最初のバ ッ チが成功すれば、2 番目のバ ッ チが失敗 し た場合で も最初 のバ ッ チによ る Salesforce.com レ コ ー ド の更新が行われます。 [Batch deletes] — Salesforce.com では、1 つの削除要求の影響を受ける レ コ ー ド 数が 200 に制限 さ れています。こ のオ プ シ ョ ン を無効にする と (デ フ ォル ト )、Salesforce.com はこ の制限を超えた場合に例外を ス ロー し ます。こ のオプ シ ョ ン を有効にする と 、200 を超え る行に影響する削除は、制限を回避する ために Salesforce.com に対 し てバ ッ チに分割 さ れます。バ ッ チは ト ラ ンザ ク シ ョ ン ではないため、最初のバ ッ チが成功すれば、2 番目のバ ッ チが失敗 し た場合で も最初 のバ ッ チによ る Salesforce.com レ コ ー ド の削除が行われます。 [URL] — こ のプ ロパテ ィ は、Salesforce.com 環境の場所を指定 し ます。こ れにはプ リ セ ッ ト さ れた 2 つの値が含まれ、カ ス タ ム値の指定が可能です。デ フ ォル ト では、リ ス ト 内の最初のプ リ セ ッ ト 値である、実稼働 Salesforce.com 環境の URL に設定 さ れています。Salesforce.com Sandbox(2 番目のプ リ セ ッ ト URL)、またはお客様が提供するオ ン プ レ ミ ス のシス テムの URL に設定する こ と も で き ます。 7. 次のいずれかのボ タ ン を使用 し て、Salesforce.com のデー タ ソ ース を作成 し ます。 — [Create & Close] を ク リ ッ ク し て、後で イ ン ト ロ スペ ク ト で き るデー タ ソ ース を作成 し ます。新 し いデー タ ソ ース は、Studio の リ ソ ース ツ リ ーに表示 さ れます。 — [Create & Introspect] を ク リ ッ ク し てデー タ リ ソ ース を選択 し 、イ ン ト ロ スペ ク シ ョ ン を行います。 Salesforce.com か ら リ ソ ース を選択するウ ィ ン ド ウが開き ます。こ の選択プ ロ セスはイ ン ト ロ スペ ク シ ョ ン と も呼 ばれます。次のス テ ッ プに進みます。 イ ン ト ロ スペ ク シ ョ ン プ ロ セスの詳細については、『CIS User Guide』のイ ン ト ロ スペ ク シ ョ ンの項を参照 し て く だ さ い。 8. Salesforce.com のデー タ ソ ース を表す ノ ー ド を展開 し 、リ ソ ースに対応するボ ッ ク ス を選択 し ます。 Salesforce.com は、フ ラ ッ ト な単一階層の リ ソ ース を提供 し ます。Salesforce.com の用語では、リ ソ ースは SObject と 呼ばれます。SObject は、CIS では リ レーシ ョ ナル テーブル と し て表 さ れます。 注: リ ソ ースのイ ン ト ロ スペ ク シ ョ ンには時間がかかる ため、通常はプ ロ ジ ェ ク ト に必要な リ ソ ースだけ を選択 し て く だ さ い。後で リ ソ ース を追加する必要が生 じ た場合は、Studio で [Add/Remove Resources] を使用 し ていつで も追加で き ます。 9. [Next] を ク リ ッ ク し て、選択 し た リ ソ ース を確認 し ます。 10. デー タ ソ ース を イ ン ト ロ スペ ク ト するには、[Finish] を ク リ ッ ク し ます。 イ ン ト ロ スペ ク シ ョ ンが完了する と 、デー タ ソ ースが Cisco Server に追加 さ れ、ス テ ッ プ 4 で指定 し た名前が リ ソ ース ツ リ ーに表示 さ れます。 9 Salesforce.com Adapter の使用 Salesforce.com の ID 確認セキ ュ リ テ ィ 機能 Salesforce.com の ID 確認セキ ュ リ テ ィ 機能 Salesforce.com には、Salesforce.com のデー タ ソ ースへのア ク セスに必要な場合がある、追加の ID 確認セキ ュ リ テ ィ 機能 があ り ます。次のエ ラ ーが表示 さ れた場合には、こ の追加機能を実装する必要があ り ます。 SForceException: Error [sforce-2900000]: LOGIN_MUST_USE_SECURITY_TOKEN デス ク ト ッ プ ア プ リ ケーシ ョ ン またはその他の API ベースのア プ リ ケーシ ョ ンから Salesforce.com にア ク セスするには、 現在のパスワー ド を、パスワー ド と セキ ュ リ テ ィ ト ー ク ンの組み合わせに置き換え る必要があ り ます。 Salesforce.com のセキ ュ リ テ ィ 機能を実装する方法 1. ブ ラ ウザから Salesforce.com にログ イ ン し 、セキ ュ リ テ ィ ト ー ク ン を要求 し ます。 2. Salesforce の任意のページの上部で、自分の名前の横にある下矢印を ク リ ッ ク し ます。名前の下の メ ニ ュ ーから、[Setup] または [My Settings](いずれか表示 さ れたほ う )を選択 し ます。 3. [Setup] > [My Personal Information] > [Reset Security Token] に移動 し ます。 または [My Settings] > [Personal] > [Reset My Security Token] に移動 し ます。 4. [Reset Security Token] ボ タ ン を ク リ ッ ク する と 、セキ ュ リ テ ィ ト ー ク ンが含まれている電子 メ ールが ト リ ガー さ れます。 5. 電子 メ ールか ら ト ー ク ン を選択 し て コ ピー し ます。 6. ア プ リ ケーシ ョ ン で、パスワー ド をパスワー ド と セキ ュ リ テ ィ ト ー ク ンの組み合わせに置き換え ます。た と えば、パス ワー ド が MyPassword でセキ ュ リ テ ィ ト ー ク ンが XXXXXX である場合は、パスワー ド フ ィ ール ド に MyPasswordXXXXXX と 入力 し ます。 詳細については http://trust.salesforce.com/trust/security/identity_feature.html を参照 し て く だ さ い。 Salesforce.com を使用 し た接続のテ ス ト 前の項で説明 し た よ う に Salesforce.com のデー タ ソ ース を追加する と 、入力 し た接続の詳細が動作 し ているかど う かを テ ス ト で き ます。 Salesforce.com での接続テ ス ト 1. リ ソ ース ツ リ ーで Salesforce.com のデー タ ソ ース を右ク リ ッ ク し 、[Open] を開き ます。 2. 右側に表示 さ れる エデ ィ タ で [Info] タ ブ(下部にある)を開き、[Test Connection] を ク リ ッ ク し ます。接続が成功する と 、 [Connection OK] メ ッ セージが表示 さ れます。接続に失敗 し た場合は、エ ラ ー メ ッ セージ を調べます。こ こ で、い く つかの 一般的な問題 と 、推奨 さ れる措置を示 し ます。 Salesforce.com のア カ ウン ト に、API にア ク セスする権限がない。組織のア カ ウン ト で API にア ク セスで き る よ う にす るには、Salesforce.com または組織の Salesforce.com 管理者に問い合わせて く だ さ い。 ユーザ名 と パスワー ド が無効であるかロ ッ ク さ れている。Salesforce.com の Web サイ ト 自体にログ イ ン し て、正 し い ユーザ名 と パスワー ド を入力 し た こ と を確認 し ます。「Salesforce.com の ID 確認セキ ュ リ テ ィ 機能」(P.10) を参照 し て、 要求 さ れたセキ ュ リ テ ィ ト ー ク ン と パスワー ド を合わせて使用 し た こ と を確認 し ます。必要に応 じ て、組織の Salesforce.com 管理者に問い合わせて く だ さ い。 パスワー ド の期限が切れた。Web サイ ト か ら Salesforce.com にログ イ ン し 、パスワー ド を リ セ ッ ト し ます。組織のパス ワー ド ポ リ シーで、所定の日数ご と にユーザがパスワー ド を変更する こ と が規定 さ れている場合は、プ ロ フ ァ イルで [Password Never Expires] オプ シ ョ ン を選択 し ます。 接続に失敗 し た。CIS ホス ト に、HTTP(ポー ト 443、80)を通 じ て イ ン タ ーネ ッ ト にア ク セスする権限がある こ と を確認 し ます。Salesforce.com へのア ク セスに Web ブ ラ ウザを使用で き て CIS を使用で き ない場合は、Web プ ロキシ設定につ いて Web ブ ラ ウザの設定を確認 し 、Salesforce.com のデー タ ソ ースで [Advanced Properties] に入力 し ます。 10 Salesforce.com の SQL サポー ト こ の章では、CIS が Salesforce.com の SQL 文 と オブ ジ ェ ク ト を どのよ う に解釈 し サポー ト するかを説明 し ます。 こ の章の内容は、次の と お り です。 「Salesforce.com の SQL サポー ト について」(P.11) 「イ ン ト ロ スペ ク シ ョ ン」(P.11) 「機能群」(P.12) 「結合」(P.13) 「SQL を使用 し た Multipicklist」(P.16) 「 リ ー ド の変換」(P.17) 「更新および削除 さ れたオブ ジ ェ ク ト 」(P.17) 「パ ッ ケージ化 さ れた ク エ リ 」(P.18) 「Salesforce.com でのデー タ 変更」(P.18) Salesforce.com の SQL サポー ト について Salesforce.com は、SObjects と 呼ばれるデー タ オブ ジ ェ ク ト の名前空間で動作する一連の SOAP RPC サービ ス を通 じ て、 機能を提供 し ます。Salesforce.com Adapter は、こ れら のサービ ス と SOQL(Sforce オブ ジ ェ ク ト ク エ リ 言語) と 呼ばれる ク エ リ 言語を活用 し て、リ レーシ ョ ナル デー タ ソ ース と し て Salesforce.com への SQL ア ク セス を提供 し ます。 こ こ では、Salesforce.com の リ ソ ースが CIS 内で どのよ う に動作するかについて説明 し ます。 イ ン ト ロ スペ ク シ ョ ン リ ソ ース階層 Salesforce.com Adapter は、CIS 内の リ ソ ース と し て Salesforce.com の SObject を提供 し ます。SObject は、フ ラ ッ ト な名 前空間での名前を選択する こ と で イ ン ト ロ スペ ク ト さ れます。必要なデー タ が含まれている SObject を特定で き ない場合は、 Salesforce.com の Web サイ ト の タ ブ を調べるか、サイ ト のマニ ュ アルを参照 し て く だ さ い。 Cisco Systems, Inc. www.cisco.com 11 Salesforce.com の SQL サポー ト 機能群 メ タ デー タ マ ッ ピ ン グ Salesforce.com の SObject の各 フ ィ ール ド は、同 じ 名前の CIS の列にな り ます。Salesforce.com の各デー タ 型は、CIS SQL ベースのデー タ 型にマ ッ ピ ング さ れます。次の表に、Salesforce.com のデー タ 型 と 、それら が CIS でサポー ト さ れているかど う か、および対応する CIS デー タ 型を示 し ます。 Salesforce.com のデー タ 型の名前 サポー ト の有無 CIS デー タ 型 STRING、TEXTAREA、PHONE、URL、EMAIL、 COMBOBOX、PICKLIST、MULTIPICKLIST Yes VARCHAR BOOLEAN Yes BIT INT Yes BIGINT DOUBLE、CURRENCY、PERCENT Yes DECIMAL、NUMERIC DATE Yes DATE DATETIME Yes TIMESTAMP BASE64 Yes VARCHAR ID、REFERENCE Yes VARCHAR(18) 機能群 機能群は、デー タ ソ ースの固有の機能 と 制限を分類する体系です。た と えば、Oracle デー タ ソ ースはサブ ク エ リ を実行で き ますが、Salesforce.com は実行で き ません。機能群は、サポー ト さ れている ク エ リ 処理だけ をデー タ ソ ースが受け取る よ う に、ク エ リ の処理時に参照 さ れます。ある機能群が欠けているデー タ ソ ースで ク エ リ を実行する必要がある場合は、CIS 自体 が ク エ リ を実行 し ます。 次の表に、一般的に使用 さ れる機能群 と 、Salesforce.com への適用方法を示 し ます。「サポー ト の有無」列は、SQL の機能が Salesforce.com に対する ク エ リ でサポー ト さ れるかど う かを示 し ています。「プ ッ シ ュの有無」列は、機能群が直接 Salesforce.com でサポー ト さ れていて、ク エ リ 処理がオ フ ロー ド さ れるかど う かを示 し ています。ク エ リ を効率的に行 う に は、非プ ッ シ ュ機能の使用を最小限に し ます。 機能 サポー ト の有無 プ ッ シ ュの有無 CASE (Context Adaptive Scanning Engine) Yes No DELETE Yes Yes DISTINCT No No Filter Yes Yes 注 「Salesforce.com でのデー タ 変更」(P.18)を参照 し て く だ さ い。 同 じ SObject の 2 つの列を比較する フ ィ ル タ は、 Salesforce.com では使用で き ません。 「filterable」属性が偽に設定 さ れている列に フ ィ ル タ を適用する と 、ク エ リ は Salesforce デー タ ソ ー スにプ ッ シ ュ さ れる代わ り に CIS で実行 さ れます。 Filter – BETWEEN Yes Yes Filter – IN Yes Yes Filter – LIKE Yes Yes Functions – Aggregate Yes No Functions – CAST Yes Yes 「SQL を使用 し た Multipicklist」(P.16)を参照 し て く だ さ い。 12 Salesforce.com の SQL サポー ト 結合 機能 サポー ト の有無 プ ッ シ ュの有無 注 Function – ConvertCurrency Yes Yes Salesforce.com 固有の機能。 正 し く 機能 さ せるには、Salesforce.com で通貨管 理を有効にする必要があ り ます。Salesforce.com では、ConvertCurrency の使用に関する制約が適用 さ れます。詳細については、Salesforce.com のマ ニ ュ アルを参照 し て く だ さ い。 Functions – Others Yes No Function – ToLabel Yes Yes GROUP BY Yes No INSERT Yes Yes 「Salesforce.com でのデー タ 変更」(P.18)を参照 し て く だ さ い。 JOIN Yes Yes プ ッ シ ュ さ れる結合 タ イ プの詳細については、「結 合」(P.13) を参照 し て く だ さ い。 ORDER BY Yes No Subquery Yes No Transactions No No UNION Yes No UPDATE Yes Yes Salesforce.com 固有の機能。 「Salesforce.com でのデー タ 変更」(P.18)を参照 し て く だ さ い。 結合 結合によ っ て ク エ リ のパ フ ォ ーマ ン ス を最適化で き る可能性がある場合、CIS は見つかっ た結合情報を利用 し て標準の SQL を SOQL に変換 し 、実行時(デー タ が実際に取得 さ れた時点)に ソ ースの Salesforce.com デー タ ベースにプ ッ シ ュ し ます。特 に、親か ら子または子か ら親の関係を持つ内部結合 と 外部結合によ る ク エ リ は、実行時に Salesforce.com にプ ッ シ ュ さ れま す。こ れ らの関係がない場合、結合は実行時に CIS で処理 さ れます。 注:Salesforce.com への結合のプ ッ シ ュは無効にする こ と がで き ます。「結合実行のプ ッ シ ュの無効化」(P.15)を参照 し て く だ さ い。 Salesforce.com の リ ソ ースが含まれた CAR フ ァ イルを 6.2 SP2 よ り 前の CIS リ リ ースから イ ンポー ト する場合 に、結合のプ ッ シ ュ機能を利用するには、リ ソ ース を再イ ン ト ロ スペ ク ト する必要があ り ます。 結合関係は、Salesforce.com のデー タ ソ ースが作成 さ れイ ン ト ロ スペ ク ト さ れた時点で評価 さ れます。イ ン ト ロ スペ ク シ ョ ン中にテーブル内で親か ら子または子か ら親の関係が検出 さ れた場合は、各テーブルの子関係が収集 さ れ、次の例に示すよ う に [Annotation] フ ィ ール ド の [Info] タ ブに挿入 さ れます。 13 Salesforce.com の SQL サポー ト 結合 こ の情報はユーザ専用である ため編集で き ません。[Annotation] フ ィ ール ド が空である場合、そのテーブルには子関係があ り ません。 親関係は、テーブルの [Foreign Keys] タ ブに、CIS の外部キー関係 と し て表示 さ れます。外部キーおよびプ ラ イ マ リ キー関係 は実行時に使用 さ れます。 Salesforce.com にプ ッ シ ュ さ れる結合 CIS は、右外部結合、左外部結合、および内部結合を Salesforce.com にプ ッ シ ュ で き ます。こ れら の結合を CIS が SQL から SOQL に変換する例を以下に示 し ます。 右外部結合 すべての案件レ コ ー ド および関連する ア カ ウン ト を検索 し ます。 SQL: SELECT o.Id, o.Name, A.Id, A.Name FROM /shared/QA_SForce/Sources/SForce/Account a right outer join /shared/QA_SForce/Sources/SForce/Opportunity o on a.id = o.AccountId SOQL: Select Id, Name, Account.Id, Account.Name From Opportunity 14 Salesforce.com の SQL サポー ト 結合 左外部結合 すべてのア カ ウン ト および関連する案件レ コ ー ド を検索 し ます。 SQL: SELECT A.Id, A.Name, o.AccountId, o.Name FROM /shared/QA_SForce/Sources/SForce/Account a left outer join /shared/QA_SForce/Sources/SForce/Opportunity o on a.id = o.AccountId SOQL: Select Id, Name, (Select From Account AccountId, Name From Opportunities) 内部結合 案件レ コ ー ド が存在するすべてのア カ ウン ト を検索 し ます。 SQL: SELECT A.Id, A.Name FROM /shared/QA_SForce/Sources/SForce/Account a inner join /shared/QA_SForce/Sources/SForce/Opportunity o on a.id = o.AccountId SOQL: Select Id, Name From Account Where Id In (Select AccountId from Opportunity) 結合実行のプ ッ シ ュの無効化 CIS は、実行可能な結合を Salesforce.com に自動的にプ ッ シ ュ する よ う に設定 さ れています。Salesforce.com に対する結合 実行のプ ッ シ ュは、次の方法で無効にする こ と がで き ます。 次の例のよ う に、ク エ リ で DISABLE_PUSH オプ シ ョ ン を使用 し ます。 SELECT {option DISABLE_PUSH} o.Id, o.Name, A.Id, A.Name FROM /shared/QA_SForce/Sources/SForce/Account a right outer join /shared/QA_SForce/Sources/SForce/Opportunity o on a.id = o.AccountId semijoin semijoin は、CIS が取得 し て処理する Salesforce.com の行数を減ら し 、ク エ リ のパフ ォ ーマ ン ス を向上 さ せる最良の方法で す。semijoin を ク エ リ で行 う よ う に強制する には、結合する テーブルの直前に semijoin を追加 し ます。次に例を示 し ます。 SELECT * FROM A INNER JOIN { option semijoin } B ON A.K = B.K A.K の値が収集 さ れ、ク エ リ によ っ て B に フ ィ ル タ と し て渡 さ れます。 SELECT * FROM A SELECT * FROM B WHERE K IN ({values of A.K from previous query}) 15 Salesforce.com の SQL サポー ト SQL を使用 し た Multipicklist A に多数の行がある場合は、これによ っ て B に対する ク エ リ が過度に長 く な る可能性があ り ます。過度に長 く な る場合は、CIS が B に対する ク エ リ を自動的にパーテ ィ シ ョ ン分割 し ます。パーテ ィ シ ョ ニ ン グによ っ て ク エ リ は小 さ く 分割 さ れ、それらが 別個に実行 さ れた後で再構築 さ れて、統合 さ れた結果セ ッ ト が生成 さ れます。 大型のテーブルは、可能な限 り 結合の右側に置き ます。新 し い ク エ リ を最初に実行する場合には、Studio で実行プ ラ ン を表示 し ( リ ソ ース エデ ィ タ で [Show Execution Plan] を ク リ ッ ク)、[Execute] と [Show Statistics] を ク リ ッ ク し ます。処理が開始 さ れた ら各 ノ ー ド の行数 と ク エ リ を調べて、フ ィ ル タ が Salesforce.com にプ ッ シ ュ さ れる こ と を確認 し ます。こ れは、 semijoin の仕組みを理解する方法 と し て優れています。CIS と Salesforce.com の間の対話がまだ明確でな く 、パフ ォ ーマ ン スが低い場合は、『CIS Installation Guide』の説明に従っ てデバ ッ グ ロギングを有効に し ます。こ れは、CIS の SQL 文がどのよ う に Salesforce.com に対する一連の要求にな るのかを理解する ために役立ち ます。 SQL を使用 し た Multipicklist Multipicklist は、ユーザが有効な値の リ ス ト から 複数の値を選択で き る、Salesforce.com 内のデー タ 型です。CIS 内の SQL ク エ リ で Multipicklist を選択する と 、セ ミ コ ロ ン で区切ら れた一連の値 と し て表示 さ れます。た と えば、ユーザが Multipicklist か ら Bob と Mary を選択する と 、CIS には Bob;Mary と い う 値 と し て表示 さ れます。 選択 さ れた値を フ ィ ル タ リ ング目的で別個に扱 う ために、Salesforce.com ではク エ リ 言語に特別な演算子を使用で き ます。 こ こ では、こ れ らの演算子を活用 し て CIS で SQL ク エ リ を作成する方法について説明 し ます。 等し い Multipicklist フ ィ ール ド で等価演算子を使用する と 、Salesforce.com に対 し て実行する際に、イ ン クルー ド 演算子に変換 さ れ ます。た と えば次の SQL 文は、Multipicklist__c フ ィ ール ド での選択に Value1 が含まれる行を返 し ます。 SELECT * FROM TestObject1__c WHERE MultiPickList__c = ‘Value1’ こ の ク エ リ によ り 、Salesforce.com に対 し て実行する ク エ リ に次のフ ィ ル タ が適用 さ れます。 WHERE MultiPickList__c includes (‘Value1’) 等 し く ない Multipicklist フ ィ ール ド で不等演算子を使用する と 、Salesforce.com に対 し て実行する際に NOT および イ ン クルー ド 演算子 に変換 さ れます。た と えば次の SQL 文は、Multipicklist__c フ ィ ール ド での選択に Value1 が含まれる行を返 し ます。 SELECT * FROM TestObject1__c WHERE MultiPickList__c != ‘Value1’ こ の ク エ リ によ り 、Salesforce.com に対 し て実行する ク エ リ に次のフ ィ ル タ が適用 さ れます。 WHERE NOT (MultiPickList__c includes (‘Value1’))" Includes Multipicklist フ ィ ール ド では、フ ィ ール ド の選択項目に、選択 さ れた複数の値における値が含まれる場合にその値が含まれま す。Salesforce.com に INCLUDES 構文を プ ッ シ ュ する よ う に CIS に指示するには、IN キーワー ド が使用 さ れます。た と えば 次の SQL 文は、Multipicklist__c フ ィ ール ド での選択に Value1 と Value2 が含まれている行を返 し ます。 SELECT * FROM TestObject1__c WHERE MultiPickList__c IN ('Value1', 'Value2') こ の ク エ リ によ り 、Salesforce.com に対 し て実行する ク エ リ に次のフ ィ ル タ が適用 さ れます。 WHERE MultiPickList__c includes ('Value1','Value2') 16 Salesforce.com の SQL サポー ト リ ー ド の変換 Excludes Multipicklist フ ィ ール ド では、フ ィ ール ド の選択項目に、選択 さ れた複数の値における値が含まれない場合にその値が除外 さ れます。Salesforce.com に EXCLUDES 構文を プ ッ シ ュ する よ う に CIS に指示するには、NOT IN キーワー ド が使用 さ れます。 た と えば次の SQL 文は、Multipicklist__c フ ィ ール ド での選択に Value1 と Value2 が含まれていない行を返 し ます。 SELECT {OPTION DISABLE_PUSH} * FROM TestObject1__c WHERE MultiPickList__c NOT IN ('Value1', 'Value2') 注 : Salesforce.com が NULL を返 さ ないよ う にするには、 DISABLE_PUSH オプ シ ョ ンが必要にな り ます。 こ の ク エ リ によ り 、Salesforce.com に対 し て実行する ク エ リ に次のフ ィ ル タ が適用 さ れます。 WHERE MultiPickList__c excludes ('Value1','Value2') リ ー ド の変換 Salesforce.com では、リ ー ド を ア カ ウン ト 、連絡先、または新規案件に変換する ConvertLead API コ ールを使用で き ます。こ の機能には、Salesforce.com のデー タ ソ ース内の convertLead と い う 名前のス ト ア ド プ ロ シージ ャ を使用 し てア ク セスで き ます。 リ ー ド を変換するには、Salesforce.com のデー タ ソ ースが [Convert Leads permission] お よび [Edit permission on Leads] を使用 し て Salesforce.com にログ イ ンする必要があ り 、また関連する ア カ ウン ト 、連絡先、および新規案件の作成または更新 が可能な権限が必要です。 リ ー ド の変換に関する詳細は、こ のマニ ュ アルの対象範囲外です。詳細については、Salesforce.com の Web サイ ト の開発者 セ ク シ ョ ン で、Salesforce API のマニ ュ アルを参照 し て く だ さ い。 更新および削除 さ れたオブ ジ ェ ク ト Salesforce.com では、GetUpdated および GetDeleted と い う 名前のス ト ア ド プ ロ シージ ャ を使用で き ます。これらは、指定 さ れた期間内に更新または削除 さ れた、指定 さ れたオブ ジ ェ ク ト の ID が返 さ れる API コ ールです。 GetUpdated および GetUpdated 経由でア ク セス さ れる よ う にするには、オブ ジ ェ ク ト を レ プ リ ケー ト で き る よ う に設定す る必要があ り ます。結果は、コ ールが実行 さ れる 30 日前以前に返 さ れます。それら の結果では、現在の日付に更新または削除 さ れた連絡先 ID が返 さ れる必要があ り ます。 Upsert Upsert API コ ールは新 し い レ コ ー ド を作成 し 、既存のレ コ ー ド を更新 し ます。不要な重複レ コ ー ド の作成を防止するには、 Create の代わ り に Upsert を使用 し ます。 Upsert ではカ ス タ ム フ ィ ール ド を使用 し て、既存のレ コ ー ド の存在が判断 さ れます。すべてのレ コ ー ド は、同 じ オブ ジ ェ ク ト タ イ プ である必要があ り ます。最大ア レ イ サイ ズは 200 です。 入力 externalIdFieldName:新 し い レ コ ー ド を作成するか、既存のレ コ ー ド を更新するかど う かを決定 し ます。 objectType:レ コ ー ド タ イ プ。 dataSql:新 し い レ コ ー ド の生成に使用 さ れる SQL。結果セ ッ ト の各行は SalesForce のレ コ ー ド に対応 し ています。 dataCursor の入力を使用する こ と も で き ます。 17 Salesforce.com の SQL サポー ト Merge dataCursor:新 し い レ コ ー ド の生成に使用 さ れる入力カ ー ソ ル。結果セ ッ ト の各行は SalesForce のレ コ ー ド に対応 し ていま す。dataSql の入力を使用する こ と も で き ます。 fields:レ コ ー ド 内の フ ィ ール ド のカ ン マ区切 り リ ス ト 。これが NULL である と 、フ ィ ール ド は可能な場合 dataSql または dataCursor から 抽出 さ れます。可能でない場合はエ ラ ーが発生 し ます。 出力 Upsert は、Upsert の結果が含まれている カ ー ソ ルを出力 し ます。 id:レ コ ー ド の Salesforce ID。 isCreated:レ コ ー ド が新 し く 作成 さ れたかど う かを示すブール値。 Merge Merge は、同 じ オブ ジ ェ ク ト タ イ プのレ コ ー ド をいずれかのレ コ ー ド にマージ し 、その他のレ コ ー ド を削除 し 、関連する レ コ ー ド の親指定を調整 し ます。 入力 objectType:マス タ ー レ コ ー ド タ イ プ。サポー ト さ れている タ イ プは、Lead、Contact、Account のみです。 masterRecordId:他のレ コ ー ド がマージ さ れる マス タ ー レ コ ー ド の ID。 recordToMergeIds:マス タ ー レ コ ー ド にマージする レ コ ー ド のカ ン マ区切 り リ ス ト 。 出力 マージ結果が含まれる カ ー ソル。 パ ッ ケージ化 さ れた ク エ リ CIS は SOQL を使用 し た、Salesforce.com に対するパ ッ ケージ化 さ れた ク エ リ をサポー ト し ています。 こ のサポー ト によ り 、パ ッ ケージ化 さ れた ク エ リ の上にビ ュ ーを構築 し 、ネス ト さ れた結果を フ ラ ッ ト にする こ と がで き ま す。該当する メ タ デー タ を使用で き る場合には、結合を使用 し て プ ッ シ ュ ダウン さ れます。 Salesforce.com でのデー タ 変更 Salesforce.com の任意のデー タ ソ ースに対 し て、INSERT、UPDATE、お よ び DELETE 操作を直接実行で き ます。CIS では、 こ れは SQL ス ク リ プ ト を使用 し て行い ます。SQL ス ク リ プ ト の詳細については、『CIS Reference Manual』を参照 し て く だ さ い。 Salesforce.com でのデー タ 変更は、一連のビ ジネス ールによ っ て管理 さ れます。こ れらのルールは多 く の場合 SObject 単位 で定義 さ れる ため、詳細は こ のマニ ュ アルの対象範囲外です。こ こ では、Salesforce.com API のマニ ュ アルに記載 さ れている 一部のルールの概要を示 し ます。 Salesforce.com に対するデー タ 変更要求が正 し く 処理 さ れない場合は、Salesforce.com サーバのビ ジネス ルールが原因で ある可能性があ り ます。Salesforce.com の SObject の更新の詳細については、Salesforce.com Web サイ ト の開発者セ ク シ ョ ン で、Salesforce API のマニ ュ アルを参照 し て く だ さ い。 「INSERT INTO」(P.19) 「UPDATE」(P.19) 「DELETE」(P.20) 18 Salesforce.com の SQL サポー ト Salesforce.com でのデー タ 変更 INSERT INTO INSERT INTO 文では、特定の タ イ プの新 し い SObject イ ン ス タ ン スが作成 さ れます。タ イ プは、コ マ ン ド に対する テーブル と し て提供 さ れる リ ソ ースによ っ て決定 さ れます。リ ソ ース名に続いて、フ ィ ール ド 名 と 値の リ ス ト によ っ て、新 し いオブ ジ ェ ク ト を初期化するデー タ が得 られます。 次に例を示 し ます。 INSERT INTO /shared/DataServicesForSalesforce.com/Sources/Salesforce.com/Contact (FirstName, LastName, MailingStreet, MailingCity, MailingState, MailingPostalCode, MailingCountry, Phone) VALUES ('Marc', 'Benioff', '1 Market St Suite 300', 'San Francisco', 'CA', '94105', 'US', '415-555-1212'); INSERT INTO 文を開発する際に考慮すべき事項を次に示 し ます。 ア カ ウン ト のセキ ュ リ テ ィ 。CIS が使用する Salesforce.com のア カ ウン ト は、指定 さ れた タ イ プのオブ ジ ェ ク ト を作成 で き る ア ク セス権を必要 と し ます。 オブ ジ ェ ク ト および フ ィ ール ド のセキ ュ リ テ ィ 。一部のオブ ジ ェ ク ト と それらのオブ ジ ェ ク ト 内の特定のフ ィ ール ド で は、特殊な処理または権限が必要です。た と えば、こ のオブ ジ ェ ク ト の親オブ ジ ェ ク ト にア ク セスする権限を必要 と する 場合 も あ り ます。オブ ジ ェ ク ト によ っ ては、API を使用 し て作成で き ない場合があ り ます。 生成 さ れた フ ィ ール ド 。Salesforce.com では、一部のフ ィ ール ド に対する一意の値が自動的に生成 さ れます。ID、 CreatedDate、CreatedById、LastModifiedDate、LastModifiedById、お よび SystemModstamp を明示的に指定する こ と はで き ません。 必須 フ ィ ール ド 。事前設定済みのデ フ ォル ト 値がない必須フ ィ ール ド では、値を指定する必要があ り ます。 デ フ ォル ト 値。オブ ジ ェ ク ト によ っ ては、一部のフ ィ ール ド にデ フ ォル ト 値があ り ます。値を指定 し ない と 、 Salesforce.com ではそれ らの フ ィ ール ド にデ フ ォル ト 値が入力 さ れます。 参照整合性。親オブ ジ ェ ク ト の子である オブ ジ ェ ク ト を作成する場合には、子を親に リ ン ク する外部キーを指定する必要 があ り ます。 一度に挿入 さ れる レ コ ー ド 数。Salesforce.com への挿入を行 う 場合、CIS では一度に 200 以下のレ コ ー ド のバ ッ チ挿入 が使用 さ れます。 UPDATE UPDATE 文では、フ ィ ール ド と 値の フ ィ ル タ お よび リ ス ト に基づいて、1 つ以上の SObject イ ン ス タ ン スが変更 さ れます。 SObject タ イ プは、コ マ ン ド に対する テーブル と し て指定 さ れる リ ソ ースによ っ て決定 さ れます。リ ソ ース名に続いて、 フ ィ ール ド と 値のペアによ っ て、選択 し たオブ ジ ェ ク ト に対する変更の詳細が決定 さ れます。最後に フ ィ ル タ によ っ て、特定 の行の更新が行われる条件が指定 さ れます。 次に例を示 し ます。 UPDATE /shared/DataServicesForSalesforce.com/Sources/Salesforce.com/Contact SET "Phone" = '415-555-9999' WHERE "FirstName" = 'Marc' AND "LastName" = 'Benioff'; UPDATE 文を開発する際に考慮すべき事項を次に示 し ます。 ア カ ウン ト のセキ ュ リ テ ィ 。CIS が使用する Salesforce.com のア カ ウン ト は、指定 さ れた タ イ プのオブ ジ ェ ク ト を更新 で き る ア ク セス権を必要 と し ます。 オブ ジ ェ ク ト および フ ィ ール ド のセキ ュ リ テ ィ 。一部のオブ ジ ェ ク ト と それらのオブ ジ ェ ク ト 内の特定のフ ィ ール ド で は、特殊な処理または権限が必要です。た と えば、こ のオブ ジ ェ ク ト の親オブ ジ ェ ク ト にア ク セスする権限を必要 と する 場合 も あ り ます。オブ ジ ェ ク ト によ っ ては、API を使用 し て更新で き ない場合があ り ます。 19 Salesforce.com の SQL サポー ト Salesforce.com でのデー タ 変更 生成 さ れた フ ィ ール ド 。Salesforce.com では、一部のフ ィ ール ド に対する一意の値が自動的に生成 さ れます。ID、 CreatedDate、CreatedById、LastModifiedDate、LastModifiedById、お よび SystemModstamp を明示的に更新する こ と はで き ません。 必須 フ ィ ール ド 。必須 フ ィ ール ド を更新する場合は、値を指定する必要があ り ます。値を NULL に設定する こ と はで き ま せん。 参照整合性。名前に「Id」が含まれる フ ィ ール ド は、そのオブ ジ ェ ク ト のプ ラ イ マ リ キーまたは外部キーです。 Salesforce.com ではプ ラ イ マ リ キーは更新で き ませんが、外部キーは更新で き ます。 オブ ジ ェ ク ト の変更制限。Salesforce.com では、1 つの要求で 200 のオブ ジ ェ ク ト を変更で き ます。更新要求が 200 オ ブ ジ ェ ク ト を超え る と 、全体の処理が失敗 し ます(高度なデー タ ソ ース プ ロパテ ィ のバ ッ チ更新が有効な場合を除 く 。 「接続情報 — 詳細プ ロパテ ィ 」(P.8) を参照)。 DELETE DELETE 文は、フ ィ ル タ に基づいて 1 つ以上の SObject イ ン ス タ ン ス を削除 し ます。SObject タ イ プは、コ マ ン ド に対する テーブル と し て指定 さ れる リ ソ ースによ っ て決定 さ れます。リ ソ ース名に続いて、特定の行で削除が行われる条件がフ ィ ル タ によ っ て指定 さ れます。 次に例を示 し ます。 DELETE FROM /shared/DataServicesForSalesforce.com/Sources/Salesforce.com/Contact WHERE "FirstName" = 'John' AND "LastName" = 'Doe'; DELETE 文を開発する際に考慮すべき事項を次に示 し ます。 ア カ ウン ト のセキ ュ リ テ ィ 。CIS が使用する Salesforce.com のア カ ウン ト は、指定 さ れた タ イ プのオブ ジ ェ ク ト を削除 で き る ア ク セス権を必要 と し ます。 オブ ジ ェ ク ト および フ ィ ール ド のセキ ュ リ テ ィ 。こ のオブ ジ ェ ク ト の親オブ ジ ェ ク ト にア ク セスする権限が必要にな り ます。オブ ジ ェ ク ト によ っ ては、API を使用 し て削除で き ない場合があ り ます。 参照整合性。参照整合性を確保する ために、DELETE コ ールでは削除のカ スケー ド がサポー ト さ れています。つま り 、ある 親オブ ジ ェ ク ト を削除する と 、それぞれの子オブ ジ ェ ク ト を削除で き る限 り 、子オブ ジ ェ ク ト も自動的に削除 さ れます。 高度なデー タ ソ ース プ ロパテ ィ のバ ッ チ削除が有効である場合、200 を超え る オブ ジ ェ ク ト を処理で き ます。詳細につ いては、「接続情報 — 詳細プ ロパテ ィ 」(P.8)を参照 し て く だ さ い。 20 Salesforce.com Adapter のセキ ュ リ テ ィ こ こ では、Salesforce.com のセキ ュ リ テ ィ 機能に対する CIS のサポー ト について説明 し ます。 次の ト ピ ッ ク を扱います。 「Salesforce.com の リ ソ ースの保護」(P.21) Salesforce.com の リ ソ ースの保護 CIS は、Salesforce.com が提供する一連のデー タ セキ ュ リ テ ィ 対策を完全にサポー ト し ます。セキ ュ リ テ ィ は、ユーザ、オブ ジ ェ ク ト 、オブ ジ ェ ク ト 内の フ ィ ール ド 、または操作(INSERT な ど)ご と に、さ ま ざ ま な レ ベルで設定で き ます。セキ ュ リ テ ィ 機能はすべて Salesforce.com Web サイ ト の管理画面で設定 さ れ、CIS ユーザに対 し てす ぐ に有効にな り ます。 Salesforce.com の ID 確認セキ ュ リ テ ィ 機能は、「Salesforce.com の ID 確認セキ ュ リ テ ィ 機能」(P.10) で説明 さ れてい る よ う に、パスワー ド を入力 し て使用で き ます。 パススルー セキ ュ リ テ ィ によ っ て、Salesforce.com 管理者のア ク セス権を CIS ユーザに公開する こ と を回避で き ます。ユー ザは各自の Salesforce.com ユーザ ク レデン シ ャ ルを使用 し て CIS にログ イ ン し 、Salesforce.com に転送 さ れます。それに よ り 、Salesforce.com の適切なデー タ セキ ュ リ テ ィ がすべてのユーザに適用 さ れる と と も に、ク レデン シ ャルが CIS に保存 さ れな く な り ます。 パススルー ログ イ ン設定の詳細については、「Salesforce.com のイ ン ト ロ スペ ク シ ョ ン」(P.6) を参照 し て く だ さ い。 Cisco Systems, Inc. www.cisco.com 21 Salesforce.com Adapter のセキ ュ リ テ ィ Salesforce.com の リ ソ ースの保護 22