AppExchange 開発環境について

学習の目的

この単元を完了すると、次のことができるようになります。

  • パッケージを定義し、開発ライフサイクルでの「管理-ベータ」パッケージおよび「管理-リリース済み」パッケージの使用方法を説明する。
  • AppExchange アプリケーションの開発で使用する組織の種類と各組織の用途を挙げる。
  • ゴールデンパッケージ化組織に細心の注意を払う理由を説明する。
メモ

メモ

Trailblazer の皆さん!

Salesforce では、第一世代パッケージ化 (1GP) と第二世代パッケージ化 (2GP) という 2 通りの方法でソリューションをパッケージ化できます。このモジュールでは 1GP を使用します。新しいソリューションの場合は、『Salesforce DX 開発者ガイド』の「第二世代管理パッケージ」に記載されているとおりに 2GP を使用してください。

アプリケーションの開発と配布

アプリケーションを構築し、テストし、お客様に届ける準備はできましたか? AppExchange パートナーはアプリケーションを公開するためにさまざまな組織を使用します。このモジュールでは、アプリケーションの開発に使用する環境、それを作成および管理する方法、そして組織間でアプリケーションを移行する方法を紹介します。

開発管理組織の設定

AppExchange パートナー向けの組織として、アプリケーションの開発、テスト、ステージング、パッケージ化、デモ、マーケティング、販売、配布のための組織があります。開発のための組織を作成および管理するには、環境ハブアプリケーションを使用します。

環境ハブはビジネス組織にインストールされています。ビジネス組織には、マーケティング、営業、運用、およびアライアンスのチームが業務を行うためのアプリケーションや機能もすべて揃っています。

Salesforce パートナーに提供されるビジネス組織には 2 つのライセンスが含まれています。通常、これらのライセンスはビジネスを運営している人に割り当てられます。

開発管理組織として機能する Partner Developer Edition 組織を作成し、環境ハブをそこにインストールするように要請できます。この組織には 20 個のライセンスが付属しています。それらのライセンスを開発チームと品質保証チームのメンバーに割り当てることで、それぞれが独自の組織を作成および管理できるようにできます。

開発管理組織を設定する手順は次のとおりです。

  1. ビジネス組織の環境ハブを使用して (1)、Partner Development Edition (PDE) 組織を作成します (2)。
  2. 新しい PDE 組織を作成したら、パートナーコミュニティでケースを申請して、環境ハブアプリケーションを新しい組織に要請します (3)。これには数日かかる場合があります。

ビジネス組織の環境ハブが開発者組織を作成し、その組織に環境ハブがインストールされる様子を示した図

開発組織、ベータパッケージ化組織、テスト組織

ビジネスでは、さまざまな種類の組織が使用されます。ここでは、アプリケーション開発で使用する開発組織、パッケージ化組織、テスト組織に焦点を絞ります。パッケージ化は、アプリケーションをお客様に配布するための最初のステップです。

開発においてこれらの 3 つの種類の組織を使用する簡単な例を次に示します。

  • チームは Partner Development Edition (PDE) 組織でアプリケーションを開発します (1)。何個の PDE 組織を設定するかは、ニーズとチーム内の開発者の数によって異なります。
  • Salesforce 移行ツールを使用して、複数の PDE 組織の設定を 1 つのベータパッケージ化組織 (2) にマージします。
メモ

メモ

お客様とは異なり、AppExchange パートナーは開発で Sandbox を使用しません。そのため、組織間のリリースに変更セットを使用することはできません。

  • ベータパッケージ化組織 (3) で、アプリケーションをテストするための「管理-ベータ」パッケージを作成します。
  • ベータパッケージをテスト組織にインストールします (4)。テスト組織のエディションは、対象のお客様のエディションに基づきます。テスト組織は複数持つことができます。
  • 問題が発見された場合には、チームは PDE 組織での開発に戻ります。

PDE 組織から、ベータパッケージ化組織、テスト組織の順に移行するアプリケーションを示す図

開発が終了すると、ベータパッケージ化組織で「管理-リリース済み」パッケージを作成します。パッケージを新しいテスト組織に送信し、最終チェックを行います。

ゴールデンパッケージ化組織

アプリケーションをリリースする準備が整ったら、最終パッケージ化組織を作成します。この組織は、アプリケーションのライフサイクルにおいて重要であるため、「ゴールデンパッケージ化」組織と呼ばれています。製品にバージョンがいくつあっても、1 つの製品につきゴールデンパッケージ化組織は 1 つだけです。

移行ツールを使用してアプリケーションをゴールデンパッケージ化組織に移行します (1)。次に「管理-リリース済み」パッケージ (2) を作成し、パッケージを新しいテスト組織 (3) にインストールして品質保証作業を 1 回以上行います。

PDE 組織から、ベータパッケージ化組織、ゴールデンパッケージ化組織、テスト組織の順に移行するアプリケーションを示す図

AppExchange への送信

アプリケーションが正常に管理パッケージにバンドルされたら、それを非公開で AppExchange に送信します (1)。次にセキュリティレビューを受けます (図では省略)。承認されたら、アプリケーションを公開します。そこからお客様はパッケージを自分の組織にインストールします (2)。

ゴールデンパッケージ化組織から、AppExchange、お客様の順に移行するアプリケーションを示す図

組織の非クラウド開発モデルへの対応付け

