2016-10-18 3 views
1

У меня есть проект, у которого есть веб-службы SOAP. Теперь у меня есть требование перевести их на отдых и использовать их соответственно.SOAP to Rest Service Использование адаптера

Могу ли я реализовать как Джерси, чтобы использовать эти мыльные услуги, а затем опубликовать то же, что и REST?

ответ

0

Это распространенная проблема при работе с устаревшими API. Поскольку REST не является протоколом по определению можно реализовать либо:

  • Протокол Преодоление План. Это обычный шаблон SOA, который помогает вам преобразовывать различные протоколы, используя посреднический посредник. Брокер проводит логику преобразования. Вы можете найти more information here. Такие мосты доступны в большинстве ESB и средних продуктах EAI. Protocol Bridging Pattern

  • Формат преобразования данных Образец. Он преобразуется между форматами данных, и вы можете использовать его для преобразования из XML в формат REST, который вы используете. Вы можете реализовать его, добавив некоторую внутреннюю логику обслуживания, служебные агенты или специализированную службу преобразования. You can see more here.. Вы можете абсолютно использовать Джерси, чтобы построить REST Facade и преобразовать внутренне из XML, или построить логику внутри каждой службы. Data Format Transformation Pattern

Это действительно зависит от размера вашего API и типа решения вам нужно. Для нескольких сервисов я выберу второй подход - это проще, но немного более тесно, а если у меня будет много услуг, я бы пошел на первый подход, который, на мой взгляд, лучше абстрагирует логику преобразования, но для этого может потребоваться дополнительное промежуточное ПО и усилие ,

+0

У меня мало услуг и вы хотите пойти на второй подход. Но можете ли вы рассказать о примерах использования Rest Facade для SOAP для преобразования данных. – skanda

+0

@skanda, вы спросили, можете ли вы использовать Джерси для этого - и да, вы можете. Фактически, вы можете использовать любую инфраструктуру для ее реализации. Решение, которое я предоставил, является технологическим агностиком, и я надеюсь, что мой ответ действительно поможет вам. Увы, на основании относительно широкого вопроса, который вы задали, я не могу предоставить конкретный пример кода, если это то, что вам нужно. Если вы поедете с Джерси, вы можете реализовать новый REST API, который использует существующий API SOAP с JAX-WS (см. Docs здесь http://docs.oracle.com/javaee/5/tutorial/doc/bnayn.html#bnayx) и преобразует каждую услугу в соответствии с некоторым шаблоном или на основе пользовательской логики. –

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