модель распределенного приложения, сервер и несколько клиентов (клиент может работать на сервере) - PullRequest
0 голосов
/ 26 марта 2009

У меня есть система, которую я проектирую, в которой мы используем 4 специализированных ПК, которые мы производим в доме, которые имеют 16 последовательных портов (db-9 RS232). Мне нужно одновременно общаться с 64 устройствами (4x16) и управлять ими. связь. Вот модель, которую я придумала, и я запрашиваю обратную связь

Сервер: Работает на одной системе и координирует клиентские приложения. Поддерживает главный конечный автомат и гарантирует, что клиенты находятся в состоянии блокировки с этим конечным автоматом. (Например, все подразделения выполняют задачу A, когда последний из них сообщает о завершении, все подразделения выполняют задачу B).

Общается через .net remoting? WCF?

Клиент: Может работать в той же системе, что и сервер. Управляет всем IO. Управляет бизнес-логикой для фактического выполнения задачи (плохая идея?) Сообщает о состоянии через Remoting / WCF через события уведомления (например, INotifyPropertyChanged) .

Я никогда не работал с удаленным удалением .net или ЛЮБЫМ распределенным приложением, поэтому я новичок в этом, но я быстро учусь. Литература и общественные советы будут высоко оценены на этом этапе.

Ответы [ 2 ]

1 голос
/ 26 марта 2009

Если бы я был тобой, я бы прочитал о дизайне распределенных систем. Обычно плохая идея иметь единую точку отказа в системе (один специальный ПК является «сервером», а все остальные должны взаимодействовать с ним.)

Но в вашем случае вполне может быть, что это не имеет значения.

Читайте о распределенной конструкции systens.

API, который вы выбираете, не самая важная вещь, я бы сказал. Сначала вам нужно спланировать архитектуру и поведение, которое вы хотите получить в различных сценариях (например, на одном из компьютеров происходит самоволка).

Просто быстрая реакция после прочтения ваших требований, я бы заглянул в распределенную систему pub / sub. Как вы реализуете паб / саб, зависит от вас. Вы можете использовать MSMQ, или WCF и WS-Eventing, или ....

1 голос
/ 26 марта 2009

Определенно проверьте время выполнения параллелизма и координации (CCR):

http://msdn.microsoft.com/en-us/library/bb648752.aspx

EDIT:

Ссылка для скачивания:

http://msdn.microsoft.com/en-us/robotics/aa731520.aspx

...