次の表で、これらの組織が非クラウド開発環境にどのように対応付けされるかを確認してください。

非クラウド開発環境
Salesforce 組織のエディション
担当
理由
個別の開発
Partner Developer Edition 組織
開発者
これらの組織ではアプリケーション作成のためのすべての機能が提供されます。
継続的な構築
Partner Developer Edition 組織 — ベータパッケージ化組織
リリースマネージャ
この組織を使用して、開発コードをまとめてパッケージ化し、テスト組織に転送します。管理パッケージを作成するには、PDE 組織を使用する必要があります。
テスト
Group Edition、Professional Edition、Enterprise Edition の組織
品質保証エンジニアまたはビジネスアナリスト
お客様が使用するエディションの組織でアプリケーションをテストします。
ステージング、パッケージ化、リリース
Partner Developer Edition 組織 — ゴールデンパッケージ化組織
リリースマネージャ
この組織は正確にはステージング環境ではありませんが、アプリケーションが世に送り出されるための発射台です。管理パッケージを作成するには、PDE 組織を使用する必要があります。
ユーザ受け入れテスト
Group Edition、Professional Edition、Enterprise Edition の組織
製品マネージャ
この組織は、アプリケーションを公開する前の最終サインオフに使用します。

ここでの簡略化されたパスには表示しませんでしたが、特に複数の開発者で作業している場合は、メタデータをソース制御システムに保存することを強くお勧めします。Github や SVN などのシステムを使用できます。また、AppExchange では Salesforce 用に設計されたアプリケーションを見つけることができます。

メモ

メモ

AppExchange で探すときには、バージョン管理システムがパートナー開発をサポートしていることを確認します。前述したように、Salesforce のお客様の場合は開発に Sandbox を使用するため若干異なります。

質問と回答

ビジネス組織が環境ハブアプリケーションを使用する理由は?

環境ハブアプリケーションを使用すると、さまざまな種類の組織を作成できます。たとえば、営業チームはデモ組織を作成でき、運用チームは Trialforce 管理組織を作成できます。通常、これらのチームはビジネス組織内に存在するため、環境ハブアプリケーションをビジネス組織内に置くと便利です。

環境ハブアプリケーション、開発、およびパッケージ化に同じ Partner Development Edition 組織を使用できない理由は?

用途に応じて別個の組織を維持することで、適切なリリースプロセスをサポートし、セキュリティを強化することができます。環境ハブが含まれる組織 (開発管理組織) は組織の作成と管理に使用されます。そのため、誰もが使用できるようにはしません。また、その組織で開発できるようにすると、大混乱につながります。

開発専用の組織を使用することで、開発者は誰の邪魔をすることもなく Salesforce を探索し、アプリケーションを構築できます。

パッケージ化組織は、紙幣の印刷版のようなものです。この組織は、安定した状態をそのまま保ち、アプリケーションのリリースまたは更新の準備ができた場合にのみ変更することが望ましいです。この組織からアプリケーションをリリースすると、アプリケーションのパッケージ化に永続的にこの組織を使用することになります。そのため、この組織は可能な限りロックダウンします。

また、管理パッケージが含まれる組織に環境ハブアプリケーションをインストールすると、パッケージバージョンを作成するときやパッケージのアップグレードをお客様に転送するときに問題が発生することがあります。そのため、開発管理組織ではパッケージ化を行わないでください。

そうはいっても、小さなチームでは開発とパッケージ化に同じ組織を使用することもあります。このモジュールでは簡略化のために同じ組織を使用しますが、一般的な方法としてはお勧めしません。

異なる環境設定にチームが慣れている場合はどうしますか?

ここで説明した設定は一例にすぎません。ニーズに応じて異なる設定を使用できます。

まとめ

ここで説明した設定は一例にすぎません。ニーズに応じて異なる設定を使用できます。

  1. ビジネス組織から開発管理用の PDE 組織を作成します。
  2. 開発管理組織で環境ハブアプリケーションを有効にします。
  3. 開発用の PDE 組織を作成します。
  4. 設定を結合し、テスト用のベータパッケージを作成するための PDE 組織を作成します。
  5. 対象のエディションと一致するテスト組織を作成します。
  6. ゴールデンパッケージ化組織として使用する PDE 組織を作成します。
  7. ゴールデンパッケージをテストするための UAT (テスト) 組織を作成します。

このプロセスには 7 つ以上の組織が含まれています。実際には、さらに多くの組織を使用することになるでしょう。

ここでは、AppExchange パートナーが使用できるすべての組織については説明せず、開発中に使用する組織についてのみ説明しました。また、環境ハブアプリケーションについて説明しましたが、ライセンス管理アプリケーションなどのアプリケーションの販売に使用できるその他のアプリケーションは紹介していません。

次の単元

次の単元では、環境ハブアプリケーションの使用、パッケージの作成、テスト組織の設定について説明します。これらの単元を最大限に活用するため、次のことを実行してください。

実行内容
どのようにすればよいのでしょうか?
AppExchange パートナーとしてサインアップする
「AppExchange パートナーの基本」モジュールの「AppExchange パートナープログラムの使用開始」を参照してください
環境ハブアプリケーションを備えた組織があることを確認する
「AppExchange パートナーの基本」モジュールの「AppExchange パートナー向けのツールとリソースの利用」を参照してください

バッジを獲得したら、環境ハブを実際に使ってみましょう。