WCF связь с веб-сервисом Java - PullRequest
       0

WCF связь с веб-сервисом Java

1 голос
/ 21 сентября 2010

Фон Я в основном разработчик .Net с ограниченным опытом в Java. У меня есть веб-служба WCF, которая должна взаимодействовать с сторонним сервером очереди сообщений, чтобы отправлять и получать файлы. Третья сторона предоставила Java API для доступа к своему серверу очереди сообщений.

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

После некоторых копаний я определил, что одним из вариантов является создание веб-службы Java в Eclipse и размещение ее на Glassfish. Этот веб-сервис Java будет ссылаться:

  1. Java-API, предоставленный третьей стороной, что позволяет третьей стороне отправлять нам файлы xml.
  2. Моя существующая служба WCF, чтобы передать xml для обработки.

Таким образом, входящий XML-файл будет выглядеть следующим образом:

Сторонние разработчики -> Java WS -> WCF WS

Этот входящий поток - только половина уравнения, поскольку мой веб-сервис WCF также может инициировать общение с третьей стороной. Поэтому мне нужен исходящий поток.

  1. Один из вариантов - ссылаться на Java WS из моей службы WCF. Однако тогда 2 веб-сервиса будут ссылаться друг на друга. Считается ли это циклической ссылкой (плохая практика), когда 2 веб-сервиса ссылаются друг на друга?
  2. Если вариант 1. считается плохой практикой, моим другим вариантом будет опрос одного из веб-сервисов другим сервисом.
  3. Другие варианты?

Краткие вопросы 1. Понимаете ли вы круговой вопрос веб-ссылки выше? 2. Я на правильном пути в целом? 3. Какие предложения или личный опыт вы можете предоставить?

Ваше понимание очень ценится.

1 Ответ

1 голос
/ 22 сентября 2010

Моей первой мыслью было бы то, что если это быстрый вызов типа RPC, при условии, что вы вызываете различные веб-службы для функции обратного вызова, меня не слишком беспокоит циклическая ссылка.Технически вы отправляете сообщения «по контракту». Поэтому в качестве хорошей практики поместите определения контракта в проект, отличный от реализации вашей службы.

Если обработка .NET занимает немного времени, возможно, это того стоитиспользуйте также очередь сообщений и рабочий сервис.

Другое соображение - выяснить, какую инфраструктуру MQ они на самом деле используют.Вы можете вообще отказаться от веб-сервисов, так как для многих поставщиков MQ есть коннекторы .NET, например

MSMQ (очевидно)

ActiveMQ http://activemq.apache.org/nms/

& WebSphere MQ http://www.redbooks.ibm.com/abstracts/sg247012.html

Просто назвать несколько.Есть также мосты MSMQ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...