Solution Management – управление компонентами в CRM5

Продолжаю более подробно описывать нововведения, которые ожидаются в следующей версии Microsoft Dynamics CRM.

Каждая компания занимающаяся внедрением Microsoft Dynamics CRM рано или поздно сталкивается с проблемой совместимости различных компонентов и настроек в рамках одного проекта. Возникают трудности при переносе кастомизации (настроек системы) с тестового сервера на сервер промышленной эксплуатации.

Вот наиболее яркие примеры таких проблем:

  • сущность с требуемым именем уже может существовать в целевой системе (но использоваться совсем для других задач и содержать отличный от вашего набор атрибутов);
  • компонент (форма, клиентские скрипты, бизнес-правила и т.п.) зависит от другого компонента, отследить корректность которого очень тяжело (не та версия, взаимоисключающий функционал) отсюда также возникают трудности с внесением изменений в запущенные системы;
  • незащищённость ваших разработок от внесения изменений третьей стороной;
  • сложность разворачивания комплексных решений.

Ещё тяжелее приходится тем, кто работает на проекте внедрения CRM совместно с другими компаниями. Разграничить свои настройки в Microsoft Dynamics CRM 4.0 можно лишь изменив стандартный префикс в имени сущности (например, вместо стандартного «new_» использовать «isv_»). С теми же самыми проблемами сталкиваются независимые производители «коробочных» решений (различные функциональные модули и дополнительные компоненты).

Согласно плану развития Microsoft Dynamics CRM в пятой версии продукта появится новый подход к настройке системы – Solution Management – это расширенная возможность управления конфигурацией системы. Как я уже писал, в предыдущих версиях настройка системы предполагала ручной контроль зависимостей и версионности компонентов.

Новая концепция будет похожа на управление и установку программам в Windows: т.е. приложения-компоненты сами проверяют зависимости, предупреждают о несовместимости версий и необходимости установки дополнительных модулей.

Одним из главных преимуществ данного решения станет возможность разделять свои компоненты на решения, в состав которых входят отдельные модули.

Microsoft Dynamics CRM 5 Solution With One Component

Это позволит выделять слои в рамках одного решения. Например, модуль базового функционала (core ISV solution), поверх которого будут работать ряд специфичных модулей одного производителя. Важной особенностью станет определение зависимостей решений и модулей друг от друга – установка одного решения станет возможной только после предварительной установки зависимого решения. Причём не удастся установить модуль верхнего уровня, без предварительной установки базового модуля определённой версии – все эти зависимости будут проверяться автоматически.

Мало того, данный подход также позволит разрабатывать свои надстройки и модули как поверх системных, так и решений других производителей (при условии, что они не защищены, о чём будет сказано далее).

Решение (solution) одного производителя будет включать в себя ряд (один или несколько) модулей-компонентов. Установочный пакет решения, как файлы кастомизации сейчас, будет представлять собой ZIP-архив для импорта в CRM. Настройки системы, объединённые в модули будут состоять из:

  • настройки (кастомизацию):
    • сущностей (причём, при экспорте решения, в него не будут включены системные сущности и атрибуты, если они никак не затронуты, и появится возможность экспортировать отдельные атрибуты сущностей в составе решения),
    • форм (включая клиентские скрипты),
    • представлений;
  • описание бизнес-правил (workflow);
  • шаблоны:
    • электронной почты,
    • документов слияния,
    • сервисных контрактов;
  • настройки ролей безопасности;
  • сборки расширений (плагины и workflow) – данный факт пока под вопросом.

Все эти компоненты будут рассматриваться как единое решение определённой версии. При обновлении решения (например, дополнительного модуля, отвечающего за определённый функционал и состоящий из нового «кастомного» объекта, роли безопасности и сборки плагина) появится возможность откатиться на предыдущую версию.

Представленное решение также позволит защищать компоненты и настройки от вмешательства в их структуру, что может привести к отказу работы целого модуля или всего решения. На данный момент это просто флаг в кастомизации, но планируется шифрование пакета с решением. Причём на этапе разработки будет доступна возможность экспорта решения (без защиты контента) и сборки пакета решения (с защитой контента).

Итак, многое из нового подхода Solution Management есть и сейчас в Microsoft Dynamics CRM 4.0, но в следующей версии появится самое главное – осмысленная методология. Осталось дождаться релиза.

Русский
field_vote: 
2.941175
Average: 2.9 (17 votes)

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