SlideShare une entreprise Scribd logo
1  sur  41
BizTalk Deployment


Managing Migration of Your BizTalk Apps

              Daniel Toomey
                presenter
Scope
 Not about BizTalk Server product/platform
  installation
 BizTalk Application/Solution deployment
 BizTalk Server 2006+ only
 Key concepts & principles
 Out-of-the-Box tools only
BizTalk Deployment Artefacts
 Assemblies:
    BizTalk Assemblies (maps, schemas, orchestrations, pipelines)
    .NET Helper Assemblies
 Physical Bindings (send/receive ports)
 Runtime Components:
    Hosts / Host Instances
    Handlers
 Database Scripts
 Rules & Policies
 Configuration Files
 COM Components
 BAM definitions
 BAS Artefacts (partner profiles, templates, etc)
 Security Certificates
 Virtual Directories
 Custom / Third-Party Adapters
BizTalk Applications
 Introduced in BizTalk Server 2006
 Logical container for a collection of related
  solution artefacts
 Facilitates application level:
    Deployment (export MSI)
    Start / Stop
    Resource management
    Dependencies

 DEFAULT: BizTalk Application 1
BizTalk Applications
Binding Files
 Describe BTS artefacts stored in the BizTalk
  Mgmt Database and their relationships
 Exportable / Importable from BizTalk Group
  or Application
 Represented in XML
 How to validate binding schema:
  xsd.exe "C:Program FilesMicrosoft BizTalk Server
  2006Microsoft.BizTalk.Deployment.dll" /type:BindingInfo

 Sample binding file:
  C:Program FilesMicrosoft BizTalk Server 2006SDKSamples
  ApplicationDeploymentCreateAppBindingsCreateApplicationSampleBindings.xml
Binding File Structure
 ModuleRefCollection: Declares all the BizTalk assemblies and
  orchestrations used within the application. It also specifies
  which physical ports are used for each orchestration.

 SendPortCollection: Contains all the information necessary to
  create or update all the send ports.

 DistributionListCollection: Contains all the information
  necessary to create or update all the distribution lists (send port
  groups).

 ReceivePortCollection: Contains all the information necessary
  to create or update all the receive ports and receive locations.

 PartyCollection: Contains all the information necessary to
  create or update all the parties.
Importing Binding Files
 Binding Files will create:
   Send Ports
   Receive Ports
   Receive Locations
   Parties
 Binding Files will not create:
    Host Definitions
    Host Instances
    Directory Structures
    Passwords for credentials
Processing Scripts
   Can be bundled within an MSI file
   Automatically run when importing, installing, or
    uninstalling a BizTalk application
   Two types:
       Pre-processing (run at beginning of import/installation
        process)
       Post-processing (run at end of import/installation
        process)
   Multiple script types supported:
    .bat, .cmd., .com, .exe, .vbs, .vbe, .js, .wsh, .wsf
   Any action that can be done in a script can be
    executed within the exported MSI*

   *excluding certain BTSTask commands during application import
Processing Scripts
 Ideal tasks for a processing script:
      Create directory structure
      Add assemblies to the GAC
      Register COM components
      Create/populate a database
      Install a config file
 Sample scripts:
   C:Program FilesMicrosoft BizTalk Server 2006
   SDKSamplesApplicationDeploymentTemplate
Processing Scripts
   Use environment variables to control execution:
        %BTAD_InstallMode%
            Create
            Update
             Delete
        %BTAD_ChangeRequestAction%
            Import
            Install
            Uninstall
   Example:
    REM ### Create directories prior to BizTalk assembly deployment
    if "%BTAD_InstallMode%"=="Install" AND "%BTAD_ChangeRequestAction%"=="Update“
    (
         REM ### Create the folders which will drop messages
         mkdir %BTAD_InstallDir%TestDocumentsIn
         mkdir %BTAD_InstallDir%TestDocumentsOut
    )
Environment Variables
Deployment       BTAD_ChangeRequestAction   BTAD_InstallMode   BTAD_HostClass
States           Values                     Values             Values

Import without
                           Create                  Import         ConfigurationDb
overwrite flag

Import with
                          Update                   Import         ConfigurationDb
overwrite flag


Install                   Update                   Install      BizTalk Host Instance


Uninstall                  Delete                 Uninstall     BizTalk Host Instance


Import
                           Delete                  Import         ConfigurationDb
Rollback

Install
                           Delete                  Install      BizTalk Host Instance
Rollback
Import vs. Install
 STEP ONE: Import
   Import application to BizTalk Group
   Registers components in BizTalkMgmtDb
   Covers all BizTalk servers in group
 STEP TWO: Install
   Must be performed on each machine in the
    BizTalk Group
   Installs physical copies of registered
    components
   GAC, COM, Certificates, Virtual Directories
Typical Manual Install Steps
 Create an application
 Add references (optional)
 Add assemblies
 Create Receive Ports
 Create Receive Locations
 Create Send Ports
 Configure application
 Start application
Typical Deployment Cycle
 SOURCE SERVER:
    Deploy solution from Visual Studio
    Configure the BizTalk application
    Export bindings
    Add artefacts to the application
    Export application to MSI file
 TARGET SERVER:
    Import the MSI file
    Install the MSI file
    Start the application and test it
Visual Studio Deployment Steps
 In Visual Studio 2005:
    In Project Properties, specific BizTalk Application name
    Choose “Deploy” from Solution file

 In BizTalk Admin Console:
      Create Receive Ports
      Create Receive Locations
      Create Send Ports
      Configure application (bindings)
      Start application
 Re-deployment from VS usually maintains
  configuration, assuming same version number
Exporting a BizTalk Application
 Export the Bindings
   From BizTalk Admin Console
   Right-click app choose “Export  Bindings…”
   Save multiple copies
   Edit each copy in an XML editor (environment
    specific settings)
 Binding files can be added to application as
  resources (next slide)
     Copies can be given a target environment
      label (e.g. “TEST”, “PROD”)
