Какова высокопроизводительная интеграция между Android-приложением и удаленной или облачной базой данных?

1

Я разрабатываю приложение для Android, которое необходимо регулярно обновлять удаленной или облачной базе данных MySQL, когда оно используется пользователем, например, пользователь, добавляющий нового друга, эта информация сохраняется в удаленной базе данных.

Каков высокопроизводительный метод интеграции приложения Android в удаленную базу данных?

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

Возможности включают:

Использовать простые URL-адреса HTTP, как в стандартном веб-приложении Использовать JMS Использовать веб-службы Используйте решение на основе ESB
Теги:

1 ответ

3

В конечном итоге у вас будет одно из трех возможных решений: служба SOAP, служба URL/REST или открыть собственный сокет.

SOAP, как правило, не является хорошим решением для мобильных устройств, есть много накладных расходов и не поддерживается прямо из коробки на Android.

Итак, вы отправляетесь на URL-адрес, похожий на службу REST. Это самый легкий способ, но тогда вам нужно решить, как его упаковать, так как чем больше данных вы должны отправить, тем ниже производительность.

Итак, вы можете пойти со своей собственной схемой кодирования, например, использовать xml или JSON. Использование вашей собственной схемы в основном заново изобретает колесо, IMO, и я предпочитаю JSON, поскольку вы можете не включать ярлыки, поэтому вы просто отправляете данные с несколькими дополнительными символами, которые необходимы.

Вы можете открыть свое собственное соединение сокета, но затем снова изобрести колесо.

Итак, для лучшей производительности я бы пошел с услугой REST и в основном просто отправлял данные JSON, так как это потребует максимальной производительности для наименьшего количества работы.

Я забыл, ваша производительность будет хитом, основанной на том, что делает сервер. Например, если вы используете решение на основе ESB, которое по-прежнему вызывает веб-сервис SOAP (плохая идея), но затем вы получаете производительность от потока данных там.

JMS/ESB действительно зависит от того, что вам требуется для других операционных потребностей. Например, если я отправлю данные на ваш сервер, а затем ваш сервер опустится до того, как он обработает, я должен просто отправить данные еще раз, или ему нужно будет продолжать работу с того места, где он был остановлен.

Это зависит от того, что вы обрабатываете. Если вы обработали кредитную карту, повторная отправка - плохая идея, так как это означает, что карта дважды взимается, но добавление друга должно быть прекрасным, так как вы можете определить, что друг уже добавлен и сделать обновление.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню