Базовый формат BizTalk: избыточно, но все по стандарту или просто тупо оставить?

Я новичок в картографировании BizTalk, и теперь мой вопрос:

Допустим, мне нужно получить документ UBL, преобразовать его в мое ядро ​​Biztalk и отправить такой же UBL. Конечно, я могу выполнить 1:1 UBL->UBL без основного формата, но мне может понадобиться это ядро, если мне нужно отправить что-то еще — EDIFACT, OIOXML, что-то еще, поэтому я считаю, что использование ядра — хорошая практика. Так выглядит UBL -> Incoming map -> Core -> Outgoing map -> UBL.

Итак, вопрос: как лучше всего создать схему основного формата?

Мой входящий файл должен соответствовать всем стандартам OIOUBL, поэтому я должен использовать что-то предопределенное как схему XSD (например, вот так: http://www.oioubl.info/Classes/en/Order.html). То же самое для исходящего файла.

Но с другой стороны знаю за то, что в моем случае этот стандарт содержит много лишних полей. Я никогда не буду использовать некоторые из этих полей или параметров; некоторые другие являются константами, и их не нужно хранить - мы можем просто определить значения по умолчанию в исходящей карте... и так далее.

Итак, мой вопрос: как лучше всего создавать основной файл? Лучше ли использовать полный УБЛ xsd, отвечающий всем стандартам, даже если он избыточен (в этом случае он упростит входящие и исходящие карты - я могу просто использовать массовое копирование 1:1) или лучше KISS и упростить ядро ​​как есть возможно ли использовать только те поля, которые мне действительно нужны, и добавлять что-то одно за другим, если мне нужно что-то еще?

Этот вопрос не о коде, а о том, что является наилучшей практикой.

Спасибо. Буду признателен за любые советы.


person MichaelMS    schedule 05.02.2021    source источник


Ответы (1)


Лучшей практикой было бы, чтобы внутренняя основная или каноническая схема обычно соответствовала входящей внешней схеме (кроме целевого пространства имен), поэтому вы не потеряете данные из первого сопоставления, поскольку довольно часто, когда вы обнаруживаете, что вам нужно отправить их в другая система и требуется другое исходящее сопоставление, в которое могут быть включены требуемые поля, которые вы не сделали для исходной системы. Конечно, в любом правиле есть исключение, и вопрос о том, когда делать это неуместно, зависит от суждения.

person Dijkgraaf    schedule 08.02.2021