2013-12-16 4 views
0

В нашем проекте у нас есть ряд программ, которые общаются друг с другом как внутри компьютера, так и по внутренней сети. Чтобы решить эту проблему, мы используем сегодня COM/DCOM. Мы думаем, однако, что DCOM слишком сложна. Как настроить параметры безопасности для каждой версии Windows.Общайтесь между приложениями по сети

Поэтому мы ищем протокол, который обеспечивает связь между нашими различными программами на разных компьютерах Windows и у которых не так много накладных расходов, как DCOM.

программа написана на C++/MFC и C#

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

+1

http://msdn.microsoft.com/en-us/library/ms731082(v=vs.110).aspx –

ответ

4

Если вам нужна гарантированная доставка сообщений и сопровождение сделок - лучший вариант будет использовать любой подсистемы обмена сообщениями. Если вы полностью уверены, что вся ваша система будет работать на машинах Windows - ваш выбор - MSMQ. Его можно легко установить из установки компонентов Windows. Если вы ожидаете, что некоторые узлы будут работать с другими ОС - больше про RabbitMQ. Существует множество подсистем обмена сообщениями, которые могут использоваться, то есть IBM MQ или Tibco Messaging.

Как уже упоминалось выше, я бы согласился с тем, что MassTransit может быть хорошим вариантом для работы с MSMQ, но для этого потребуются некоторые начальные учебные и архитектурные подходы. Открытый исходный код и свободный для использования. NServiceBus - тот же зверь, возможно, более отполированный, но он не является бесплатным для использования. Очень дорого, как для меня.

Если вы решите использовать RabbitMQ, посмотрите на оболочку EasyNetQ.

Однако, если вам не нужна гарантированная доставка между приложениями - почему бы не использовать службы REST с использованием MVC4. Это гораздо быстрее настроить, и вы сможете легко поддерживать клиентов других платформ, таких как iOS или Android-устройства.

2

Почему бы не использовать NServiceBus или MassTransit? Оба они могут использовать MSMQ как транспорт (который очень легко включить в любой версии Windows).

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

В качестве альтернативы вы можете использовать такие вещи, как RabbitMQ (или даже ZeroMQ, если вы стремитесь к высокой производительности), у них есть привязки практически для любого популярного языка программирования, поэтому в вашей системе могут быть компоненты, написанные на разных языках и работающие на разных языках ОПЕРАЦИОННЫЕ СИСТЕМЫ.

Определенно взглянуть на ZeroMQ в любом случае, когда вы рассматриваете варианты :)

 Смежные вопросы

  • Нет связанных вопросов^_^