BizTalk 核心格式:冗余但全部符合标准或 "keep it simply stupid"?

BizTalk core format: redundant but all according to standard or "keep it simply stupid"?

我是 BizTalk 映射方面的新手,我现在的问题是:

假设我需要接收 UBL 文档,将其转换为我的 Biztalk Core 并发送相同的 UBL。当然,我可以在没有核心格式的情况下执行 1:1 UBL->UBL,但如果我需要发送其他内容,我可能需要这个核心——EDIFACT、OIOXML,等等,所以我相信使用核心是一个很好的做法。所以它看起来像 UBL -> Incoming map -> Core -> Outgoing map -> UBL.

所以问题是:创建核心格式架构的最佳做法是什么?

我的传入文件必须符合所有 OIOUBL 标准,因此我必须使用预定义为 XSD 架构的内容(例如:http://www.oioubl.info/Classes/en/Order.html)。传出文件也一样。

但另一方面,我知道这个标准在我的例子中包含很多冗余字段。我永远不会使用其中的一些字段或参数;其他一些是常量,不需要存储它 - 我们可以在传出映射中定义默认值......等等。

所以我的问题是:构建核心文件的最佳做法是什么?是使用满足所有标准的完整 UBL xsd 更好,即使它是多余的(在这种情况下它将简化传入和传出地图 - 我可以只使用 1:1 批量复制)还是 KISS 更好并简化核心,因为它可以只使用我真正需要的字段,如果我需要其他任何东西,一个一个地添加一些东西?

这个问题与代码无关 - 只是关于什么是最佳实践。

谢谢。如果有任何建议,我将不胜感激。

最佳做法是内部核心或规范模式通常与入站外部模式(目标命名空间除外)相匹配,这样您就不会丢失第一个映射中的任何数据,而当您经常发现自己丢失时需要将其发送到另一个系统并且需要另一个出站映射您需要的字段可能包含在原始系统中您没有包含的字段。当然任何规则都有例外,至于什么时候不适合这样做是一个判断问题。