Из-за безопасности вам нужен какой-то промежуточный уровень между клиентом и базой данных.Выставлять базу данных прямо в интернет очень опасно.Многие приложения используют SOAP в этом сценарии, потому что он широко применяется.Вы создаете сервис SOAP, определяете протокол и функции, а затем клиент вызывает его.Другие варианты: создание службы / сервера на основе REST, которая делает то же самое, или даже создание простого уровня TCP / IP.Возможны следующие варианты:
- Сервис SOAP в качестве среднего уровня
- Средний уровень REST на основе HTTP
- Средний уровень на основе XML RPC
- Чистый TCP/ IP среднего уровня
- VPN-соединение для клиентов
Если вы делаете VPN-соединение с клиента, вы можете иметь прямой доступ к базе данных, но это, вероятно, для клиентовособенно если они не из вашей компании.Я лично, вероятно, пошел бы с 2 или 3, но только потому, что я не очень люблю SOAP.Большинство, если их спросить, предпочли бы SOAP, я думаю.
РЕДАКТИРОВАТЬ:
Поскольку я вижу, что это удаленные офисы, вы можете рассмотреть постоянное соединение VPN.Большинство маршрутизаторов в наши дни способны на это.Тогда ваше приложение может работать так же удаленно, как и локально.