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”
– мы предлагаем вам общие направления в этой небольшой статье.
- Microsoft
CRM
SDK
– это описание классов в форме интерактивного хэлпа с образцами кода на
C#
и частично на VB.net
– все что вы можете создать и создадите в рамках
MS
CRM
SDK
теоретически будет поддерживаться службой технической
поддержки Microsoft
Business
Solutions.
Он основан на вызовах вэб сервисов и если вы
C#
.NET
программист – вы должны прекрасно справиться с кастомизацией
этого типа.
Микрософт обещает давать больше образцов кода на
VB.Net
в последующих версиях SDK.
И как показывает наш опыт – лучше всего придерживаться
SDK
и не делать прямого
SQL
программирования для доступа к
MS
CRM
базе, во всяком случае без предварительного глубокого анализа
возможностей SDK
-
Интеграция 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
для деталей
-
Интеграция ASP
приложения
– это несколько сложнее – хотя и с первого взгляда неясно почему. Дело в том
что MS
CRM
основана на .Net
и это в большей частью серверный скомпиллированный код с
вкраплениями Javascript
со стороны клиента.
Подумайте над созданием HTTP
хэндлера как посредника между
CRM
.Net
и ASP,
основаном на старом пути серверных скриптов в
IIS.
Дополнительная подсказка– вам скорее всего придется поместить установки
секьюрити для выбранного пользователя в
INI
фай для проникновения в MS
CRM
систему секьюрити чтобы вызвать MS
CRM
web
service
из HTTP
хэндлера. Все это позволит вам интегрировать старое
ASP
приложение и дасть ему возможность создавать объекты в
CRM
-
Программирование
Microsoft Exchange.
Microsoft
CRM
имеет
Exchange коннектор –
который обеспечивает посылку и прием писем непосредственно в
CRM
– он основан на очень простом но независимом от почтового сервера другой
стороны методе – добавления GUID
идентификаторой в заголовок письма.
Простота метода к сожалению приводит к необходимости его усовершенствования.
Представьте себе – ваш адресат не отвечает на присланное вами из
CRM
писмо – а создает вам новое – нет
GUID
в заголовке, письмо игнорируется коннектором и не попадает в
CRM
(где оно должно бы быть присоединено к записи контакта).
Это довольно трудная работа. Обратитесь к
MS
Exchange
SDK
onsyncsave
событию и вам потребуется
COM+
объект созданный в VB
– или просто позвоните к нам – мы поставляем этот коннектор нашим клиентам.
- Прямые
SQL
обновления в
CRM базе
– в пункте 4 мы
описали сценарий улучшения работы
CRM при помощи
MS
Exchange
хэндлеров – хотя этот сценарий должен бы работать в идеальном
мире - MS
CRM
SDK
имеет некоторые пробелы.
Вам скорее всего придется иметь с этим дело и править флаги в
CRM
базе в обход
SDK – это сделает
вашу кастомизацию проблематичной для апгрейдов – но все же позволит решить
поставленную задачу
- MS
CRM
Customization
Tool
– это скорее для
пользователя нежели программиста – обратитесь к руководству пользователя.
- 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
клиентам
в
Москве,
Петербурге,
Казани,
Киеве,
Смоленске,
Нью
Йорке,
Чикаго,
Мехико,
Германии.