Архитектура управления Master-Slave в .net в нескольких системах - PullRequest
0 голосов
/ 03 апреля 2009

Я анализирую свой следующий проект и пишу требования, одна из вещей, которые я хотел бы сделать, - это связь через 64 ​​последовательных порта (16 портов x 4 компьютера с Windows)

Лучшее, что я могу себе представить, - это модель приложения «главный / подчиненный», в которой главное приложение управляется оператором, а ведомые просто выполняют команды, выданные ведущим (вызовы удаленных процедур? пока, я младший инженер) у меня следующие вопросы:

В .net каков наилучший способ выдачи указанных команд и получения ответов от удаленных процессов?

Существует ли общий шаблон проектирования для обработки сценариев такого типа?

Если пользователи не имеют прямого доступа к 3 из 4 систем (возможно, даже ко всем 4), как я могу гарантировать, что подчиненные процессы порождаются на удаленных компьютерах? Восстановление после сбоя также вызывает беспокойство, есть ли простой способ сказать удаленному ПК выполнить что-то? это похоже на ОГРОМНУЮ проблему безопасности.

Edit: Гломек спрашивает (короче)

Будет ли кто-нибудь использовать программное обеспечение на рабы? Почему бы пользователям не иметь доступ к системам?

Системы являются строго коробками для пиццы, без мониторов, это операторы тестирования минимальной заработной платы, тестирующие продукты, 4 компьютера должны общаться друг с другом по сети, но затем 4 компьютера связываются с 64 тестируемыми устройствами, которые имеют последовательный порт RS232. коммуникации.

Ответы [ 2 ]

1 голос
/ 04 апреля 2009

В .net какой лучший способ выдачи упомянутые команды и получать ответы из удаленных процессов?

Вы можете посмотреть на .NET Remoting. Другими допустимыми вариантами являются их реализация в качестве сервера (например, мыла).

Типичным подходом может быть использование очередей.

Есть ли общий шаблон дизайна для справиться с подобным сценарием?

Для этого взгляните на шаблоны интеграции предприятий (Грегор Хопе и Бобби Вульф) Отличная книга.

Если пользователи не имеют прямого доступа до 3 из 4 систем (может быть, даже все 4) как я могу убедиться, что раб процессы порождаются на удаленном компьютеры? восстановление после сбоя также беспокойство здесь, есть ли простой способ скажите удаленному ПК выполнить что-нибудь? это похоже на ОГРОМНУЮ проблему безопасности.

Напишите API, который опирается на аутентификацию. Вы можете использовать веб-сервисы с включенной аутентификацией Windows. Веб-сервисы также могут использоваться для запроса состояния порожденных процессов.

Это также можно сделать, используя подход, основанный на сообщениях.

0 голосов
/ 04 апреля 2009

Что касается аутентификации, вы можете использовать сертификаты из вашего ICA (если у вас есть).

...