#c# #biztalk
#c# #biztalk
Вопрос:
Мне было интересно, есть ли какой-либо способ создать / изменить оркестровку с помощью кода вместо рисования полей. Я знаю, что все преобразуется в код c # (или что-то очень похожее) в файле .odx. Итак, есть ли способ изменить этот код и заставить biztalk генерировать эти чертежи вместо этого?
Поскольку мой опыт гораздо больше в C / C #, подход к кодированию для меня гораздо более естественен, чем подход к рисованию.
Кстати, я НЕ говорю о написании пользовательских конвейеров или других внешних классов, которые будут вызываться из оркестровки, я уже знаю, как это сделать. Я действительно хочу закодировать саму оркестровку с помощью кода.
Ответ №1:
Теоретически оркестровки могут быть написаны с использованием языка XLang
http://msdn.microsoft.com/en-us/library/aa577463 (BTS.70).aspx
Все, что вы создаете в конструкторе, переводится в XLang, а затем XLang переводится в C #. Это также означает, что код, вероятно, можно было бы даже написать на C #, однако, поскольку я пытался декомпилировать код один или два раза — это слишком сложно.
Ответ №2:
Хотя теоретически это возможно, я думаю, что предпочел бы выколоть себе глаза, чем пытаться написать оркестровку вручную. Файл odx состоит из двух частей: xml определяет формы и макет, а код xlangs определяет типы и функции, описывающие формы. Это аналогичная концепция старому «code behind» в aspx 1.1.
Эти две вещи бесполезны друг без друга, поэтому XML сам по себе будет компоновать все фигуры, но не будет компилироваться, и код сам по себе тоже не может компилироваться (хотя, честно говоря, я никогда не пробовал этого).
Если вы ищете более стандартизированный язык для описания бизнес-процессов, вы можете посмотреть на BPEL, который поддерживается BizTalk, но опять же, я никогда не работал с этим, поэтому не могу комментировать дальше.
Комментарии:
1. XML на самом деле бесполезен, он содержит только имена фигур и позиции. XML может быть сгенерирован из простого файла XLang с помощью XSharpP.exe -tokenparse. (единственная проблема заключается в том, что вы получите оркестровку с бессмысленными именами фигур при просмотре ее в отладчике оркестровки)
2. Спасибо за это — это, очевидно, продвинутый материал. Знаете ли вы, использует ли кто-нибудь эти функции?
3. Насколько я знаю, нет. Иногда я использую его, чтобы быстро запустить новую оркестровку по существующему шаблону. Но в основном это информация, которая была бы полезна для написания расширений Visual Studio для облегчения непосредственного редактирования кода XLang (intellisense, подсветка синтаксиса …).
4. спасибо за информацию, я изучу XSharpP.exe , Возможно, я действительно буду первым, кто действительно воспользуется этими функциями.