Skip to content
Draft

V5.8 #491

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 11 additions & 10 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -289,13 +289,14 @@ __pycache__/

# Deployment Framework for BizTalk
Staging/
src/Documentation/Src/Output/
src/Documentation/DeploymentFrameworkForBizTalkDocs.chm
src/Documentation/DeploymentFrameworkForBizTalkDocs.pdf
src/Framework/DeployTools/DeployBTRules.exe
src/Framework/DeployTools/ElementTunnel.exe
src/Framework/DeployTools/SetEnvUI.exe
src/Framework/DeployTools/SSOSettings*
src/Framework/DeployTools/UACElevate.exe
src/Framework/BizTalkDeploymentFramework.Tasks*.dll
src/Framework/Microsoft.Web.Administration.dll
docs/btdf-esb-resolver/_build/**/*
docs/btdf-hnd/Output/
docs/DeploymentFrameworkForBizTalkDocs.chm
docs/DeploymentFrameworkForBizTalkDocs.pdf
src/btdf/Framework/DeployTools/DeployBTRules.exe
src/btdf/Framework/DeployTools/ElementTunnel.exe
src/btdf/Framework/DeployTools/SetEnvUI.exe
src/btdf/Framework/DeployTools/SSOSettings*
src/btdf/Framework/DeployTools/UACElevate.exe
src/btdf/Framework/BizTalkDeploymentFramework.Tasks*.dll
src/btdf/Framework/Microsoft.Web.Administration.dll
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
### 5.8.95 [Release Candidate 1] (07/20/2020)

- Add support for BizTalk 2020
- Remove support for BizTalk 2010 and 2013 (R1)
- Move BTDF ESB Resolver into a separate, dedicated MSI
- Upgrade to XmlPreprocess v3.0 (eliminates .NET 2.x/3.x dependency)
- Upgrade to Environment Settings Manager v1.7 (eliminates .NET 2.x/3.x dependency)
- Upgrade to BizTalk BAM Definition XML Exporter v2.3 (eliminates .NET 2.x/3.x dependency)
- Minor updates to documentation

### 5.7.100 [Release] (08/13/2017)
* Visual Studio Addin (#11160)
* New icons; more commands on toolbar; enable/disable commands when appropriate; add icons in VS 2015
Expand Down
18 changes: 9 additions & 9 deletions src/Packaging/package.msbuild → DeploymentFramework.targets
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@

This source file is subject to the Microsoft Public License (Ms-PL).
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build" ToolsVersion="4.0">
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build" ToolsVersion="12.0">
<PropertyGroup>
<Version>5_7_0</Version>
<InstallerVersion>5.7.100.0</InstallerVersion>
<Version>5_8_RC1</Version>
<InstallerVersion>5.8.95.0</InstallerVersion>
<ProductID>018C4B8A-B453-49DD-91AD-3B20D0D1D428</ProductID>
</PropertyGroup>

Expand All @@ -24,25 +24,25 @@
</PropertyGroup>

<Target Name="BuildTools">
<MSBuild Projects="..\Tools\BuildTools.msbuild" Properties="Configuration=Release;Platform=Any CPU;ProductVersionFull=$(InstallerVersion)" UseResultsCache="false" UnloadProjectsOnCompletion="true" />
<MSBuild Projects="src\btdf\Tools\BuildTools.msbuild" Properties="Configuration=Release;Platform=Any CPU;ProductVersionFull=$(InstallerVersion)" UseResultsCache="false" UnloadProjectsOnCompletion="true" />
</Target>

<Target Name="BuildDocs">
<Exec Command="&quot;\Program Files\IBE Software\HelpNDoc\Hnd4.exe&quot; ..\Documentation\Src\DeploymentFrameworkForBizTalkDocs.hnd /g" />
<Target Name="BuildDocs" Condition="'$(NoBuildDocs)' == ''">
<Exec Command="&quot;\Program Files (x86)\IBE Software\HelpNDoc 6\Hnd6.exe&quot; docs\btdf-hnd\DeploymentFrameworkForBizTalkDocs.hnd build -x=&quot;Build PDF documentation&quot; -x=&quot;Build CHM documentation&quot;" />
</Target>

<Target Name="BuildInstaller" DependsOnTargets="$(BuildInstallerDependsOn)">
<ItemGroup>
<MsiFile Include="..\Installer\bin\release\DeploymentFrameworkForBizTalk.msi" />
<MsiFile Include="src\btdf\Installer\bin\release\DeploymentFrameworkForBizTalk.msi" />
</ItemGroup>

<MSBuild Projects="..\Installer\BizTalkDeploymentFrameworkInstaller.sln" Properties="Configuration=Release;Platform=x86;ProductVersionFull=$(InstallerVersion);ProductID=$(ProductID)" Targets="Rebuild" />
<MSBuild Projects="src\btdf\Installer\BizTalkDeploymentFrameworkInstaller.sln" Properties="Configuration=Release;Platform=x86;SuppressIces=ICE30;ProductVersionFull=$(InstallerVersion);ProductID=$(ProductID)" Targets="Rebuild" />
<Copy SourceFiles="@(MsiFile)" DestinationFiles="@(MsiFile->'Staging\%(filename)V$(Version)%(extension)')" />
</Target>

<Target Name="Build" DependsOnTargets="$(BuildDependsOn)">
<ItemGroup>
<PdfFile Include="..\Documentation\DeploymentFrameworkForBizTalkDocs.pdf" />
<PdfFile Include="docs\DeploymentFrameworkForBizTalkDocs.pdf" />
</ItemGroup>

<Copy SourceFiles="@(PdfFile)" DestinationFiles="@(PdfFile->'Staging\%(filename)V$(Version)%(extension)')" />
Expand Down
29 changes: 29 additions & 0 deletions DeploymentFrameworkESBResolver.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Deployment Framework for BizTalk ESB Resolver
Copyright (C) 2008 Thomas F. Abraham. All Rights Reserved.
See LICENSE.txt for licensing information.
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build" ToolsVersion="12.0">
<PropertyGroup>
<Version>5_8_RC1</Version>
<InstallerVersion>5.8.95.0</InstallerVersion>
<ProductID>57CF5927-B447-463A-9CA5-E164E9DB3615</ProductID>
</PropertyGroup>

<Target Name="BuildTools">
<MSBuild Projects="src\btdf-esb-resolver\Tools\BuildTools.msbuild" Properties="Configuration=Release;Platform=Any CPU;ProductVersionFull=$(InstallerVersion)" UseResultsCache="false" UnloadProjectsOnCompletion="true" />
</Target>

<Target Name="BuildInstaller" DependsOnTargets="BuildTools">
<ItemGroup>
<MsiFile Include="src\btdf-esb-resolver\Installer\bin\release\DeploymentFrameworkForBizTalkESBResolver.msi" />
</ItemGroup>

<MSBuild Projects="src\btdf-esb-resolver\Installer\BizTalkDeploymentFrameworkESBResolver.sln" Properties="Configuration=Release;Platform=x86;SuppressIces=ICE30;ProductVersionFull=$(InstallerVersion);ProductID=$(ProductID)" Targets="Rebuild" />
<Copy SourceFiles="@(MsiFile)" DestinationFiles="@(MsiFile->'Staging\%(filename)V$(Version)%(extension)')" />
</Target>

<Target Name="Build" DependsOnTargets="BuildInstaller">
</Target>
</Project>
20 changes: 20 additions & 0 deletions docs/btdf-esb-resolver/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/btdf-esb-resolver/_static/Itinerary.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
58 changes: 58 additions & 0 deletions docs/btdf-esb-resolver/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

# -- Path setup --------------------------------------------------------------

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))

