クラウドプラットフォームの実際
株式会社セールスフォース・ドットコム Force.comディベロッパープログラム/AppExchange スペシャリスト 岡本充洋
Safe Harbor Statement
“Safe harbor” statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements including but not limited to statements concerning the potential market for our existing service offerings and future offerings. All of our forward looking statements involve risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions proves incorrect, our results could differ materially from the results expressed or implied by the forward-looking statements we make.
The risks and uncertainties referred to above include - but are not limited to - risks associated with possible fluctuations in our operating results and cash flows, rate of growth and anticipated revenue run rate, errors, interruptions or delays in our service or our Web hosting, our new business model, our history of operating losses, the possibility that we will not remain profitable, breach of our security measures, the emerging market in which we operate, our relatively limited operating history, our ability to hire, retain and motivate our employees and manage our growth, competition, our ability to continue to release and gain customer acceptance of new and improved versions of our service, customer and partner acceptance of the AppExchange, successful customer deployment and utilization of our services, unanticipated changes in our effective tax rate, fluctuations in the number of shares outstanding, the price of such shares, foreign currency exchange rates and interest rates.
Further information on these and other factors that could affect our financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings we make with the Securities and Exchange Commission from time to time. These documents are available on the SEC Filings section of the Investor Information section of our website at www.salesforce.com/investor. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements, except as required by law.
クラウドコンピューティングに求められる アーキテクチャ
クラウドコンピューティングが支持される理由
マルチテナント
ENTERPRISE
MID-MARKET
SMALL BUSINESS
伸縮性
従量課金制
インフラ設備やシステム運用をシェアする事で、高品質なサービスを低価格に
"システム"を買うのではなく、"サービス"を買うので、直ぐに始めてすぐに止められる
ビジネスの成長に合わせて、システムが自動的にスケールする
アーキテクチャに変移が求められる
開発に許される 時間
要素技術の 進歩
ビジネスモデルの 変革
大きな アーキテクチャの
変移
シングルテナントアプリケーション
Db
""
"
"
"
"
"" "
"
"
"
App
Db
""
"
"
"
"
"
"
"
App
Db
""
"
"
"
"
"" "
"
"
"
App
Db
""
"
"
"
"
"
"
"
無駄が多い・手間がかかる
手間と人手がかかるなぁ・・・・
ビジネス的観点でのシステムのスケーラビリティ
システム毎にハードウェア管理 システム毎にスケールラビリティ確保 システム毎にセキュリティ設計 システム毎にパッチ管理 システム毎にカスタマイズ システム毎にアップグレード作業 システム毎の・・・
A社用システム B社用システム C社用システム
D社用システム E社用システム F社用システム
G社用システム H社用システム I社用システム
Db Db Db
Db
Db
Db Db
Db Db
・・・
単純なマルチテナントのアプリケーション
App
Db
スケーラビリティは高いが、カスタマイズ性に欠けてしまう
"
"
" "
"
"
""
"
ハードウェアの仮想化だけでは・・・・ シングルテナントアプリケーションで抱える問題を解決しない
Db
""
"
"
"
"
"" "
"
"
"
App
Db
""
"
"
"
"
"" "
"
"
"
App
Db
""
"
"
"
"
"" "
"
"
"
App
Db
""
"
"
"
"
"" "
"
"
"何が解決したんだろう・・・・?
ハードウェアの仮想化だけでは・・・・ シングルテナントアプリケーションで抱える問題を解決しない
システム毎にハードウェア管理
システム毎にスケールラビリティ確保
システム毎にセキュリティ設計
システム毎にパッチ管理
システム毎にカスタマイズ
システム毎にアップグレード作業
システム毎の・・・
A社用システム B社用システム C社用システム
D社用システム E社用システム F社用システム
G社用システム H社用システム I社用システム
Db Db Db
Db
Db
Db Db
Db Db
・・・・・・・
これだけ・・・
Force.comのマルチテナント戦略
"
"
"
" Application Engine
Multi Tenant DB
Custom MetaData
" "
Custom MetaData
Custom MetaData
アプリケーション開発者にとって一番生産性を上げるには、 どの部分を仮想化すべきか?
共通のハードウェア管理 共通のスケールラビリティ確保 共通のセキュリティ設計 共通のパッチ管理 共通のアップグレード作業
システム毎にカスタマイズ
アプリケーション作成に必要な部分をマルチテナント化&仮想化
Force.comのメタデータアーキテクチャ
アプリケーションは全て"メタデータ"として保存され、共通カーネルに"引数"として渡される
プラットフォームのインフラストラクチャおよびアップグレードとアプリケーションは分離
組織毎の メタデータ群
1つの組織 内のデータ
個々のカスタマイズ情報を全てメタデータとして保存する
UI定義
ビジネスロジック
DBスキーマ
その他設定情報
組織毎の メタデータ群
Force.comにおけるプログラムの実行
アプリケーションからのデータアクセスにはすべて組織IDが必要
組織IDはセッション情報より自動付加 他ユーザの組織IDを参照するロジックは存在しない
必ずメタデータに組織IDに関連付けて実行し、例外は存在しない
Force.comのマルチテナントアーキテクチャ
作成されるアプリケーションは全て"メタデータ"として保存し、共通カーネルに"引数"として渡される
プラットフォームのインフラストラクチャおよびアップグレードとアプリケーションは分離
組織毎の メタデータ群
アプリケーション作成に部分のみをマルチテナント化
今日はここの話をします
1システム毎の 導入環境
UI定義
ビジネスロジック
DBスキーマ
その他設定情報
ビジネスフレームワーク
Force.comを利用するということ クラウドの上で何が出来るか、にフォーカス
ホスティングインフラストラクチャ
サーバソフトウェア データベースソフトウェア
マルチテナントアーキテクチャ 全ての分野に リソースが 割かれる
IT投資の80%は「無駄金」であり、ビジネスの革新や成長には直接は結び付かな
い。 “ ”
アプリケーション & マーケティング
付加価値を 生み出す分野に集中
既存の アプリケーション開発
クラウドコンピューティング時代の 開発
投資出来る費用・人員はごく僅かに
ここがシステムの成果物
アプリケーションの品質と生産性にフォーカスしましょう
Force.comのアーキテクチャをもっと知り たい方は・・・
Force.com開発者の為の オンラインサービス 無償の開発者用アカウントの取得 各種技術資料の公開 Wikiやディスカッションボード等のコラボレーションスペース
http://www.salesforce.com/jp/developer
「Force.comマルチテナントアーキテクチャ」 ホワイトペーパーを公開中!!
組織毎の メタデータ群 ここが知りたい方は→
Salesforce.comについて
Salesforce.comが提供するサービス CRM、コラボレーション、プラットフォーム
Build
Multi-Tenant Kernel
Manage
Share
パートナー マーケティング サービス
Build マルチテナント 基盤&カーネル
セールス AppExchange
データベース Mobile サイト UI 分析 ロジック
コンテンツ アイデア Salesforce to Salesforce Google Apps 知識ベース
Salesforce CRMもForce.comの上で動いてます
インテグ レーション
Force.comプラットフォーム
アプリケーションの開発・実行環境そのものをSaaSで提供
Force.com開発者の為のオンラインコミュニティ 無償の開発者用アカウントの取得 各種技術資料の公開 Wikiやディスカッションボード等のコラボレーションスペース
http://www.salesforce.com/jp/developer
開発者アカウントを取得
Demo : 開発者アカウントの取得
Froce.comの主となるコンポーネント
オンデマンド プログラミング言語
ユーザーインタフェース カスタマイズ
オンマンド データベース
WebサービスAPI
Force.comデータベース
通常のRDBと同様に利用できる ‒ テーブル・カラムの作成・変更・削除 ‒ トランザクション、ロック
Force.comのUIと密接に統合 ‒ テーブルを作成すると、自動的にCRUD、検索・一覧表示用のUIが生成される
‒ 生成されたUIはコーディングレスでレイアウトをカスタマイズ
Webサービスとの統合 ‒ 作成されたテーブルは、設定のみでSOAP Webサービスとして公開できる
フル機能のマルチテナント・オンデマンドデータベース
Demo : Force.com上でのテーブル作成
Java に似た構文、強い型付け データベース・トリガー Web サービス トランザクション・ロジック MVCコントローラ
O/Rマッピング マルチテナントで動作
オンデマンドプログラミング言語 正規表現、計算処理、データベース操作など、本格的なビジネスロジックの記述
保存と同時に即時コンパイルされ保存 LLと同じ感覚で利用できる
Force.com上でビジネスロジックを書く事に最適化された言語 Javaに似た構文 + Force.com上で便利な記法
カスタマイズ可能なUI
HTML、Javascript、CSSなどを自由に記述 Apexと組み合わせて画面遷移やパラメータ受け渡し ‒ MVCモデル
Web標準技術を利用してUIを自由にカスタマイズ
画面を自由にカスタマイズ 画面遷移を自由に定義
Apex&VisualforceによるMVCパターンの実現 一般的なプログラミングモデルをオンデマンドに
Controller
View
Model
Demo : Force.comでMVC
柔軟なシステム連携を可能にするAPI
Foce.com内のデータを自由に検索、変更 SOAP WebサービスAPI 外部Webサービスからビジネスロジックの呼び出し ‒ Webサービスメソッド
Apexコード内から他のWebサービスの呼び出し ‒ SOAP ‒ REST
SOAの一部としてESBへの接続などもできるよ
Force.com Sites パブリックサイトの作成
人材採用管理 年間座席管理 IR管理
人材採用ページ 座席予約ページ IR情報ページ
・・・
・・・
ログインが必要なページ ログインが必要無いページ
Visualforceで作ったページを独自ドメインで外部やイントラネットに公開
Demo : Force.com Site
Force.com開発者向けツール&サービス
開発環境を・テスト環境を直ぐにセットアップ
Eclipseからアプリケーション を作成
開発者間でプロジェクトを共有
コードやスキーマに等のMetaDataにAPIアクセス
ide
code share
metadata api
Demo : Force.com IDE
マウス操作など 容易なカスタマイズ性
コンプライアンス 監査証跡機能
モバイルサポート
行レベル・項目レベルのセキュリティ & 共有モデル
Eclipseベースの 開発者向けツール
SAS 70 準拠の マルチテナント型 インフラストラクチャ
ユーザー数の増減を伸縮性
レポート & 分析機能
多言語対応 複数通貨対応
ワークフロー管理・カスタマイズ機能
WebサービスAPI対応
様々なユーザ インターフェース への対応
その他Force.comが標準で提供する機能
汎用的で、既にある物は利用 わざわざ車輪を再発明しない
AppExchangeを利用したアプリ配信
組織A
組織B
組織C
カスタム アプリケーション
組織A
組織B
組織C
AppExchange アプリケーション
AppExhcange アプリケーション
AppExchange アプリケーション
まとめ
本日のまとめ
クラウドコンピューティングは大きな パラダイムシフト
アプリケーション開発者の生産性を最大限に上げるためにプラットフォームがある
Force.comではアプリケーションに フォーカスして高度の抽象化を行う ‒ 高速、セキュア、高可用性を持つマルチテナント アプリケーションの開発と配備に最適化
Force.com開発者の為のオンラインサービス 無償の開発者用アカウントの取得 各種技術資料の公開 Wikiやディスカッションボード等のコラボレーションスペース
http://www.salesforce.com/jp/developer
Force.comに興味を持った方は
mailto: [email protected]
Thank You!!