Exporting a BizTalk Application
 Add resource files
    From BizTalk Admin Console
    Right-click app choose “Add  Resources…”
    Choose resource type:
       Assembly (BizTalk or .NET helper)

       Binding (can specify target environment)

       Pre/Post-Processing Script

       BAM

       File

       COM (can choose to register)

    “Overwrite all…” – replaces version in GAC
Exporting a BizTalk Application
 Export the MSI
   From BizTalk Admin Console
   Right-click app choose “Export  MSI file…”
   Step through the wizard
   Choose/Specify:
         Resources (assemblies, bindings)
         IIS Hosts
         Dependencies (specified for you)
         Destination
Importing/Installing a BizTalk
Application
 Import the MSI
    From BizTalk Admin Console
    Right-click app choose “Import  MSI file…”
    Step through the wizard
    Choose/Specify:
       Application name

       Overwrite resources

       Environment (for binding files)

    Adds references/component/binding files to BizTalk
     Management DB
    Only need to do this once for BizTalk Group
Importing/Installing a BizTalk
Application
 Install the MSI
    Double-click the MSI file itself (Windows
     Explorer)
    Step through the wizard
    Choose/Specify:
          Application name
          Overwrite resources
          Environment (for binding files)
    Adds physical components to current machine
    Need to do this on each server in the BizTalk
     Group
Command Line Import/Install
 Import:
  BTSTask ImportApp /Package:C:SampleApp.msi
  /Environment:TEST
  /ApplicationName:“SampleAppName" /Overwrite
 Install:
  msiexec /i “C:SampleApp.msi" /passive /log
  “C:SampleApp.log”
What’s Missing??
   Creating hosts / host instances
   Modifying host / host instance properties
   Starting / Stopping host instances
   Creating send/receive handlers
   Adding Message Boxes
   Modifying Message Box properties

 The Answer??
    ExplorerOM
    WMI
    BTSTask
ExplorerOM
 BizTalk Explorer Object Model
 Set of .NET classes/interfaces providing API
  to the BizTalk Management Database
 Add reference:
  [BizTalk Installation directory]Developer ToolsMicrosoft.Biztalk.ExplorerOM.dll

 Three container classes:
    BtsCalalogExplorer
    BtsApplication
    Assembly
What Can You Do With ExplorerOM?
 Create / modify / delete Applications
 Browse orchestration artefacts
 Bind / enlist / start orchestrations
 Stop / unenlist / unbind orchestrations
 Add / enlist / start send & receive ports
 Stop / unenlist / delete send & receive ports
 Add / remove maps for inbound / outbound
  transformations
 Enable / disable receive locations
 Add / delete parties
BtsCatalogExplorer Class
 Fundamental class: provides access to the
  BizTalk Management Database
 All BizTalk artefacts within a group are
  accessible once this class is instantiated
 Must set the ConnectionString property on
  the instance
Enumerate Send Ports Sample
using System;
using System.Text;
using Microsoft.BizTalk.ExplorerOM;

namespace SendPorts
{
     class Program
     {
          static void Main(string[] args)
          {
               EnumerateSendPorts();
               Console.ReadKey();
          }

          public static void EnumerateSendPorts()
          {
               BtsCatalogExplorer catalog = new BtsCatalogExplorer();
               catalog.ConnectionString =
                  "Server=.;Initial Catalog=BizTalkMgmtDb;Integrated Security=SSPI;";
               foreach (SendPort sendPort in catalog.SendPorts )
               {
                     Console.WriteLine("tPortName:{0},Status:{1}",
                     sendPort.Name ,sendPort.Status);
               }
          }
     }
}
BtsCatalogExplorer Methods
Method Name                     Description
AddNewApplication*              Creates and adds a new Application object to the Application collection.

RemoveApplication*              Removes the specified application from Application collection.
AddNewParty                     Creates and adds a new Party object to the Parties collection.
RemoveParty                     Removes the specified party from the Parties collection.
AddNewReceivePort               Creates and adds a new ReceivePort object to the ReceivePorts collection.

RemoveReceivePort               Removes the specified receive port from the ReceivePorts collection.
AddNewSendPort                  Creates and adds a new SendPort object to the SendPorts collection.
RemoveSendPort                  Removes the specified send port from the SendPorts collection.
AddNewSendPortGroup             Creates and adds a new SendPortGroup object to the SendPortGroups

RemoveSendPortGroup             Removes the specified send port group.
SaveChanges                     Commits all BtsCatalogExplorer object changes to the Management Database.


DiscardChanges                  Discards all BtsCatalogExplorer object changes.
*Specific to BizTalk Server 2006.
Application Class
 Similar to BtsCatalogExplorer class, but
  specific to an application
 Allows you to start, stop applications
 Allows you to add & remove references to
  other applications
 Requires reference to an instance
