JP:An Introduction to Environments
環境(Environment)の概要
摘要
Force.com は、インターネットに接続できるコンピュータさえあればすぐに使用できます。アプリケーションサーバ、Web サーバ、データベースなどを用意する必要がないため、こうしたリソースのプロビジョニングや設定の手間から解放されます。Force.com でユーザが利用するのは、Force.com プラットフォームが提供する「環境」 (「組織」とも呼ばれます) です。これは、要求に応じてクラウド内で即座にプロビジョニングされ、ユーザはサーバを介することなく、ただちに SaaS アプリケーションの開発やテストに着手して、貴重な時間を節約できます。
セールスフォース・ドットコムでは、Force.com でのアプリケーション開発やテストに使用できる複数の環境を提供しています。このドキュメントでは、各環境の概要を紹介し、エディションによる違い、ベストプラクティス、開発における考慮事項、アプリケーションのライフサイクルに応じた環境の選択などについて解説します。これらを理解することにより、目的に合わせて適切な環境を選択できるようになります。
「環境」の定義
Force.com では、「環境」は「組織」の同義語として扱われます。つまり、「環境」とは Force.com プラットフォームのインスタンスを指し、「組織」と呼ばれる場合もあります。このドキュメントでも、「環境」と「組織」という語を同じ意味で使用します。
Force.com のインスタンスは、Gmail にたとえることができます。Gmail では、サインアップすると一意のユーザ名が割り当てられ、クラウド内で自分専用の電子メールアカウントを利用できるようになります。これと同様に、Force.com では、サインアップすると一意のユーザ名が割り当てられ、クラウド内の専用の Force.com 環境を利用できるようになります。Force.com 環境の主な特徴を次に示します。
- 開発、テスト、実際の運用に利用できる
- データ (レコード) の格納とカスタマイズ (カスタムのデータベースオブジェクトや項目、 Apex コード、 Visualforce ページ、ワークフローなどの作成) が可能
- 各環境は何らかのエディションに属し、エディションに応じた機能、オブジェクト、ストレージ、制約事項を持つ
- 多通貨対応、開発者プレビュー向けの Force.com Sites テクノロジなどを始めとする一部の高度な機能にはデフォルトでは対応していない。そうした機能を有効にする場合は、セールスフォース・ドットコムのカスタマーサポートに問い合わせる必要がある
- すべての環境には Web ブラウザからアクセスできる。一部の環境には Force.com IDE、 Web Services API、 メタデータ API からアクセスすることも可能
以上のように、「環境」とは、Force.com のインフラストラクチャとプラットフォームのインスタンスを指し、ユーザは各環境の設定にもとづき、各種機能を使ってアプリケーションの開発、展開、利用を行えます。
環境の種類
環境には、大きく分けて次の 3 種類があります。
- 運用環境: ユーザが有償で重要なビジネスデータを利用するセールスフォース・ドットコムの環境
- 開発環境: ユーザが運用環境に影響を及ぼすことなく Force.com 上でアプリケーションの拡張、統合、開発を行えるセールスフォース・ドットコムの環境
- テスト環境: ユーザが運用環境への展開や顧客へのリリースに先立ってアプリケーションの機能テストを行う場合に主に使用されるセールスフォース・ドットコムの環境
Force.com に慣れ親しんでくると、運用環境内で実装可能な機能が数多くあることがわかります。たとえば、カスタムのオブジェクトや項目、入力規則などは、開発環境やテスト環境を利用しなくても運用環境で直接容易に作成できます。しかし、Apex コードなど、一部の機能は運用環境ではサポートされていません。そのため、Force.com アプリケーションを開発する場合は、常に開発環境を使用するようにします。その後、 Force.com IDE や パッケージング を使用して、運用環境への展開や顧客へのリリースを行います。
環境の標準的な利用形態
どのような環境を利用するかは、ユーザとセールスフォース・ドットコムとの関係に応じて変わります。たとえば、Salesforce CRM の顧客や見込み客であれば、運用環境を利用してビジネスを遂行します。開発者やパートナーであれば、機能開発やテストのために開発環境やテスト環境を複数利用します。Salesforce CRM の顧客であると同時に開発者やパートナーでもあるという場合は、前述のすべての環境を利用することになります。なお、登録済みパートナーの皆様は、この後説明する追加のオプションをご利用いただけます。
ライセンスとアップグレード
各環境を利用するには、環境の種類に応じたライセンスが必要です。運用環境には、Group Edition、Professional Edition、Enterprise Edition、Unlimited Edition の 4 つのライセンスが用意されています。これらのライセンスは、上位エディションへの変更のみが可能で、下位エディションへの変更はできません。このため、通常はまず Group Edition からスタートして、Professional Edition、Enterprise Edition、Unlimited Edition へとアップグレードします。逆方向への変更はできません。たとえば、Enterprise Edition までアップグレードした場合、その後可能なのは Unlimited Edition へのアップグレードのみであり、Professional Edition や Group Edition にダウングレードすることはできません。
Force.com Edition は、購入したライセンスにもとづいて Enterprise Edition、Unlimited Edition のいずれかで動作します。Enterprise Edition を Unlimited Edition に変更することはできますが、Unlimited Edition を Enterprise Edition に変更することはできません。
Developer Edition は、開発用に提供される特殊なライセンスであり、運用環境のライセンスへの変更はできません。これは Force.com Sandbox についても同様です。Sandbox をアップグレードすることはできませんが、Enterprise Edition、Unlimited Edition、または Force.com Edition のライセンスをお持ちの場合、Sandbox を追加購入したり、異なる種類の Sandbox を購入したりできます。
注: ライセンスのアップグレードとプラットフォームのアップグレードは異なります。新しいバージョンの Force.com プラットフォームがリリースされると、すべてのエディションとライセンスがそのリリースにもとづいて自動的にアップグレードされます。たとえば、2009 年 4 月時点ではすべての環境は Spring '09 バージョンの Force.com プラットフォームで動作していますが、2009 年 6 月に Summer '09 バージョンがリリースされると、エディション、ライセンスを含めたすべての環境が、その新しいバージョンにもとづいて自動的にアップグレードされます。
運用環境
運用環境には、ビジネスで実際に使用しているデータが格納されます。現在稼働している運用環境の多くは、Salesforce CRM の顧客が利用する Group Edition、Professional Edition、Enterprise Edition、Unlimited Edition ですが、標準の CRM 機能を持たず、Force.com プラットフォーム機能のみを備えた Force.com Edition も選択肢の 1 つになります。
社内向けのアプリケーションを開発する場合、運用環境の機能や制限事項はすでに既知であることがほとんどですが、セールスフォース・ドットコムのパートナーとして商用の Force.com アプリケーションを開発する場合は、自社とは異なる環境について把握し、ターゲットとなる環境でアプリケーションが動作することを保証する必要があります。Salesforce CRM の各運用環境の違いについては、こちら(英語) のドキュメントを参照してください。
Force.com で開発するカスタムアプリケーションは、自社の運用環境で使用できるほか、セールスフォース・ドットコムの既存顧客を始めとする、世界中のあらゆる企業や組織に提供することが可能です。アプリケーション開発では、開発環境を使用することをお勧めします。
開発環境に関するベストプラクティス
開発環境は、アプリケーションの開発およびテストの目的でのみ使用し、データには業務上重要ではない、テスト用のデータを用意します。開発作業はブラウザか、Eclipse をベースとした Force.com IDE のいずれかで行います。開発環境には、Developer Edition と Sandbox の 2 種類があります。
Developer Edition は Enterprise Edition の全機能を備えた無償の開発環境です (ただし、ストレージとユーザ数は Enterprise Edition よりも少ない)。Developer Edition は論理的に分離された環境であるため、開発を始める基盤として最適です。Developer Edition 組織は、必要に応じていくつでもサインアップできるため、あらゆる運用環境向けのアプリケーションを開発することが可能です。
Sandbox は、Enterprise Edition または Unlimited Edition の運用環境とほぼ同じ構成となっています。Sandbox では、運用環境のデータやカスタマイズ設定をコピーできます。運用環境のデータやアプリケーションに影響を与えることなく、さまざまな目的に応じて複数の Sandbox を作成することが可能です。
注: Enterprise Edition または Unlimited Edition 上で動作する Force.com Edition では、次の表と同数の Sandbox を利用できます。
Developer Edition と Sandbox という 2 つの開発環境には、次の表に示すようにいくつかの区分があります。
| 開発環境 | ユーザライセンス | データストレージ | 備考 |
|---|---|---|---|
| Developer Edition | Salesforce CRM のフルライセンス: 2 Force.com Edition のライセンス: 3 詳細 | 5 MB (約 2,500 件のレコード) | サインアップは無料 |
| Partner Developer Edition¹ | Salesforce CRM のフルライセンス: 20 Force.com Edition のライセンス: 20 詳細 | 5 MB (約 2,500 件のレコード) | ストレージ、機能、ライセンス数を増強した Developer Edition 組織。登録済みパートナーの場合は無料 |
| Full Sandbox (フル機能)² | 運用環境と同等 | 運用環境とほぼ同等。データやカスタマイズ設定を含む。Unlimited Edition には Full Sandbox 1 環境が付属し、オプションで最大 3 環境まで追加購入が可能。Enterprise Edition では、オプションで Full Sandbox 1 環境を追加購入することが可能 | |
| Configuration Only Sandbox (設定のみ)² | 運用環境と同等 | 500 MB (約 250,000 件のレコード) | カスタマイズ設定のみコピーされ、運用データはコピーされない。Unlimited Edition と Enterprise Edition では、Configuration Only Sandbox を最大で 6 環境利用できる |
| Developer Sandbox (開発者用)² | 運用環境と同等 | 10 MB (約 5,000 件のレコード) | カスタマイズ設定のみコピーされ、運用データはコピーされない。Unlimited Edition と Enterprise Edition では、 Developer Sandbox 1 環境が自動的に提供される |
1 登録済みの Force.com ISV パートナーおよびVARパートナーが対象
2 各 Sandbox は、前回の更新または作成から 30 日後に更新が可能
Developer Edition が適しているケース:
- 商用目的で Force.com アプリケーションを開発して管理パッケージを作成し、AppExchange や Trialforce を介しての提供を考えているパートナー (注: 管理パッケージは Developer Edition 環境または Partner Developer Edition 環境でのみ作成可能)
- Professional Edition、Group Edition、Personal Edition のいずれかのライセンスを保有しており、Sandbox を利用できない Salesforce CRM の既存顧客
- Force.com プラットフォームを無料で試したい開発者
Partner Developer Edition が適しているケース:
- チームで開発を行っており、すべてのソースコードを管理するマスタ環境が必要となる場合 (個々の開発者に Developer Edition 環境を割り当て、リポジトリとなるマスタ環境に対してコードをチェックイン/チェックアウトする)
- 開発やテストの目的で 3 名以上の開発者が環境にログインすることが必要となる場合
- 多数のユーザが関与する大量のデータセットに対する堅牢性テストを実施するために規模の大きな環境が必要となる場合
Sandbox が適しているケース:
- Enterprise Edition、Unlimited Edition、Force.com Edition のいずれかのライセンスを保有しており、運用環境の構造、ビジネスロジック、データのコピーが可能な Sandbox を利用できる場合
- 自社の運用環境で利用する Force.com アプリケーションを開発している場合
- 商用目的での Force.com アプリケーションの開発を想定していない場合
- AppExchange や Trialforce を介してアプリケーションを提供する意図がない場合
開発に関する考慮事項とベストプラクティス
- 開発は常に Developer Edition、Sandbox などの開発環境で実行し、その後運用環境に展開するようにします。
- Developer Edition を Partner Developer Edition にアップグレードすることはできないため、大規模な開発環境の必要性を早い段階で見きわめるようにします。
- 既存の Salesforce CRM 顧客をターゲットにする場合は、各エディションでサポートされている機能を確認したうえで開発を行います。たとえば、自社の Developer Edition 環境で利用可能であっても、Group Edition や Professional Edition では利用できない機能がある点に注意します。
- アプリケーションを展開する前に必ずテストを実行します (詳細は次のセクションを参照)。
- 開発、テスト用の環境は運用環境とは別に用意します。
テストに関するベストプラクティス
開発したアプリケーションを運用環境に展開したり顧客にリリースしたりする前に、テスト用の専用環境に移行して、大規模なデータセットを使用した統合テスト、複数のユーザやプロファイルを対象としたセキュリティチェック、デバッグ、追加要件のチェックなど、一連のテストを実施します。自動化されたテストスクリプトでは、アプリケーションに対するユーザの満足度を評価することはできないため、テスト環境で運用時と同じシナリオを用意して新規ユーザによる評価を実施するとよいでしょう。つまり、運用環境を模した開発環境を作成して、運用環境に習熟していないユーザにアプリケーションを試用してもらうのです。
専用のテスト環境を作成するには、複数の方法があります。1 つは、運用環境をコピーした Sandbox を作成し、開発環境からこの Sandbox に直接アプリケーションを展開する方法です。この方法では、開発したアプリケーションのテストのみでなく、アプリケーションの展開手順のテストも行えます。
Sandbox を所有していない場合は、Developer Edition 環境をテスト環境として使用できますが、通常の Developer Edition 環境のライセンス数とストレージ容量では、テストに制約が生じることがある点に注意します。より大規模なテストを実施する場合に、パートナー、顧客、開発者が使用できるテスト環境については、次の表を参照してください。
| テスト環境 | ユーザライセンス | データストレージ | 備考 |
|---|---|---|---|
| Partner Test Edition (Enterprise Edition/Platform Edition) ¹ | Salesforce CRM のフルライセンス: 25 Force.com Edition のライセンス: 20 詳細 | 1 GB (約 1,000,000 件のレコード) | ストレージ、機能、ライセンス数を増強した Enterprise Edition。3 環境の Sandbox が利用可能 |
| Partner Test Edition (Professional Edition) ¹ | Professional Edition のライセンス: 10 詳細 | 1 GB (約 1,000,000 件のレコード) | ストレージ、機能、ライセンス数を増強した Professional Edition。ベータ版の管理パッケージのインストールが可能 |
| Sandbox² | 開発環境のセクションを参照 | ||
1 登録済みの Force.com ISV パートナーが対象
2 各 Sandbox は、前回の更新または作成から 30 日後に更新が可能
Partner Test Edition (Enterprise Edition/Platform Edition) が適しているケース:
- 多数のユーザと大規模なストレージを用いた実環境テストの実施に向け、運用環境と同等の環境を必要としているパートナー
- 商用リリースに向けて管理パッケージを作成しており、ベータ版の管理パッケージのテストを行うために Sandbox を必要としているパートナー
- Enterprise Edition および Force.com Edition でアプリケーションが問題なく動作することを確認したい場合
Partner Test Edition (Professional Edition) が適しているケース:
- 多数のユーザと大規模なストレージを用いた実環境テストの実施に向け、運用環境と同等の環境を必要としているパートナー
- 商用リリースに向けて管理パッケージを作成しており、Professional Edition でベータ版の管理パッケージのテストを行う必要があるパートナー (注: この特別な Professional Edition テスト環境では、ベータ版の管理パッケージのインストールが可能)
- Professional Edition でアプリケーションが問題なく動作することを確認したい場合
Sandbox が適しているケース:
- カスタマイズ設定とデータを含む運用環境のコピーを使用してテストを行う場合
- Sandbox が利用可能な Enterprise Edition、Unlimited Edition、Force.com Edition のいずれかのライセンスを保有している場合
- ベータ版の管理パッケージをテストする場合
テストに関する考慮事項とベストプラクティス
- パートナーの皆様には追加のテスト環境が提供されます。詳細は、 パートナー向け開発 & テスト環境 を参照してください。
- Apex コードを使用して Force.com アプリケーションを開発している場合、展開にあたっては 75% 以上のコードカバレッジが必要になります。詳細は、 Apex コードのテストメソッドの概要 を参照してください。
- アプリケーションの展開前には必ずテストを実施します。
- アプリケーションのリリース前には、必ずベータ版の管理パッケージでテストを行います。詳細は、 パッケージング を参照してください。
シナリオ
ここまで、環境の種類や利用可能な機能などについて説明してきました。続いては、顧客、開発者、パートナーの各立場でのシナリオをいくつかご紹介します。
シナリオ 1: 無料で Force.com アプリケーションの開発に着手したいと考えている開発者
- 無料で利用できる Developer Edition に サインアップ
- Force.com プラットフォームの機能を自由に利用してアプリケーションを開発
- 無料の Developer Edition に新たにサインアップしてアプリケーションのテストを実施
- Force.com IDE を使用してアプリケーションの開発、テスト、運用環境への展開を実行
シナリオ 2: 既存の運用環境向けに Force.com アプリケーションを開発したいと考えている Salesforce CRM 顧客
- 運用環境のエディションに応じて、無料で利用できる Developer Edition にサインアップ、または Sandbox を設定
- いずれかの環境で Force.com アプリケーションを開発
- 新たに Developer Edition にサインアップ、または Sandbox を設定して、アプリケーションの機能テストを実施
- Force.com IDE を使用してアプリケーションの開発、運用環境への展開を実行
シナリオ 3: 商用の Force.com アプリケーションを開発したいと考えているパートナー
- 無料で利用できる Developer Edition、または Partner Developer Edition にサインアップ
- Force.com IDE を使用してアプリケーションを開発
- アプリケーションをパッケージ化し、ベータ版の管理パッケージとしてアップロード
- ベータ版の管理パッケージを Sandbox、Developer Edition、Partner Test Edition などの環境でテスト
- リリース版の管理パッケージをアップロードし、顧客に展開
シナリオ 4: Force.com で稼働する商用のコンポジットアプリケーションを開発したいと考えているパートナー
- 無料で利用できる Developer Edition、または Partner Developer Edition にサインアップ
- Force.com API を利用して Force.com との統合を実現 (同 API は、上記両方の環境をサポート)
- Force.com IDE を使用してアプリケーションを開発
- アプリケーションをパッケージ化し、ベータ版の管理パッケージとしてアップロード
- ベータ版の管理パッケージを Sandbox、Developer Edition、Partner Test Edition などの環境でテスト
- リリース版の管理パッケージをアップロードし、顧客に展開
まとめ
このドキュメントでは、Force.com が提供するさまざまな環境をご紹介しました。Force.com プラットフォームには、堅牢性に優れた開発・テスト環境が多数用意されており、自社の運用環境向けに Force.com アプリケーションを開発する場合でも、Force.com で稼動する商用 SaaS アプリケーションを開発する場合でも、アプリケーションのライフサイクル全体を通じて利用できる環境がそろっています。
参考資料
- Developer Edition: Force.com アプリケーションを開発できる無料環境に関する詳細を確認できます。
- Sandbox: Sandbox に関するオンラインヘルプを参照できます。
- パートナー向け開発 & テスト環境: Force.com パートナー向けの開発、テスト環境に関する詳細を確認できます。
- 機能の比較: 各運用環境でサポートしている機能がリスト化されています。
- Force.com の統合機能: Force.com が提供するさまざまな統合機能について概説した基本資料です。
- パッケージング : ベータ版およびリリース版の管理パッケージの作成に関する資料です。
- ツール: Force.com IDE、移行ツールなどに関する詳細にアクセスできます。
執筆者について
Sati Hillyer は、セールスフォース・ドットコムのテクニカルアライアンス部門でシニアマネージャを務めています。彼はこれまで、テクノロジの普及啓蒙、製品管理、製品マーケティングなどの分野でキャリアを積んできました。セールスフォース・ドットコムでの職務は、パートナーを技術的な面から支援し、Force.com で稼動する SaaS アプリケーションの開発を成功に導くことです。彼とコンタクトを取るには、ディスカッションボード でハンドルネーム shillyer を検索してください。
