общение между приложениями (.NET + Java) - PullRequest
1 голос
/ 03 октября 2009

У меня здесь довольно общий вопрос. Каков наилучший + надежный способ взаимодействия двух приложений на одном компьютере без использования веб-служб или любого веб-сервера.

как пример:

приложение A: запускается в приложении .NET, которое с активными элементами управления X может обращаться к другому стороннему приложению и получать данные.

приложение B: (допустим, работает Java) хочет иметь возможность запустить процесс в приложении A с определенными параметрами и получать информацию обратно из приложения A. (веб-службы не разрешены)

Единственное, о чем я могу думать, это, возможно, приложение B, выполняющее файл с определенными параметрами ... затем приложение A выполняет какую-либо работу и записывает любую возвращаемую информацию в базу данных ... но я не знаю, насколько это надежно ... или как приложение А узнает, когда данные были записаны в базу данных. (плюс это звучит для меня как хакерское решение ... и мне было интересно, есть ли что-нибудь лучше)

хорошо ... спасибо за любую помощь! ..

Andrew

Ответы [ 4 ]

3 голосов
/ 03 октября 2009

Использование сокетов tcp должно быть довольно надежным, особенно в той же машине. Ему не нужны веб-сервисы, веб-серверы и т. Д. - просто сокет с каждой стороны.

2 голосов
/ 03 октября 2009

В дополнение ко всем ответам я хотел бы также сказать, что я посмотрел в WCF: http://en.wikipedia.org/wiki/Windows_Communication_Foundation

Это то, что я собираюсь использовать. Я нашел эту статью очень полезной:

http://bloggingabout.net/blogs/dennis/archive/2007/04/20/wcf-simple-example.aspx

1 голос
/ 03 октября 2009

Разъем будет довольно прост в настройке; однако я предлагаю рассмотреть что-то более похожее на SOAP или XMLRPC - и то, и другое будет намного проще, когда речь идет об упаковке и распаковке данных. Как .NET, так и Java имеют расширенный доступ и библиотеки, доступные как для XMLRPC, так и для SOAP (как поставщиков, так и потребителей).

0 голосов
/ 03 октября 2009

Что касается реализации, то TCP-сокеты и веб-сервисы так же легко установить с любой стороны (клиент-сервер).

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

Но когда дело доходит до удобства использования и простоты интеграции в коде, я предпочитаю веб-сервисы. И, честно говоря, это гораздо более прозрачная технология, когда речь идет об отладке вашего кода. Для аналога сокетов потребуется больше сантехнического кода, прежде чем он станет полезным.

Ознакомьтесь с этой статьей для получения дополнительной информации о взаимодействии .NET и Java через веб-службы.

...