ApplicationStartOption Enumeration
Application app = catalog.Applications[“My Application"]
app.Start(StartApplicationOptions.StartAll);


Enumeration Value             Description
DeployAllPolicies             Specifies all policies to be deployed

EnableAllReceiveLocations     Specifies all receive locations to be enabled

StartAllOrchestrations        Specifies all orchestrations to be started

StartAllSendPortGroups        Specifies all send port groups to be started

StartAllSendPorts             Specifies all send ports to be started

StartReferencedApplications   Specifies all referenced applications to be started

StartAll                      Specifies all of the preceding to be enabled and started
WMI Script
 Windows Management Instrumentation
 Standard API for computer system
  management
 Requires System.Management assemble
 Access to a host of BizTalk classes and
  events
 Use WMI Code Creator:
  http://www.microsoft.com/downloads/details.aspx?familyid=2cc30a64-
  ea15-4661-8da4-55bbc145c30e&displaylang=en
What Can You Do With WMI?
 Deploy an assembly
 Create / modify / delete hosts / host instances
 Browse orchestration artefacts
 Bind / enlist / start orchestrations
 Stop / unenlist / unbind orchestrations
 Add / enlist / start send & receive ports
 Stop / unenlist / delete send & receive ports
 Add / remove maps for inbound / outbound
  transformations
 Enable / disable receive locations
 Add / modify / delete message box
Basic WMI Operation - Create
using System.Management;

// sample to show MSBTS_HostSetting instance creation
public void CreateHost(string ServerName, string HostName, int HostType, string NTGroupName, bool
     AuthTrusted)
{
       try
       {
             PutOptions options = new PutOptions();
             options.Type = PutType.CreateOnly;
             // Create a ManagementClass object and spawn a ManagementObject instance
             ManagementClass objHostSettingClass = new ManagementClass("" + ServerName +
                "rootMicrosoftBizTalkServer", "MSBTS_HostSetting", null);
             ManagementObject objHostSetting = objHostSettingClass.CreateInstance();
             // Set the properties for the Host
             objHostSetting["Name"] = HostName;
             objHostSetting["HostType"] = HostType;
             objHostSetting["NTGroupName"] = NTGroupName;
             objHostSetting["AuthTrusted"] = AuthTrusted;
             // Creating the host
             objHostSetting.Put(options);
             System.Console.WriteLine(string.Format("The Host '{0}'has been created successfully",
                HostName ));
       }
       catch(Exception ex)
       {
             System.Console.WriteLine("CreateHost - " + HostName + " - failed: " + ex.Message);
       }
}
BTSTask
 Replaces deprecated BTSDeploy command
 No wizard included (use BizTalk Admin Console)
 Allows you to:
    Add, enumerate, remove, and uninstall BizTalk
     applications.
    Add, list, and remove artefacts from a BizTalk
     application.
    Export and import BizTalk applications from an MSI
     file.
    Export and import binding information from BizTalk
     binding files.
 Command Line Reference:
  http://msdn.microsoft.com/en-us/library/aa559686.aspx
What Can You Do With BTSTask?
 Create / modify / delete applications
 Deploy assemblies
 Browse orchestration artefacts
 Bind / enlist / start orchestrations*
 Stop / unenlist / unbind orchestrations*
 Add / enlist / start send & receive** ports
 Stop / unenlist / delete send & receive** ports
 Add / remove maps for inbound / outbound
  transformations**
 Enable / disable receive locations**

* via processing scripts only
**via binding files only
Putting It All Together…
 Export your bindings / MSI files
 Create .NET assembly as an API using
  ExplorerOM classes (start with sample in
  SDK)
 Create a master batch script that manages
  the full deployment using:
   BTSTask
   ExplorerOM assembly
   MSIExe
 One-click deployment/migration!!
Deployments Made Easy…(?)
 Scott Colestock’s Deployment Framework
  for BizTalk
  http://www.codeplex.com/biztalkdeployment
 “…goes far beyond BizTalk’s out-of-the-box
  deployment functionality”
 Includes additional tools to help developers
 Integration with Visual Studio, NUnit, Log4Net
Deployment Framework for BizTalk
Summary
 BizTalk application deployment is inherently more complex and
    broader in scope than most other application deployments
   Requires understanding of the components and configuration
    involved:
      Database Import vs. Server Installation
      Logical Ports (Assemblies) vs. Physical Ports
      Hosts vs. Applications
      Auxiliary components/artefacts
   Out-of-the-box tools can facilitate the process greatly (esp.
    since BizTalk 2006)
   Time spent compiling scripts / deployment classes can save
    heaps of time and errors later
   Potential use of third-party deployment tools
References
   Best Practices for Deploying a BizTalk Application (TechNet):
    http://technet.microsoft.com/en-us/library/aa577468.aspx

   Structure of a BizTalk Binding File (MSDN):
    http://msdn.microsoft.com/en-us/library/aa559878.aspx

   Customizing Binding Files (TechNet):
    http://technet.microsoft.com/en-us/library/aa559898.aspx

   Using Pre- & Post-Processing Scripts to Customise Application Deployment (TechNet):
    http://technet.microsoft.com/en-us/library/aa559904.aspx

   BTSTask Command Line Reference (MSDN):
    http://msdn.microsoft.com/en-us/library/aa559686.aspx

   ExplorerOM Namespace Documentation (MSDN):
    http://msdn.microsoft.com/en-us/library/microsoft.biztalk.explorerom.aspx

   BizTalk 2006 Recipes: A Problem – Solution Approach
    Mark Beckner, Benjamin Goeltz, Brandon Gross, Brennan O’Reilly, Stephen Roger, Mark Smith &
    Alexander West
    Apress Books, ISBN-13 (pbk): 978-1-59059-711-8

   Pro BizTalk 2006: Solutions to Real World Issues for BizTalk Professionals
    George Dunphy and Ahmed Metwally
    Apress Books, ISBN-13 (pbk): 978-1-59059-699-9
Questions?

Contenu connexe

Similaire à BizTalk Application Deployment

BizTalk ALM (Toon Vanhoutte @ Integration Monday)
BizTalk ALM (Toon Vanhoutte @ Integration Monday)BizTalk ALM (Toon Vanhoutte @ Integration Monday)
BizTalk ALM (Toon Vanhoutte @ Integration Monday)Codit
 
2008 - TechDays PT: Building Software + Services with Volta
2008 - TechDays PT: Building Software + Services with Volta2008 - TechDays PT: Building Software + Services with Volta
2008 - TechDays PT: Building Software + Services with VoltaDaniel Fisher
 
Installating and Configuring Java, MySQL and BIRT.
Installating and Configuring Java, MySQL and BIRT.Installating and Configuring Java, MySQL and BIRT.
Installating and Configuring Java, MySQL and BIRT.NR Computer Learning Center
 
Cross Platform migration of SAS BI Environment: Tips and Tricks
Cross Platform migration of SAS BI Environment: Tips and TricksCross Platform migration of SAS BI Environment: Tips and Tricks
Cross Platform migration of SAS BI Environment: Tips and TricksAmol Deshmukh
 
Installing community surveys in connections 5.5
Installing community surveys in connections 5.5Installing community surveys in connections 5.5
Installing community surveys in connections 5.5Roberto Boccadoro
 
Learn Cloud-Native .NET: Core Configuration Fundamentals with Steeltoe
Learn Cloud-Native .NET: Core Configuration Fundamentals with SteeltoeLearn Cloud-Native .NET: Core Configuration Fundamentals with Steeltoe
Learn Cloud-Native .NET: Core Configuration Fundamentals with SteeltoeVMware Tanzu
 
Top ten integration productivity tools and frameworks - Integration Saturday ...
Top ten integration productivity tools and frameworks - Integration Saturday ...Top ten integration productivity tools and frameworks - Integration Saturday ...
Top ten integration productivity tools and frameworks - Integration Saturday ...Nikolai Blackie
 
Building the VM
Building the VMBuilding the VM
Building the VMESUG
 
Biztalk Server 2010: Introdução
Biztalk Server 2010: IntroduçãoBiztalk Server 2010: Introdução
Biztalk Server 2010: IntroduçãoComunidade NetPonto
 
Step by step installation of microsoft dynamics 365 finance and operations on...
Step by step installation of microsoft dynamics 365 finance and operations on...Step by step installation of microsoft dynamics 365 finance and operations on...
Step by step installation of microsoft dynamics 365 finance and operations on...Umesh Pandit
 
Whats New in MSBuild 3.5 and Team Build 2008
Whats New in MSBuild 3.5 and Team Build 2008Whats New in MSBuild 3.5 and Team Build 2008
Whats New in MSBuild 3.5 and Team Build 2008wbarthol
 
Design-Time Properties in Custom Pipeline Components
Design-Time Properties in Custom Pipeline ComponentsDesign-Time Properties in Custom Pipeline Components
Design-Time Properties in Custom Pipeline ComponentsDaniel Toomey
 
Azure App Service for Windows Container
Azure App Service for Windows ContainerAzure App Service for Windows Container
Azure App Service for Windows ContainerKrunal Trivedi
 
TopStack Product Architecture 2013-Q3
TopStack Product Architecture 2013-Q3TopStack Product Architecture 2013-Q3
TopStack Product Architecture 2013-Q3TranscendComputing
 
Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)njbartlett
 
