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