Во-первых, сфокусируйтесь на точных отношениях между этими базами данных.Что значит "местный"Прямо там на рабочем столе пользователя?Совместно используется всеми пользователями в их офисе?Предположительно, локальные котировки (вы имеете в виду акции котировки , а не квоты ?) Потенциально могут быть немного устаревшими по отношению к взгляду сервера центрального заказа на мир.Это имеет значение?Я размещаю заказ на 100 X по цене 78,34, реальная цена может отличаться.Каково предполагаемое поведение.
Я предполагаю, что есть, по крайней мере, некоторая бизнес-логика, и поэтому мы должны решить, где она работает.Один (толстый клиент) подход заключается в том, чтобы разместить эту логику на рабочем столе, после чего настольное приложение может записывать данные напрямую в центральную БД.Я не склонен делать это по нескольким причинам:
- Каждый клиентский рабочий стол получает соединение с базой данных.Масштабирование не очень хорошее, в конечном итоге база данных становится несчастной, когда количество пользователей становится очень большим.
- Если нам нужно немного другое приложение, возможно, доступное для другого набора пользователей через Интернет или что-то еще, мы в конечном итогевоспроизведение этой бизнес-логики.
Альтернативный подход (тонкий или основанный на браузере) сохраняет пользовательский интерфейс на рабочем столе, но размещает логику на сервере.Затем клиент может вызвать какую-то услугу.Теперь есть много возможных способов сделать это, простую веб-службу или службу отдыха.Надеюсь, ясно, что этот сервис-ориентированный аппрокс обратился к моим двум пунктам выше.
По симметрии я бы так же относился к локальным базам данных, заключая их в службы.Однако возможно, что существуют некоторые более сложные отношения между базами данных, и в этом случае вам может потребоваться уровень локального сервиса для взаимодействия с уровнем центрального сервиса.
Я рекламирую общий принцип «Не повторяйся сам, реализуй каждый кусочек бизнес-логики один раз».