MSMDC_CLI363
MSMDC_CLI363MSMDC_CLI363
MSMDC_CLI363mokacao
 

Similaire à BizTalk Application Deployment (20)

BizTalk ALM (Toon Vanhoutte @ Integration Monday)
BizTalk ALM (Toon Vanhoutte @ Integration Monday)BizTalk ALM (Toon Vanhoutte @ Integration Monday)
BizTalk ALM (Toon Vanhoutte @ Integration Monday)
 
BizTalk ALM
BizTalk ALMBizTalk ALM
BizTalk ALM
 
2008 - TechDays PT: Building Software + Services with Volta
2008 - TechDays PT: Building Software + Services with Volta2008 - TechDays PT: Building Software + Services with Volta
2008 - TechDays PT: Building Software + Services with Volta
 
BizTalk Documenter
BizTalk DocumenterBizTalk Documenter
BizTalk Documenter
 
Installating and Configuring Java, MySQL and BIRT.
Installating and Configuring Java, MySQL and BIRT.Installating and Configuring Java, MySQL and BIRT.
Installating and Configuring Java, MySQL and BIRT.
 
Cross Platform migration of SAS BI Environment: Tips and Tricks
Cross Platform migration of SAS BI Environment: Tips and TricksCross Platform migration of SAS BI Environment: Tips and Tricks
Cross Platform migration of SAS BI Environment: Tips and Tricks
 
Installing community surveys in connections 5.5
Installing community surveys in connections 5.5Installing community surveys in connections 5.5
Installing community surveys in connections 5.5
 
Bfc Presentation
Bfc PresentationBfc Presentation
Bfc Presentation
 
Learn Cloud-Native .NET: Core Configuration Fundamentals with Steeltoe
Learn Cloud-Native .NET: Core Configuration Fundamentals with SteeltoeLearn Cloud-Native .NET: Core Configuration Fundamentals with Steeltoe
Learn Cloud-Native .NET: Core Configuration Fundamentals with Steeltoe
 
Top ten integration productivity tools and frameworks - Integration Saturday ...
Top ten integration productivity tools and frameworks - Integration Saturday ...Top ten integration productivity tools and frameworks - Integration Saturday ...
Top ten integration productivity tools and frameworks - Integration Saturday ...
 
Building the VM
Building the VMBuilding the VM
Building the VM
 
Biztalk Server 2010: Introdução
Biztalk Server 2010: IntroduçãoBiztalk Server 2010: Introdução
Biztalk Server 2010: Introdução
 
Step by step installation of microsoft dynamics 365 finance and operations on...
Step by step installation of microsoft dynamics 365 finance and operations on...Step by step installation of microsoft dynamics 365 finance and operations on...
Step by step installation of microsoft dynamics 365 finance and operations on...
 
Whats New in MSBuild 3.5 and Team Build 2008
Whats New in MSBuild 3.5 and Team Build 2008Whats New in MSBuild 3.5 and Team Build 2008
Whats New in MSBuild 3.5 and Team Build 2008
 
Design-Time Properties in Custom Pipeline Components
Design-Time Properties in Custom Pipeline ComponentsDesign-Time Properties in Custom Pipeline Components
Design-Time Properties in Custom Pipeline Components
 
Azure App Service for Windows Container
Azure App Service for Windows ContainerAzure App Service for Windows Container
Azure App Service for Windows Container
 
TopStack Product Architecture 2013-Q3
TopStack Product Architecture 2013-Q3TopStack Product Architecture 2013-Q3
TopStack Product Architecture 2013-Q3
 
Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)
 
Road Show Asp Net
Road Show Asp NetRoad Show Asp Net
Road Show Asp Net
 
MSMDC_CLI363
MSMDC_CLI363MSMDC_CLI363
MSMDC_CLI363
 

Plus de Daniel Toomey

Azure Logic Apps and Copilot.pptx .
Azure Logic Apps and Copilot.pptx      .Azure Logic Apps and Copilot.pptx      .
Azure Logic Apps and Copilot.pptx .Daniel Toomey
 
