9


5

カスタムの商用GAEアプリケーションを開発し、販売したいと思います。 任意のGoogle AppsドメインへのGAEアプリケーションの導入に関する情報が欲しい appspotではありません)。

当社がabc.comで、def.comとxyz.comにアプリを販売しているとします。 お客様のドメインにアプリをデプロイする手順は何ですか?

アプリが多数のドメインにデプロイされている場合:

  • コードは重複していますか?

  • データストア定義は重複していますか、それとも共有されていますか?

  • エンティティに追加するドメイン属性はありますか?

2 Answer


14


あなたが説明するような「マルチテナント」アプリに関しては、現時点で3つの選択肢があります。

  1. あなたの顧客が彼らのドメインに追加する単一のアプリを持つことができます。 アプリには単一のデータストアがありますが、Hostヘッダーを使用してどの顧客がアプリにアクセスしているかを判断し、それに基づいてデータストアエントリを分離することができます。

    • 展開とアップグレードが簡単

    • インストールが簡単

    • ログインするには、ユーザーはAppsアカウントではなく、Googleアカウントを持っている必要があります。

  2. 顧客ごとに新しいアプリインスタンスをデプロイできます。

    • 展開とアップグレードが困難

    • インストールにはさらに顧客の参加が必要

    • データを確実に分離する

    • ユーザーは自分のApps認証情報でログインできます

  3. Googleと協力して新しいApps Marketplaceアプリを作成できます。

    • 上記のポイント1と2のすべての利点

    • Googleの関与が必要

    • 発売日はまだ決まっていません


4


これは可能ですが私の知る限りでは、 `def.com`です。

見込み顧客がドメインをGoogle Appsに登録すると、GmailのようなGoogle Appsだけでなく他のユーザーも追加できます。

  • _コードは複製または共有されていますか?+ 共有

  • _データストア定義は複製または共有されていますか(より正確に 種類)?+ +スキーマ(定義)は共有されますが、共有されないのは_actual datastore_です。 i.e. アプリの各インスタンスは別々のデータを持ちます。

  • エンティティにドメイン属性を追加しますか?
    CGI / HTTP環境変数のいずれかを使用して、アプリが提供されているドメインを把握できます。 どの変数を正確に覚えているのではありませんが、古いコードを見て答えを更新します。 現在のドメインが何であるかが分かったら、その情報をEntityに保存することや単にアクセスを拒否することなど、その情報をどうするかを選択できます。

これについてのもう一つの素晴らしい機能は、会社 `def.com`がホスティングされたGMailを使用していて、彼らの従業員にはGoogle認証があるとしましょう。 アプリがGAE提供の認証フックを使用している場合は、コードを変更しなくても自動的に従業員だけを認証できます。 少なくとも、私は自分で試したことがないのでそれが理論です。