Мы создаем корпоративное приложение, в которое мы будем включать несколько платформ для пользовательских интерфейсов (например, веб-приложение ASP.net, приложение Windows, а иногда и мобильные приложения) и несколько платформ для внутренних баз данных (например, SQL Server, XML, Oracle). Дополнительной необходимостью является то, что эти внутренние БД либо централизованы и доступны через Интернет, либо локализованы на клиентском компьютере и иногда синхронизируются с центральным сервером.
Может ли кто-нибудь дать совет о том, как мы можем абстрагировать уровень пользовательского интерфейса и уровень данных, чтобы мы могли более просто создавать адаптивную адаптивность между различными пользовательскими интерфейсами и различными вариантами выбора для БД? Например: в одном случае у нас может быть веб-приложение, работающее на централизованном сервере через Интернет, и у нас могут быть удаленные машины, на которых выполняются локализованные копии через приложение Windows. Через запланированные промежутки времени мы хотим, чтобы все машины были синхронизированы, чтобы они могли иметь данные почти в реальном времени.
Нам также нужен совет по работе с различными задействованными строками соединения, чтобы единственной настройкой, которую нужно было бы изменить в любом приложении, был бы «локальный» или «удаленный», который бы затем определял необходимую строку соединения.