Microsoft Azure News - April 2024 .
Microsoft Azure News - April 2024      .Microsoft Azure News - April 2024      .
Microsoft Azure News - April 2024 .Daniel Toomey
 
Microsoft Azure News - Feb 2024
Microsoft Azure News - Feb 2024Microsoft Azure News - Feb 2024
Microsoft Azure News - Feb 2024Daniel Toomey
 
Microsoft Azure News - Dec 2023
Microsoft Azure News - Dec 2023Microsoft Azure News - Dec 2023
Microsoft Azure News - Dec 2023Daniel Toomey
 
Microsoft Azure News - Nov 2023
Microsoft Azure News - Nov 2023Microsoft Azure News - Nov 2023
Microsoft Azure News - Nov 2023Daniel Toomey
 
Microsoft AzureNews - Oct 2023
Microsoft AzureNews - Oct 2023Microsoft AzureNews - Oct 2023
Microsoft AzureNews - Oct 2023Daniel Toomey
 
Microsoft Azure New - Sep 2023
Microsoft Azure New - Sep 2023Microsoft Azure New - Sep 2023
Microsoft Azure New - Sep 2023Daniel Toomey
 
Microsoft Azure News - Aug 2023
Microsoft Azure News - Aug 2023Microsoft Azure News - Aug 2023
Microsoft Azure News - Aug 2023Daniel Toomey
 
Private DNS Infrastructure Support in Hybrid Scenarios
Private DNS Infrastructure Support in Hybrid ScenariosPrivate DNS Infrastructure Support in Hybrid Scenarios
Private DNS Infrastructure Support in Hybrid ScenariosDaniel Toomey
 
Microsoft Azure News - Jul 2023
Microsoft Azure News - Jul 2023Microsoft Azure News - Jul 2023
Microsoft Azure News - Jul 2023Daniel Toomey
 
Microsoft Azure News - Jun 2023
Microsoft Azure News - Jun 2023Microsoft Azure News - Jun 2023
Microsoft Azure News - Jun 2023Daniel Toomey
 
Microsoft Azure News - May 2023
Microsoft Azure News - May 2023Microsoft Azure News - May 2023
Microsoft Azure News - May 2023Daniel Toomey
 
Microsoft Azure News - Apr 2023
Microsoft Azure News - Apr 2023Microsoft Azure News - Apr 2023
Microsoft Azure News - Apr 2023Daniel Toomey
 
Microsoft Azure News - Mar 2023
Microsoft Azure News - Mar 2023Microsoft Azure News - Mar 2023
Microsoft Azure News - Mar 2023Daniel Toomey
 
Microsoft Azure News - Feb 2023
Microsoft Azure News - Feb 2023Microsoft Azure News - Feb 2023
Microsoft Azure News - Feb 2023Daniel Toomey
 
Microsoft Azure News - Jan 2023
Microsoft Azure News - Jan 2023Microsoft Azure News - Jan 2023
Microsoft Azure News - Jan 2023Daniel Toomey
 
Microsoft Azure News - Dec 2022
Microsoft Azure News - Dec 2022Microsoft Azure News - Dec 2022
Microsoft Azure News - Dec 2022Daniel Toomey
 
Microsoft Azure News - Nov 2022
Microsoft Azure News - Nov 2022Microsoft Azure News - Nov 2022
Microsoft Azure News - Nov 2022Daniel Toomey
 
Microsoft Azure News - Oct 2022
Microsoft Azure News - Oct 2022Microsoft Azure News - Oct 2022
Microsoft Azure News - Oct 2022Daniel Toomey
 
Microsoft Azure News - Sep 2022.pptx
Microsoft Azure News - Sep 2022.pptxMicrosoft Azure News - Sep 2022.pptx
Microsoft Azure News - Sep 2022.pptxDaniel Toomey
 

Plus de Daniel Toomey (20)

Azure Logic Apps and Copilot.pptx .
Azure Logic Apps and Copilot.pptx      .Azure Logic Apps and Copilot.pptx      .
Azure Logic Apps and Copilot.pptx .
 
Microsoft Azure News - April 2024 .
Microsoft Azure News - April 2024      .Microsoft Azure News - April 2024      .
Microsoft Azure News - April 2024 .
 
Microsoft Azure News - Feb 2024
Microsoft Azure News - Feb 2024Microsoft Azure News - Feb 2024
Microsoft Azure News - Feb 2024
 
Microsoft Azure News - Dec 2023
Microsoft Azure News - Dec 2023Microsoft Azure News - Dec 2023
Microsoft Azure News - Dec 2023
 
Microsoft Azure News - Nov 2023
Microsoft Azure News - Nov 2023Microsoft Azure News - Nov 2023
Microsoft Azure News - Nov 2023
 
Microsoft AzureNews - Oct 2023
Microsoft AzureNews - Oct 2023Microsoft AzureNews - Oct 2023
Microsoft AzureNews - Oct 2023
 
Microsoft Azure New - Sep 2023
Microsoft Azure New - Sep 2023Microsoft Azure New - Sep 2023
Microsoft Azure New - Sep 2023
 
Microsoft Azure News - Aug 2023
Microsoft Azure News - Aug 2023Microsoft Azure News - Aug 2023
Microsoft Azure News - Aug 2023
 
Private DNS Infrastructure Support in Hybrid Scenarios
Private DNS Infrastructure Support in Hybrid ScenariosPrivate DNS Infrastructure Support in Hybrid Scenarios
Private DNS Infrastructure Support in Hybrid Scenarios
 
Microsoft Azure News - Jul 2023
Microsoft Azure News - Jul 2023Microsoft Azure News - Jul 2023
Microsoft Azure News - Jul 2023
 
Microsoft Azure News - Jun 2023
Microsoft Azure News - Jun 2023Microsoft Azure News - Jun 2023
Microsoft Azure News - Jun 2023
 
Microsoft Azure News - May 2023
Microsoft Azure News - May 2023Microsoft Azure News - May 2023
Microsoft Azure News - May 2023
 
