2013-12-13 3 views
1

На прошлой неделе я начал работу над небольшой компанией-автозапуском, которая разрабатывает приложение iOS. Моя позиция в команде - это бэкэнд-разработчик. Я говорил с мобильными разработчиками, они сказали мне, что они используют Stackmob Backend-as-a-Service для мобильного приложения. Теперь, в качестве backend dev, мне нужно создать собственный php (используя CakePHP framework, если это имеет значение) API, который сохранит все данные, обменянные в мобильном приложении (в случае базы данных MongoDB, если это имеет значение), запустите некоторые алгоритмы, которые (включая ввод данных из мобильного приложения и последующее возвращение ответа после фильтрации входных данных с помощью алгоритмов backend) и повторное использование функции обмена сообщениями для пользователя для мобильного приложения.Использовать собственный (php) API в Stackmob

Как вы понимаете, часть php будет полностью невидимой для пользователя, она содержит только алгоритмы.

Теперь я немного озадачен частью Stackmob. Как я могу «соединить» (или что?) Платформу stackmob с моими базовыми алгоритмами php, чтобы мобильное приложение использовало и то и другое? Я имею в виду, например, функция Auth users работает от Stackmob. Но как я могу сохранить в базе данных (в нашу инфраструктуру) информацию о пользователях? А также управлять данными пользователей и многое другое? Как они объяснили мне, приложение iOS должно использовать как службы stackmob, так и наши пользовательские алгоритмы (через наш частный API), который работает на наших серверах.

Пожалуйста, любые советы о чем-нибудь об этом будут высоко оценены или что-либо еще что могло бы помочь мне понять, как я должен работать.

Спасибо заранее, ребята!

ответ

1

Я работаю именно над этим, написав PHP-демона cron для импорта сторонних данных и загрузить в Stackmob. У них есть a PHP library, и я написал a simplified shorter version.

Вся связь с базой данных сводится к простому интерфейсу CRUD. Удачи.

EDIT. Код, над которым я работаю, имеет следующую структуру.

  • 3 Объекты хранения: inStore, locStore, outStore. Входящие данные, локальный кеш и исходящий. См. my locStore code here.

  • 3 Объекты прокси: inProxy, locProxy, outProxy, чтобы поговорить с соответствующими им хранилища. Они предоставляют мои специфические методы для приложения, так как они имеют доступ к моей конфигурации, где нет магазинов.

  • Конфигурировать объект для решения связанных с конфигом методов, используемых прокси.

  • Объекты Data Mover верхнего уровня, которые говорят только с прокси.

+0

удивительный! если у вас есть и другой код, который, по вашему мнению, может мне помочь, отправьте его также: D спасибо! –

+1

Просто обновил Gist с новой версией. Какой еще код нужен? Какую задачу выполнять? –

+0

Что мне нужно сделать, так это найти оптимальный способ обмена данными пользователей между нашей базой данных MongoDB и хранилищем данных stackmob, чтобы запускать некоторые алгоритмы, специфичные для приложения. На самом деле, есть ли вероятность, что я смогу «синхронизировать» что угодно между stackmob и нашими серверами? Или даже использовать stackmob только для push-уведомлений и запускать что-нибудь еще в нашей инфраструктуре ..? Что ты предлагаешь? –

0

Похоже, вы можете использовать REST API StackMob с вашего PHP для доступа к списку пользователей. Полный API описан https://developer.stackmob.com/rest-api/api-docs#a-rest_full_api_reference, и вы можете получить список пользователей с GET http://api.stackmob.com/user.

Но именно то, что вам нужно, зависит от ваших требований. Также похоже, что StackMob позволяет реализовать собственный код на своей платформе, но он должен быть написан на Java, Scala или Clojure (т.е. он работает на JVM). Я подозреваю, что это может быть гораздо лучшей идеей для вас, чтобы попытаться настроить ваш PHP, чтобы поговорить с их API ...

+0

Итак, вы предлагаете написать бэкэнд в Java и реализовать его в Stackmob вместо PHP? –

+0

Зависит от того, что вы хотите сделать, я думаю, но похоже, что это может быть проще. По крайней мере, я бы изучил это, прежде чем отправиться в PHP-разработчик, потому что вам может потребоваться опрос StackMob, чтобы узнать, когда появятся новые события, тогда как если вы работаете внутри StackMob, вы можете избежать опроса ... просто идея. – craigmj

+0

в порядке, gotcha! Я рассмотрю, что вы мне предложили, и я надеюсь найти оптимальное решение. спасибо: D –

Смежные вопросы