Отображение наложения в BizTalk - как остановить дублирование усилий? - PullRequest
1 голос
/ 08 декабря 2011

У нас довольно сложный интерфейс BizTalk, в котором используется ускоритель HL7.

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

Оркестровка использует форму сценария для динамического вызова карты на основе типа полученной транзакции и некоторых других критериев.

Существует около 20 различных карт, которые можно вызывать, и многие из них имеют общие сегменты HL7. Например, большинство из них отображают данные идентификации пациента в сегмент PID HL7.

Отображение PID выполняется с помощью одного скриптообразного функтоида с использованием встроенного XSLT Когда я спросил, почему это было сделано таким образом, был дан ответ:

"Поскольку сегмент PID находится в нескольких картах, если нам нужно обновить сопоставление, которое мы можем просто скопировать и вставить XSLT на другие карты, а не возиться со многими отдельными функтоидами. "

Я только что нашел ошибку в отображении PID, и мне пришлось исправить XSLT на одной карте, а затем скопировать ее на 20 других карт. Это было очень много времени и полностью противоречит принципу DRY .

Есть ли в BizTalk способ обмена XSLT между несколькими картами? Я хочу указать его один раз и назвать его несколько раз.

Ответы [ 2 ]

0 голосов
/ 08 декабря 2011

Вы пытались создать библиотеку с этим общим XSLT?Назовите его с помощью скриптового функтоида с типом сценария Внешняя сборка, тогда вы сможете поделиться этой сборкой среди многих карт, не переписывая ее во всех этих местах.

0 голосов
/ 08 декабря 2011

Если это одинаково на каждой карте, вызовите одну карту после динамической карты из вашей оркестровки или вызовите xslt непосредственно из оркестровки.

...