Microsoft Azure News - Apr 2023
Microsoft Azure News - Apr 2023Microsoft Azure News - Apr 2023
Microsoft Azure News - Apr 2023
 
Microsoft Azure News - Mar 2023
Microsoft Azure News - Mar 2023Microsoft Azure News - Mar 2023
Microsoft Azure News - Mar 2023
 
Microsoft Azure News - Feb 2023
Microsoft Azure News - Feb 2023Microsoft Azure News - Feb 2023
Microsoft Azure News - Feb 2023
 
Microsoft Azure News - Jan 2023
Microsoft Azure News - Jan 2023Microsoft Azure News - Jan 2023
Microsoft Azure News - Jan 2023
 
Microsoft Azure News - Dec 2022
Microsoft Azure News - Dec 2022Microsoft Azure News - Dec 2022
Microsoft Azure News - Dec 2022
 
Microsoft Azure News - Nov 2022
Microsoft Azure News - Nov 2022Microsoft Azure News - Nov 2022
Microsoft Azure News - Nov 2022
 
Microsoft Azure News - Oct 2022
Microsoft Azure News - Oct 2022Microsoft Azure News - Oct 2022
Microsoft Azure News - Oct 2022
 
Microsoft Azure News - Sep 2022.pptx
Microsoft Azure News - Sep 2022.pptxMicrosoft Azure News - Sep 2022.pptx
Microsoft Azure News - Sep 2022.pptx
 

