Обзор 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: запросы и фильтры.

Голосов пока нет

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.
  • Syntax highlight code surrounded by the {syntaxhighlighter SPEC}...{/syntaxhighlighter} tags, where SPEC is a Syntaxhighlighter options string or "class="OPTIONS" title="the title".

Подробнее о форматировании

Image CAPTCHA
Enter the characters shown in the image.
Работает на Drupal, система с открытым исходным кодом.