Обзор MSCRM 2011 beta SDK - Введение в REST

Пока пропущу один небольшой раздел из серии обзоров SDK и расскажу про REST.

Взаимодействие с Microsoft Dynamics CRM 4.0 на клиентской стороне сводилось к вызову XML Web-сервиса путём формирования в клиентском скрипте SOAP-запроса. Плюсом данной технологии является интероперабельность - возможность использования сервиса независимо от технологий и языков программирования. И это был единственный способ взаимодействия с системой на стороне клиента. Минусов куда как больше:

  • сложная структура запроса - формирование объёмного XML-запроса занятие кропотливое,
  • трудности парсинга (разбора) ответа, т.к. необходимы знания объектной модели документа (DOM), регулярных выражений и XQuery/XPath для извлечения требуемых данных,
  • нетривиальная обработка ошибок.

Для решения возникающих трудностей с вызовом XML Web-сервиса CRM различными командами были предложены обёртки, призванные облегчить эту задачу:

Реализация REST в CRM 2011

В Microsoft Dynamics CRM 2011 данные теперь доступны через конечную точку REST. REST (Representational State Transfer) - архитектурный подход, который подразумевает использование ресурсов через обращение по уникальному URI-пути. А это значит, что теперь достаточно обратиться GET-, POST-, MERGE-, DELETE- или PUT-запросом на определённый URI, чтобы извлечь данные из CRM, обновить, удалить или сохранить запись.

В Microsoft Dynamics CRM 2011 конечная точка REST реализована службой WCF с использованием Open Data Protocol (OData).

OData принимает и возвращает данные в одном из двух форматов: ATOM или JSON (наиболее интересный для нас формат, т.к. позволяет десериализовать ответ службы в объекты JavaScript).

Все запросы производятся к базовому URI:

[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc

О том как лучше всего сформировать этот путь читайте в статье "Xrm.Page.context и функция GetGlobalContext".

Объектная модель данных OData

OData Entity Data Model (EDM) - упорядоченный набор URI со структурой взаимосвязей сущностей CRM доступен через метаданные службы:

[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc/$metadata

Этот XML-документ использует CDSL - язык описания концептульаной схемы данных (аналог WSDL для XML Web-служб). Вы можете использовать этот документ для генерации классов в приложениях Silverlight или описания объектов в JScript.

Ограничения

Служба REST предоставляет альтернативу использования SOAP-запросов, но необходимо учитывать следующие ограничения:

 

Продолжение в статье Использование REST: запросы и фильтры.

Русский
field_vote: 
Голосов пока нет

Добавить комментарий