SaleforceでSummer13(?)で正式リリースされたWebアプリケーション統合機能のCanvasを触ってみた。
仕組みとか出来る事とかはこちらのリンクが詳しいです。
http://techblog.appirio.co.jp/2012/10/forcecom-canvas-12.html
http://www.terrasky.co.jp/blog/?p=1584
Webで調べるとほとんどがRubyとかJavaとかのサンプルだったので、あえてphpでサンプルを作成。
https://github.com/tzmfreedom/SalesforceCanvasSample/
ChatterAPIでフィード投稿するだけのかなり簡素なサンプルだけど、
force.com Canvas自体は署名したトークンとかのデータをiframeにPOSTして
アプリ内でPOSTされた署名データを復号化して正しいデータかどうかを検証して
OKだったらあとはそのトークン使ってREST API使ってねっていう機能なので
phpコードの大事なところは最初の20行くらい。
JavascriptからREST APIを使う仕組みはpostmessageで
親フレームのSFDCをプロキシとしてしているだけで、技術的には何も新しくない機能だと思ってる。
多分、出来るプログラマさん達はCanvasが出る前からこういうこと考えていたと思うし。
っていうか、むしろSOAP APIでも良いような気がする。
force.com Canvasが出来た技術的背景としてはHTML5の存在が大きいのかな。
VisualforcePageに2つ埋め込んで相互通信するとかもあんまりメリットを感じない。
一番のメリットはやっぱりChatterのパブリッシャーアクションとかで利用できるところかな。
とは言うものの、どういったアプリが出てくるのかは検討がつかない。
force.com Canvasで業務アプリ界のキラーアプリが出てくるのかなー。