2

我有興趣在Google App Engine上構建一個平臺,其中一個主應用程序爲多個子應用程序(Web門戶)提供通用功能。如何在Google App Engine上構建類似Facebook的平臺?

主應用

  • 信息常見的社交網絡功能
  • 使用Web服務API

兒童應用(網絡門戶)常見的用戶數據庫

  • 交互:

    • 連接到主應用程序的用戶數據庫和社交網絡功能
    • 使用本地業務邏輯的地方特色

    我的設計方案是:

    1. 主機和子女應用將是 個人應用對GAE Appspot(對於 易於管理)
    2. 所有將通過REST/JSON進行通信?
    3. 我將啓用對所有應用程序的帳單,因此 沒有任何違反Google的使用 政策。
    4. 將用於登錄SSL到主應用程序,以後使用令牌 (餅乾),用於進一步的交互

    誰能好心發現風險並提出任何改進?

  • +0

    不要這樣做與SSL,它有點挫敗目的。 – Fibericon 2011-03-07 03:31:15

    +0

    我不明白你爲什麼認爲「母子關係」會使管理更容易。你能解釋一下嗎?如果你放棄,那麼1.,2.和3.就變得無關緊要了。和4。既不在這裏,也不在那裏。 – Glenn 2011-03-07 04:12:21

    +0

    @Fibericon:由於我所有的應用程序都是私人的,我需要保護他們的數據,所以我在考慮使用SSL。這會比較慢嗎?你認爲有更好的方法嗎?請建議。 – charming30 2011-03-07 04:55:21

    回答

    1

    您的「主/子」概念將難以維護,引入跨站點腳本問題,最重要的是完全違反Google App Engine的terms of service將多個應用程序合併爲一個。

    4.4。您不得開發多個應用程序來模擬或充當單個應用程序,或者以避免產生費用的方式訪問服務。

    +0

    ......正如OP在他之前的SO問題中特意詢問關於TOS的這個問題所指出的那樣。 – geoffspear 2011-03-07 17:09:43

    +0

    即使在所有應用上啓用帳單,此規則是否適用?我不打算避免費用,我只需要一個可以獨立維護和升級的分佈式系統。 – charming30 2011-03-08 04:34:42

    +0

    是的,我很害怕。即使無意中,您將*避免費用,因爲每個應用程序都帶有自己的免費配額計費功能。 – 2011-03-08 08:04:42

    1

    您可以使用多個應用程序的版本(在app.yaml中定義),以不同的代碼庫部署到同一個appspot.com子域,並訪問他們像http://app1.myapp.appspot.comhttp://app2.myapp.appspot.com的「版本」 APP1和App2。你甚至可以在Java上運行一個版本,在Python上運行另一個版本。 他們將共享同一個數據存儲,儘管如果需要的話你可以使用命名空間來分隔它們。

    對於您提出的架構的分佈式特性,我建議深入瞭解Facebook的圖形API和Twitter的API。他們都使用oAuth進行身份驗證/授權,並且已經實現了您正在嘗試完成的任務。

    +0

    聽起來非常好,我認爲這也可能符合谷歌TOS,因爲所有的應用都依賴於一個配額。我可以使用名稱空間來分離各種應用程序的數據..非常感謝這.. – charming30 2011-03-10 04:22:28

    +0

    謝謝,我將按照建議查看Facebook和Twitter API。 – charming30 2011-03-10 04:23:16

    相關問題