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

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

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

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

mssql://.//db1?

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

mssql://dbserver//db1?

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

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


person dalemac    schedule 30.06.2014    source источник


Ответы (1)


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

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

Ниже приведены некоторые фрагменты из файла deployment.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

person dalemac    schedule 29.07.2014