Microsoft CRM разработка, интеграция: SDK, C#, SQL, Exchange, Crystal Reports обзор для программиста

 

Андрей Карасев

Alba Spectrum Technologies

(095) 918-3314, (095) 918-3111, help@albaspectrum.com   

Microsoft CRM является относительно новым игроком на рынке CRM приложений для компаний всех размеров – от мелких до крупных.  Техническая концепция этого продукта, однако весьма отлична от традиционной.  В случае традиционных CRM систем, как Siebel, Oracle – архитектура предполагает многоплатформность и в лучшем случае независимость, реально же минимальную настройку на конкретную платформу (Windows, Unix, Linux, итд.).  Microsoft CRM создана на Microsoft Windows платформе и использует целый спектр технологий Microsoft: Активную директорию Windows, Microsoft Exchange 2003/2000, SQL сервер, Crystal Reports Enterprise, Biztalk сервер, Microsoft Outlook, Internet Explorer, Microsoft Great Plains и в скором будущем Navision (что более актуально для нашего российского рынка) как интегрированую ERP систему.  Это означает что MS CRM возможна только на платформе Микрософт и по мнению одних экспертов сужает ее возможности, особенно учитываю возрастающую конкуренцию среди операционных систем, а по мнению других наоборот расширяет – так как позволяет использовать все ресурсы операционной системы Windows и многочисленных технологий Microsoft.

Если вы разработчик программного обеспечения, вэб дизайнер или администратор баз данных которого спросили - “как нам модифицировать нашу Microsoft CRM” – мы предлагаем вам общие направления в этой небольшой статье.

  1. Microsoft CRM SDK – это описание классов в форме интерактивного хэлпа с образцами кода на C# и частично на VB.net – все что вы можете создать и создадите в рамках MS CRM SDK теоретически будет поддерживаться службой технической поддержки Microsoft Business Solutions.  Он основан на вызовах вэб сервисов и если вы C# .NET программист – вы должны прекрасно справиться с кастомизацией этого типа.   Микрософт обещает давать больше образцов кода на VB.Net в последующих версиях SDK.  И как показывает наш опыт – лучше всего придерживаться SDK и не делать прямого SQL программирования для доступа к MS CRM базе, во всяком случае без предварительного глубокого анализа возможностей SDK
  2. Интеграция SQL баз данных на гетерогенных платформах.  Это тоже относительно просто и поддерживается MBS.  Если у вас есть аппликация написанная  для реляционной базы данных (MS SQL сервер, Oracle, DB2, Sybase, итд.) простейший путь – это обращение к ней напрямую через SQL запросы (SQL Server) или при помощи созданного в MS SQL Server Enterprise Manager связанного сервера (linked server) – все что вы делаете это создаете ASPX .Net аппликацию и интегрируете ее в CRM.  Вы можете поместить кнопку вызова на навигационную панель или в меню – это делается в isv.config – обратитесь к MS CRM SDK для деталей
  3. Интеграция ASP приложения – это несколько сложнее – хотя и с первого взгляда неясно почему.  Дело в том что MS CRM основана на .Net и это в большей частью серверный скомпиллированный код с вкраплениями Javascript со стороны клиента.  Подумайте над созданием HTTP хэндлера как посредника между CRM .Net и ASP, основаном на старом пути серверных скриптов в IIS.  Дополнительная подсказка– вам скорее всего придется поместить установки секьюрити для выбранного пользователя в INI фай для проникновения в MS CRM систему секьюрити чтобы вызвать MS CRM web service из HTTP хэндлера.  Все это позволит вам интегрировать старое ASP приложение и дасть ему возможность создавать объекты в CRM
  4. Программирование Microsoft Exchange.  Microsoft CRM имеет Exchange коннектор – который обеспечивает посылку и прием писем непосредственно в CRM – он основан на очень простом но независимом от почтового сервера другой стороны методе – добавления GUID идентификаторой в заголовок письма.  Простота метода к сожалению приводит к необходимости его усовершенствования.  Представьте себе – ваш адресат не отвечает на присланное вами из CRM писмо – а создает вам новое – нет GUID в заголовке, письмо игнорируется коннектором и не попадает в CRM (где оно должно бы быть присоединено к записи контакта).  Это довольно трудная работа.  Обратитесь к MS Exchange SDK onsyncsave событию и вам потребуется COM+ объект созданный в VB – или просто позвоните к нам – мы поставляем этот коннектор нашим клиентам.
  5. Прямые SQL обновления в CRM базе  – в пункте 4 мы описали сценарий улучшения работы CRM при помощи MS Exchange хэндлеров – хотя этот сценарий должен бы работать в идеальном мире - MS CRM SDK имеет некоторые пробелы.  Вам скорее всего придется иметь с этим дело и править флаги в CRM базе в обход SDK – это сделает вашу кастомизацию проблематичной для апгрейдов – но все же позволит решить поставленную задачу
  6. MS CRM Customization Tool – это скорее для пользователя нежели программиста – обратитесь к руководству пользователя. 
  7. Crystal Reports – используйте этот инструментарий – структура таблиц в CRM самоочевидна.   Однаке попробуйте избегать искушения создавать ваши собственные SQL view или stored procedure в MS CRM базе, вместо этого – создайте новую базу и поместите ваши объекты туда.  Также имейте в виду что MS CRM имеет интегрированный Crystal Enterprise с лицензией работающей только с MS CRM базами – так что при создании вашей ASPX аппликации с Crystal Report – поместите ее на другой сервер

 

 

Удачи во внедрении, кастомизации, проектировании отчетов и мы конечно же всегда рады вам помочь  Позвоните нам в Москве: (095) 918-3314, (095) 918-3111, в США: 1-866-528-0577! help@albaspectrum.com

 

Андрей является MS CRM специалистом в компании партнере Microsoft Business Solutions Alba Spectrum Technologies ( http://www.albaspectrum.com ) – устанавливающей и внедряющей Navision, Great Plains, Microsoft CRM клиентам в Москве, Петербурге, Казани, Киеве, Смоленске, Нью Йорке, Чикаго, Мехико, Германии.