Как обновить решение BizTalk с использованием BTDF
При использовании BTDF и развертывании исходного развертывания с использованием созданного пакета установщика существующее приложение удаляется, а новое создается, удаляя историю выполнения оркестровки.
Это могло бы стать потенциальной проблемой для нашей Организации, поскольку нам требуются последние завершенные оркестровки для аудита / отладки, когда и при необходимости.
Есть ли способ обойти это ограничение в BTDF?
1 ответ
Нет, после удаления приложения данные отслеживания исчезают. У вас есть несколько вариантов:
- Сконфигурируйте настраиваемую цель в BTDF перед тем, как приложение будет отменено, для резервного копирования соответствующих данных из базы данных отслеживания. Я бы не рекомендовал это. Потребовалось бы некоторое усилие, чтобы понять это, и было бы трудно правильно работать.
- Сконфигурируйте свои оркестровки для ведения пользовательского журнала (в базу данных) для целей аудита. Это будет более переносимым и устойчивым, но потребует больше усилий.
В любом случае, вы должны хранить резервные копии / архивы приложения, если есть необходимость отладки исторической версии. Опасаясь пропустить очевидное, эту отладку и отслеживание следует выполнять в вашей среде DEV, которая должна синхронизироваться со средами PROD и QA/TEST.
Еще одна более радикальная возможность - изменить файл BizTalkDeploymentFramework.targets по умолчанию для BTDF, чтобы добавить опцию использования флага -Overwrite в любом случае, где используется BTSTask.exe. Однако, чтобы сделать это, вы должны убедиться, что любая оркестровка, которую вы обновляли, была исключена из списка, прежде чем пытаться перезаписать ее. Вот пример того, как автоматизировать эту задачу в SDK:
C: \ Program Files (x86) \ Microsoft BizTalk Server 2013 \ SDK \ Samples \ Admin \ WMI \ Enlist Orchestration
Однако это, очевидно, потребуется на каждой машине, на которой был разработан BTDF, и его необходимо будет переделать, если он не будет поддерживаться в будущем выпуске BTDF.