Лучший и самый простой метод межпроцессного взаимодействия в большом проекте - PullRequest
1 голос
/ 21 апреля 2009

Какой самый лучший и самый простой метод, который можно использовать для межпроцессного взаимодействия в очень большом проекте?

Мое требование - установить связь между обычным приложением Windows Forms и службами Windows.

Предпочтительны методы, которые легко поддерживать и внедрять.

Спасибо

Ответы [ 3 ]

2 голосов
/ 21 апреля 2009

Из тегов я понимаю, что речь идет о .NET. Возможно, вам стоит попробовать Microsoft WCF. Это объединяет эту проблему, абстрагируя конкретную технологию межпроцессного (межсервисного) взаимодействия от реального кода. Поэтому обычно вы разрабатываете и пишете интерфейсы, которые ваши процессы будут использовать для общения друг с другом, а затем вы будете настраивать конкретную коммуникационную технологию в XML-файле конфигурации. То есть у вас есть довольно четкое разделение между «о чем говорят процессы» и «как эта коммуникация реализована конкретно».

WCF поддерживает связь SOAP, TCP \ IP, MSMQ и т. Д., Ваши процессы могут быть веб-службами IIS, обычными службами Windows, консольными приложениями и т. Д. - все это в единой среде. Я думаю, это именно то, что вы ищете.

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

Не обязательно лучший или самый легкий ....

В мире .NET попробуйте промежуточное программное обеспечение очереди сообщений MSMQ или IBM MQ.

Если обмен данными в основном односторонний, рассмотрите возможность использования служб WCF, которые удобны и просты, если вы позволите генераторам кода в Visual Studio выполнять большую часть работы за вас.

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

Это действительно зависит от проекта, так как существует большое количество методов.

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

Наиболее распространенным методом, вероятно, являются веб-сервисы. Хотя это связано с дополнительными затратами, возможно, стоит взглянуть на простой интерфейс API через DLL.

Что бы вы ни делали, это, вероятно, следует тщательно продумать и продумать, учитывая безопасность и производительность, а также то, как вы будете расширять или модифицировать это в будущем.

...