from recommonmark.parser import CommonMarkParser

# -- Project information -----------------------------------------------------

project = 'Deployment Framework for BizTalk ESB Resolver'
copyright = '(C) 2008 Thomas F. Abraham. All Rights Reserved.'
author = 'Thomas F. Abraham'


# -- General configuration ---------------------------------------------------

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'recommonmark'
]

source_parsers = {
'.md': CommonMarkParser
}

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']


# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
12 changes: 12 additions & 0 deletions docs/btdf-esb-resolver/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.. Deployment Framework for BizTalk ESB Resolver documentation master file

Deployment Framework for BizTalk ESB Resolver
=============================================
A custom BizTalk ESB Toolkit resolver that integrates with the Deployment Framework for BizTalk.

.. toctree::
:maxdepth: 2
:caption: Contents:

overview
sample
35 changes: 35 additions & 0 deletions docs/btdf-esb-resolver/make.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
@ECHO OFF

pushd %~dp0

REM Command file for Sphinx documentation

if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=.
set BUILDDIR=_build

if "%1" == "" goto help

%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
exit /b 1
)

%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end

:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%

:end
popd
31 changes: 31 additions & 0 deletions docs/btdf-esb-resolver/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Overview

The Deployment Framework includes a custom ESB resolver (BTDF-SSO) that can be selected in the Itinerary Designer. It lets you dynamically resolve settings via SSO at runtime that originate from your Excel settings spreadsheet (SettingsFileGenerator.xml).

> **NOTE**: If you are using the BTDF-SSO resolver, then you must do a Custom install of the Deployment Framework on your BizTalk servers. This is due to the fact that the resolver DLL must be installed on the servers and registered in the Esb.config file.

To use the BTDF ESB Resolver:

1) **Complete the steps in Deploy Configuration Settings into SSO**
The steps in Deploy Configuration Settings into SSO are all prerequisites to this topic.

2) **Create or edit an itinerary in the Itinerary Designer and, on an itinerary service object, add a resolver**
See the BizTalk ESB Toolkit documentation for details on how to configure an itinerary service with a resolver. An example is shown in the following image:

![Itinerary](_static\Itinerary.png)

