Dreamforce'08 では数多くのセッションが行われていたわけですが、私は特に以下のキーワードに反応してセッションを選択しました。
- force.com platform
- Apex
- SOA
- Integration
何故このキーワードで選択したかと言うと、ひとつの理由はテラスカイが「SaaS」と「EAI」をビジネスの主体とする会社である点です。
もうひとつの理由は、私が全くもって英語が苦手で、これらのセッションでは、きっとコードサンプルや技術的な説明が図解されることが多いだろうと予想したからでした。(そういった意味では、私の戦略は成功したのでした。)
さて、参加したセッションの中で、面白かったものをいくつかブログで紹介していきたいと思います。
Using the force.com Platform for Enterprise SOA and Integration
force.comと他システム統合/連携、今後の強化、リリース予定に関して技術的に解説したセッションです。
特に印象に残った説明を抜粋してみます。
●Apexコードを使用して、他のWebサービス連携が可能
例えば、Google Appsとの連携の場合、「force.com Google Data API Toolkit」を使うと、GoogleのAPI呼び出しがラップされて、
簡単に行うことができるわけですが、そういったラッパーが用意されていない他のWebサービスと連携する場合どうするかと言うと...
WSDL2APEX
を使う事で、連携対象が公開するWebサービスのスタブをApexコードで生成してくれます。
Salesforceとの連携開発をJavaで行っている人は、Axisを使っている方が多いと思いますが、Axisが持つ「WSDL2JAVA」と同じイメージですね。
スタブが生成されると聞くと、何だか他システムと連携するためのコーディングの敷居もぐっと下がりますね。
他システムに対するWebサービス連携は、Apex Triggerからも呼び出すことが出来ます。
しかも連携は、同期/非同期は「@future(callout=true)」 のようにアノテーションを入れるだけです。
どういう用途があるかというと、例えば取引先の住所情報と共に、「緯度・経度」情報も入れておきたいとします。
ただし、ユーザが入力する情報は住所のみで「緯度・経度」情報は入れません。(普通入力はできないです。)
このような場合、取引先を追加・更新するタイミングでApex Triggerが起動し、住所情報から例えばGoogleのGeoコーディングのAPI呼び出し、
「緯度・経度」情報を取得、取引先にGeoコードを設定、更新といった一連の流れを作ることが出来るわけです。
●今後の機能強化の計画など
以下のような事がふれられてました。
- ガバナ制限をもう少し緩やかに
- JSON API のリリース
- 大容量データのサポート
- Subscribeしてある先にNewsフィード
- クライアント認証とその管理
どれも歓迎ですね。期待しています。
コメントする