KB)パブリッククラウドのシェアはSaaS、PaaS、IaaSなどの分類ごとに違いがありますが、大企業向けのSaaS分野でのシェア第1位といえば、Salesforceになります。AzureやAWSは使ったことがあってもSalesforceは「名前は聞いたことがあるけれど実際に使ったことは......」ということも、これまでは多かったのではないでしょうか。クラウドの利用率は今後も増えていくでしょうし、さらに、クラウド単体だけではなく、クラウドとオンプレミスを組み合わせたり、複数のクラウドを組み合わせたりするケース(ハイブリッドクラウド)も今後は増加していくと考えます。なってくると、Salesforceを扱っていてもオンプレミスの技術を知る必要がでてきたり、その逆のケースがでてきたりすることが予想できます。4J(以下、CData)を使えば、ADO.NETでのノウハウを使ってSalesforceからデータを取得できます。ADO.NETでの接続を前提とした各種コントロールのデータソースとしてSalesforceを指定することもできるのです。2013でも同じ手順で確認することができます。Salesforceの準備Salesforceをすでに利用しているならば、セキュリティトークンを入手するだけで準備は完了します。Salesforceを利用していない場合でも無料で簡単に試してみることができます。Editionが必要です。Editionに申し込みます。Edition環境にサインアップ」画面が表示されるので、姓名やメールアドレスなど必要事項を登録します。Editionの利用を開始できます。Editionの利用開始セキュリティトークンの入手Salesforceの外からデータアクセスするためはSalesforceへのログインが必要です。ログインの方法には2つの方法があります。(1)ID、パスワード、セキュリティトークンの3つを指定してログイン(2)OAuth認証によるログイン今回は(1)の方法で試してみますので、セキュリティトークンを入手します。セキュリティトークンを入手する手順は以下のとおりです。ログインしたらヘッダに表示されている(1)自分の名前のドロップダウンを開いて(2)[私の設定]メニューを選択します。セキュリティトークンのリセット[私の設定]画面が開いたら、サイドメニューから(3)[個人用]メニューを選択、(4)[私のセキュリティトークンのリセット]メニューを選択します。(5)[セキュリティトークンのリセット]ボタンをクリックします。これでセキュリティトークンが登録してあるメールアドレスにメールで届きます。Studioからの接続Salesforce側の準備が終わったら、いよいよCDataを使ってサーバーエクスプローラーで接続してみましょう。接続の追加サーバーエクスプローラーで[データ接続]に対して[接続の追加]を行います。Token]欄にそれぞれ設定します。設定が完了すれば、サーバーエクスプローラーに[CData]ノードが追加されるので、[Tables]ノードから試しに[Account]に対してデータ表示を行ってみましょう。Salesforceをデータソースに指定サーバーエクスプローラーでSalesforceのデータが確認できるようになるだけでも、いろいろな可能性があります。サーバーエクスプローラーのデータ接続は、アプリのデータソースのデータ接続として利用できます。WPF」で表示するサンプルを作成してみましょう。キャンペーンページキャンペーンページの内容はCampaignテーブルに格納されています。サーバーエクスプローラーで確認してみましょう。Campaignテーブル新規プロジェクトの作成[ファイル]-[新しいプロジェクト]メニューを選択して[Windowsデスクトップ]-[WPFアプリケーション]を選択してWPFアプリの新規プロジェクトを作成します。データソースの追加[表示]-[その他のウィンドウ]-[データソース]メニューを選択して[データソース]ウィンドウを表示します。[データソース]ウィンドウ[新しいデータソースの追加]リンクをクリックしてウィザードを起動します。(1)データソース構成ウィザードで、[データベース]を選択して[次へ]ボタンをクリックし、次に[データソース]を選択して[次へボタン]をクリックします。4J]」を選択します。このときパスワードを接続文字列に含まないようにします。データ接続の選択(3)接続文字列をアプリケーション構成ファイルに保存します。接続文字列の保存(4)取得するテーブルおよび項目を指定します。取得内容の設定データソースとコントロールの関連付け[データソース]ウィンドウにウィザードで設定したテーブルが表示されていることを確認します。テーブル名の横のドロップダウンボタンをクリックして、コントロールの関連付けを「GCSpreadGrid」にします。コントロールの関連付けもし、「GCSpreadGrid」が表示されていないときには、以下の手順を行えば表示されます。WPFを削除コントロールの関連付けで[カスタマイズ]を選択して[GCSpreadGrid]項目を選択データソースから画面部品の配置コントロールの関連付けが終わったら、[データソース]ウィンドウの[Campaign]テーブルをWPFウィンドウにドラッグ&ドロップします。これでデータソースの内容をSPREADで表示する画面ができあがりました。WPFの配置パスワードの設定データソースを作成するときにパスワードは除外しているので、MainWindows.xaml.vbにパスワードを設定するコードを追加します。Class具体的には「DataSet1CampaignTableAdapter.Connection.ConnectionString」にパスワード指定の文字列を追加するコードになります。Studioでの定義と操作、そして1行だけコードを記述しただけですが、この状態で実行すればSalesforceからデータを取得してSPREADに表示ができます。データソースの表示例コードからSalesforceを使用データソースを使った例は手軽である反面、細かな調整がしづらいため、同様のことをコードで実現した例も紹介します。参照設定GACにあるSystem.Data.CData.Salesforce.dllを参照設定します。参照設定Salesforceアクセス用ModelCDataは、ADO.NETと同様にConnectionで接続しDataAdapterでデータを取得します。取得したデータはObservableCollectionに設定Binding用ViewModelModelとViewを連携するためのViewModelを作成します。NamespaceSPREADを使ったViewObservableCollectionをSPREADに表示するViewを定義します。そのためにはツールボックスに「GcSpreadGrid」を追加します。追加が終わったら、WPFウィンドウにドラッグ&ドロップしてからプロパティの微調整やその他の画面要素の設定を行います。</Grid></Window>実行結果このサンプルを実行するとデータが表示されていない画面が表示されます。[GET]ボタンをクリックするとViewModelのGetCommandが実行されてデータの取得が行われます。4Jを使えば、Salesforceをクラウドデータベースのように利用することができます。ADO.NETライクで使えるということは、今回取り上げたSPRAEDだけではなく、ActiveReportsを使って日本のビジネスに合った帳票を作成してSalesforceから印刷するということも可能だということです。納品伝票や請求書など相手先が指定する帳票スタイルであったとしてもSalesforceから印刷できるのです。すべてをWindowsアプリでではなくSalesforceを核として適材適所でハイブリッド化することでSalesforceを本当の意味での自社インフラになります。「SalseForceでもいいけれど、ここだけでもどうにかなれば」と躊躇する要素があるのであれば、そこに市販コンポーネントを注入した姿を検討してみてはいかがでしょうか。バックナンバーWEB用を表示ブックマークツイート著者プロフィール初音玲(ハツネアキラ)国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。圧縮・解凍UNIX基本講座@CodeZine『CodeZine(コードジン)』の公式アカウントです。【NEW】デブスト2019デブサミ2019福岡・関西デブサミ2019夏デブスト関西デブサミ2019×ログインEメールパスワード※旧SEメンバーシップ会員の方は、同じ登録情報(Eメール&パスワード)でログインいただけます。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。