Правила развертывания и бизнес-правил BizTalk

Я новичок в разработке BizTalk, правильно использую его только в течение 6-7 недель, так что простите мою наивность.

У меня есть базовое приложение BizTalk 2013 в разработке, и я готов к развертыванию в тестовой среде.

Я использую бизнес-правила для определения местоположения исходящего транспорта, после того как все преобразования выполнены, данные отправляются в хранимую процедуру в SQL Server, которая вставляет / обновляет запись:

mssql://.//db1?

При развертывании в наших тестовых / реальных средах мы не сможем установить расположение исходящего транспорта для локального компьютера, поскольку базы данных будут храниться на отдельных серверах приложения. Например:

mssql://dbserver//db1?

Я просмотрел BizTalk Deployment Framework, чтобы увидеть, можно ли изменить бизнес-правила в зависимости от среды, но ничего не смог найти.

Итак, мой вопрос: каков наилучший (с минимальными затратами на обслуживание) способ управления параметрами среды для бизнес-правил? Использование инфраструктуры развертывания BizTalk было бы предпочтительным.

1 ответ

Решение

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

В BizTalk Deployment Framework можно добавить дополнительные файлы XML в сборку и предварительно обработать их таким же образом, как файлы привязки предварительно обрабатываются в зависимости от среды.

Ниже приведены некоторые фрагменты из файла deploy.btdfproj. Не забывайте, что с BizTalk Deployment Framework порядок важен:

<!-- Add the policy file as an additional item to the build -->
<ItemGroup>
    <AdditionalFiles Include="my_policy_file.xml">
      <LocationPath>..\$(ProjectName)\location_to_policy</LocationPath>
    </AdditionalFiles>
</ItemGroup>

<!-- Processes the additional XML policy files added to the MSI main build folder. -->
<ItemGroup>
    <FilesToXmlPreprocess Include="my_policy_file.xml">
         <LocationPath>..\</LocationPath>
    </FilesToXmlPreprocess>
</ItemGroup>

<!-- You still have to add the business rule to the build. It is overwritten later. -->
<ItemGroup>
    <RulePolicies Include="my_policy_file.xml">
        <LocationPath>..\$(ProjectName)\location_to_property</LocationPath>
    </RulePolicies>
</ItemGroup>

<!-- Towards the end of the file the pre-processed file overwrites the originally included policy file. -->
<Target Name="CopyXMLPreprocessedPoliciesToBRE" AfterTargets="PreprocessFiles">
    <copy sourceFiles="..\my_policy_file.xml" DestinationFolder="..\BRE\Policies"/>
</Target>

Для получения дополнительной информации ознакомьтесь с этой веткой на сайте BizTalk Deployment Framework: https://biztalkdeployment.codeplex.com/discussions/392801

Другие вопросы по тегам