3) **Choose "Deployment Framework for BizTalk SSO Resolver Extension" as the Resolver Implementation**
This will add the AffiliateAppName property to the properties list.

4) **Fill in the AffiliateAppName, Transport Location and Transport Type fields**
The AffiliateAppName value is the name of the SSO affiliate application into which your project's settings are loaded. This is typically the value of the ProjectName element in your deployment project file.

The values of Transport Location and Transport Name each correspond to the names of settings rows in your settings spreadsheet. The associated values in the spreadsheet should define the destination for the resolver (e.g. C:\\MyApp\\Output and FILE).

The following image shows a typical resolver configuration:

![ItineraryProperties](_static\ItineraryProperties.png)

And the associated configuration in the settings spreadsheet:

![ESBResolverSettings](_static\\ESBResolverSettings.png)
44 changes: 44 additions & 0 deletions docs/btdf-esb-resolver/sample.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Sample App

The ESBToolkitSSOResolver sample demonstrates how to use the Deployment Framework for BizTalk with an ESB Toolkit itinerary that resolves adapter information at runtime from settings stored in SSO.

**NOTE:** This sample requires BizTalk 2013 R2 or newer with the ESB Toolkit installed and configured.

## What this Sample Does

The ESBToolkitSSOResolver sample picks up a file from a file system folder and runs it through the ESB Toolkit's ItinerarySelectReceiveXml pipeline in order to assign an itinerary named ESBToolkitSSOResolver. The itinerary calls the POToInvoice map to transform the input message, then uses the Deployment Framework for BizTalk SSO Resolver to dynamically configure an off-ramp, which then writes the transformed file to another file system folder.

## How this Sample is Designed and Why

This sample demonstrates deployment of a single BizTalk assembly containing both schemas and a map, a custom ESB Toolkit itinerary and the Deployment Framework for BizTalk SSO Resolver. It uses the Deployment Framework for BizTalk's environment-specific configuration features to dynamically transform a template bindings XML file into an environment-specific bindings file (see BasicMasterBindings sample). Building on the same configuration features, it dynamically reads settings from SSO at runtime to configure the ESB off-ramp.

The Excel settings spreadsheet, SettingsFileGenerator.xml, contains a couple of settings used to configure the off-ramp: InvoiceOutputPath and InvoiceOutputTransport. During deployment a particular environment's setting values are loaded into SSO, and the ESB Resolver reads them at runtime using the application's name (the value of the ProjectName property in the deployment project file).

One extensibility feature demonstrated in the sample's Deployment.btdfproj project file is how to package additional files into the MSI so that they are deployed to the server along with the application binaries and other project files. The CustomRedist target is called during MSI packaging, and in the sample it copies the files in the TestFiles folder into the MSI staging folder (defined by the $(RedistDir) MSBuild property).

Another extensibility feature demonstrated in the project file is how to create a file system folder at deployment time -- in this case the output folder. The CustomDeployTarget is called during application deployment, and in the sample it creates the output folder. The folder path is automatically pulled from the settings spreadsheet (named InvoiceOutputPath) into an MSBuild property via the PropsFromEnvSettings ItemGroup.

## Where to Find this Sample

\<ESBResolverInstallFolder\>\\Samples\\ESBToolkitSSOResolver

**NOTE:** After upgrading the solution to BizTalk 2020, you must upgrade the ESBToolkitSSOResolver.Itineraries project to target .NET Framework 4.6.

## Building and Deploying this Sample

1. Open the solution file ESBToolkitSSOResolver.sln in Visual Studio.
2. Build the solution and ensure that the build succeeded
3. Deploy the application using the Deployment Framework's Deploy command
4. The Deployment Framework will create an input folder at C:\\DeploymentFrameworkForBizTalk\\Samples\\ESBToolkitSSOResolver\\In
5. Confirm that the deployment process succeeded and the application is now running in BizTalk (see the Visual Studio Output window and BizTalk Admin Console)
6. If desired, package the application into an MSI using the Deployment Framework's Build Server MSI command

## Running this Sample

1. Copy the file SamplePOInput.xml from TestFiles into C:\\DeploymentFrameworkForBizTalk\\Samples\\ESBToolkitSSOResolver\\In
2. Watch for an output XML file to appear in C:\\DeploymentFrameworkForBizTalk\\Samples\\ESBToolkitSSOResolver\\Out

## Removing this Sample

1. With the ESBToolkitSSOResolver.sln open in Visual Studio, use the Deployment Framework's Undeploy command
2. Delete the folder C:\\DeploymentFrameworkForBizTalk\\Samples\\ESBToolkitSSOResolver
Binary file not shown.
File renamed without changes.
23 changes: 0 additions & 23 deletions src/Developer/InstallESBDesignerExtension.bat

This file was deleted.

8 changes: 0 additions & 8 deletions src/Developer/UnInstallESBDesignerExtension.bat

This file was deleted.

Binary file not shown.
Binary file not shown.
Binary file removed src/Framework/DeployTools/XmlPreprocess.exe
Binary file not shown.
Loading