Вопрос

Я планирую начать POC для интеграции MS CRM и Biztalk 2010.

До этого я хотел знать, использует ли какой -нибудь тело Biztalk 2010 для интеграции с MS CRM?

Это было полезно?

Решение

Мы используем Biztalk 2010, чтобы вызвать Microsoft Dynamics CRM 2011 Организационную службу.

Есть в основном два способа сделать это, но я стремлюсь найти других.

Первым способом является использование схемы Biztalk, которые поставляются с SDK вместе с внешним помощником библиотеки классов C#. Этот сценарий довольно рассказывает в Интернете. Обратите внимание, что этот сценарий не позволит BizTalk принять участие в классах CRM на ранних счетах (учетная запись и т. Д.). Он позволит только использовать общий объект Cromentity, что делает работу с сопоставлением болезненного опыта.

Внешний помощник необходим для решения идиосинкразий Федерации LiveID.

Этот первый метод имеет то преимущество, что он простой. Но вы не можете использовать собственные типы CRM из BizTalk.

Второй способ - каким -то образом решить вышеуказанные проблемы, по крайней мере, частично. Во-первых, это включает в себя создание фасада WCF, который разоблачает родные объекты CRM на ранних стадиях (например, аккаунт и т. Д.), И это касается федерации LiveID.

Как генерируется, классы раннего борьбы не являются сериализуемыми, поэтому они не могут быть частью интерфейса WCF (и обслуживания). Это может быть решено путем украшения каждого свойства DataContractattribute. Анкет Кроме того, свойства только для чтения должны добавить дополнительный пустой набор {}. Пожалуйста, обратите внимание, что существует огромное количество таких (простых) изменений в созданных классах. К счастью, в качестве сгенерированного файла синтаксис является последовательным, а пара простых режимов подойдет.

На стороне Biztalk вы будете потреблять метаданные фасада WCF, чтобы генерировать схемы Biztalk. К сожалению, в итоге вы получите огромные мульти-мегабайтные файлы и схемы кросс-зависимости.

Итак, во -первых, вы должны сломать круговые зависимости. В моем случае мне пришлось добавить дополнительную схему, чтобы держать общие сложные типы, которые использовались как «контрактом», так и «метаданными» Шомами.

Затем вы не можете легко использовать огромные сгенерированные схемы на своих картах. Сначала открытие карты (или только схемы) займет годы. Во -вторых, компилятор будет удушьться, а визуальная студия будет разбиться.

Чтобы решить это, вам нужно вручную изменить GenedEfaultFixedNodes Атрибут в файле .BTM XML.

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

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

Ни один из методов, однако, не чувствует себя как «нативную» интеграцию. Вот почему я работаю над поиском альтернативного способа, возможно, создав выделенную индивидуальную связующую среду, но до сих пор без успеха.

Видеть Мой вопрос здесь.

Надеюсь это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top