Dernier

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Dernier (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

BizTalk Application Deployment

  • 1. BizTalk Deployment Managing Migration of Your BizTalk Apps Daniel Toomey presenter
  • 2. Scope  Not about BizTalk Server product/platform installation  BizTalk Application/Solution deployment  BizTalk Server 2006+ only  Key concepts & principles  Out-of-the-Box tools only
  • 3. BizTalk Deployment Artefacts  Assemblies:  BizTalk Assemblies (maps, schemas, orchestrations, pipelines)  .NET Helper Assemblies  Physical Bindings (send/receive ports)  Runtime Components:  Hosts / Host Instances  Handlers  Database Scripts  Rules & Policies  Configuration Files  COM Components  BAM definitions  BAS Artefacts (partner profiles, templates, etc)  Security Certificates  Virtual Directories  Custom / Third-Party Adapters
  • 4. BizTalk Applications  Introduced in BizTalk Server 2006  Logical container for a collection of related solution artefacts  Facilitates application level:  Deployment (export MSI)  Start / Stop  Resource management  Dependencies  DEFAULT: BizTalk Application 1
  • 6. Binding Files  Describe BTS artefacts stored in the BizTalk Mgmt Database and their relationships  Exportable / Importable from BizTalk Group or Application  Represented in XML  How to validate binding schema: xsd.exe "C:Program FilesMicrosoft BizTalk Server 2006Microsoft.BizTalk.Deployment.dll" /type:BindingInfo  Sample binding file: C:Program FilesMicrosoft BizTalk Server 2006SDKSamples ApplicationDeploymentCreateAppBindingsCreateApplicationSampleBindings.xml
  • 7. Binding File Structure  ModuleRefCollection: Declares all the BizTalk assemblies and orchestrations used within the application. It also specifies which physical ports are used for each orchestration.  SendPortCollection: Contains all the information necessary to create or update all the send ports.  DistributionListCollection: Contains all the information necessary to create or update all the distribution lists (send port groups).  ReceivePortCollection: Contains all the information necessary to create or update all the receive ports and receive locations.  PartyCollection: Contains all the information necessary to create or update all the parties.
  • 8. Importing Binding Files  Binding Files will create:  Send Ports  Receive Ports  Receive Locations  Parties  Binding Files will not create:  Host Definitions  Host Instances  Directory Structures  Passwords for credentials
  • 9. Processing Scripts  Can be bundled within an MSI file  Automatically run when importing, installing, or uninstalling a BizTalk application  Two types:  Pre-processing (run at beginning of import/installation process)  Post-processing (run at end of import/installation process)  Multiple script types supported: .bat, .cmd., .com, .exe, .vbs, .vbe, .js, .wsh, .wsf  Any action that can be done in a script can be executed within the exported MSI*  *excluding certain BTSTask commands during application import
  • 10. Processing Scripts  Ideal tasks for a processing script:  Create directory structure  Add assemblies to the GAC  Register COM components  Create/populate a database  Install a config file  Sample scripts: C:Program FilesMicrosoft BizTalk Server 2006 SDKSamplesApplicationDeploymentTemplate
  • 11. Processing Scripts  Use environment variables to control execution:  %BTAD_InstallMode%  Create  Update Delete  %BTAD_ChangeRequestAction%  Import  Install  Uninstall  Example: REM ### Create directories prior to BizTalk assembly deployment if "%BTAD_InstallMode%"=="Install" AND "%BTAD_ChangeRequestAction%"=="Update“ ( REM ### Create the folders which will drop messages mkdir %BTAD_InstallDir%TestDocumentsIn mkdir %BTAD_InstallDir%TestDocumentsOut )
  • 12. Environment Variables Deployment BTAD_ChangeRequestAction BTAD_InstallMode BTAD_HostClass States Values Values Values Import without Create Import ConfigurationDb overwrite flag Import with Update Import ConfigurationDb overwrite flag Install Update Install BizTalk Host Instance Uninstall Delete Uninstall BizTalk Host Instance Import Delete Import ConfigurationDb Rollback Install Delete Install BizTalk Host Instance Rollback
  • 13. Import vs. Install  STEP ONE: Import  Import application to BizTalk Group  Registers components in BizTalkMgmtDb  Covers all BizTalk servers in group  STEP TWO: Install  Must be performed on each machine in the BizTalk Group  Installs physical copies of registered components  GAC, COM, Certificates, Virtual Directories
  • 14. Typical Manual Install Steps  Create an application  Add references (optional)  Add assemblies  Create Receive Ports  Create Receive Locations  Create Send Ports  Configure application  Start application
  • 15. Typical Deployment Cycle  SOURCE SERVER:  Deploy solution from Visual Studio  Configure the BizTalk application  Export bindings  Add artefacts to the application  Export application to MSI file  TARGET SERVER:  Import the MSI file  Install the MSI file  Start the application and test it
  • 16. Visual Studio Deployment Steps  In Visual Studio 2005:  In Project Properties, specific BizTalk Application name  Choose “Deploy” from Solution file  In BizTalk Admin Console:  Create Receive Ports  Create Receive Locations  Create Send Ports  Configure application (bindings)  Start application  Re-deployment from VS usually maintains configuration, assuming same version number
  • 17. Exporting a BizTalk Application  Export the Bindings  From BizTalk Admin Console  Right-click app choose “Export  Bindings…”  Save multiple copies  Edit each copy in an XML editor (environment specific settings)  Binding files can be added to application as resources (next slide)  Copies can be given a target environment label (e.g. “TEST”, “PROD”)
  • 18. Exporting a BizTalk Application  Add resource files  From BizTalk Admin Console  Right-click app choose “Add  Resources…”  Choose resource type:  Assembly (BizTalk or .NET helper)  Binding (can specify target environment)  Pre/Post-Processing Script  BAM  File  COM (can choose to register)  “Overwrite all…” – replaces version in GAC
  • 19. Exporting a BizTalk Application  Export the MSI  From BizTalk Admin Console  Right-click app choose “Export  MSI file…”  Step through the wizard  Choose/Specify:  Resources (assemblies, bindings)  IIS Hosts  Dependencies (specified for you)  Destination
  • 20. Importing/Installing a BizTalk Application  Import the MSI  From BizTalk Admin Console  Right-click app choose “Import  MSI file…”  Step through the wizard  Choose/Specify:  Application name  Overwrite resources  Environment (for binding files)  Adds references/component/binding files to BizTalk Management DB  Only need to do this once for BizTalk Group
  • 21. Importing/Installing a BizTalk Application  Install the MSI  Double-click the MSI file itself (Windows Explorer)  Step through the wizard  Choose/Specify:  Application name  Overwrite resources  Environment (for binding files)  Adds physical components to current machine  Need to do this on each server in the BizTalk Group
  • 22. Command Line Import/Install  Import: BTSTask ImportApp /Package:C:SampleApp.msi /Environment:TEST /ApplicationName:“SampleAppName" /Overwrite  Install: msiexec /i “C:SampleApp.msi" /passive /log “C:SampleApp.log”
  • 23. What’s Missing??  Creating hosts / host instances  Modifying host / host instance properties  Starting / Stopping host instances  Creating send/receive handlers  Adding Message Boxes  Modifying Message Box properties  The Answer??  ExplorerOM  WMI  BTSTask
  • 24. ExplorerOM  BizTalk Explorer Object Model  Set of .NET classes/interfaces providing API to the BizTalk Management Database  Add reference: [BizTalk Installation directory]Developer ToolsMicrosoft.Biztalk.ExplorerOM.dll  Three container classes:  BtsCalalogExplorer  BtsApplication  Assembly
  • 25. What Can You Do With ExplorerOM?  Create / modify / delete Applications  Browse orchestration artefacts  Bind / enlist / start orchestrations  Stop / unenlist / unbind orchestrations  Add / enlist / start send & receive ports  Stop / unenlist / delete send & receive ports  Add / remove maps for inbound / outbound transformations  Enable / disable receive locations  Add / delete parties
  • 26. BtsCatalogExplorer Class  Fundamental class: provides access to the BizTalk Management Database  All BizTalk artefacts within a group are accessible once this class is instantiated  Must set the ConnectionString property on the instance
  • 27. Enumerate Send Ports Sample using System; using System.Text; using Microsoft.BizTalk.ExplorerOM; namespace SendPorts { class Program { static void Main(string[] args) { EnumerateSendPorts(); Console.ReadKey(); } public static void EnumerateSendPorts() { BtsCatalogExplorer catalog = new BtsCatalogExplorer(); catalog.ConnectionString = "Server=.;Initial Catalog=BizTalkMgmtDb;Integrated Security=SSPI;"; foreach (SendPort sendPort in catalog.SendPorts ) { Console.WriteLine("tPortName:{0},Status:{1}", sendPort.Name ,sendPort.Status); } } } }
  • 28. BtsCatalogExplorer Methods Method Name Description AddNewApplication* Creates and adds a new Application object to the Application collection. RemoveApplication* Removes the specified application from Application collection. AddNewParty Creates and adds a new Party object to the Parties collection. RemoveParty Removes the specified party from the Parties collection. AddNewReceivePort Creates and adds a new ReceivePort object to the ReceivePorts collection. RemoveReceivePort Removes the specified receive port from the ReceivePorts collection. AddNewSendPort Creates and adds a new SendPort object to the SendPorts collection. RemoveSendPort Removes the specified send port from the SendPorts collection. AddNewSendPortGroup Creates and adds a new SendPortGroup object to the SendPortGroups RemoveSendPortGroup Removes the specified send port group. SaveChanges Commits all BtsCatalogExplorer object changes to the Management Database. DiscardChanges Discards all BtsCatalogExplorer object changes. *Specific to BizTalk Server 2006.
  • 29. Application Class  Similar to BtsCatalogExplorer class, but specific to an application  Allows you to start, stop applications  Allows you to add & remove references to other applications  Requires reference to an instance
  • 30. ApplicationStartOption Enumeration Application app = catalog.Applications[“My Application"] app.Start(StartApplicationOptions.StartAll); Enumeration Value Description DeployAllPolicies Specifies all policies to be deployed EnableAllReceiveLocations Specifies all receive locations to be enabled StartAllOrchestrations Specifies all orchestrations to be started StartAllSendPortGroups Specifies all send port groups to be started StartAllSendPorts Specifies all send ports to be started StartReferencedApplications Specifies all referenced applications to be started StartAll Specifies all of the preceding to be enabled and started
  • 31. WMI Script  Windows Management Instrumentation  Standard API for computer system management  Requires System.Management assemble  Access to a host of BizTalk classes and events  Use WMI Code Creator: http://www.microsoft.com/downloads/details.aspx?familyid=2cc30a64- ea15-4661-8da4-55bbc145c30e&displaylang=en
  • 32. What Can You Do With WMI?  Deploy an assembly  Create / modify / delete hosts / host instances  Browse orchestration artefacts  Bind / enlist / start orchestrations  Stop / unenlist / unbind orchestrations  Add / enlist / start send & receive ports  Stop / unenlist / delete send & receive ports  Add / remove maps for inbound / outbound transformations  Enable / disable receive locations  Add / modify / delete message box
  • 33. Basic WMI Operation - Create using System.Management; // sample to show MSBTS_HostSetting instance creation public void CreateHost(string ServerName, string HostName, int HostType, string NTGroupName, bool AuthTrusted) { try { PutOptions options = new PutOptions(); options.Type = PutType.CreateOnly; // Create a ManagementClass object and spawn a ManagementObject instance ManagementClass objHostSettingClass = new ManagementClass("" + ServerName + "rootMicrosoftBizTalkServer", "MSBTS_HostSetting", null); ManagementObject objHostSetting = objHostSettingClass.CreateInstance(); // Set the properties for the Host objHostSetting["Name"] = HostName; objHostSetting["HostType"] = HostType; objHostSetting["NTGroupName"] = NTGroupName; objHostSetting["AuthTrusted"] = AuthTrusted; // Creating the host objHostSetting.Put(options); System.Console.WriteLine(string.Format("The Host '{0}'has been created successfully", HostName )); } catch(Exception ex) { System.Console.WriteLine("CreateHost - " + HostName + " - failed: " + ex.Message); } }
  • 34. BTSTask  Replaces deprecated BTSDeploy command  No wizard included (use BizTalk Admin Console)  Allows you to:  Add, enumerate, remove, and uninstall BizTalk applications.  Add, list, and remove artefacts from a BizTalk application.  Export and import BizTalk applications from an MSI file.  Export and import binding information from BizTalk binding files.  Command Line Reference: http://msdn.microsoft.com/en-us/library/aa559686.aspx
  • 35. What Can You Do With BTSTask?  Create / modify / delete applications  Deploy assemblies  Browse orchestration artefacts  Bind / enlist / start orchestrations*  Stop / unenlist / unbind orchestrations*  Add / enlist / start send & receive** ports  Stop / unenlist / delete send & receive** ports  Add / remove maps for inbound / outbound transformations**  Enable / disable receive locations** * via processing scripts only **via binding files only
  • 36. Putting It All Together…  Export your bindings / MSI files  Create .NET assembly as an API using ExplorerOM classes (start with sample in SDK)  Create a master batch script that manages the full deployment using:  BTSTask  ExplorerOM assembly  MSIExe  One-click deployment/migration!!
  • 37. Deployments Made Easy…(?)  Scott Colestock’s Deployment Framework for BizTalk http://www.codeplex.com/biztalkdeployment  “…goes far beyond BizTalk’s out-of-the-box deployment functionality”  Includes additional tools to help developers  Integration with Visual Studio, NUnit, Log4Net
  • 39. Summary  BizTalk application deployment is inherently more complex and broader in scope than most other application deployments  Requires understanding of the components and configuration involved:  Database Import vs. Server Installation  Logical Ports (Assemblies) vs. Physical Ports  Hosts vs. Applications  Auxiliary components/artefacts  Out-of-the-box tools can facilitate the process greatly (esp. since BizTalk 2006)  Time spent compiling scripts / deployment classes can save heaps of time and errors later  Potential use of third-party deployment tools
  • 40. References  Best Practices for Deploying a BizTalk Application (TechNet): http://technet.microsoft.com/en-us/library/aa577468.aspx  Structure of a BizTalk Binding File (MSDN): http://msdn.microsoft.com/en-us/library/aa559878.aspx  Customizing Binding Files (TechNet): http://technet.microsoft.com/en-us/library/aa559898.aspx  Using Pre- & Post-Processing Scripts to Customise Application Deployment (TechNet): http://technet.microsoft.com/en-us/library/aa559904.aspx  BTSTask Command Line Reference (MSDN): http://msdn.microsoft.com/en-us/library/aa559686.aspx  ExplorerOM Namespace Documentation (MSDN): http://msdn.microsoft.com/en-us/library/microsoft.biztalk.explorerom.aspx  BizTalk 2006 Recipes: A Problem – Solution Approach Mark Beckner, Benjamin Goeltz, Brandon Gross, Brennan O’Reilly, Stephen Roger, Mark Smith & Alexander West Apress Books, ISBN-13 (pbk): 978-1-59059-711-8  Pro BizTalk 2006: Solutions to Real World Issues for BizTalk Professionals George Dunphy and Ahmed Metwally Apress Books, ISBN-13 (pbk): 978-1-59059-699-9

Notes de l'éditeur

  1. Windows Client App: Limited # of artefacts to deploy Web Client App: Slightly more complex BizTalk (Integration) App: Could be massive in terms of breadth & quantity
  2. Export / Import MSIs & Binding Files Start / Stop and all orchestrations, send ports, receive ports, etc Default application created automatically (BTS 2004 migration) Resources: Scripts, assemblies, BAM definitions, certificates, rules, etc
  3. New BTS Admin Console in 2006 Explorer tree groups by application
  4. Files are easily editable for environment-specific settings Will create receive/send ports Do not create hosts, host instances, handlers
  5. Show a sample file
  6. LIMITATION: 20 pages
  7. LIMITATION: 20 pages
  8. Numerous, tedious steps Very error prone Visual Studio deployment helps with first two, and subsequent
  9. Typical steps when developing a BizTalk solution Bindings are stored in an application folder and re-applied, IF artefacts do not change Watch out for new versions of helper classes!!
  10. Automatically manages dependencies between application-level artefacts Exact corresponding selections in ApplicationStopOption enumeration