Веб-сервисы на основе документов или RPC

Я чувствую, что веб-сервисы на основе документов предпочтительнее на практике - это опыт других людей? Их легче поддерживать? (Я заметил, что SharePoint использует Any для «типа документа» в своем интерфейсе WSDL, я полагаю, что это делает его основанным на Document).

Кроме того, люди, предлагающие сервисы WSDL и Rest, теперь имеют одинаковую функциональность? WSDL популярен для генерации кода, но для внешних интерфейсов, таких как PHP и Rails, они предпочитают отдых.

8.08.2008 02:42:48
3 ОТВЕТА
РЕШЕНИЕ

Документ по сравнению с RPC - это только вопрос, если вы используете веб-службы SOAP, для которых требуется описание службы ( WSDL ). Веб-сервисы RESTful не используют WSDL, потому что сервис не может быть им описан, и создается впечатление, что REST проще и понятнее. Некоторые люди предложили WADL как способ описания услуг REST.

Такие языки, как Python, Ruby и PHP, облегчают работу с REST. WSDL используется для генерации кода C # (прокси веб-службы), который можно легко вызвать из статического языка. Это происходит, когда вы добавляете ссылку на службу или веб-ссылку в Visual Studio.

Предоставляете ли вы услуги SOAP или REST, зависит от вашего количества пользователей. Будь то услуги будут использоваться через Интернет или только внутри вашей организации, влияет на ваш выбор. SOAP может иметь некоторые функции (стандарты WS- *), которые хорошо работают для B2B или внутреннего использования, но не подходят для интернет-сервиса.

Документ / литерал и RPC для сервисов SOAP описаны в этой статье IBM DevelopWorks . Документ / литерал обычно считается лучшим для использования с точки зрения взаимодействия (от Java до .NET и т. Д.). Что касается того, легче ли поддерживать, это зависит от ваших обстоятельств. Мое личное мнение состоит в том, что люди, как правило, делают этот материал более сложным, чем нужно, и более простой подход REST превосходит его.

30
14.01.2014 21:18:44
ссылка описывает все, все мои проблемы разочарованы после прочтения. ibm.com/developerworks/webservices/library/ws-whichwsdl
Ahmet Karakaya 30.08.2014 10:08:17

Ответ BiranLy отличный. Я просто хотел бы добавить, что document-vs-RPC также может касаться вопросов реализации. Мы обнаружили, что Microsoft предпочитает Document, в то время как наши библиотеки на основе Java основаны на RPC. Что бы вы ни выбрали, убедитесь, что вы знаете, что другие потенциальные клиенты также примут.

1
12.08.2008 17:01:44

Как уже упоминалось, лучше выбирать Document Literal, а не RPC, закодированный, когда это возможно. Это правда, что старые библиотеки Java (Axis1, Glue и другие доисторические вещи) поддерживают только RPC-кодирование, однако в современных современных Java-библиотеках SOAP просто не поддерживают его (например, AXIS2, XFire, CXF). Поэтому старайтесь предоставлять сервис, закодированный RPC, только если вы знаете, что вам нужно иметь дело с потребителем, который не может добиться большего успеха. Но опять же, может быть, только XML RPC может помочь для этих устаревших реализаций.

5
5.09.2008 11:19:26