BizTalk course: 07 Проект №1

Проект №1

User Requirements:

  • Система обработки заказов
  • Xml документы  Order приходят от разных заказчиков в файловый фолдер.
  • Order состоит из шапки и из нескольких Order Detail строк. Каждая строка – это описание заказа для отдельного продукта.
  • Есть три типа продуктов. Продукт каждого типа поставляет отдельная Shipping компания.
  • Xml документы Shipping доставляются в виде файлов в файловые фолдеры. Есть три фолдера, каждый для отдельной Shipping компании.

Implementation requirements

  • Из каждого документа Order делается несколько документов Shipping. Один Shipping на каждую Order Detail строку.
  • Для преобразования  Order в Shipping-s обычно используется два метода:
    • Disassemble в pipeline, используя envelope cхему (google with “BizTalk disassembler”)
    • Disassemble в orchestration, преобразовывая сообщение в объект XmlDocument , далее в string, потом выделяя Order Detail помощью XPath выражения. Т.е.манипуляцией strings. (google with “BizTalk debatching”)
  • Используйте любой из методов, на свое усмотрение. Как это делать, найдите в интернете. Можете использовать код в BizTalk SDK и код из многочисленных блогов.
  • Прочитайте теорию в http://msdn.microsoft.com/en-us/library/aa577393(v=BTS.70).aspx . Не забудьте прочитать все статьи включающие в себя вышеназванную статью.
  • Схемы для Order, Order Detail,  Shipping делайте на свое усмотрение. Maps – тоже.
  • Проект считается готовым, когда тестовые файлы пройдут от входного фолдера  к выходным фолдерам.
  • Мне пришлите файлы проекта в zip файле.  Кроме того пришлите мне сэкспортированные отдельные файлы deployed application: msi и bindings.
  • Время на весь проект: для опытного BizTalk developer – 1 час, для entry level — >5 часов.

Дополнение: Вначале я задал требование по созданию Canonical Order. Это требование отменяется.

4 комментария

Filed under BizTalk, BizTalk course, Microsoft

4 responses to “BizTalk course: 07 Проект №1

  1. Leonid Ganeline

    В статьях про то, как делать схему для Envelope упоминается специальный элемент . Это специальный элемент схемы, это не элемент XML target document! Он используется в схеме на месте, где в XML target document может быть «все, что угодно», т.е.любой Xml элемент, как простой, так и сложный, в том числе и вложенный Xml документ. См. [http://www.w3.org/TR/2004/REC-xmlschema-0-20041028/#any].
    В Schema Editor при создании нового элемента в списке возможных элементов/аттрибутов… есть и этот пресловутый Any.

  2. Leonid Ganeline

    Еще здесь есть один не совсем понятный момент. Схема/документ Envelope и есть Order. Просто Envelope — это обобщенное название внешнего документа, в который вложены другие документы. Т.е.OrderDetails вложены в Order, который и является в нашем случае Envelope.

  3. Leonid Ganeline

    Еще одно замечание:
    Если вложенные документы извлекаются из envelope в оркестрейшн, то схема движения сообщений такая:
    ReceivePort —> Order -> [MsgBox —>] Orchestration ==> OrderDetails ==> [MsgBox ==>] SendPorts
    Если же документы извлекаются из из envelope в pipeline ReceivePort:
    ReceivePort ==> OrderDetails ==> [MsgBox ==>] Orchestrations ==> OrderDetails ==> [MsgBox ==>] SendPorts

    Главная разница в том, что во втором варианте из RP в MsgBox попадаютс стразу НЕСКОЛЬКО сообщений, не одно! Каждое из них активирует СВОЮ копию Orch!!!

  4. Уведомление: BizTalk course: 10 Orchestrations | Biztalkien

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s