Click here to load reader
Upload
shinichi-tomita
View
1.129
Download
3
Embed Size (px)
Citation preview
Force.com とか @ Paas祭り
2012/06/28Shinichi Tomita
@stomita
Who am I ?
• Shinichi Tomita
• CEO at Mashmatrix, Inc.
• JavaScript Developer
• Ex-Salesforce.com
• Digital Identity Lover (NOT Security YAKUZA)
@stomita
PaaS
• 上下両方から参入してきている
PaaS
SaaS
IaaS
Force.com
Google Apps Script
Heroku
EngineYard
CloudFoundry
AWS BeansTalk
RackHub
Force.com 歴史• SalesforceというSFAアプリの基盤部分
- 名前いろいろ変遷⇒Force.comに落ち着く
• 初期からデータベース部分の拡張機能は作られていた(=カスタムオブジェクト)
• 2006年頃にカスタムでサーバロジックを追加できるように(=Apexコード)
Force.com データベース• マルチテナント用に最適化されたデータベース
• スケールできるようにVMによる仮想はしない(=データベースレベルで仮想化を行う)
• 実際はRDBMS(Oracle)上で独自に構築
• 詳しくはPublicKeyの解説
• GUIでデータスキーマを定義(スキーマエディタ)
• APIでアクセス(SOAP / REST)
Force.com DBの特長• データベースを作るとUIが自動で生成される
• Scaffold がさらにGUIでカスタマイザブルになった感じ。そのまま業務で使える
• リレーションなどほぼRDBMSと同等の設計が可能
• 宣言的なセキュリティ(=現在アクセスしているユーザを認識する)
Apex コード
• Force.com 内でロジックを記述するための言語
• Javaに似た構文
• データベーストリガによる起動(INSERT/
UPDATE/DELETE etc)
• Webサービスとして公開(SOAP/REST)
Apexコードの特長• Force.com DBと密に統合(トリガ、トランザクション)
• ストアドプロシージャと考える
• 宣言的セキュリティ(クラス単位で利用可能なユーザを制限)
• 実行コンテキストの切り替え(システムorアクセスユーザ)
• コードとデータベースを一緒にパッケージとしてまとめて、AppExchangeを通じて他の組織に配布
その他• Visualforce(カスタムのWeb UI を作成)
• レポート
• ワークフロー/承認プロセス
• ビジュアルのフローエディタ
• OAuth(2) 対応
• Streaming API (aka Comet)