9

Click here to load reader

Force.com とか @ PaaS祭り

Embed Size (px)

Citation preview

Page 1: Force.com とか @ PaaS祭り

Force.com とか @ Paas祭り

2012/06/28Shinichi Tomita

@stomita

Page 2: Force.com とか @ PaaS祭り

Who am I ?

• Shinichi Tomita

• CEO at Mashmatrix, Inc.

• JavaScript Developer

• Ex-Salesforce.com

• Digital Identity Lover (NOT Security YAKUZA)

@stomita

Page 3: Force.com とか @ PaaS祭り

PaaS

• 上下両方から参入してきている

PaaS

SaaS

IaaS

Force.com

Google Apps Script

Heroku

EngineYard

CloudFoundry

AWS BeansTalk

RackHub

Page 4: Force.com とか @ PaaS祭り

Force.com 歴史• SalesforceというSFAアプリの基盤部分

- 名前いろいろ変遷⇒Force.comに落ち着く

• 初期からデータベース部分の拡張機能は作られていた(=カスタムオブジェクト)

• 2006年頃にカスタムでサーバロジックを追加できるように(=Apexコード)

Page 5: Force.com とか @ PaaS祭り

Force.com データベース• マルチテナント用に最適化されたデータベース

• スケールできるようにVMによる仮想はしない(=データベースレベルで仮想化を行う)

• 実際はRDBMS(Oracle)上で独自に構築

• 詳しくはPublicKeyの解説

• GUIでデータスキーマを定義(スキーマエディタ)

• APIでアクセス(SOAP / REST)

Page 6: Force.com とか @ PaaS祭り

Force.com DBの特長• データベースを作るとUIが自動で生成される

• Scaffold がさらにGUIでカスタマイザブルになった感じ。そのまま業務で使える

• リレーションなどほぼRDBMSと同等の設計が可能

• 宣言的なセキュリティ(=現在アクセスしているユーザを認識する)

Page 7: Force.com とか @ PaaS祭り

Apex コード

• Force.com 内でロジックを記述するための言語

• Javaに似た構文

• データベーストリガによる起動(INSERT/

UPDATE/DELETE etc)

• Webサービスとして公開(SOAP/REST)

Page 8: Force.com とか @ PaaS祭り

Apexコードの特長• Force.com DBと密に統合(トリガ、トランザクション)

• ストアドプロシージャと考える

• 宣言的セキュリティ(クラス単位で利用可能なユーザを制限)

• 実行コンテキストの切り替え(システムorアクセスユーザ)

• コードとデータベースを一緒にパッケージとしてまとめて、AppExchangeを通じて他の組織に配布

Page 9: Force.com とか @ PaaS祭り

その他• Visualforce(カスタムのWeb UI を作成)

• レポート

• ワークフロー/承認プロセス

• ビジュアルのフローエディタ

• OAuth(2) 対応

• Streaming API (aka Comet)