Я разрабатываю программу, которая будет создавать и поддерживать базу данных, и выступать в роли центрального сервера. Это «первая стадия» грандиозного плана. Позднее будет 3-5 удаленных программ, построенных на основе информации, помещенной в эту базу данных.
Требования:
- Удаленные программы должны иметь доступ к информации в базе данных.
- Удаленные программы должны иметь возможность устанавливать оповещения при изменении информации в базе данных.
- Удаленные программы должны иметь возможность запрашивать, чтобы центральный сервер вышел и получил новые / другие данные.
Итак, вопрос в следующем: как мне представить эти данные и события внешнему миру? Мои два выбора:
- Пусть они общаются напрямую с моим «серверным» приложением. Это кажется проще:
- делать уведомления о событиях (хотя я полагаю, что, возможно, что-то отсутствует в SQL).
- Также кажется, что это более «обновляемый» вариант - мне не нужно беспокоиться об обновлении базы данных и сбое всех моих удаленных программ, потому что что-то изменилось. Я могу объяснить это и преобразовать данные в версию, понятную для дочерней программы.
- Просто позвольте им подключиться непосредственно к базе данных.
- Это хорошо, что решено . Я могу использовать LINQ для SQL. Единственное, что нужно сделать главному серверному приложению, - сообщить удаленным программам, где находится база данных.
- Я не уверен, как запускать / передавать «события» для изменений полей в базе данных по различным программам, которые могут или не могут быть на одном компьютере.
Прости мое невежество по этому вопросу. Я чувствую себя совершенно не готовым спросить об этом, но мне трудно понять, с чего начать. Это мой первый настоящий проект БД: - /
Спасибо!