Продолжаю более подробно описывать нововведения, которые ожидаются в следующей версии Microsoft Dynamics CRM.
Каждая компания занимающаяся внедрением Microsoft Dynamics CRM рано или поздно сталкивается с проблемой совместимости различных компонентов и настроек в рамках одного проекта. Возникают трудности при переносе кастомизации (настроек системы) с тестового сервера на сервер промышленной эксплуатации.
Вот наиболее яркие примеры таких проблем:
- сущность с требуемым именем уже может существовать в целевой системе (но использоваться совсем для других задач и содержать отличный от вашего набор атрибутов);
- компонент (форма, клиентские скрипты, бизнес-правила и т.п.) зависит от другого компонента, отследить корректность которого очень тяжело (не та версия, взаимоисключающий функционал) отсюда также возникают трудности с внесением изменений в запущенные системы;
- незащищённость ваших разработок от внесения изменений третьей стороной;
- сложность разворачивания комплексных решений.
Ещё тяжелее приходится тем, кто работает на проекте внедрения CRM совместно с другими компаниями. Разграничить свои настройки в Microsoft Dynamics CRM 4.0 можно лишь изменив стандартный префикс в имени сущности (например, вместо стандартного «new_» использовать «isv_»). С теми же самыми проблемами сталкиваются независимые производители «коробочных» решений (различные функциональные модули и дополнительные компоненты).
Согласно плану развития Microsoft Dynamics CRM в пятой версии продукта появится новый подход к настройке системы – Solution Management – это расширенная возможность управления конфигурацией системы. Как я уже писал, в предыдущих версиях настройка системы предполагала ручной контроль зависимостей и версионности компонентов.
Новая концепция будет похожа на управление и установку программам в Windows: т.е. приложения-компоненты сами проверяют зависимости, предупреждают о несовместимости версий и необходимости установки дополнительных модулей.
Одним из главных преимуществ данного решения станет возможность разделять свои компоненты на решения, в состав которых входят отдельные модули.

Это позволит выделять слои в рамках одного решения. Например, модуль базового функционала (core ISV solution), поверх которого будут работать ряд специфичных модулей одного производителя. Важной особенностью станет определение зависимостей решений и модулей друг от друга – установка одного решения станет возможной только после предварительной установки зависимого решения. Причём не удастся установить модуль верхнего уровня, без предварительной установки базового модуля определённой версии – все эти зависимости будут проверяться автоматически.
Мало того, данный подход также позволит разрабатывать свои надстройки и модули как поверх системных, так и решений других производителей (при условии, что они не защищены, о чём будет сказано далее).
Решение (solution) одного производителя будет включать в себя ряд (один или несколько) модулей-компонентов. Установочный пакет решения, как файлы кастомизации сейчас, будет представлять собой ZIP-архив для импорта в CRM. Настройки системы, объединённые в модули будут состоять из:
- настройки (кастомизацию):
- сущностей (причём, при экспорте решения, в него не будут включены системные сущности и атрибуты, если они никак не затронуты, и появится возможность экспортировать отдельные атрибуты сущностей в составе решения),
- форм (включая клиентские скрипты),
- представлений;
- описание бизнес-правил (workflow);
- шаблоны:
- электронной почты,
- документов слияния,
- сервисных контрактов;
- настройки ролей безопасности;
- сборки расширений (плагины и workflow) – данный факт пока под вопросом.
Все эти компоненты будут рассматриваться как единое решение определённой версии. При обновлении решения (например, дополнительного модуля, отвечающего за определённый функционал и состоящий из нового «кастомного» объекта, роли безопасности и сборки плагина) появится возможность откатиться на предыдущую версию.
Представленное решение также позволит защищать компоненты и настройки от вмешательства в их структуру, что может привести к отказу работы целого модуля или всего решения. На данный момент это просто флаг в кастомизации, но планируется шифрование пакета с решением. Причём на этапе разработки будет доступна возможность экспорта решения (без защиты контента) и сборки пакета решения (с защитой контента).
Итак, многое из нового подхода Solution Management есть и сейчас в Microsoft Dynamics CRM 4.0, но в следующей версии появится самое главное – осмысленная методология. Осталось дождаться релиза.
Добавить комментарий