Как создать Facebook-подобную платформу на Google App Engine? - PullRequest
2 голосов
/ 07 марта 2011

Мне интересно создать платформу на Google App Engine, в которой одно главное приложение предоставляет общую функциональность для нескольких дочерних приложений (веб-порталов).

Мастер-приложение :

  • Предоставляет общие функции социальных сетей
  • Общая база данных пользователей
  • Взаимодействует с помощью API веб-сервисов

дочерние приложения (веб-порталы) :

  • Подключение к главному приложению для базы данных пользователей и функций социальных сетей
  • Использование локальной бизнес-логики для локальных функций

Мой план дизайна:

  1. Приложения Master и Child будут отдельные приложения на GAE Appspot (для простое управление)
  2. Все будут общаться через REST / JSON?
  3. Я включу биллинг для всех приложений, поэтому ничто не против использования Google политика.
  4. Будет использовать SSL для входа в Master App, позже использовать токен (cookie) для дальнейшего взаимодействия

Может ли кто-нибудь любезно определить риски и предложить какие-либо улучшения?

Ответы [ 2 ]

1 голос
/ 08 марта 2011

Вы можете использовать несколько версий приложений (определенных в app.yaml) для развертывания различных кодовых баз на одном и том же поддомене appspot.com и доступа к ним, например http://app1.myapp.appspot.com, http://app2.myapp.appspot.com для «версий» app1 и app2. Вы могли бы даже иметь одну версию на Java и другую версию на Python. Все они будут использовать одно и то же хранилище данных, хотя при необходимости вы сможете использовать пространства имен для их разделения.

Для распределенной природы предложенной вами архитектуры, я бы посоветовал глубже взглянуть на API графиков Facebook и API Twitter. Они оба используют oAuth для аутентификации / авторизации и уже имеют проверенную реализацию того, чего вы пытаетесь достичь.

1 голос
/ 07 марта 2011

Вашу концепцию "Master / Child" будет сложно поддерживать, возникнут проблемы с межсайтовым скриптингом и, что самое важное, он будет полностью соответствовать условиям обслуживания Google App Engine для объединения нескольких приложений в одно.

4.4.Вы не имеете права разрабатывать несколько Приложений, чтобы имитировать или действовать как одно Приложение, или иным образом получать доступ к Сервису таким образом, чтобы избежать взимания платы.

...