Category Archives: Разработчику

Стали доступные новые экзамены по Microsoft CRM

 

Сложность настроек системы

  Просто Средний уровень сложности Сложно
Настройки Пользователь Организация Безопасность
Данные Атрибуты Сущности, Отношения Между БД
Процессы Workflow .NET Assembly SDK, Plug-Ins
Интерфейс, Опыт Формы, Представления Навигация, Отчеты Script, Controls
Интеграция Мастер импорта данных в одну сторону в две стороны

 

Типы сущностей в Microsoft Dynamics CRM

  • Полностью настраиваемые (custom) — сущности которые создаете вы сами или ващи поставщики. Вы можете полностью менять данные сущности — добавлять, изменять и удалять ранее созданные поля.
  • Частичное настраиваемые (customizable) - поставляемые Microsoft более 50 сущностей. Вы можете добавлять поля, менять формы и представления но не сможете удалять существующие в первоначальной настройке поля.
  • Не настраиваемые, системные (system) — поставляемые Microsoft более 100 не настраиваемых сущностей. Это связано с тем что они обеспечивают работу основных операций системы (права) или сильно связаны с интеграцией (календарь)

При создании ваших частных решений вы можете самостоятельно определять правила модификации для созданных вами сущностей. Таким образом для ряда сущностей вы можете настроить разрешения на их частичную настройку.

Автоматическое формирование доступа

Формирование доступа к записям можно сделать автоматически с помощью API. Это отлично подходит для задач когда команда формируется динамически. Рассмотрим, для примера, сущность Проект. Мы можем в CRM определить Проект, Член проекта и указать роли для членов проекта. В момент назначения нового члена проекта можно поставить автоматическую отработку назначения прав доступа. Следует не забыть написать автоматическую обработку изменения роли или исключения из команды проекта.

Защита уровня поля

Кроме определения прав доступа на сущности и специальные функции системы вы можете определить права доступа на уровне отдельных полей сущностей (Field Level Security). Этот механизм позволяет вам определить для нескольких ролей право на редактирование сущностей — но при этом защитить ряд полей не только от редактирования но и от просмотра.

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

CRM 2011 Entity Relationship Diagrams

Если вам интересно изучить схему объектов в Microsoft Dynamics CRM 2011 — вы можете скачать с сайта Microsoft набор готовых Entity Relationship диаграмм. Крупные диаграммы нарисованы не очень удобно для быстрого восприятия

Мега-тест производительности CRM — 150`000 пользователей

В Microsoft решили показать что может по производительности CRM ферма. Тест показал отличную производительность для 150`000 конкурентных пользователей.

Результаты тестирования

Concurrent Users* Average Response Time Web Requests Business Transactions Average SQL Server Utilization Average CRM Server Utilization
150,000 .4 seconds 5.5 M/hr 703,080/hr 39.6% 42%

* 150,000 users, each performing a business transaction with the system every 8 minutes

Этот тест, конечно, выполнялся не на завалявшемся в дата центре сервере — а не ферме с 11 серверами приложений. При этом для базы данных использовался один сервер. Даже если разделить на 15 показатели тестирования мы можем увидеть что 10 тысяч конкурентных пользователей могут быть вытянуты на уже вполне реальных ресурсах. Что очень классно!

Скачать полное описание кейса можно тут - http://www.microsoft.com/download/en/details.aspx?id=16673

Ниже краткое описание железной части тестовой фермы:

… Web farm with 11 application servers, one of which had the Async role in addition to the Web server role. The application Web farm used an F5 Big-IP Local Traffic Manager configured for round-robin load balancing to ensure that each server received a similar level of utilization.

The database tier was deployed on a single Dell R910 server with a four (4) socket, eight (8) core Intel® Xeon® 7560 processor with HyperThreading technology running with Pliant Technology SSDs. Thirty load generation servers running Microsoft Visual Studio® 2010 Ultimate were used to reliably generate the simulated 150,000 concurrent user workload.

Самое сложное — интеграция

Сегодня Microsoft CRM 2011 представляет из себя очень удобный визуальный конструктор для создания частных решений — простое создание новых типов объектов, богатые возможности для создания форм со связанной информацией из различных источников, приемлемый уровень построение схем бизнес процессов.

В крупных проектах внедрения Microsoft CRM 2011 наверное самое сложное из технологической части проекта — это интеграция с множеством существующих систем.

В проектах CRM мы сталкиваемся с интеграцией

  • Учетных систем — это может быть одна или даже несколько учетных систем на предприятии
  • Кадровыми системами
  • Специализированного программное обеспечение — как правило, существует риск того что мы столкнемся с морально устаревшими платформами или даже закрытыми приложениями
  • Самописное ПО

Не редкость когда встречается проект с интеграцией 7 приложений на 4-х разных СУБД. Именно задача интеграции и формирует значительную часть объема работ по разработке.