#biztalk #biztalk-2013 #biztalk-deployment #biztalk-rule-engine #btdf
#biztalk #biztalk-2013 #biztalk-развертывание #biztalk-механизм правил #btdf
Вопрос:
Я новичок в разработке BizTalk, правильно использую его всего 6-7 недель, так что простите мою наивность.
У меня есть базовое приложение BizTalk 2013 в разработке, и я готов к развертыванию в тестовой среде.
Я использую бизнес-правила для определения местоположения исходящего транспорта, после выполнения всех преобразований данные отправляются в хранимую процедуру на SQL Server, которая вставляет / обновляет запись:
mssql://.//db1?
При развертывании в наших тестовых / рабочих средах мы не сможем установить исходящее транспортное местоположение на локальном компьютере, поскольку базы данных будут храниться на отдельных серверах для приложения. Например:
mssql://dbserver//db1?
Я просмотрел платформу развертывания BizTalk, чтобы узнать, можно ли изменять бизнес-правила в зависимости от среды, но ничего не смог найти.
Итак, мой вопрос в том, каков наилучший (с наименьшими затратами на обслуживание) способ управления настройками на основе среды для бизнес-правил? Предпочтительнее использовать платформу развертывания BizTalk.
Ответ №1:
Я опубликую решение, которое я использовал, для дальнейшего использования и чтобы помочь всем, кто столкнется с этим в будущем.
В среде развертывания BizTalk можно добавлять дополнительные XML-файлы в сборку и предварительно обрабатывать их таким же образом, как предварительно обрабатываются файлы привязки в зависимости от среды.
Ниже приведены некоторые фрагменты из файла deployment.btdfproj. Не забывайте, что в среде развертывания BizTalk порядок имеет важное значение:
<!-- 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="..BREPolicies"/>
</Target>
Для получения дополнительной информации ознакомьтесь с этой веткой на сайте платформы развертывания BizTalk: https://biztalkdeployment.codeplex.com/discussions/392801