Аспекты проектирования при использовании REST
REST представляет архитектурный стиль для распределенных систем и создан с целью
упростить систему путем ее деления на ресурсы. Ресурсы и операции, поддерживаемые ими,
представляются и предоставляются как набор URI, передаваемых по протоколу HTTP. При
проектировании REST-ресурсов руководствуйтесь следующими рекомендациями
Обозначьте и распределите по категориям ресурсы, которые будут предоставляться
клиентам.
Выберите подход для представления ресурсов. Хорошей практикой является
использование значащих имен для исходных точек REST и уникальных
идентификаторов для конкретных экземпляров ресурсов. Например,
http://www.contoso.com/employee/ представляет исходную точку служащий.
http://www.contoso.com/employee/smithah01 использует ID служащего для
обозначения конкретного служащего.
Примите решение о необходимости поддержки множества реализаций для разных
ресурсов. Например, о том, должен ли ресурс поддерживать форматы XML, Atom
или JSON, и сделайте это частью запроса к ресурсу, тогда ресурс будет
предоставляться в разных форматах (например,
http://www.contoso.com/example.atom и http://www.contoso.com/example.json).
Примите решение о необходимости поддерживать множество представлений для
разных ресурсов. Например, должен ли ресурс поддерживать операции GET и POST
или только GET. По возможности не увлекайтесь применением операций POST и
избегайте размещения действий в URI.
Не реализуйте сохранения состояния сеанса пользователя в сервисе и не пытайтесь
использовать гипертекст (такой как скрытые элементы управления в Веб-страницах)
для управления состоянием. Например, когда пользователь передает запросы,
например, для добавления элемента в корзину, сохраняйте данные в постоянном
хранилище, таком как база данных.
Аспекты проектирования при использовании SOAP
SOAP – основанный на сообщениях протокол, используемый для реализации слоя обмена
сообщениями сервиса. Сообщение представляет собой конверт, в котором содержатся
заголовок и тело. Заголовок может использоваться для предоставления сведений, внешних по
отношению к операции, осуществляемой сервисом. Например, в заголовок могут быть
включены данные безопасности, транзакции или маршрутизации. Тело включает контракты в
форме XML-схем, используемые для реализации сервиса. При проектировании SOAP-
сообщений руководствуйтесь следующими рекомендациями:
Примите решение о том, как будут обрабатываться сбои и ошибки, и как будут
возвращаться клиентам соответствующие сведения об ошибке. Более подробно эти
вопросы рассматриваются в статье «Exception Handling in Service Oriented
Applications» (Обработка исключений в сервисно-ориентированных приложениях)
по адресу http://msdn.microsoft.com/en-us/library/cc304819.aspx.