Quantcast
Channel: Configuration – SANDRO PEREIRA BIZTALK BLOG
Viewing all 74 articles
Browse latest View live

BizTalk Server 2013 R2: Installation and Configuration – Configure SQL Server Network Configuration protocols (Part 10)

$
0
0

This next posts will focus on installing and configuring BizTalk Server 2013 R2 and additional components

Make sure that you have installed all the latest critical Windows updates from Microsoft and all the prerequisites before you install BizTalk Server 2013 R2.

Configure SQL Server Network Configuration protocols

Under certain stress conditions (such as clients accessing SQL Server from the same computer), the SQL Server Shared Memory protocol may lower BizTalk Server performance. You can resolve this problem by disabling the use of the Shared Memory network protocol in SQL Server Network Configuration. Also, to facilitate transactions between SQL Server and BizTalk Server, you must enable TCP/IP and Named Pipes in SQL Server.

To configure the protocols for SQL Server:

  • Press the “Windows key” to switch to the Start screen, type “SQL Server Configuration Manager” and click in “SQL Server Configuration Manager” option from the Search menu.

74-BizTalk-Server-2013-R2-sql-server-2014-configuration-manager

  • In SQL Server Configuration Manager windows, from the left-hand pane expand “SQL Server Network Configuration” option and then click “Protocols for MSSQLSERVER”
    • Verify that both “TCP/IP” and “Named Pipes” are enabled;
      • If not, right-click in the protocol, and then click “Enable”
      • Repeat to enable the other protocol if necessary.
    • Verify that “Shared Memory” id Disable.
    • If not, right-click Shared Memory, and then click “Disable”

75-BizTalk-Server-2013-R2-SQL-Server-2014-configuration-manager-protocols-for-mssqlserver

  • In the left-hand pane, click “SQL Server Services”, right-click “SQL Server (MSSQLSERVER)”, and then click “Restart”. Or click “Stop” and when the service has stopped, right-click “SQL Server (MSSQLSERVER)” again, and then click “Start”.

76-BizTalk-Server-2013-R2-SQL-Server-2014-configuration-manager-sql-server-services-restart

  • Close SQL Server Configuration Manager.
Related links


BizTalk Server 2013 R2: Installation and Configuration – Validate Mail account used by BizTalk to send BAM Alerts (Part 11)

$
0
0

This next posts will focus on installing and configuring BizTalk Server 2013 R2 and additional components

Make sure that you have installed all the latest critical Windows updates from Microsoft and all the prerequisites before you install BizTalk Server 2013 R2.

Validate Mail account used by BizTalk to send BAM Alerts

After you configure with success BizTalk Server 2013 R2 BAM Alerts, the configurator will create a new Database Mail Account called “BAM_Alerts_Account” that will be used by BizTalk to send BAM Alerts.

To Validate Mail account used by BizTalk to send BAM Alerts:

  • Press the “Windows key” to switch to the Start screen, type “SQL Management” or “SQL” and click in “SQL Server Management Studio” option from the Search menu.
  • In Object Explorer panel, connect to the SQL Server instance you want to configure Database Mail on, and expand the server tree.
  • Expand the “Management” node and double click “Database Mail” to open the Database Mail Configuration Wizard.
  • On the Welcome to Database Mail Configuration Wizard page, click “Next” to continue
  • On the Select Configuration Task page, select “Manage Database Mail accounts and profiles” option and click “Next”

77-BizTalk-Server-2013-R2-Test-BAM-Alerts-Account -manage-profiles-and-accounts-page

  • On the Manage Profiles and Accounts page, select “View, change or delete an existent account” option, and click “Next”

78-BizTalk-Server-2013-R2-Test-BAM-Alerts-Account -manage-profiles-and-accounts-page

  • On the Manage Existent Account page, select “BAM_Alerts_Account” option under “Account name” and validate the configuration. After that click “Next” to make any change or “Cancel” to exit.

79-BizTalk-Server-2013-R2-Test-BAM-Alerts-Account -manage-existent-account-page

  • On the Complete the Wizard page, click “Finish”.

80-BizTalk-Server-2013-R2-Test-BAM-Alerts-Account -manage-existent-account-page

Finally you should test sending an email with this Database Mail Account, to do that:

  • Right-click on Database Mail and select “Send Test E-Mail…”

81-BizTalk-Server-2013-R2-Test-BAM-Alerts-Account-send-test-e-mail

  • On the Send Test E-mail from windows, specify a “To:” email and click “Send Test E-Mail”

81-BizTalk-Server-2013-R2-Test-BAM-Alerts-Account-send-test-e-mail-details

If all goes well you should receive the email in a few seconds. If you have received the email, you have been able to configure Database Mail successfully.

Related links

BizTalk Server 2013 R2: Installation and Configuration – Installing BizTalk Adapter Pack (Part 12)

$
0
0

This next posts will focus on installing and configuring BizTalk Server 2013 R2 and additional components

Make sure that you have installed all the latest critical Windows updates from Microsoft and all the prerequisites before you install BizTalk Server 2013 R2.

BizTalk Adapter Pack

BizTalk Adapter Pack along with BizTalk AppFabric Connect, RFID features, UDDI services and ESB Toolkit are not automatically installed with the default installation process, instead you have to additional install this features.

The Microsoft BizTalk Adapter Pack contains adapters that enable enterprise applications and databases to interface with each other by implementing a common adapter framework. Similar to programming to Web services, adapters enable clients to program to different enterprise applications. Technically, adapters are a binding to Windows Communication Framework (WCF). The BizTalk Adapter Pack consists of the following adapters:

  • Microsoft BizTalk Adapter for Oracle Database (Oracle Database adapter).
  • Microsoft BizTalk Adapter for Oracle E-Business Suite (Oracle E-Business adapter).
  • Microsoft BizTalk Adapter for mySAP Business Suite (SAP adapter). This also includes the .NET Framework Data Provider for mySAP Business Suite (Data Provider for SAP).
  • Microsoft BizTalk Adapter for Siebel eBusiness Applications (Siebel adapter). This also includes the .NET Framework Data Provider for Siebel eBusiness Applications (Data Provider for Siebel).
  • Microsoft BizTalk Adapter for SQL Server (SQL adapter).
Microsoft BizTalk Adapter Pack and Microsoft BizTalk Adapter Pack (x64)

We are preparing a x64 environment machine so why do I need to install both x86 and x64 Microsoft BizTalk Adapter Pack and not only x64 pack?

On any computer where you want to perform design-time tasks using either Visual Studio or BizTalk MMC, you must install the 32-bit adapter because:

  • BizTalk Server Administration console runs as a 32-bit Microsoft Management Console (MMC) application.
  • Visual Studio is also a 32-bit application (and there isn’t any 64-bit version of Visual Studio)

However for BizTalk run time perspective:

  • If you want to run the adapters under a 32-bit BizTalk process (Host Instance): you need to install Microsoft BizTalk Adapter Pack.
  • If you want to run the adapters under a 64-bit BizTalk process (Host Instance): you need to install Microsoft BizTalk Adapter Pack (x64).

So you always have to install Microsoft BizTalk Adapter Pack, or in other cases, you always need to install the 32-bit adapter if you want to perform any operation at design-time, especially, configuring the adapters in the administrative console.

Steps to install BizTalk Adapter Pack

To install BizTalk Adapter Pack:

  • Close any programs you have open. Run the BizTalk Server 2013 R2 installer as Administrator.
  • On the Start page, click “Install Microsoft BizTalk Adapters”

81-BizTalk-Server-2013-R2-install-microsoft-biztalk-adapters-pack

  • In the next Start page, the first step is to install WCF LOB Adapter SDK, select the “Step 1. Install Microsoft WCF LOB Adapter SDK”. An installer of SDK is launched.
    • The WCF LOB Adapter SDK is a collection of a run-time engine and tools that help adapter developers create service-oriented interfaces to existing LOB systems by using WCF. The goal of the SDK is to facilitate uniform development of reusable, metadata-oriented, WCF-based adapters that enable enterprise applications, databases, and messaging platforms to integrate with each other.~

82-BizTalk-Server-2013-R2-Adapter-pack-step-1-install-microsoft-wcf-lob-adapter-sdk

    • On the Welcome to the Windows Communication Foundation LOB adapter SDK Setup Wizard page, click “Next”

83-BizTalk-Server-2013-R2-Adapter-pack-welcome-windows-communication-foundation-lob-adapter-sdk-setup-wizard

    • On the End-User License Agreement page, select “I accept the terms in the License Agreement” to accept the license agreement and click “Next”

84-BizTalk-Server-2013-R2-Adapter-pack-end-user-license-agreement-screen

    • In the Choose Setup Type page, select the installation type “Complete”:
      • Typical: will install the common run time and tools,
      • Custom: will allow you to select the features that you want to install and the installation location.
      • Complete: will install all the features.

85-BizTalk-Server-2013-R2-Adapter-pack-choose-setup-type

    • On the Ready to install WCF LOB adapter SDK page, click “Install”

86-BizTalk-Server-2013-R2-Adapter-pack-ready-install-wcf-lob-adapter-sdk-screen

    • On the Completed the Windows Communication Foundation LOB Adapter SDK Setup Wizard page, click “Finish”

87-BizTalk-Server-2013-R2-Adapter-pack-completed

  • Back to the Start page, the second step is installation of the Adapter Pack (x86), select the “Step 2. Install Microsoft BizTalk Adapter Pack”. An installer of SDK is launched.

88-BizTalk-Server-2013-R2-Adapter-pack-step-2-install-microsoft-biztalk-adapter-pack

    • On the Welcome to the Microsoft BizTalk Adapter Pack Setup Wizard page, click “Next”

89-BizTalk-Server-2013-R2-Adapter-pack-welcome-microsoft-biztalk-adapter-pack-setup-wizard

    • On the End-User License Agreement page, select “I accept the terms in the License Agreement” to accept the license agreement and click “Next”

90-BizTalk-Server-2013-R2-Adapter-pack-end-user-license-agreement

    • In the Choose Setup Type page, select the installation type “Complete”:
      • Typical: will install the common run time and tools,
      • Custom: will allow you to select the features that you want to install and the installation location.
      • Complete: will install all the features.

91-BizTalk-Server-2013-R2-Adapter-pack-choose-setup-type

    • On the Ready to install Microsoft BizTalk Adapter Pack page, click “Install”

92-BizTalk-Server-2013-R2-Adapter-pack-ready-install-microsoft-biztalk-adapter-pack

    • On the Customer Experience Improvement Program page, select if you want to join the customer experience improvement program or not and click “OK”

93-BizTalk-Server-2013-R2-Adapter-pack-customer-experience-improvement-program

    • On the Completed the Microsoft BizTalk Adapter Pack Setup Wizard page, click “Finish”

94-BizTalk-Server-2013-R2-Adapter-pack-completed-microsoft-biztalk-adapter-pack-setup-wizard

  • Back to the Start page, the next step is installing the Microsoft BizTalk Adapter Pack (x64) – note that before you install this pack you have to install x86 first – select the “Step 3. Install Microsoft BizTalk Adapter Pack(x64)”. An installer of SDK is launched.

95-BizTalk-Server-2013-R2-Adapter-pack-step-3-install-microsoft-biztalk-adapter-packx64

    • On the Welcome to the Microsoft BizTalk Adapter Pack(x64) Setup Wizard page, click “Next”

96-BizTalk-Server-2013-R2-Adapter-pack-welcome-microsoft-biztalk-adapter-packx64-setup-wizard

    • On the End-User License Agreement page, select “I accept the terms in the License Agreement” to accept the license agreement and click “Next”

97-BizTalk-Server-2013-R2-Adapter-pack-end-user-license-agreement-screen

    • In the Choose Setup Type page, select the installation type “Complete”:
      • Typical: will install the common run time and tools,
      • Custom: will allow you to select the features that you want to install and the installation location.
      • Complete: will install all the features.

98-BizTalk-Server-2013-R2-Adapter-pack-choose-setup-type

    • On the Ready to install Microsoft BizTalk Adapter Pack(x64) page, click “Install”

99-BizTalk-Server-2013-R2-Adapter-pack-ready-install-microsoft-biztalk-adapter-packx64

    • On the Customer Experience Improvement Program page, select if you want to join the customer experience improvement program or not and click “OK”

100-BizTalk-Server-2013-R2-Adapter-pack-customer-experience-improvement-program

    • On the Completed the Microsoft BizTalk Adapter Pack(x64) Setup Wizard page, click “Finish”

101-BizTalk-Server-2013-R2-Adapter-pack-completed-microsoft-biztalk-adapter-packx64-setup-wizard

  • Back to the Start page, the final step is installing the Microsoft BizTalk Adapters for Enterprise Applications, select the “Step 4. Install Microsoft BizTalk Adapters for Enterprise Applications”. An installer of SDK is launched.

102-BizTalk-Server-2013-R2-Adapter-pack-step-4-install-microsoft-biztalk-adapters-for-enterprise-applications

    • On the Welcome to the Microsoft BizTalk Adapters for Enterprise Applications Setup Wizard page, click “Next”

103-BizTalk-Server-2013-R2-Adapter-pack-welcome-microsoft-biztalk-adapters-for-enterprise-applications-setup-wizard

    • On the End-User License Agreement page, select “I accept the terms in the License Agreement” to accept the license agreement and click “Next”

104-BizTalk-Server-2013-R2-Adapter-pack-end-user-license-agreement

    • In the Customer Information page, type your User Name and Organization and click “Next” to continue.

105-BizTalk-Server-2013-R2-Adapter-pack-customer-information

    • In the Choose Setup Type page, select the installation type “Complete”:
      • Custom: will allow you to select the features that you want to install and the installation location.
      • Complete: will install all the features.

106-BizTalk-Server-2013-R2-Adapter-pack-choose-setup-type

    • On the Choose Destination Location page, choose the folder location that to want to install this features and click “Next”

107-BizTalk-Server-2013-R2-Adapter-pack-choose-destination-location

    • On the Ready to install page, click “Install”

108-BizTalk-Server-2013-R2-Adapter-pack-ready-install

    • On the Completed the Microsoft BizTalk Adapters for Enterprise Applications Setup Wizard page, click “Finish”

109-BizTalk-Server-2013-R2-Adapter-pack-completed-microsoft-biztalk-adapters-for-enterprise-applications

  • Close the Start page, click “Exit”.

110-BizTalk-Server-2013-R2-Adapter-pack-success

Add adapters to BizTalk Administration Console

As it happens with all adapters that we installed on our BizTalk Servers environment, before we can begin to use them we need to register or add the adapters. So in the next step it will be describing how can we add the enterprise adapters, or any other custom adapter, on the BizTalk Administration Console. To accomplish that we need to:

  • Open BizTalk Administration Console by pressing the “Windows key” to switch to the Start screen, type “BizTalk Server Administration” or “BizTalk”, click “BizTalk Server Administration” option from the Search menu
  • In the console left tree, expand “BizTalk Server Administration –> BizTalk Group –> Platform Settings” and then “Adapters”
  • Right-click on “Adapters” and add a new adapter by selecting the option “New –> Adapter”

111-BizTalk-Server-2013-R2-Register-New-Adapter

  • In the “Adapter Properties” window
    • In the Name box, type a descriptive name for this adapter.
      • WC-SQL
    • In the Adapter combo box, select the adapter from the drop-down that you want to add.
      • WCF-SQL
    • In the Description box, type a description for the adapter (this is optional).
      • The WCF SQL Adapter provides access to SQL Database table, views, stored procedures and functions. Polling is also provided, allowing applications to periodically look for data in databases.
    • Click “OK” to complete the process of adding the adapter.

112-BizTalk-Server-2013-R2-Register-New-Adapter

  • Repeat steps to add the other adapters.

112-BizTalk-Server-2013-R2-Register-New-Adapter-2

Note: This configurations requires that you restart the host instance associated with the adapters.

Related links

BizTalk Server 2013 R2: Installation and Configuration – Install and Configure Microsoft UDDI Services (Part 13)

$
0
0

This next posts will focus on installing and configuring BizTalk Server 2013 R2 and additional components

Make sure that you have installed all the latest critical Windows updates from Microsoft and all the prerequisites before you install BizTalk Server 2013 R2.

Install and Configure Microsoft UDDI Services

UDDI Services provides Universal Description, Discovery, and Integration (UDDI) capabilities for sharing information about Web services within an organization’s intranet, between business partners on an extranet, or on the Internet. UDDI Services can help improve the productivity of developers and information technology (IT) professionals with more reliable and manageable applications. With UDDI Services you can prevent duplication of effort by promoting reuse of existing development work.

In a stand-alone installation, all default and optional components are installed on a single server. An instance of SQL Server must be installed before installing UDDI Services. When installing UDDI Services, the local instance of SQL Server is used to host the UDDI Services Database. UDDI Services Web Application and Notification Service are then configured to use the local UDDI Services Database.

To install Microsoft UDDI Services:

  • Close all applications before running setup. Run the BizTalk Server 2013 R2 installer as Administrator.
  • On the Start page, click “Install Microsoft UDDI Services”

120-BizTalk-Server-2013-R2-Microsoft-UDDI-Services

  • On the License Agreement page, select “Yes, I accept the terms in the license agreement” to accept the license agreement and click “Next”

121-BizTalk-Server-2013-R2-Microsoft-UDDI-Services-license-agreement

  • On the Component Installation page:
    • In “Available Components”: select and click from the available components you want to install
    • In “Install To”: specify a location to install UDDI Services components
    • And then click “Next” to continue

122-BizTalk-Server-2013-R2-Microsoft-UDDI-Services-component-installation

  • On the Summary page, review installation details and then click “Install”.

123-BizTalk-Server-2013-R2-Microsoft-UDDI-Services-summary

  • On the Installation Completed page, select “Launch Microsoft UDDI Services Configuration” option and then click “Finish” to start the UDDI Services configuration.

124-BizTalk-Server-2013-R2-Microsoft-UDDI-Services-installation-completed

  • On the Microsoft UDDI Services Configuration page, apply the following configurations and then click “Configure” to continue:
    • Select “Basic configuration” option
    • In the “Database server name” field under “Database” properties, enter the name of the local computer that will hosts the UDDI database.
    • In the “Service credential” properties, type the User name and Password for the account that the UDDI services will run under

125-BizTalk-Server-2013-R2-Microsoft-UDDI-Services-configuration-wizard

    • Note: You may receive a warning if you enter a user name with administrative credentials on this computer. Click “Yes” to continue.

126-BizTalk-Server-2013-R2-Microsoft-UDDI-Services-configuration-warning

  • On the Summary page, review configuration information, and then click “Next”
    • You may receive an warning on the UDDI Services Notification Service, don’t worry, we’ll deal with that later

127-BizTalk-Server-2013-R2-Microsoft-UDDI-Services-summary

  • On the Completed page, review configuration information:
    • If UDDI Services Notification Service is failed, which is the case
      • Select “Launch Custom Configuration” option
    • And then click “Finish”

128-BizTalk-Server-2013-R2-Microsoft-UDDI-Services-completed

  • On the Microsoft BizTalk Server Configuration (UDDI) page, from the left pane, select “UDDI Services Notification Service” option and configure the following settings:
    • Select “Enable UDDI Services Notification Service” option
    • Under “Windows Service”, set the service account under which the UDDI Notification Service runs.
    • Under “SMTP”, type the SMTP server for sending e-mail notifications.
    • Under “E-mail address”, type the address of the e-mail account used for sending e-mail notifications.
    • Under “SMTP Authentication”, specify the type of authentication used when authenticating with the SMTP server.
    • When finish, click “Apply Configuration”

129-BizTalk-Server-2013-R2-Microsoft-UDDI-Services-enable-uddi-services-notification-service

  • On the Summary page, review configuration information, and then click “Next”

130-BizTalk-Server-2013-R2-Microsoft-UDDI-Services-notification-service-summary

  • On the Completed page, review configuration information and then click “Finish”

131-BizTalk-Server-2013-R2-Microsoft-UDDI-Services-notification-service-completed

Verify Your Installation

To verify that Microsoft UDDI Services is installed correctly:

  • Open Internet Explorer and type http://localhost/uddi, and then hit Enter
    • If UDDI Services is installed correctly, you will see the Welcome to Microsoft UDDI Services page.

132-BizTalk-Server-2013-R2-Microsoft-UDDI-Services-browser

Related links

BizTalk Server 2013 R2: Installation and Configuration – Install and Configure the Microsoft BizTalk ESB Toolkit (Part 14)

$
0
0

This next posts will focus on installing and configuring BizTalk Server 2013 R2 and additional components

Make sure that you have installed all the latest critical Windows updates from Microsoft and all the prerequisites before you install BizTalk Server 2013 R2.

Install and Configure the Microsoft BizTalk ESB Toolkit

BizTalk Server includes a powerful publish/subscribe mechanism for messaging applications that works by creating and filling subscriptions, which provides a highly efficient and scalable platform for service-oriented architecture (SOA) applications. The BizTalk ESB Toolkit extends the functionality of BizTalk Server to provide a range of new capabilities focused on building robust, connected, service-oriented applications that incorporate itinerary-based service invocation for lightweight service composition, dynamic resolution of endpoints and maps, Web service and WS-* integration, fault management and reporting, and integration with third-party SOA governance solutions.

The good news is that since BizTalk Server 2013, Microsoft BizTalk ESB Toolkit is integrated with the BizTalk Server setup.

To install the Microsoft BizTalk ESB Toolkit

  • Close any programs you have open. Run the BizTalk Server 2013 R2 installer as Administrator.
  • On the BizTalk Server installation Start page, click “Install Microsoft BizTalk ESB Toolkit”.

133-BizTalk-Server-2013-R2-install-microsoft-biztalk-esb-toolkit

  • On the License Agreement page, select “Yes, I accept the terms of the license agreement” to accept the license agreement and click “Next”

134-BizTalk-Server-2013-R2-BizTalk-ESB-Toolkit-license-agreement

  • On the Component Installation page, select the components you want to install and then click “Next”

135-BizTalk-Server-2013-R2-BizTalk-ESB-Toolkit-component-installation

  • On the Summary page, review installation details and then click “Install”.

136-BizTalk-Server-2013-R2-BizTalk-ESB-Toolkit-summary

  • On the Installation Completed page, click “Finish” to close the installation wizard.

137-BizTalk-Server-2013-R2-BizTalk-ESB-Toolkit-installation-completed

To configure the Microsoft BizTalk ESB Toolkit

  • Press the “Windows key” to switch to the Start screen, type “ESB Configuration tool” or “ESB”, right-click “ESB Configuration tool” option from the Search menu, and then click “Run as Administrator”.
    • Note: You must run the ESB Configuration Tool as an administrator.

138-BizTalk-Server-2013-R2-BizTalk-ESB-Toolkit-esb-configuration-tool

  • In the ESB Configuration Tool page, from the left pane, select “ESB Configuration” and on the right pane:
    • For “Database Server (Defaults)”: specify the database server name where the databases required for BizTalk ESB Toolkit will be created.
    • In the “IIS Web Services (Defaults)” box:
      • Specify the user credentials under which the applications required for BizTalk ESB Toolkit will be created.
      • Also specify the name of the website in IIS under which the applications will be created.
    • The “BizTalk User Groups (Defaults)” box lists the default user groups available for ESB configuration.
      • Leave the default values
      • Important: At this stage, you can click “Apply Configuration” towards the top of the ESB Configuration Tool to configure the Microsoft BizTalk ESB Toolkit with the default settings. However, we will continue to configure the remains steps for a custom configuration.

139-BizTalk-Server-2013-R2-BizTalk-ESB-Toolkit-esb-configuration-tool-wizard

  • From the left pane, expand “Exception Management” and do the following:
    • Click in the “Database” option and on the right pane:
      • Select “Enable Exception Management Database” check box to configure an exception management database.
      • In “Database server name”: specify the database server name where you want to create this database (specify the same database server name that you specify in the ESB Configuration panel under Database Server (Default) option)
      • In “Database name”: leave the default name “EsbExceptionDb”.
      • Leave the default groups

140-BizTalk-Server-2013-R2-BizTalk-ESB-Toolkit-esb-exception-management-database

    • Click on the “Exception Web Services” option from the left pane and on the right pane:
      • Select “Enable Exception Services” check box to configure these services.
      • In “User Account” and “user Account Password”: specify the user account and password under which this services will run.
      • In “BizTalk Isolated Group” – Leave the default value “BizTalk isolated Host Users”
      • In “Website Name”: specify the website where you want to run these services.

141-BizTalk-Server-2013-R2-BizTalk-ESB-Toolkit-esb-exception-management-exception-web-services

  • From the left pane, expand “ESB Core Components”, and do the following:
    • Click the “Itinerary Database” option and on the right pane:
      • Select the “Itinerary Database” check box to configure an itinerary database.
      • In “Database server name”: specify the database server name where you want to create this database (specify the same database server name that you specify in the ESB Configuration panel under Database Server (Default) option)
      • In “Database name”: leave the default name “EsbItineraryDb”.
      • Leave the default groups

142-BizTalk-Server-2013-R2-BizTalk-ESB-Toolkit-esb-esb-core-components-itineray-database

    • Click on the “Core Web Services” option from the left pane and on the right pane:
      • Select the “Enable Core Services” check box to configure these services.
      • In “User Account” and “user Account Password”: specify the user account and password under which this services will run.
      • In “BizTalk Isolated Host Group” – Leave the default value “BizTalk isolated Host Users”
      • In “Website Name”: specify the website where you want to run these services.

143-BizTalk-Server-2013-R2-BizTalk-ESB-Toolkit-esb-esb-core-components-core-web-services

  • From the left pane, click “Configuration” to specify the SSO configuration.
    • If you are installing and configuring the Microsoft BizTalk ESB Toolkit in a single server environment, you should select “File Configuration Source”, which is the default selection. However, if you are setting up a multiple-machine deployment, you must select the “SSO Configuration Source”, and then provide the following values.
      • SSO Server: Name of the SSO server.
      • Configuration file: Click the ellipsis button (…), and then browse to the Esb.config file, which is included in the ​Microsoft BizTalk ESB Toolkit
      • Application Name: Type a name for the SSO application. For example, ESB Toolkit.
      • Contact Information: Type the appropriate contact information in the following format: someone@example.com.
      • Administrator Group Name: Click the ellipsis button (…), and then browse to the appropriate name
      • User Group Name: Click the ellipsis button (…), and then browse to the appropriate name
    • Select “File Configuration Source”

144-BizTalk-Server-2013-R2-BizTalk-ESB-Toolkit-esb-configuration

  • From the left pane, click “ESB BizTalk Applications” option, from the right pane, do the following:
    • Select the “Enable ESB Core Components in BizTalk Server” check box to create the application in the BizTalk Server Administration console.
      • Select the “Use Default Binding” to bind this application to the default host.
      • Optional you can select the “Do not use Default Binding” if you do not want to bind the application to the default host. In such a case, you must explicitly bind the application to a host, once the application is created.
    • Select the “Enable ESB JMS/WMQ Components in BizTalk Server” check box to create the application in the BizTalk Server Administration console.
      • Select the “Use Default Binding” to bind this application to the default host.
      • Optional you select the “Do not use Default Binding” if you do not want to bind the application to the default host. In such a case, you must explicitly bind the application to a host, once the application is created.

145-BizTalk-Server-2013-R2-BizTalk-ESB-Toolkit

  • Click “Apply Configuration” on the top of the ESB Configuration Tool to configure the Microsoft BizTalk ESB Toolkit.
Verify Your Installation

Open IIS and notice that the applications required for Microsoft BizTalk ESB Toolkit are now created under the website you specified.

146-BizTalk-Server-2013-R2-BizTalk-ESB-Toolkit-esb-iis

Open BizTalk Server Administration console and notice that the ESB applications are now installed and present in our console.

147-BizTalk-Server-2013-R2-BizTalk-ESB-Toolkit-esb-esb-biztalk-applications

Install Critical Windows Updates and BizTalk Server Cumulative Update

Once again, after you finish installing all the components, I check and install all Windows update if available and install the latest BizTalk Cumulative Update package and if necessary restart the server (note that this step is not necessary).

However I will like to mention that until this date there isn’t any Cumulative Update for BizTalk Server 2013 R2.

Related links

BizTalk Server 2013 R2: Installation and Configuration – Configure BizTalk Server SQL Jobs (Part 15)

$
0
0

This next posts will focus on installing and configuring BizTalk Server 2013 R2 and additional components

Make sure that you have installed all the latest critical Windows updates from Microsoft and all the prerequisites before you install BizTalk Server 2013 R2.

Configure BizTalk Server SQL Jobs

BizTalk Server databases and their health are very important for a successful BizTalk Server database messaging environment. Although there can be many settings that we can configure, like auto-growth settings for BizTalk Databases (you can learn more here), there are two main things that we must understand and be aware, especially the database administrators:

  • Execution of the BizTalk Server SQL Agent jobs are crucial for managing the BizTalk Server databases and for maintaining optimal performance.
  • The Backup BizTalk Server job is the only supported method to backup the BizTalk Server databases and requires that all of the BizTalk Server databases are configured to use the SQL Server full recovery model.

BizTalk is shipped out with a total of 13 SQL Agent jobs. By default, the following BizTalk jobs aren’t configured and enabled upon installation:

  • Backup BizTalk Server (BizTalkMgmtDb)
  • DTA Purge and Archive (BizTalkDTADb)
  • MessageBox_Message_Cleanup_BizTalkMsgBoxDb

The two jobs that needs configuration are the two most important jobs: the “Backup BizTalk Server” and the “DTA Purge and Archive“. If you want these functionalities you must configure and enabled them.

148-BizTalk-Server-2013-R2-sql-server-agent-jobs

How to configure Backup BizTalk Server (BizTalkMgmtDb)

This is the job provided by Microsoft to do a best practice backup of the BizTalk databases. This job has to be configured for it to be able to run.

This Job consists of four steps:

  • Step 1 – Set Compression Option – Enable or disable compression during backup.
  • Step 2 – BackupFull – Performs full database backups of the BizTalk Server databases.
  • Step 3 – MarkAndBackUpLog – Backs up the BizTalk Server database logs.
  • Step 4 – Clear Backup History – Specifies for how long the backup history is kept.

To configure the Backup BizTalk Server job:

  • Press the “Windows key” to switch to the Start screen, type “SQL Management” or “SQL” and click in “SQL Server Management Studio” option to switch to the Start screen.
  • In Object Explorer panel, connect to the SQL Server instance and expand the server tree.
    • Expand the “SQL Server Agent” node
    • Expand “Jobs” node
  • Double click “Backup BizTalk Server (BizTalkMgmtDb)” to open the job properties window.
  • In the Job Properties – Backup BizTalk Server (BizTalkMgmtDb) dialog box, under “Select a page”, click “Steps”.
  • In the “Job step list”, click in the job you want to edit, and then click “Edit”

149-BizTalk-Server-2013-R2-job-properties-backup-biztalk-server-biztalkmgmtdb

Step 1 – Set Compression Option

Since BizTalk Server 2010, BizTalk Server supports compression for its SQL Server database backups thereby providing some benefits like: less space needed for the backup files, fewer I/O operations for the backup and restore and so on.

This job step calls a stored procedure named sp_SetBackupCompression on the BizTalk management database (BizTalkMgmtDb by default) to set the value on the adm_BackupSettings table.

The original script is:

exec [dbo].[sp_SetBackupCompression] @bCompression = 0 /*0 - Do not use Compression, 1 - Use Compression */

The stored procedure has only one parameter:

  • @bCompression: By default, Set Compression Option is set to 0, which makes backup compression off by default. To change the default, change Set Compression Option to 1.

Change the script to:

exec [dbo].[sp_SetBackupCompression] @bCompression = 1 /*0 - Do not use Compression, 1 - Use Compression */
Step 2 – BackupFull

The BackupFull step is responsible for performing a full backup of the database.

The original script is:

exec [dbo].[sp_BackupAllFull_Schedule] 'd' /* Frequency */, 'BTS' /* Name */, '<destination path>' /* location of backup files */

Where:

  • Frequency: The default is d (daily). This is the recommended setting. Other values include h (hourly), w (weekly), m (monthly), or y (yearly).
  • Name: The default is BTS. The name is used as part of the backup file name.
  • Location of backup files: Replace ‘<destination path>’ with the full path (the path must include the single quotes) to the computer and folder where you want to back up the BizTalk Server databases.

There are also three optional parameters:

  • Force full backup after partial backup failures (@ForceFullBackupAfterPartialSetFailure): The default is 0 when not specified, which means that if a log backup fails, no full backups are done until the next full backup frequency interval is reached.
    • Replace with 1 if you want a full backup to be made whenever a log backup failure occurs.
  • Local time hour for the backup process to run (@BackupHour): The default is NULL when not specified, which means that backup job will not be associated with the time zone of the BizTalk Server computer and will run at midnight UTC time (0000).
    • If you want to backup to run at a particular hour in the time zone of the BizTalk Server computer, specify an integer value from 0 (midnight) to 23 (11 PM) as the local time hour for the BackupHour parameter.
  • Use local time (@UseLocalTime): This is an extra parameter that you can also add that tells the procedure to use local time. The default value is 0.
    • If set to 0, then it uses current UTC time – GETUTCDATE() – 2007-05-04 01:34:11.933
    • If set to 1, then it uses local time – GETDATE() – 2007-05-03 18:34:11.933

Change the script to:

exec [dbo].[sp_BackupAllFull_Schedule] 'd' /* Frequency */, 'BTS' /* Name */, '<your_destination_path>\BizTalk Database\Full' /* location of backup files */
Step 3 – MarkAndBackUpLog

The MarkAndBackupLog step is responsible for marking the logs for backup, and then backing them up.

The original script is:

exec [dbo].[sp_MarkAll] 'BTS' /*  Log mark name */, '<destination path>' /* location of backup files */

Where:

  • @MarkName: Log mark name is part of the naming convention for backup files:
    • <Server Name>_<Database Name>_Log_< Log Mark Name >_<Timestamp>
  • @BackupPath: You must change the destination path this to a valid one. It may be local or a UNC path to another server.

There is also one optional parameter:

  • @UseLocalTime: This is an extra parameter that you can also add that tells the procedure to use local time
    • exec [dbo].[sp_MarkAll] 'BTS' /* Log mark name */,'<destination path>'  /*location of backup files */ , 1
      

Change the script to:

exec [dbo].[sp_MarkAll] 'BTS' /* Log mark name */, '< your_destination_path>\BizTalk Database\Logs' /* location of backup files */
Step 4 – Clear Backup History

The Clear Backup History step is responsible for perform a cleanup of the backup history according for how long a backup should be kept.

The original script clear out the instances in the MarkLog table older than 14 days:

exec [dbo].[sp_DeleteBackupHistory] @DaysToKeep=14

Where:

  • @DaysToKeep: specifies how long the backup history is kept in the Adm_BackupHistory table. Periodically clearing the backup history helps to maintain the Adm_BackupHistory table at an appropriate size.
    • The default value for the DaysToKeep parameter is 14 days.

There is also one optional parameter:

  • @UseLocalTime: This is an extra parameter that you can also add that tells the procedure to use local time
    • exec [dbo].[sp_DeleteBackupHistory] @DaysToKeep=14 , @UseLocalTime =1
      

In this particular case I like to leave the default settings.

Important Note: This job step does not provide functionality for deleting backup files that have accumulated over time. You can solve this problem by implementing you custom sp_DeleteBackupHistory or by creating a Maintenance Plan to delete BizTalk Database Backups files (see more details in BizTalk Server 2013 R2: Installation and Configuration – Optimize the BizTalk Server 2013 R2 environment (Part 17))

After properly configure, to enable the Backup BizTalk Server job:

  • Under “Jobs” in SQL Server Management Studio Object Explorer, Right click in the name of the job “Backup BizTalk Server (BizTalkMgmtDb)” and select “Enable” option.

150--BizTalk-Server-2013-R2-enable-backup-biztalk-server-biztalkmgmtdb

  • In the result screen, click “Close”.

151-BizTalk-Server-2013-R2-enable-backup-biztalk-server-biztalkmgmtdb-result-screen

How to configure DTA Purge and Archive (BizTalkDTADb)

This job automates the archiving of tracked messages and the purging of the BizTalk Tracking database to maintain a healthy system and to keep the tracking data archived for future use.

And it’s configured to call the stored procedure dtasp_BackupAndPurgeTrackingDatabase, which uses the six parameters you must configure in this job:

  • @nLiveHours: Any completed instance older than the (live hours) + (live days) will be deleted along with all associated data. Default is 0 hours.
  • @nLiveDays: Any completed instance older than the (live hours) + (live days) will be deleted along with all associated data. Default interval is 1 day.
  • @nHardDeleteDays: All data (even if incomplete) older than this will be deleted. The time interval specified for HardDeleteDays should be greater than the live window of data. The live window of data is the interval of time for which you want to maintain tracking data in the BizTalk Tracking (BizTalkDTADb) database. Anything older than this interval is eligible to be archived at the next archive and then purged. Default is 30 days.
  • @nvcFolder: Folder in which to put the backup files.
  • @nvcValidatingServer: Server on which validation will be done. NULL value indicates no validation is being done. Default is NULL.
  • @fForceBackup: Default is 0. This is reserved for future use.

To configure the DTA Purge and Archive job:

  • Start by running the “SQL Server Management Studio”, if it is not already open, press the “Windows key” to switch to the Start screen, type “SQL Management” or “SQL” and click in “SQL Server Management Studio” option from the Search menu.
  • In Object Explorer panel, connect to the SQL Server instance and expand the server tree.
    • Expand the “SQL Server Agent” node
    • Expand “Jobs” node
  • Double click “DTA Purge and Archive (BizTalkDTADb)” to open the job properties window.
  • In the Job Properties – DTA Purge and Archive (BizTalkDTADb) dialog box, under “Select a page”, click “Steps”.
  • In the “Job step list”, click Archive and Purge, and then click Edit.

152-BizTalk-Server-2013-R2-job-properties-dta-purge-and-archive-biztalkdtadb

The original script after installing BizTalk looks like this:

exec dtasp_BackupAndPurgeTrackingDatabase
0, --@nLiveHours tinyint, --Any completed instance older than the live hours +live days
1, --@nLiveDays tinyint = 0, --will be deleted along with all associated data
30, --@nHardDeleteDays tinyint = 0, --all data older than this will be deleted.
null, --@nvcFolder nvarchar(1024) = null, --folder for backup files
null, --@nvcValidatingServer sysname = null,
0 --@fForceBackup int = 0 --

This means that:

  • Any completed instance that is older than the live days plus live hours will be deleted, as will any associated data.
  • Any data older than the HardDeleteDays will be deleted.

Normally I use these configurations for production environments:

exec dtasp_BackupAndPurgeTrackingDatabase 0, 10, 20, '<destination path>', null, 0

However in a development machine we don’t need to maintain the archived tracking data, so I just purge it periodically. BizTalk gives you the option to Archive and Purge the tracking data or just simple purge the data without archiving:

  • Change the SQL Statement inside “DTA Purge and Achieve” SQL Job to
declare @dtLastBackup datetime set @dtLastBackup = GetUTCDate() exec dtasp_PurgeTrackingDatabase 1, 0, 7, @dtLastBackup

After properly configure, to enable the Backup BizTalk Server job:

  • Under “Jobs” in SQL Server Management Studio Object Explorer, Right click in the name of the job “DTA Purge and Archive (BizTalkDTADb)” and select “Enable” option.
  • In the result screen, click “Close”.
MessageBox_Message_Cleanup_BizTalkMsgBoxDb

This job removes all messages that are not referenced by any subscribers in the BizTalkMsgBoxDb database tables.

Important Note: This job is also started by the MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb job. Therefore, we recommend that you disable this job.

Related links

BizTalk Server 2013 R2: Installation and Configuration – Optimize the BizTalk Server 2013 R2 environment (Part 16)

$
0
0

This next posts will focus on optimizing some BizTalk Server 2013 R2 configurations. The following recommendations can be used to increase BizTalk Server performance or just to make the platform more resilient to failures. The optimizations listed in this topic are applied after BizTalk Server has been installed and configured.

Deleting BizTalk backup files

BizTalk Server database databases and their health are very important for a successful BizTalk Server database messaging environment. BizTalk is shipped out with a total of 13 SQL Agent jobs. By default, the following BizTalk jobs aren’t configured and enabled upon installation and the two jobs that needs configuration are the two most important jobs: the “Backup BizTalk Server” and the “DTA Purge and Archive“. This is nothing new and everybody knows!

However what many times we forget is that this two jobs, by default, don’t provide functionalities for deleting backup files that have accumulated over time on our file system and we normally forget to create a “process” or a “job” to accomplish this until is too late. The result of that is… lots of times we just remember when the disks are full and everything stop to work!

You can solve this problem by implementing you custom sp_DeleteBackupHistory or by creating a Maintenance Plan to delete BizTalk Database Backups files.

Implementing a custom sp_DeleteBackupHistory

To implement a custom sp_DeleteBackupHistory you need to:

· Start SQL Server Management Studio, and then connect to the BizTalk Management Database. By default, this database is named BizTalkMgmtDb.

· Click New Query to open a Query Editor window.

· Run the following Transact-SQL script to create the sp_DeleteBackupHistoryAndFiles stored procedure:

CREATE PROCEDURE [dbo].[sp_DeleteBackupHistoryAndFiles] @DaysToKeep smallint = null
AS
BEGIN
   set nocount on
   IF @DaysToKeep IS NULL OR @DaysToKeep <= 1
      RETURN
   /* Only delete full sets
   If a set spans a day in such a way that some items fall into the deleted group and the other does not, do not delete the set */
   DECLARE DeleteBackupFiles CURSOR
   FOR SELECT 'del "' + [BackupFileLocation] + '\' + [BackupFileName] + '"' FROM [adm_BackupHistory]
   WHERE  datediff(dd, [BackupDateTime], getdate()) >= @DaysToKeep
   AND [BackupSetId] NOT IN (SELECT [BackupSetId] FROM [dbo].[adm_BackupHistory] [h2] WHERE [h2].[BackupSetId] = [BackupSetId] AND datediff(dd, [h2].[BackupDateTime], getdate()) < @DaysToKeep)
   DECLARE @cmd varchar(400)
   OPEN DeleteBackupFiles
   FETCH NEXT FROM DeleteBackupFiles INTO @cmd
   WHILE (@@fetch_status <> -1)
   BEGIN
      IF (@@fetch_status <> -2)
      BEGIN
         EXEC master.dbo.xp_cmdshell @cmd, NO_OUTPUT
         delete from [adm_BackupHistory] WHERE CURRENT OF DeleteBackupFiles
         print @cmd
      END
      FETCH NEXT FROM DeleteBackupFiles INTO @cmd
   END
   CLOSE DeleteBackupFiles
   DEALLOCATE DeleteBackupFiles
END
GO

· Change the “Clear Backup History” step of the Backup BizTalk Server job so that it calls the sp_DeleteBackupHistoryAndFiles stored procedure instead of the sp_DeleteBackupHistory stored procedure.

However I personally don’t like this approach for two main reasons:

· I avoid to change the scripts of BizTalk standard jobs

· And I also believe that this approach is very limited and doesn’t allow the flexibility that we all want.

Instead I really prefer to take advantage of all features that SQL gives me and create a maintenance plan with a Cleanup task to remove this files.

Implementing a Maintenance Plan to clean BizTalk Database backup’s files

Maintenance Plans allows DBA’s to have flexibility to create a workflow to execute several tasks required to make sure that database are optimized, regularly backed up, and free of inconsistencies. However almost all of these tasks are warranted by the existing BizTalk jobs and I will not use them. The only thing we need is to create a task to clean BizTalk Database backup’s files from our file system.

The main advantage of this approach is that will allow us more flexibility for further changes and we can also use them to other backup’s that we have.

Note: You should ensure that SQL Server Agent service is running because the maintenance plans depend on the Microsoft SQL Server Agent in order to run on a regular basis.

Important Note: this example is created to run in a developer machine, so if you are implementing this approach in production environments make sure to keep the backups for the time you see that fit your requirements or make sure the backups are save in an external storage before you delete this files from the file system.

To create the maintenance check the following post: How to create a Maintenance Plan to delete BizTalk Database Backups files

Pre-allocate space and define auto-growth settings for BizTalk Server databases

By default BizTalk Server databases are defined with small files size and with the parameter “Autogrowth” set to:

  • Increase by 1 MB for database file
  • And by 10% for log file

So what’s the problem with these settings?

Auto growth setting plays an important role in BizTalk configuration for performance reasons, why?

SQL Server database auto-growth is a blocking operation which hinders BizTalk Server database performance. When SQL Server increases the size of a file, it must first initialize the new space before it can be used. This is a blocking operation that involves filling the new space with empty pages.

Therefore it’s recommended to:

  • Set this value (databases auto-growth) to a fixed value of megabytes instead of to a percentage, so SQL server doesn’t waste is resources expanding the data and log files during heavy processing. This is especially true for the MessageBox and Tracking (DTA) databases:
    • In a high throughput BizTalk Server environment, the MessageBox and Tracking databases can significantly increase. If auto-growth is set to a percentage, then auto-growth will be substantial as well.
    • As a guideline for auto-growth, for large files increment should be no larger than 100 MB, for medium-sized files 10 MB, or for small files 1 MB.
    • This should be done so that, if auto-growth occurs, it does so in a measured fashion. This reduces the likelihood of excessive database growth.
  • Also allocate sufficient space for the BizTalk Server databases in advance to minimize the occurrence of database auto-growth.

To define auto-growth and Pre-allocate space for BizTalk Server databases check the following post: Pre-allocate space and define auto-growth settings for BizTalk Server databases

Configure BizTalk Server Windows Services

By default, the “Startup type” propriety of BizTalk Windows Services, Enterprise Single Sign-On Service, Microsoft UDDI Notification Service and the BAMAlerts service are set as “Automatic”, however some of this Windows Services may not start automatically after a system restart, to avoid this behavior you must configure the “Startup type” to “Automatic (Delayed Start)” option in this services:

  • BAMAlerts
  • Microsoft UDDI Notification Service
  • Rule Engine Update Service

The previous version of BizTalk Server also had this problem for:

  • Enterprise Single Sign-On Service
  • BizTalk Service BizTalk Group : BizTalkServerApplication Service

153-BizTalk-Server-2013-R2-Services-automatic

Despite being configured as “Automatic“, the Recovery properties are configured properly to restart the service after failures.

154-BizTalk-Server-2013-R2-Services

To proper configure the BizTalk Services, “Enterprise Single Sign-On Service”, “BAMAlerts” and “Microsoft UDDI Notification Service” Windows service:

  • Press the “Windows key” to switch to the Start screen, type “Services” and click in “View local services” option rom the Search menu.

153-BizTalk-Server-2013-R2-Services-search-menu

  • In the Services window, on the Services (Local) panel select the service for example “BAMAlerts”, right click and select “Properties” option.

153-BizTalk-Server-2013-R2-Services-BamAlerts

  • On the BAMAlerts Properties (Local Computer) window:
    • On the General tab apply the following configuration.
      • Startup type: “Automatic (Delayed Start)”

153-BizTalk-Server-2013-R2-Services-Bam-Alerts-automatic-delay

    • On the Recovery tab, apply the following configuration:
      • First failure: “Restart the Service”
      • Second failure: “Restart the Service”
      • Subsequent failures: “Restart the Service”
      • Reset fail count after … day: 1
      • Restart service after … minutes: 1

153-BizTalk-Server-2013-R2-Services-Bam-Alerts-recovery

    • Click “OK” to apply the changes and close the window
  • Repeat the steps for the other services.

You could and should apply the same Recovery properties configurations for the SQL Server services:

  • SQL Full-text Filter Daemon Launcher
  • SQL Server
  • SQL Server Agent
  • SQL Server Analysis Services
  • SQL Server Browser
  • SQL Server Integration Services 12.0
  • SQL Server Reporting Services
  • SQL Server VSS Writer

By default they are configure as “Take No Action”

171-BizTalk-Server-2013-R2-SQL-Services

And should be configured as:

  • Startup type: “Automatic”
  • and First, Second and Subsequent failures: “Restart the Service”

172-BizTalk-Server-2013-R2-SQL-Services

Install and configure BizTalk Health Monitor V2

BizTalk Health Monitor is a snap-in, basically it’s the same of BizTalk MsgBoxViewer tool that we used monitor a BizTalk environment by gathering all information of a BizTalk group and detecting any issues, non-critical or critical warnings to detect any potential problems in advance, but in this case is integrated more closely with the BizTalk Administration Console to provide BizTalk administrators a quick and complete dashboard of a BizTalk group which will help them monitor the health of their BizTalk platform.

You can download the standalone version of BHM from Microsoft Download Center here: BizTalk Health Monitor

Prerequisites:

  • BizTalk Server 2010, 2013 or 2013 R2 should be installed and configured.

To install and configure BizTalk Health Monitor V2 check the following post: Installing the new BizTalk Health Monitor snap-in on Biztalk Server 2010 or BizTalk Server 2013

Related links

BizTalk Server 2013 R2: Installation and Configuration – Optimize the BizTalk Server 2013 R2 environment (Part 17)

$
0
0

This next posts will focus on optimizing some BizTalk Server 2013 R2 configurations. The following recommendations can be used to increase BizTalk Server performance or just to make the platform more resilient to failures. The optimizations listed in this topic are applied after BizTalk Server has been installed and configured.

Install SSO Configuration Application MMC Snap-In

BizTalk Server leverages the Enterprise Single Sign-On (SSO) capabilities for securely storing critical information such as secure configuration properties (for example, the proxy user ID, and proxy password) for the BizTalk adapters. Therefore, BizTalk Server requires SSO to work properly. BizTalk Server automatically installs SSO on every computer where you install the BizTalk Server runtime.

But it also can keep your own application configuration data in SSO database, let say the usual configurations that we normally keep in a configuration file (“app.config”)). One of the great and useful tool that we normally use for archiving this is a custom tool original created by Richard Seroter, the: SSO Config Data Store Tool.

However since 2009 that Microsoft released a MMC snap-in to tackle this exact issue: SSO Configuration Application MMC Snap-In provides the ability to add and manage applications, add and manage key value pairs in the SSO database, as well as import and export configuration applications so that they can be deployed to different environment.

To install SSO Configuration Application MMC Snap-In you need to:

  • Unzip the SSOConfigurationMMCSnapIn.zip file available in Microsoft page.
  • This file is composed by three zip files, so after unzip the first file you should unzip also the SSOMMCSnapInSetup.zip file.
  • Run as Administrator the setup.exe or SSOMMCSnapInSetup.msi file
  • In the Welcome to the SSO Application Configuration Setup Wizard page, click “Next”

155-BizTalk-Server-2013-R2-SSO-App-Snapin

  • In the Select Installation Folder page:
    • Accept the default installation folder or set another one
    • In the “Install SSO Application for yourself, or for anyone who uses this computer” option, select “Everyone”
    • And click “Next”

156-BizTalk-Server-2013-R2-SSO-App-Snapin

  • In the Enter Company Name page, enter the name of your company and click “Next”

157-BizTalk-Server-2013-R2-SSO-App-Snapin

  • In the Confirm Installation page, click “Next” to install the SSO Application Configuration MMC Snap-In

158-BizTalk-Server-2013-R2-SSO-App-Snapin

  • In the installation Complete page, click “Close”

159-BizTalk-Server-2013-R2-SSO-App-Snapin

However unfortunately this tool will not work properly in BizTalk Server 2013 R2, at least running in Windows Server 2012 R2. At the first sight it seems that everything is working properly but when you try to create a key value pair you will see that nothing happens and no key is created:

160-BizTalk-Server-2013-R2-SSO-App-Snapin

To fix this issue I recompile the SSOMMCSnapIn.dll using the latest version of “Microsoft.EnterpriseSingleSignOn.Interop.dll” available with BizTalk Server 2013 R2 that you can download at Microsoft TechNet Gallery: BizTalk Server 2013 R2: Fix for SSO Configuration Application MMC Snap-In

To solve the issue you just need to overlap the existing SSOMMCSnapIn.dll file, normally present in "C:\Program Files\Common Files\Enterprise Single Sign-On" folder with this version of the file. Now if you try to add a new key value pair everything will work fine.

161-BizTalk-Server-2013-R2-SSO-App-Snapin

Configure BizTalk Jobs History (Microsoft SQL Server Agent job history log)

Have you ever notice that you never have present a log history of the Monitor BizTalk Server job?

170-BizTalk-Server-2013-R2-BizTalk-Jobs-History

The reason why this happens is that BizTalk Server is shipped out with a total of 13 SQL Agent jobs, most of them running each minute, the only exception is the Monitor BizTalk Server job that by default occurs every week on Sunday at 00:00:00.

And to be completely honest there are two problems present:

  • We rarely inspect our environment in the weekend, only in critical situations or customers that have a 25x 7 administration team.
  • By default the Microsoft SQL Server Agent job history log is configure to
    • “Limit size of job history log” with a maximum of 1000 rows
    • And “Maximum job history row per job” with 100 rows

168-BizTalk-Server-2013-R2-BizTalk-Jobs-History

Which means that a few minutes after the Monitor BizTalk Server job run successfully or unsuccessfully, it’s historic is overwritten with the row log historical of the remaining 12 jobs. Therefore never expected to have this historic job on Monday when you arrive to the office.

Because BizTalk Server has 13 Jobs to keep a decent and consistent job history log you should increase the “Limit size of job history log” according to the number of existing jobs in your environment, for example at least 1300 for BizTalk Server environment (100 for each job)

To resize the job history log based on raw size

  • In Object Explorer, connect to an instance of the SQL Server Database Engine, and then expand that instance.
  • Right-click SQL Server Agent, and then click Properties.
  • Select the History page, and then confirm that Limit size of job history logis checked.
  • In the Maximum job history log size box, enter the maximum number of rows the job history log should allow.
  • In the Maximum job history rows per job box, enter the maximum number of job history rows to allow for a job.

169-BizTalk-Server-2013-R2-BizTalk-Jobs-History

To resize the job history log based on time

  • In Object Explorer, connect to an instance of the SQL Server Database Engine, and then expand that instance.
  • Right-click SQL Server Agent, and then click Properties.
  • Select the History page, and then click Automatically remove agent history.
  • Select the appropriate number of Days(s), Week(s), or Month(s).

Force Full Backup BizTalk Server (BizTalkMgmtDb) job

I will not enter in much details in this steep, you can read more about it in my blog at: A different way to Force a Full Backup of the BizTalk Server databases.

The standard way is to use the “BizTalkMgmtDb.dbo.sp_ForceFullBackup” stored procedure. However, and unlike what many people think, this stored procedure does not perform a full backup it only marks internally on BizTalk Server databases that the next time the Backup BizTalk Server job runs it will need to perform a full backup of the data and log files. You really need to be aware of two important things:

  • The Backup BizTalk Server job is the only supported method for backing up the BizTalk Server databases. Use of SQL Server jobs to back up the BizTalk Server databases in a production environment is not supported.
  • You can use the SQL Server methods to backup the BizTalk Server databases only if the SQL Server service is stopped and if all BizTalk Server processes are stopped.

Alternative, to help one of my DBA teams you may create a custom Force Full Backup BizTalk Server job that is composed by two steps:

  • Step 1: Force Full Backup
    • That will call the “BizTalkMgmtDb.dbo.sp_ForceFullBackup” stored procedure
  • Step 2: Backup BizTalk Server
    • That will call the standard Backup BizTalk Server (BizTalkMgmtDb) job

1723-BizTalk-Server-2013-R2-Force-Full-Backup-BizTalk-Server-job

You can download the custom “Force Full Backup BizTalk Server (BizTalkMgmtDb)” Job from Microsoft | TechNet Gallery: Force Full Backup BizTalk Server (BizTalkMgmtDb) Job

Related links


BizTalk Server 2013 R2: Installation and Configuration – Optimize the BizTalk Server 2013 R2 environment (Part 18)

$
0
0

This next posts will focus on optimizing some BizTalk Server 2013 R2 configurations. The following recommendations can be used to increase BizTalk Server performance or just to make the platform more resilient to failures. The optimizations listed in this topic are applied after BizTalk Server has been installed and configured.

Configure host and Host instances

One of the task that we need to do in all our new BizTalk environment over and over again is creating and configuring the Host, Host Instances and of course the adapter handlers.

BizTalk Server provides great flexibility for addressing high availability, because you can strategically dedicate logical hosts to run specific areas of functionality such as receiving messages, sending messages or processing orchestrations.
By default the BizTalk configuration will create two BizTalk Host and Host Instances:

  • BizTalkServerApplication: This is the default Host and Host Instance created during configuration that will do all the work on the BizTalk Server, i.e. is the default send and receive handler for all installed adapters (other than HTTP, WCF (BasicHttp, CustomIsolated, WebHttp and WSHttp) and SOAP Receive Handlers), and is also used for processing orchestration and tracking.

BizTalk-Server-2013-R2-BizTalkServerApplication-Host

  • BizTalkServerIsolatedHost: The logical container for HTTP, WCF (BasicHttp, CustomIsolated, WebHttp and WSHttp) and SOAP Receive Handlers.

BizTalk-Server-2013-R2-BizTalkServerIsolatedHost-Host

Although a single BizTalk Host can contain items that receive, send, and process messages, it is considered a best practice to create different hosts for each function to create security boundaries and for easier management and scalability. In particular, we recommend that you use different hosts for processing and for receive/send operations, and that you separate trusted and non-trusted items.

As the official documentation specify, in addition to the high availability aspects of the host instance configuration, you should separate sending, receiving, processing, and tracking functionality into multiple hosts. This provides flexibility when configuring the workload in your BizTalk group and is the primary means of distributing processing across a BizTalk group.

This also allows you to stop one host without affecting other hosts. For example, you may want to stop sending messages to let them queue up in the MessageBox database, while still allowing the inbound receiving of messages to occur.

Separating host instances by functionality also provides some of the following benefits:

  • Each host instance has its own set of resources such as memory, handles, and threads in the .NET thread pool.
  • Multiple BizTalk Hosts will also reduce contention on the MessageBox database host queue tables since each host is assigned its own work queue tables in the MessageBox database.
  • Throttling is implemented in BizTalk Server at the host level. This allows you to set different throttling characteristics for each host.
  • Security is implemented at the host level; each host runs under a discrete Windows identity.

However this also may bring some potential drawbacks if too many host instances are created because each host instance is a Windows service (BTSNTSvc.exe or BTSNTSvc64.exe), which generates additional load against the MessageBox database and consumes computer resources (such as CPU, memory, threads), so you need to be careful.

The following figure will provide you with a general overview of the relationship between servers, hosts and host instances, however is not intended to be the best practices. This architecture will depend from many factors and will change from client to client:

BizTalk-Server-2013-R2-Host-and-Host-Instances

Normally we read that we need to create at least 4 host instances:

  • Sending
  • Receiving
  • Processing
  • And tracking

but that’s not absolutely true because, at least since BizTalk Server is supported in 64 bits, we typically use 64-bits versions and in this case we also need to create at least one Host Instance that will run on 32-bits because FTP adapter, SQL adapter, POP3 adapter and MIME Decoder on 64-bit host instances is not supported by the product (http://technet.microsoft.com/en-us/library/aa560166.aspx)

We can define that one of the best practices for hosts and host instances is the following:

  • BizTalkServerTrackingHost: A BizTalk Host that hosts tracking is responsible for moving the DTA and BAM tracking data from the MessageBox database to the BizTalk Tracking (DTA) and BAM Primary Import databases.
  • BizTalkServerReceiveHost: This host will be responsible for processing messages after they are picked up in a receive location.
  • BizTalkServerReceive32Host: has the same goal as the previous however this must have the “32-bits only” option select so that we can run the 23-bits adapters.
  • BizTalkServerSendHost: This host will be responsible for processing messages before they are sent out to the send port.
  • BizTalkServerSend32Host: has the same goal as the previous however this must have the “32-bits only” option select so that we can run the 32-bits adapters.
  • BizTalkServerApplication: This host will be responsible for process messages based on the instructions in orchestrations that need to run in 32-bits.
  • BizTalkServerApplication64Host:This host will be responsible for process messages based on the instructions in all or most common orchestrations.

Note: You can create other Application Host if you want to separate process base in some application logic.

You can read more about this topic in more details in my previous post: PowerShell to Configure BizTalk Server Host and Host Instances according to some of the Best Practices or in TechNet Wiki: BizTalk Server Best Practices: Create and Configure BizTalk Server Host and Host Instances.

You can find a simple script to configure Host, Host Instance and Adapter Handlers described earlier in this post optimized for BizTalk Server 2013 R2 (and also 2013) in TechNet Gallery:

Power Mode

The different performance states are dynamically managed by Windows in conjunction with hardware and platform firmware to respond to varying workload requirements. The 3 default power plans exposed by Windows provide varying tradeoffs of performance vs. power consumption. For example, if the High Performance power plan is selected, Windows places the system in the highest performance state and disables the dynamic scaling of performance in response to varying workload levels. Therefore, special care should be taken before setting the power plan to High Performance as this can increase power consumption unnecessarily when the system is underutilized.

In some cases you may experience degraded overall performance on a machine when running with the default (Balanced) power plan. The issue may occur irrespective of platform and may be exhibited on both native and virtual environments. The degraded performance may increase the average response time for some tasks and cause performance issues with CPU-intensive applications

To change a power plan:

  • Press the “Windows key” to switch to the Start screen and type “Power Options” and click in “Power Options” option from the Search menu.

Windows-Server-2012-R2-Power-Options-Menu

  • From the power plan page, choose the High Performance option

Windows-Server-2012-R2-Power-Options-High-Performance

  • Close the Power Option window.

 

Consider setting the ‘text in row’ table option to boost BizTalk Server Performance

SQL Server provides a table option called text in row to declare that the contents of the fields of type text, ntext, or image data whose dimensions are smaller than those of a data page (8Kb) must be stored in a data row. By setting this option on BizTalkMsgBoxDb tables (Parts table, Spool table and DynamicStateInfo Tables), you can increase message throughput when working with small messages which have a small context and orchestrations that have a small persistence size. This makes reading and writing the in-row strings about as fast as reading or writing limited size varchar, nvarchar, or varbinary strings. Similarly, when the values are stored off-row, the Database Engine incurs an additional page read or write.

How to exploit the Text in Row table option in BizTalk Server

The following section explains how and when applying the text in row table option to boost BizTalk performance.

  • Parts Table: When the message size is smaller than the dimensions of a data page that are of 8kb, applying the text in row table option on the Parts table can lead to BizTalk Server performance improvement.
  • Spool Table: When the average size of the message context is less than 8 kb, enabling the text in row table option on the Spool table helps you reduce the number of accesses when reading messages from the MessageBox along with their context. To apply this option to the Spool table, you must eliminate unnecessary context properties and distinguished fields to reduce the size of the message context lower than 8 Kb.
  • DynamicStateInfo Tables: These tables, one for each host, contain a field of type image called imgData that contains binary-serialized orchestration state when they encounter a persistence point during their execution. When the internal state of orchestrations within a host HostA is so small that its size once serialized is less than 8 kb, the text in row technique can successfully be applied to the DynamicStateInfo_HostA table. Therefore we recommend that you keep the internal state of orchestrations as small as possible. This technique can significantly reduce the time that is spent by the XLANG Engine to serialize, persist, de-serialize and restore the internal state of an orchestration in case of persistence point.

See more about this topic in the following resources:

You can use the following settings sample that in your environment:

  • EXEC sp_tableoption N’Spool’, ‘text in row’, ‘6000’
  • EXEC sp_tableoption N’Parts’, ‘text in row’, ‘6000’
Related links

BizTalk Server 2013 R2: Installation and Configuration – Install additional Developer tools (Part 19)

$
0
0

This part of the article will focus on the installation of additional useful tools to help you develop your BizTalk Server projects. The goal here is not to address all the tools available instead I will address only the most important ones that may have direct impact on the efficiency of your developments, because there are a number of tools that can aid you as BizTalk developer, which you can find on Codeplex or Microsoft Download Center, that are not offered out of the box by BizTalk Server like WCF Publishing Wizard and so on.

Install BizTalk NoS Addin for Visual Studio 2013

Although the current available version for download at Visual Studio Gallery has not been developed and not be “officially” supported for Visual Studio 2013/BizTalk Server 2013 R2 it can be installed and used without problems in this new environment conjugation: Visual Studio 2013 and BizTalk Server 2013 R2 with a small workaround.

What is BTSG NoS Addin purpose?

The purpose of BTSG NoS addin is to help all BizTalk Developer, why not, all BizTalk Administrator too in a lot of different situations, by improving the developer experience and why not reduce the development time in new or existent BizTalk projects.

It will provide several functionalities like quick search inside artifact, fast register/unregister in GAC, find critical, internal or external dependencies… and many fore functionalities like JackHammering, which will compare your VS artifact with the artifact deployed in BizTalk environment, you can also extract the artifact (Orchestration, map, schema and so on) from BizTalk environment and put it in the VS solution or even test your pipeline in VS simply… several features that are usefully in our day by day work and a time saver in a lot of situations.

How can I install BTSG NoS Addin for Visual Studio 2013

Because the current version of the Addin in not officially supported for Visual Studio 2013, you cannot install it through “Extensions and Updates” option from Visual Studio, instead you need to:

You can install BTSG NoS Addin directly from Visual Studio “Extensions and Updates” option. For that you must:

  • Download the BizTalk NoS Addin from Visual Studio Gallery: BizTalk NoS Addin
  • Execute “BTSGSetup.exe” file with administration writes by, right-click on the file and select “Run as administrator” option.

160-BizTalk-Server-2013-R2-BizTalk-NoS-Addin-Install

  • On the Welcome to the BTSG NoS Addin Installer Setup page, click “Next” to continue

160-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

  • On the End-User License Agreement page, accept the terms by selecting the “I accept the terms of this License Agreement” option and click “Next” to continue.

161-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

  • On the Destination Folder page, set the destination folder and click “Next” to continue

162-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

  • On the Ready to install BTSG NoS Addin page, click “Install” to start the installation process.

163-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

  • On the Completed the BTSG NoS Addin Installer Setup page, click “Finish” to complete the installation of the Addin.

164-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

Add-In Registration for Visual Studio 2013 (Workaround)

Visual Studio add-ins are deprecated in Visual Studio 2013. You should upgrade your add-ins to VSPackage extensions. For BizTalk NoS Addin to work in Visual Studio 2013 we need to implement the following workaround:

  • When Visual Studio starts, it looks in the .addin file location (\Documents\Visual Studio 2013\Addins\) for any available .addin files
    • For example: C:\Users\Administrator\Documents\Visual Studio 2013
  • Because BizTalk NoS Addin is meant to work with Visual Studio 2012 you should go to
    • For example: C:\Users\Administrator\Documents\Visual Studio 2012
    • You will find in this location an “Addins” folder containing “BTSG NoS” addin file

165-BizTalk-Server-2013-R2-BizTalk-NoS-Addin-Visual-Studio-folder

  • Copy the “Addins” folder to Visual Studio 2013 .addin file location
    • For example: C:\Users\Administrator\Documents\Visual Studio 2013
  • Go to “Addins” folder:
    • For example: C:\Users\Administrator\Documents\Visual Studio 2013\Addins
    • And edit the file ADDIN File.AddIn in notepad and change the <HostApplication> element with the following data:
<HostApplication>
   <Name>Microsoft Visual Studio</Name>
   <Version>12.0</Version>
</HostApplication>
  • Save and close the file.
To load BTSG NoS Addin into Visual Studio 2013
  • Open a BizTalk Server Visual Studio Project and on the Tools menu, click Add-In Manager.

165-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

  • In the Add-in Manager window, select the add-in from the Available Add-ins column list and then click “OK”.

166-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

Back to your BizTalk project, right click in your BizTalk solution or in one of your BizTalk artifacts and you can see the new options provided by BTSG NoS Addin:

167-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

You can find all the documentation about this addin in:

Or in my posts:

 

Install BizTalk Server Pipeline Component Wizard

The Pipeline Component Wizard is intended to ease to development of pipeline components used within a BizTalk Server environment. Supports both C# and VB.NET. The following resources can be used to download the tool, find guidance in usage and background information:

 

Install BizTalk Server Functoids Project Wizard

BizTalk MapperExtensions Functoid Wizard is a Custom Functoid Project Wizard for Visual Studio 2010. It allows you to create new Functoids project for BizTalk Server 2010 without having to create manually the project. Supports both C# and VB.NET.

The following resources can be used to download the tool, find guidance in usage and background information:

  • Available soon
Related links

BizTalk Server 2013/2013 R2: Step-by-Step WCF-SAP Adapter installation guide

$
0
0

There is a lot of inconsistent and incorrect information about the BizTalk SAP Adapter (or in this case WCF-SAP Adapter) installation process and how it works – It is normal to see comments that the adapter only runs on 32-bit, or to see indications that we have to copy DLLs to two different places (System32 and SysWOW64) but which ones?

I hope with this step-by-step installation guide to clarify a bit and document a little better this task.

So, one of the key question that we need to clarify is: Does the WCF-SAP adapter runs under 64-bit Host Instance?

And the correct response to this question is: Yes, it does! The SAP adapter supports both the 32-bit and the 64-bit versions of the SAP RFC SDK, so it can run under 32 or 64-bit Host Instances.

The second important question that we need to clarify is that: Documentation specifies that we need to add the 32-bit version of the client DLLs for the SAP adapter to C:\Windows\SysWow64 folder and the 64-bit version of the DLLs must be added to C:\Windows\System32 folder, but what this means? Do need to add the same DLL in two different folders?

Indeed, the documentation is correct and we need to add both 32 and 64-bit to different folder in our system… but this are different DLL and no the same ones – so if you only have one SDK resource, for example the SAP RFC SDK 32-bit, you just need to add this into one of the folders, copy for both places doesn’t make any difference because the adapter will only run in this case under a 32-bit Host Instance.

For each SAP Client version (6.4, 7.0 and so on) there are two SAP RFC SDK one for 32-bit and one for 64-bit and you need to download and install both… just like the BizTalk Server Adapter Pack.

There are SAP UNICODE and NON-UNICODE, so witch version of the SAP RFC SDK should I download?

The SAP adapter requires Unicode version of the RFC SDK irrespective of whether the SAP system is Unicode or non-Unicode.

Official documentation states that only the following SAP server versions are supported:

  • SAP 7.2, SAP 7.0, SAP ERP 6.0 with EHP 4.0, SAP ECC 6.0 Unicode

However earlier version, which were mentioned in previous versions of the documentation, are also supported:

  • SAP ECC 5.0 Non-Unicode, SAP ECC 5.0 Unicode, SAP R/3 4.7 Non-Unicode, SAP R/3 4.7 Unicode, SAP R/3 4.6c Non-Unicode, SAP ERP 6.0 with EHP 4.0

Also official documentation states that the only supported client version is the SAP RFC SDK 7.2 UNICODE – I always recommend to use the latest version… however, once again, as previous versions of the documentation mentioned, these client versions are also supported:

  • SAP client 6.4 version: SAP RFC SDK 6.40 UNICODE
  • SAP client 7.0 version: SAP RFC SDK 7.00 UNICODE
  • SAP client 7.1 version: SAP RFC SDK 7.10 UNICODE
  • SAP client 7.11 version: SAP RFC SDK 7.11 UNICODE

I’m not a SAP expert but I think that all depends if the SAP client version is supported in your SAP System version. For example, in one BizTalk Server 2013 R2 environment I have the SAP client 7.2 version installed and in another one, a BizTalk Server 2013, I have the 7.0 and both are working fine.

And finally: Can I install only the 64-bit version?

No, you can’t and for the exact same reason that we need to install both version of the BizTalk Server Adapter Pack: Visual Studio and BizTalk Administration console are 32-bit applications, so in order to configure the adapter in runtime (Receive Locations or Send Ports that will be using the SAP Adapter) or to use it to generate the schemas in the development phase you always need to have installed the 32-bit version of the SAP RFC SDK.

The 64-bit version of the SAP RFC SDK is optional, but, if you have a 64-bit BizTalk environment and you want to run it under 64-bit Host Instance, then you need to also install both versions of the SAP RFC SDK.

Download Prerequisites

As happen with other LOB adapters (like Oracle for example), installing the BizTalk Adapter pack is not enough and you will need the addition resources that will be specify bellow.

Download SAP Resources from SAP Service Marketplace

You need to obtain a few resources from the SAP Service Marketplace in order to properly install WCF-SAP adapter:

  • SAP RFC SDK <version> UNICODE 32-bit
  • SAP RFC SDK <version> UNICODE 64-bit
  • R3DLLINST.zip containing Microsoft run-time DLLs
  • SAPCAR – SAPCAR is a compress utility (similar to WinZip, tar and so on), that is used by SAP to compress and decompress nearly all delivered files

Unfortunately, SAP Service Marketplace is restricted, so if you like to benefit from the content and services offered in the different portals of the SAP Service Marketplace, you need to request your personal User ID otherwise you need to ask your client or your SAP team to give you this resources.

In additional to the links above you may also find useful to give these two SAP notes to your client or SAP team:

Unlike R3DLLINST.zip, that is a unique resource, on the SAP Service Marketplace portal SAP RFC SDK page you will find several resources and we must understand exactly what we need, in this case for example purposes, I’m using the SAP RFC SDK 7.20 page:

SAP-Service-Marketplace-portal-SAP-RFC-SDK-7.20

Depending in the SAP client version you want to install this may change a little, but it is practically the same for the other versions, as you can see in the case of SAP RFC SDK 7.00 page

SAP-Service-Marketplace-portal-SAP-RFC-SDK

What you need to download is the:

  • Windows Server on IA32 32bit” –> this is the SAP RFC SDK 7.00 UNICODE 32-bit
  • And the “Windows on x64bit” –> SAP RFC SDK 7.00 UNICODE 64-bit

You also need to download SAPCAR to extract (unzip) the SAP resources, I think you may found this resource at service.sap.com/patches under:

  • Download, Support Packages and Patches, Entry by Application Group, Additional Components and then SAPCAR

SAP-Service-Marketplace-portal-SAPCAR

Extract SAP Resources

Once we have downloaded all this SAP resources, we need to use the SAPCAR to extract the SAP resources, in this case (SAP RFC SDK 7.20):

  • “RFC_12-10009744.SAR” is the 64-bit SDK that we want to extract to “rfcsdk 64” folder
  • “RFC_12-100097446.SAR” is the 32-bit SDK that we want to extract to “rfcsdk 32” folder

BizTalk-Server-SAP-Software-resources

To accomplished that we need to:

  • Open a command line prompt
  • Change our directory to the location where we saved the “SAPCAR.exe” and execute the following command to extract the the SAR archive:
    • SAPCAR.exe -xfv “RFC_12-10009744.SAR”
      • This will create a folder call “rfcsdk”, rename that to “rfcsdk 64”

Extract-SAR-archive-with-SAPCAR

    • SAPCAR.exe -xfv “RFC_12-10009746.SAR”
      • This will create a folder call “rfcsdk”, rename that to “rfcsdk 32”

The final step regarding to SAP Resource is to unzip the “r3dllinst.zip” file using for example an open source Windows utility for manipulating archives like 7-Zip.

Download Microsoft Visual C++ 2005 SP1 Redistributable Package

Microsoft Visual C++ run-time DLLs, again both 32 and 64-bit are required for SAP 7.11 client or higher. This resources are available from download in the following links:

download-Microsoft-Visual-C  _2005_SP1_Redistributable_Package

download-Microsoft-Visual-C  _2005_SP1_Redistributable_Package-files

Step-by-Step WCF-SAP Adapter installation guide

The first thing you need to make sure that you have installed already is both 32 and 64-bit versions of the Microsoft BizTalk Adapter Pack.

  • The Microsoft BizTalk Adapter Pack contains adapters that enable enterprise applications and databases to interface with each other by implementing a common adapter framework. Similar to programming to Web services, adapters enable clients to program to different enterprise applications. Technically, adapters are a binding to Windows Communication Framework (WCF). The BizTalk Adapter Pack consists of the following adapters:
    • Microsoft BizTalk Adapter for Oracle Database (Oracle Database adapter).
    • Microsoft BizTalk Adapter for Oracle E-Business Suite (Oracle E-Business adapter).
    • Microsoft BizTalk Adapter for mySAP Business Suite (SAP adapter). This also includes the .NET Framework Data Provider for mySAP Business Suite (Data Provider for SAP).
    • Microsoft BizTalk Adapter for Siebel eBusiness Applications (Siebel adapter). This also includes the .NET Framework Data Provider for Siebel eBusiness Applications (Data Provider for Siebel).
    • Microsoft BizTalk Adapter for SQL Server (SQL adapter).
  • Find more about the BizTalk Adapter Pack installation process in the following articles:

Notice that, at this point, if you try to create a receive or send port using the WCF-SAP adapter you will get the following error:

Exception has been thrown by the target of an invocation. (mscorlib)
Could not load file or assembly ‘Microsoft.Adapters.SAP.SAPGInvoker.dll’ or one of its dependencies. The specified module could not be found. (Microsoft.Adapters.SAP)

Could-not-load-file-assembly-Microsoft.Adapters.SAP.SAPGInvoker.dll

This is because we need the SAP resources required to run the adapter are not install (or are i installed incorrectly).

So, now that we have install the Microsoft BizTalk Adapter Pack, we need to install the SAP Resources that we previous download in our BizTalk Server machine:

  • Open the “rfcsdk 64” folder containing the SAP RFC SDK 7.20 UNICODE 64-bit and access to the lib folder
    • “C:\SAP Resources\rfcsdk 64\lib”

SAP-rfcsdk-7.2-64-bit-lib-Resources

  • Install the SAP RFC SDK 64-bit DLLs by coping (or drag) them to the “System32” folder in your system “Windows” folder
    • “C:\Windows\System32”:

SAP-rfcsdk-7.2-64-bit-lib-Resources-Installation

  • And now we need to do the a similar process to the Open the SAP RFC SDK 7.20 UNICODE 32-bit
  • For that you need to open the “rfcsdk 32” folder containing the SAP RFC SDK 7.20 UNICODE 32-bit and access to the lib folder
    • “C:\SAP Resources\rfcsdk 32\lib”

SAP-rfcsdk-7.2-32-bit-lib-Resources

  • Install the SAP RFC SDK 32-bit DLLs by coping (or drag) them to the “SysWOW64” folder in your system “Windows” folder
    • “C:\Windows\SysWOW64”:

SAP-rfcsdk-7.2-32-bit-lib-Resources-Installation

  • Open the “r3dllinst\ ntpatch” folder containing the content of “r3dllinst.zip” file, ,and we need to execute the “R3DLLINS.EXE” tool, in order to install the SAP R/3 DLLs (Microsoft run-time DLLs):
    • msvcr71.dll
    • msvcp71.dll
    • mfc71.dll
    • mfc71u.dll

install-SAP-r3dllinst-R3DLLINS

  • The tool specifies that the DLLs were installed under “C:\Windows\System32” folder, however because I’m using a 64-bit environment instead they were installed in “c:\Windows\SysWOW64” folder

install-SAP-r3dllinst-R3DLLINS-SysWOW64

    • You should check if DLL are present in “C:\Windows\System32”, if they are not I advise you to:
      • Leave them in the ” c:\Windows\SysWOW64” folder
      • And, just to be sure, copy the same four DLLs to “C:\Windows\System32” folder

install-SAP-r3dllinst-R3DLLINS-windows-folder

  • And finally we also need to installed Microsoft Visual C++ 2005 SP1 Redistributable Package – 32-bit and 64-bit – containing the Visual C++ run-time DLLs required for SAP 7.20 (or 7.11) client:
    • Install the Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) – 32-bit – by executing the “Vcredist_x86.exe” file that we previous download
      • On the Microsoft Visual C++ 2005 SP1 Redistributable Package window, click “Yes”

Microsoft-Visual-C  -2005-SP1-Redistributable-Package-x86

    • Do the same steps to install the Microsoft Visual C++ 2005 SP1 Redistributable Package (x64) – 64-bit – by executing the “Vcredist_x64.exe” file that we previous download
      • On the Microsoft Visual C++ 2005 SP1 Redistributable Package window, click “Yes”
Add adapters to BizTalk Administration Console

As it happens with all adapters that we installed on our BizTalk Servers environment, before we can begin to use them we need to register or add the adapters. So in the next step it will be describing how can we add the enterprise adapters, or any other custom adapter, on the BizTalk Administration Console. To accomplish that we need to:

  • Open BizTalk Administration Console by pressing the “Windows key” to switch to the Start screen, type “BizTalk Server Administration” or “BizTalk”, click “BizTalk Server Administration” option from the Search menu
  • In the console left tree, expand “BizTalk Server Administration –> BizTalk Group –> Platform Settings” and then “Adapters”
  • Right-click on “Adapters” and add a new adapter by selecting the option “New –> Adapter”

BizTalk-Administration-Console-Register-WCF-SAP-adapter-add-new

  • In the “Adapter Properties” window
    • In the Name box, type a descriptive name for this adapter.
      • WCF-SAP
    • In the Adapter combo box, select the adapter from the drop-down that you want to add.
      • WCF-SAP
    • In the Description box, type a description for the adapter (this is optional).
      • The WCF-SAP adapter provides a rich metadata layer on top of SAP that enables the consumption of RFCs and enables seamless BAPI and IDOC exchange in an interoperable manner. The SAP adapter exposes the SAP system as a WCF service to client applications.

BizTalk-Administration-Console-Register-WCF-SAP-adapter

    • Click “OK” to complete the process of adding the adapter.
      • We will receive a warning message saying that we need to restart the Host Instances
      • Click “Ok”, we will deal with it in a moment

BizTalk-Administration-Console-Register-WCF-SAP-adapter-warning-message

  • Now we need to create other send and receive adapter handlers for the WCF-SAP Adapter, to accomplished that we need to:
  • Expanded the adapter list, right-click the “WCF-SAP” adapter, point to New, and then:
    • click “Send Handler to create a send handler”
    • Or click “Receive Handler” to create a receive handler.

BizTalk-Administration-Console-Register-WCF-SAP-adapter-add-receive-send-handlers

Notice: that by default the adapter already have one Receive and one Send handler that are associated to the default Host Instance – normally the “BizTalkServerApplication” Host Instance

  • Add two send handler using Dedicated Send Hosts
    • One running under 32-bit: BizTalkServerSend32Host
    • One running under 64-bit: BizTalkServerSendHost
  • Add two receive handler using Dedicated Receive Hosts
    • One running under 32-bit: BizTalkServerSend32Host
    • One running under 64-bit: BizTalkServerSendHost
  • Delete the default handlers that use the “BizTalkServerApplication” Host (in my case it was “BizTalkServerApplication64Host”)

BizTalk-Administration-Console-Register-WCF-SAP-adapter-handler-configuration

Note: Now more about Create and Configure BizTalk Server Host and Host Instances in my TechNet Wiki article: BizTalk Server Best Practices: Create and Configure BizTalk Server Host and Host Instances

  • Finally we just need to restart our BizTalk Server Host Instances, for that you need to:
    • Expand the BizTalk group, click “Platform Settings”, and then click “Host Instances”.
    • In the details pane, right-click the host instance you want to start, and then click “Start”.

BizTalk-Administration-Console-restart-host-instances-final-step

Validate if the WCF-SAP adapter is properly installed

To do a preliminary test you to your WCF-SAP Adapter installation you can create a new receive port:

  • Right-click “Receive Ports”, point to “New”, and click “One-way Receive Port”

SAP-validation-add-new-receive-port

  • Just leave the default name and click on the “Receive Locations” tab and then click “New”.

SAP-validation-add-new-receive-location

  • In the Receive Location Properties dialog box, do the following:
    • From the Type drop-down list, select the “WCF-SAP” adapter you added earlier, and then click “Configure”.

SAP-validation-add-new-receive-port-configure-receive-location

If you were able to access the WCF-SAP Transport Properties window and the URI SAP configuration windows, this is half way thru and a good indication that the adapter is properly configured in your environment

WCF-SAP-Transport Properties-adn-URI-Windows

Of course now you need to actually test it against your SAP environment to see if you actually can receive or send messages from or to SAP System.


Installing BizTalk Server 2013 R2 in a Basic Multi-Computer Environment (User Guide)

$
0
0

Finally, something that many community members have been requesting me to publish is here! I already made this manual several months ago, however, for several reasons (speaking engagements, publishing other content and so on) I have been delaying its publication. But I have offered this same guide to all my customers.

There are many things to consider when planning this type of installation, often the network infrastructure already exists and BizTalk Server must coexist with other network applications.

Installing BizTalk Server 2013 R2 in a Basic Multi-Computer Environment (User Guide) is a 145 pages detailed installation document that explains how to install, configure and optimize Microsoft BizTalk Server 2013 R2 on a basic multi-computer running Windows Server 2012 R2. This information will help you to plan the installation and configuration of BizTalk Server 2013 R2, applications and components on which it depends.

Contents                                      
  1. BizTalk Server Installation scenario.
  2. The need for a Domain Controller – Windows Groups and Service Accounts.
    1. Create Domain Groups and Users.
    2. Planning the use of a new Organizational Unit.
    3. Windows Groups Used In BizTalk Server.
    4. IIS_WPG and IIS_IUSRS Group.
    5. User and Service Accounts Used In BizTalk Server.
    6. Summary of users and Groups Affiliation.
    7. SQL Server Service Accounts.
    8. References.
  3. Preparing Computers for Installation – Important considerations before set up the servers.
    1. Change the Machine name.
    2. Join the Local Administrators Group.
    3. The user running the BizTalk Server configuration must belong…
    4. Install Critical Windows Updates.
    5. Disable IPv6 (optional).
    6. Turn off Internet Explorer Enhanced Security Configuration (optional).
    7. Disable User Account Control (optional).
    8. Turn Windows Firewall off (optional).
    9. Configure Microsoft Distributed Transaction Coordinator (MS DTC).
    10. COM+ Network Access considerations.
  4. Preparing and Install SQL Server 2014 machine.
    1. Important considerations before set up the servers.
    2. Install SQL Server 2014.
    3. Configure SQL Server Database Mail feature.
    4. Install Service Pack 1 for Microsoft SQL Server 2014.
    5. Configure SQL Server for Remote Connections.
    6. Configured SQL Server protocols – Disable the Shared Memory Protocol, Enable TCP/IP and Named Pipes.
    7. Configure SQL Server Database Engine to listen on a specific TCP Port (optional).
    8. Configure SQL Analysis Server to listen on a specific TCP Port (optional).
    9. Configuring Microsoft Distributed Transaction Coordinator (DTC) to work through a firewall or network address translation firewalls (optional).
    10. List of ports between BizTalk Server and SQL Server (optional).
    11. Configure Firewall on SQL Server machine (optional).
      1. Inbound Rules.
      2. Outbound Rules.
  5. Preparing and install prerequisites on BizTalk Server 2013 R2 machine.
    1. Important considerations before set up the servers.
    2. Enable Internet Information Services.
    3. Running the BAM Portal in a 64-bit Environment.
    4. Install Windows Identity Foundation (WIF) (optional).
    5. Install Microsoft Office Excel 2013 (optional).
    6. Install Visual Studio 2013 (optional).
    7. Remove Microsoft SQL Server Express.
    8. SQL Server Considerations.
    9. Install SQL Server 2014 Client Tools.
    10. Create SQL Alias to communicate with remote SQL Server using Non-Standard Port (optional).
    11. List of ports between SQL Server and BizTalk Server (optional).
    12. Configure Firewall on BizTalk Server machine.
      1. Inbound Rules.
      2. Outbound Rules.
  6. Testing environment connectivity’s.
    1. TCPView.
    2. DTCPing.
    3. DTCTester.
    4. SQL Server 2014 Client Tools.
  7. Install and configure BizTalk Server 2013 R2 machine.
    1. Install BizTalk Server 2013 R2.
      1. Verify Your Installation.
    2. Configure BizTalk Server.
      1. Pin BizTalk Server Administration to taskbar.
    3. Validate Mail account used by BizTalk to send BAM Alerts.
    4. Install BizTalk Adapter Pack.
      1. Microsoft BizTalk Adapter Pack and Microsoft BizTalk Adapter Pack (x64).
      2. Steps to install BizTalk Adapter Pack.
      3. Add adapters to BizTalk Administration Console.
    5. Install Critical Windows Updates and BizTalk Server Cumulative Update Package.
    6. Configure BizTalk Server SQL Jobs.
      1. How to configure Backup BizTalk Server (BizTalkMgmtDb).
      2. How to configure DTA Purge and Archive (BizTalkDTADb).
      3. MessageBox_Message_Cleanup_BizTalkMsgBoxDb.
  8. Optimize the BizTalk Server 2013 R2 environment
    1. Deleting BizTalk backup files.
      1. Implementing a custom sp_DeleteBackupHistory.
      2. Implementing a Maintenance Plan to clean BizTalk Database backup’s files.
    2. Pre-allocate space and define auto-growth settings for BizTalk Server databases. 112
    3. Configure BizTalk Server Windows Services.
    4. Install and configure BizTalk Health Monitor.
      1. How to register BizTalk Health Monitor Snap-In.
      2. How to integrate BHM Snap-In into BizTalk Admin Console
    5. Install SSO Configuration Application MMC Snap-In
    6. Configure BizTalk Jobs History (Microsoft SQL Server Agent job history log).
      1. To resize the job history log based on raw size.
    7. Force Full Backup BizTalk Server (BizTalkMgmtDb) job.
    8. Managing and cleaning BizTalk Server MarkLog database tables.
    9. Configure host and Host instances.
      1. What’s is Host, Host Instances and Adapter Handlers?.
      2. Best practices to Configuring Hosts and Host Instances.
      3. How can I automate this task?.
    10. Power Mode.
    11. Consider setting the ‘text in row’ table option to boost BizTalk Server Performance.
      1. How to exploit the Text in Row table option in BizTalk Server.
    12. General network TCP settings that can impact BizTalk Server
      1. How to Disable the Scalable Networking Pack (SNP) features
      2. How to Disable Privilege Attribute Certificate (PAC)
      3. How to Check and if necessary increase the ephemeral ports and reduce the TCP re-use timeout setting

download-whitepaper

If you are interest to see other version check the following posts:


BizTalk DevOps: How to configure Default Dynamic Send Port Handlers with PowerShell

$
0
0

As happens almost every year on this day (my birthday), I always try to write a post for the BizTalk community… something like a gift/present to the community… today will be automate the task of configuring default Dynamic Send ports handlers using PowerShell.

Since BizTalk Server 2013 we have available a new feature: Configurable Dynamic Send Port Handler. Which means that, when we are creating a Dynamic Send Port, an adapter Send Handler can be configurable for every installed adapter, by default it uses the default send handler associated in each adapter. This Includes both One-Way and Solicit-Response Dynamic Ports.

Note that in previous BizTalk versions, a dynamic send port uses the adapter’s default host, and we cannot change this behavior.

However, this new features also brings us some setbacks, special for BizTalk Administrators, for example:

  • When we are installing a new environment, if we install the EDI features, this will add a dynamic port call “ResendPort” (don’t need to describe the propose of this port) and the default send handler for each adapter will be the “BizTalkServerApplication”;
    • If we create different or dedicated host and host instances for each functionality, for example a host instance for receive, send, process (orchestrations), tracking and so on; of course then we need to associate them as a specific handler of each adapter (receive or send handler) and if we want to delete the “BizTalkServerApplication” as a send handler for each adapter… we can’t, we first need to:
      • Manually reconfigure the default Dynamic Send port handlers for each dynamic port first, configuring them with the new default send handler;
      • and then manually delete the “BizTalkServerApplication” as a send handler for each adapter;
  • The same happens when we install a new adapter. By default, it assumes the default host in the group as the default send handler of the adapter and in consequence the default send handler associated with this adapter in the existing dynamic send ports. Which means that once again we need to manually reconfigure the send handler in all the existing dynamic send ports for this new adapter;
  • And so on;

All of these tasks are time consuming, and to be fair, they are a little boring to do after we know how to do it manually;

So how can we automate tasks? and reuse them whenever necessary and at the same time saving significant time for other tasks?

Using PowerShell is a good option. Windows PowerShell is a Windows command-line shell designed especially for system administrators and can be used by BizTalk administrators to help them in automating repetitive tasks or tasks that are time consuming to perform manually.

This is a simple script that allows you to configure the default send handlers associated with all the existing Dynamic Send ports in your environment:

[string] $sendHost32bits = "BizTalkServerSend32Host"
[string] $sendHost64bits = "BizTalkServerSendHost"

$catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer
$catalog.ConnectionString = "SERVER=$bizTalkDbServer;DATABASE=$bizTalkDbName;Integrated Security=SSPI"

foreach($sendPort in $catalog.SendPorts)
{
    if($sendPort.IsDynamic -eq' True')
    {
        # A Dynamic send port was found so now we need to configure the send handler as desired
        # 64 bits adapters
        # Changing the default send handlers of the dynamic port
        $sendPort.SetSendHandler("FILE", $sendHost64bits)
        $sendPort.SetSendHandler("HTTP", $sendHost64bits)
        $sendPort.SetSendHandler("MQSeries", $sendHost64bits)
        $sendPort.SetSendHandler("MSMQ", $sendHost64bits)
        $sendPort.SetSendHandler("SB-Messaging", $sendHost64bits)
        $sendPort.SetSendHandler("SFTP", $sendHost64bits)
        $sendPort.SetSendHandler("SOAP", $sendHost64bits)
        $sendPort.SetSendHandler("WCF-BasicHttp", $sendHost64bits)
        $sendPort.SetSendHandler("WCF-BasicHttpRelay", $sendHost64bits)
        $sendPort.SetSendHandler("WCF-Custom", $sendHost64bits)
        $sendPort.SetSendHandler("WCF-NetMsmq", $sendHost64bits)
        $sendPort.SetSendHandler("WCF-NetNamedPipe", $sendHost64bits)
        $sendPort.SetSendHandler("WCF-NetTcp", $sendHost64bits)
        $sendPort.SetSendHandler("WCF-NetTcpRelay", $sendHost64bits)
        $sendPort.SetSendHandler("WCF-SQL", $sendHost64bits)
        $sendPort.SetSendHandler("WCF-WebHttp", $sendHost64bits)
        $sendPort.SetSendHandler("WCF-WSHttp", $sendHost64bits)
        $sendPort.SetSendHandler("Windows SharePoint Services", $sendHost64bits)

        # 32 bits adapters
        # SMTP Supports 64 bits but I want to run in 32 because of the MIME/SMIME Encoder
        $sendPort.SetSendHandler("FTP", $sendHost32bits)
        $sendPort.SetSendHandler("SMTP", $sendHost32bits)
        $sendPort.SetSendHandler("SQL", $sendHost32bits)
    }
}

$catalog.SaveChanges()

Prerequisites for this script: The host, host instances and send handlers needs to be already configured in your environment before you run the script;

THIS POWERSHELL IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND.

The full script can be found and download on Microsoft TechNet Gallery:
PowerShell to configure Default Dynamic Send Port Handlers for each Adapter (3.0 KB)
Microsoft TechNet Gallery


BizTalk DevOps: How to configure Receive Handlers from existing Receive locations with PowerShell

$
0
0

Following the topic from my previous post, when we are configuring/optimizing a new environment, if some features are installed like EDI features or RosettaNet Accelerator, if we create different or dedicated host and host instances for each functionality, for example a host instance for receive, send, process (orchestrations), tracking and so on; of course then we need to associate them as a specific handler of each adapter (receive or send handler) and if we want to delete the “BizTalkServerApplication” as a receive handler from each adapter… we can’t!

This happens because, at least, both EDI and RosettaNet will create during the installation some Receive Ports:

  • BatchControlMessageRecvPort with a receive location BatchControlMessageRecvLoc using SQL Adapter
  • ResendReceivePort with a receive location ResendReceiveLocation using SQL Adapter
  • LOB_To_PrivateInitiator with a receive location LOB_To_PrivateInitiator using SQL Adapter
  • LOB_To_PrivateResponder with a receive location LOB_To_PrivateResponder using SQL Adapter

And all these ports, by default during the installation, are configured with the only existing Receive handler available at the time: “BizTalkServerApplication”.

To accomplish the task of deleting “BizTalkServerApplication” as a receive handler of each adapter, we need to do basically the same steps described in my last post:

  • Manually reconfigure the Receive handler for each the existing receive location first, configuring them with the new Receive Handler;
  • and then manually delete the “BizTalkServerApplication” as a Receive handler for each adapter;

This task can be more normal to happen on the first time we configure/optimize the environment – day one of the BizTalk Server – but can be more critical if you reach to an existing environment, already containing several BizTalk Applications running, that is not configured according to best practices in terms of host and host instances.

Once again, all of these tasks are time consuming, and to be fair… again…, they are a little boring to do after we know how to do it manually;

So how can we automate tasks? and reuse them whenever necessary and at the same time saving significant time for other tasks?

Using PowerShell is a good option J. Windows PowerShell is a Windows command-line shell designed especially for system administrators and can be used by BizTalk administrators to help them in automating repetitive tasks or tasks that are time consuming to perform manually.

This is a simple script that allows you to configure the receive handlers associated with all the existing Receive Ports in your environment that are using the SQL Adapter, but this can be easily changed to cover all the Receive Locations independently of the configured adapter:

$catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer
$catalog.ConnectionString = "SERVER=$bizTalkDbServer;DATABASE=$bizTalkDbName;Integrated Security=SSPI"

foreach($receivePort in $catalog.ReceivePorts)
{
    # For each receive location in your environment
    foreach($recLocation in $receivePort.ReceiveLocations)
    {
        # In this case I want only Receive location that are using SQL Adapter
        if($recLocation.ReceiveHandler.TransportType.Name -eq 'SQL')
        {
            # Let's look for receive handlers associated with SQL Adapter
            foreach ($handler in $catalog.ReceiveHandlers)
            {
                # if is a SQL Adapter Receive Handler
                if ($handler.TransportType.Name -eq "SQL")
                {
                    # And is not BizTalkServerApplication, then configure that as the handler of the receive location
                    # Note: that in this case we will configure as a Receive Handler of the Receive location, the first
                    #       receive handler that we find that is not the "BizTalkServerApplication"
                    #       because the goal is to delete this handler
                    if($handler.Name -ne 'BizTalkServerApplication')
                    {
                        $recLocation.ReceiveHandler = $handler
                        break
                    }
                }
            }
        }
    }
}
$catalog.SaveChanges()

Prerequisites for this script: The host, host instances and Receive handlers needs to be already configured in your environment before you run the script;

THIS POWERSHELL IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND.

The full script can be found and download on Microsoft TechNet Gallery:
PowerShell to Configure Receive Handlers from existing Receive locations (3.0 KB)
Microsoft TechNet Gallery


BizTalk DevOps: Configure the Default Send Handler as the Send Handler for each existing static Send Ports with PowerShell

$
0
0

In the sequence of my last two post (here and here) and following the same topic, in order to finalize it, let’s talk about the last option and see how we can accomplish the same goal but this type configuring the Send Handler for existing static Send Ports in your environment.

Well, the two previous post are, in my opinion, more critical than this one for se simple reason that the default BizTalk installation will had ports in your environment that needs to be configure if you want to configure BizTalk Host in a High Availability way, i.e., dedicate logical hosts to run specific areas of functionality such as receiving messages, sending messages, processing orchestrations or tracking data.

However, and although less critical, static send ports can also be a problem in some scenarios, for example:

  • If you install ESB Toolkit before configuring your hosts for each functionality, because during the ESB Toolkit installation it will also be created a static send port call “ALL.Exceptions” that connects with SQL “EsbExceptionDb” database. And this port will be configured with the default send handler (at that time) configured in your environment, that is by default the “BizTalkServerApplication”
  • but also if you reach to an existing environment, already containing several BizTalk Applications running, that is not configured according to best practices in terms of host and host instances (dedicate logical hosts for each functionality).

Once again, we need to do basically do the same steps described in my last two posts to accomplish the task of deleting “BizTalkServerApplication”, this time as a send handler of each adapter:

  • Manually reconfigure the Send handler for each the existing Static Send Port first, configuring them with the new or correct Send Handler;
  • and then manually delete the “BizTalkServerApplication” as a Send handler for each adapter;

You may have heard this before, but it never hurts, all of these tasks are time consuming, and a little boring to do after a while or if we need to do it several times;

So how can we automate tasks? and reuse them whenever necessary and at the same time saving significant time for other tasks?

Using PowerShell is a good option J. Windows PowerShell is a Windows command-line shell designed especially for system administrators and can be used by BizTalk administrators to help them in automating repetitive tasks or tasks that are time consuming to perform manually.

This is a simple script that allows you to configure the Send handler associated with all the existing Static Send Ports in your environment independently of the adapter that is configured:

$catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer
$catalog.ConnectionString = "SERVER=$bizTalkDbServer;DATABASE=$bizTalkDbName;Integrated Security=SSPI"

foreach($SendPort in $catalog.SendPorts)
{
    # For each receive location in your environment
    if($sendPort.IsDynamic -eq $False)
    {
        # Let's look for send handlers associated with Adapter configured in the send port
        foreach ($handler in $catalog.SendHandlers)
        {
            # if the Send Handler is associated with the Adapter configured in the send port
            if ($handler.TransportType.Name -eq $sendPort.PrimaryTransport.TransportType.Name)
            {
                # We will configured the port with the default send handler associated in each adapter in you system
                # independently if it is "BizTalkServerApplication" or not.
                # Note: it's is recomended that you first configure the default send handlers for each adapter
                #       and also not to use the "BizTalkServerApplication" (my personal recomendation)
                if($handler.IsDefault)
                {
                    $sendPort.PrimaryTransport.SendHandler = $handler
                    break
                }
            }
        }
    }
}
$catalog.SaveChanges()

Prerequisites for this script: The host, host instances and Receive handlers needs to be already configured in your environment before you run the script;

THIS POWERSHELL IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND.

The full script can be found and download on Microsoft TechNet Gallery:
PowerShell to Configure the Default Send Handler for each static Send Port (3.0 KB)
Microsoft TechNet Gallery



Installing (and Configure) BizTalk Server 2016 in a Standalone Machine (whitepaper)

$
0
0

Microsoft announced on October 27, 2016 the release of Microsoft BizTalk Server 2016 – the 10th major release of BizTalk Server –and, as usual with previous versions, I updated my installation and configuration manual for BizTalk Server 2016. This whitepaper will explain in detail – a step-by-step guideline – how to install and configure Microsoft BizTalk Server 2016 on a standalone environment running Windows Server 2016. This information will help you plan the installation and configuration of BizTalk Server 2016, applications and components on which it depends focused on creating a development environment (you can also follow this tutorial to help you create production environments, however if this is the case you need to skip some steps).

BizTalk-Server-Installation-scenario

Assumptions and out of scope

It will be assumed that the operating system: Windows Server 2016 and latest critical Windows updates from Microsoft already have been installed.

In this scenario, it will be performed a full installation of Microsoft BizTalk Server 2016, with the exception of the deprecated SharePoint Adapter (SharePoint Services Service Side Object Model (SSOM)). The following components will be installed:

  • Enterprise Single Sign-On (SSO).
  • BizTalk Group.
  • BizTalk Runtime.
  • Business Rule Engine.
  • BAM Tools and Alerts.
  • BAM Portal.
  • BizTalk EDI/AS2 Runtime
  • Microsoft BizTalk Adapters for Enterprise Applications (BizTalk Adapter Pack)
What’s in store for you?

By reading this whitepaper, you will understand:

  • Important considerations before setting up BizTalk Server 2016
  • Prerequisites for installing BizTalk Server 2016
  • Step by step process of installing BizTalk Server 2016 on Windows Server 2016
  • Best ways in which you can optimize your BizTalk Server 2016 environment
  • Hardware and Software requirements
  • Basic Configuration vs. Custom Configuration

Installing-Configure-BizTalk-Server-2016-Standalone-Machine

Contents
  • BizTalk Server Installation scenario
    • Assumptions and out of scope
  • Important considerations before set up the server.
    • Join the Local Administrators Group.
    • Change the Machine name.
    • Turn off Internet Explorer Enhanced Security Configuration (optional)
    • Disable User Account Control (optional).
    • Turn Windows Firewall off (optional).
    • Configure the Application Event Log.
    • Configure Microsoft Distributed Transaction Coordinator (MS DTC).
    • Customize Taskbar and Start Menu Properties (optional).
    • Set the default browser.
    • Install Critical Windows Updates.
  • Preparing and install prerequisites for BizTalk Server 2016.
    • Important considerations before set up the servers.
    • Enable Internet Information Services.
      • Running the BAM Portal in a 64-bit Environment.
    • Install Windows Identity Foundation (WIF) (optional).
    • Install and configure SMTP Server Feature (optional)
      • Verify Your Installation
    • Install Microsoft Office Excel 2016 (optional).
      • Installing and configuring Office 2016 Deployment Tool
      • Installing Microsoft Office Excel 2016
    • Install Visual Studio 2015 (optional).
      • Remove Microsoft SQL Server Express.
    • Install SQL Server 2016.
    • Configure SQL Server Database Mail feature.
  • Install and configure BizTalk Server 2016.
    • Install BizTalk Server 2016.
      • Verify Your Installation.
    • Configure BizTalk Server.
      • Pin BizTalk Server Administration to taskbar.
    • Configure SQL Server Network Configuration protocols.
    • Validate Mail account used by BizTalk to send BAM Alerts.
    • Install BizTalk Adapter Pack
      • Microsoft BizTalk Adapter Pack and Microsoft BizTalk Adapter Pack (x64).
      • Steps to install BizTalk Adapter Pack.
      • Add adapters to BizTalk Administration Console.
    • Install Critical Windows Updates and BizTalk Server Cumulative Update Package.
    • Configure BizTalk Server SQL Jobs.
      • How to configure Backup BizTalk Server (BizTalkMgmtDb).
      • How to configure DTA Purge and Archive (BizTalkDTADb).
      • MessageBox_Message_Cleanup_BizTalkMsgBoxDb.
  • Optimize the BizTalk Server 2016 environment
    • Deleting BizTalk backup files.
      • Implementing a custom sp_DeleteBackupHistory.
      • Implementing a Maintenance Plan to clean BizTalk Database backup’s files.
    • Pre-allocate space and define auto-growth settings for BizTalk Server databases.
    • Configure BizTalk Server Windows Services.
    • Install and configure BizTalk Health Monitor.
      • How to register BizTalk Health Monitor Snap-In.
      • How to integrate BHM Snap-In into BizTalk Admin Console
    • Configure BizTalk Jobs History (Microsoft SQL Server Agent job history log).
      • To resize the job history log based on raw size.
    • Managing and cleaning BizTalk Server MarkLog database tables.
    • Configure host and Host instances.
      • What’s is Host, Host Instances and Adapter Handlers?.
      • Best practices to Configuring Hosts and Host Instances.
      • How can I automate this task?.
    • Power Mode.
    • Consider setting the ‘text in row’ table option to boost BizTalk Server Performance
      • How to exploit the Text in Row table option in BizTalk Server
  • Appendix A: Hardware and Software Requirements
  • Appendix B: Redistributable CAB Files
  • Appendix C: Basic Configuration vs. Custom Configuration

 

Download the whitepaper for free here: Installing BizTalk Server 2016 in a Standalone Machine

Installing-Configure-BizTalk-Server-2016-Standalone-Machine-vertical

If you are interest to see other version check the following posts:

 

I would like to take this opportunity also to say thanks to Lex Hegt for reviewing this whitepaper.

Download the whitepaper for free here: Installing BizTalk Server 2016 in a Standalone Machine


An error occurred while attempting to connect to a remote SQL Server database: The local MS DTC detected that the MS DTC on … has the same unique identity as the local MS DTC

$
0
0

Today I’m returning to one of my favorites topics … no not transformations, this time is all about “Errors and Warnings, Causes and Solutions”.

Today I encountered the following issue when I was trying to connect to a remove SQL Server database:

“The local MS DTC detected that the MS DTC on <server name> has the same unique identity as the local MS DTC. This means that the two MS DTC will not be able to communicate with each other. This problem typically occurs if one of the systems were cloned using unsupported cloning tools. MS DTC requires that the systems be cloned using supported cloning tools such as SYSPREP. Running ‘msdtc -uninstall’ and then ‘msdtc -install’ from the command prompt will fix the problem. Note: Running ‘msdtc -uninstall’ will result in the system losing all MS DTC configuration information.”

MSDTC-has-the-same-unique-identity

CAUSE

The error message is quite lucid about the main reason of this error, this normally occurs when the machines are cloned: “systems be cloned using supported cloning tools such as SYSPREP.

SOLUTION

This is one of those very few cases that the error message will give us the actually cause of the problem and the solution: “Running ‘msdtc -uninstall’ and then ‘msdtc -install’ from the command prompt will fix the problem.”

So, to solve this problem you need to:

  • Click Start, and then click Command Prompt.
  • At the command prompt, type “msdtc -uninstall”, and then press ENTER.
  • At the command prompt, type “msdtc -install”, and then press ENTER.

Note: To perform this procedure, you must have membership in Administrators, or you must have been delegated the appropriate authority.

However, after I resolve this condition by uninstalling and then reinstalling the Microsoft Distributed Transaction Coordinator service (MSDTC), when I access the BizTalk Administration Console and try to refresh (F5) the Group Hub Page I got this additional error:

“The Microsoft Distributed Transaction Coordinator (MSDTC) may not be configured correctly. Ensure that the MSDTC service is running and DTC network access is allowed on the BizTalk, SQL and SSO Master servers. For more information, see "MSDTC Configuration settings required for BizTalk Server" in the BizTalk Server Help.”

MSDTC-may-not-be-configured-correctly

I try to restart the MSDTC service or other services like the Enterprise Single Sign-On Service without any success… to avoid spending more time around this issue, and because this was a DEV standalone machine, I decided to restart the server… and that did the trick, after the restart everything was working without any problem.


BizTalk Server 2013 R2: Installation and Configuration – Optimize the BizTalk Server 2013 R2 environment (Part 17)

$
0
0

This next posts will focus on optimizing some BizTalk Server 2013 R2 configurations. The following recommendations can be used to increase BizTalk Server performance or just to make the platform more resilient to failures. The optimizations listed in this topic are applied after BizTalk Server has been installed and configured.

Install SSO Configuration Application MMC Snap-In

BizTalk Server leverages the Enterprise Single Sign-On (SSO) capabilities for securely storing critical information such as secure configuration properties (for example, the proxy user ID, and proxy password) for the BizTalk adapters. Therefore, BizTalk Server requires SSO to work properly. BizTalk Server automatically installs SSO on every computer where you install the BizTalk Server runtime.

But it also can keep your own application configuration data in SSO database, let say the usual configurations that we normally keep in a configuration file (“app.config”)). One of the great and useful tools that we normally use for archiving this is a custom tool original created by Richard Seroter, the: SSO Config Data Store Tool.

However since 2009 that Microsoft released an MMC snap-in to tackle this exact issue: SSO Configuration Application MMC Snap-In provides the ability to add and manage applications, add and manage key-value pairs in the SSO database, as well as import and export configuration applications so that they can be deployed to a different environment.

To install SSO Configuration Application MMC Snap-In you need to:

  • Unzip the SSOConfigurationMMCSnapIn.zip file available in Microsoft page.
  • This file is composed of three zip files, so after unzipping the first file you should unzip also the SSOMMCSnapInSetup.zip file.
  • Run as Administrator the setup.exe or SSOMMCSnapInSetup.msi file
  • In the Welcome to the SSO Application Configuration Setup Wizard page, click “Next”

155-BizTalk-Server-2013-R2-SSO-App-Snapin

  • In the Select Installation Folder page:
    • Accept the default installation folder or set another one
    • In the “Install SSO Application for yourself, or for anyone who uses this computer” option, select “Everyone”
    • And click “Next”

156-BizTalk-Server-2013-R2-SSO-App-Snapin

  • In the Enter Company Name page, enter the name of your company and click “Next”

157-BizTalk-Server-2013-R2-SSO-App-Snapin

  • In the Confirm Installation page, click “Next” to install the SSO Application Configuration MMC Snap-In

158-BizTalk-Server-2013-R2-SSO-App-Snapin

  • In the installation Complete page, click “Close”

159-BizTalk-Server-2013-R2-SSO-App-Snapin

However, unfortunately, this tool will not work properly in BizTalk Server 2013 R2, at least running in Windows Server 2012 R2. At the first sight it seems that everything is working properly but when you try to create a key-value pair you will see that nothing happens and no key is created:

160-BizTalk-Server-2013-R2-SSO-App-Snapin

To fix this issue I recompile the SSOMMCSnapIn.dll using the latest version of “Microsoft.EnterpriseSingleSignOn.Interop.dll” available with BizTalk Server 2013 R2 that you can download at Microsoft TechNet Gallery: BizTalk Server 2013 R2: Fix for SSO Configuration Application MMC Snap-In

Update: Notice that this issue it’s also documented here https://support.microsoft.com/kb/2954101 (Known issues in BizTalk Server 2013) and you will find different solutions to solve it.

To solve the issue you just need to overlap the existing SSOMMCSnapIn.dll file, normally present in “C:\Program Files\Common Files\Enterprise Single Sign-On” folder with this version of the file. Now if you try to add a new key value pair everything will work fine.

161-BizTalk-Server-2013-R2-SSO-App-Snapin

Configure BizTalk Jobs History (Microsoft SQL Server Agent job history log)

Have you ever notice that you never have present a log history of the Monitor BizTalk Server job?

170-BizTalk-Server-2013-R2-BizTalk-Jobs-History

The reason why this happens is that BizTalk Server is shipped out with a total of 13 SQL Agent jobs, most of them running each minute, the only exception is the Monitor BizTalk Server job that by default occurs every week on Sunday at 00:00:00.

And to be completely honest there are two problems present:

  • We rarely inspect our environment in the weekend, only in critical situations or customers that have a 25x 7 administration team.
  • By default, the Microsoft SQL Server Agent job history log is configured to
    • “Limit size of job history log” with a maximum of 1000 rows
    • And “Maximum job history row per job” with 100 rows

168-BizTalk-Server-2013-R2-BizTalk-Jobs-History

Which means that a few minutes after the Monitor BizTalk Server job run successfully or unsuccessfully, it’s historic is overwritten with the row log historical of the remaining 12 jobs. Therefore never expected to have this historic job on Monday when you arrive at the office.

Because BizTalk Server has 13 Jobs to keep a decent and consistent job history log you should increase the “Limit size of job history log” according to the number of existing jobs in your environment, for example at least 1300 for BizTalk Server environment (100 for each job)

To resize the job history log based on raw size

  • In Object Explorer, connect to an instance of the SQL Server Database Engine, and then expand that instance.
  • Right-click SQL Server Agent, and then click Properties.
  • Select the History page, and then confirm that “Limit size of job history log” is checked.
  • In the “Maximum job history log size” box, enter the maximum number of rows the job history log should allow.
  • In the “Maximum job history rows per job” box, enter the maximum number of job history rows to allow for a job.

169-BizTalk-Server-2013-R2-BizTalk-Jobs-History

To resize the job history log based on time

  • In Object Explorer, connect to an instance of the SQL Server Database Engine, and then expand that instance.
  • Right-click SQL Server Agent, and then click Properties.
  • Select the History page, and then click Automatically remove agent history.
  • Select the appropriate number of Days(s), Week(s), or Month(s).

Force Full Backup BizTalk Server (BizTalkMgmtDb) job

I will not enter in much details in this steep, you can read more about it on my blog at: A different way to Force a Full Backup of the BizTalk Server databases.

The standard way is to use the “BizTalkMgmtDb.dbo.sp_ForceFullBackup” stored procedure. However, and unlike what many people think, this stored procedure does not perform a full backup it only marks internally on BizTalk Server databases that the next time the Backup BizTalk Server job runs it will need to perform a full backup of the data and log files. You really need to be aware of two important things:

  • The Backup BizTalk Server job is the only supported method for backing up the BizTalk Server databases. Use of SQL Server jobs to back up the BizTalk Server databases in a production environment is not supported.
  • You can use the SQL Server methods to backup the BizTalk Server databases only if the SQL Server service is stopped and if all BizTalk Server processes are stopped.

An alternative, to help one of my DBA teams I created a custom “Force Full Backup BizTalk Server” job that is composed of two steps:

  • Step 1: Force Full Backup
    • That will call the “BizTalkMgmtDb.dbo.sp_ForceFullBackup” stored procedure
  • Step 2: Backup BizTalk Server
    • That will call the standard Backup BizTalk Server (BizTalkMgmtDb) job

1723-BizTalk-Server-2013-R2-Force-Full-Backup-BizTalk-Server-job

You can download the custom “Force Full Backup BizTalk Server (BizTalkMgmtDb)” Job from Microsoft | TechNet Gallery: Force Full Backup BizTalk Server (BizTalkMgmtDb) Job

Related links

The post BizTalk Server 2013 R2: Installation and Configuration – Optimize the BizTalk Server 2013 R2 environment (Part 17) appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Server 2013 R2: Installation and Configuration – Optimize the BizTalk Server 2013 R2 environment (Part 18)

$
0
0

This next posts will focus on optimizing some BizTalk Server 2013 R2 configurations. The following recommendations can be used to increase BizTalk Server performance or just to make the platform more resilient to failures. The optimizations listed in this topic are applied after BizTalk Server has been installed and configured.

Configure host and Host instances

One of the tasks that we need to do in all our new BizTalk environment over and over again is creating and configuring the Host, Host Instances and of course the adapter handlers.

BizTalk Server provides great flexibility for addressing high availability, because you can strategically dedicate logical hosts to run specific areas of functionality such as receiving messages, sending messages or processing orchestrations.
By default the BizTalk configuration will create two BizTalk Host and Host Instances:

  • BizTalkServerApplication: This is the default Host and Host Instance created during configuration that will do all the work on the BizTalk Server, i.e. is the default send and receive handler for all installed adapters (other than HTTP, WCF (BasicHttp, CustomIsolated, WebHttp and WSHttp) and SOAP Receive Handlers), and is also used for processing orchestration and tracking.

BizTalk-Server-2013-R2-BizTalkServerApplication-Host

  • BizTalkServerIsolatedHost: The logical container for HTTP, WCF (BasicHttp, CustomIsolated, WebHttp and WSHttp) and SOAP Receive Handlers.

BizTalk-Server-2013-R2-BizTalkServerIsolatedHost-Host

Although a single BizTalk Host can contain items that receive, send, and process messages, it is considered a best practice to create different hosts for each function to create security boundaries and for easier management and scalability. In particular, we recommend that you use different hosts for processing and for receive/send operations. And that you separate trusted and non-trusted items.

As the official documentation specify, in addition to the high availability aspects of the host instance configuration, you should separate sending, receiving, processing and tracking functionality into multiple hosts. This provides flexibility when configuring the workload in your BizTalk group and is the primary means of distributing processing across a BizTalk group.

This also allows you to stop one host without affecting other hosts. For example, you may want to stop sending messages to let them queue up in the MessageBox database, while still allowing the inbound receiving of messages to occur.

Separating host instances by functionality also provides some of the following benefits:

  • Each host instance has its own set of resources such as memory, handles, and threads in the .NET thread pool.
  • Multiple BizTalk Hosts will also reduce contention on the MessageBox database host queue tables since each host is assigned its own work queue tables in the MessageBox database.
  • Throttling is implemented in BizTalk Server at the host level. This allows you to set different throttling characteristics for each host.
  • Security is implemented at the host level; each host runs under a discrete Windows identity.

However, this also may bring some potential drawbacks if too many host instances are created because each host instance is a Windows service (BTSNTSvc.exe or BTSNTSvc64.exe), which generates additional load against the MessageBox database and consumes computer resources (such as CPU, memory, threads), so you need to be careful.

The following figure will provide you with a general overview of the relationship between servers, hosts and host instances, however, is not intended to be the best practices. This architecture will depend on many factors and will change from client to client:

BizTalk-Server-2013-R2-Host-and-Host-Instances

Normally we read that we need to create at least 4 host instances:

  • Sending
  • Receiving
  • Processing
  • And tracking

but that’s not absolutely true because, at least since BizTalk Server is supported in 64 bits, we typically use 64-bits versions and in this case we also need to create at least one Host Instance that will run on 32-bits because FTP adapter, SQL adapter, POP3 adapter and MIME Decoder on 64-bit host instances is not supported by the product (http://technet.microsoft.com/en-us/library/aa560166.aspx)

We can define that one of the best practices for hosts and host instances is the following:

  • BizTalkServerTrackingHost: A BizTalk Host that hosts tracking is responsible for moving the DTA and BAM tracking data from the MessageBox database to the BizTalk Tracking (DTA) and BAM Primary Import databases.
  • BizTalkServerReceiveHost: This host will be responsible for processing messages after they are picked up in a receive location.
  • BizTalkServerReceive32Host: has the same goal as the previous however this must have the “32-bits only” option select so that we can run the 23-bits adapters.
  • BizTalkServerSendHost: This host will be responsible for processing messages before they are sent out to the send port.
  • BizTalkServerSend32Host: has the same goal as the previous however this must have the “32-bits only” option select so that we can run the 32-bits adapters.
  • BizTalkServerApplication: This host will be responsible for process messages based on the instructions in orchestrations that need to run in 32-bits.
  • BizTalkServerApplication64Host:This host will be responsible for process messages based on the instructions in all or most common orchestrations.

Note: You can create other Application Host if you want to separate process base in some application logic.

You can read more about this topic in more details in my previous post: PowerShell to Configure BizTalk Server Host and Host Instances according to some of the Best Practices or in TechNet Wiki: BizTalk Server Best Practices: Create and Configure BizTalk Server Host and Host Instances.

You can find a simple script to configure Host, Host Instances and Adapter Handlers described earlier in this post optimized for BizTalk Server 2013 R2 (and also 2013) in TechNet Gallery:

Power Mode

The different performance states are dynamically managed by Windows in conjunction with hardware and platform firmware to respond to varying workload requirements. The 3 default power plans exposed by Windows provide varying tradeoffs of performance vs. power consumption. For example, if the High-Performance power plan is selected, Windows places the system in the highest performance state and disables the dynamic scaling of performance in response to varying workload levels. Therefore, special care should be taken before setting the power plan to High Performance as this can increase power consumption unnecessarily when the system is underutilized.

In some cases, you may experience degraded overall performance on a machine when running with the default (Balanced) power plan. The issue may occur irrespective of platform and may be exhibited on both native and virtual environments. The degraded performance may increase the average response time for some tasks and cause performance issues with CPU-intensive applications

To change a power plan:

  • Press the “Windows key” to switch to the Start screen and type “Power Options” and click on “Power Options” option from the Search menu.

Windows-Server-2012-R2-Power-Options-Menu

  • From the power plan page, choose the High-Performance option

Windows-Server-2012-R2-Power-Options-High-Performance

  • Close the Power Option window.

Consider setting the ‘text in row’ table option to boost BizTalk Server Performance

SQL Server provides a table option called text in row to declare that the contents of the fields of type text, ntext, or image data whose dimensions are smaller than those of a data page (8Kb) must be stored in a data row. By setting this option on BizTalkMsgBoxDb tables (Parts table, Spool table and DynamicStateInfo Tables), you can increase message throughput when working with small messages which have a small context and orchestrations that have a small persistence size. This makes reading and writing the in-row strings about as fast as reading or writing limited size varchar, nvarchar, or varbinary strings. Similarly, when the values are stored off-row, the Database Engine incurs an additional page read or write.

How to exploit the Text in Row table option in BizTalk Server

The following section explains how and when applying the text in row table option to boost BizTalk performance.

  • Parts Table: When the message size is smaller than the dimensions of a data page that are of 8kb, applying the text in row table option on the Parts table can lead to BizTalk Server performance improvement.
  • Spool Table: When the average size of the message context is less than 8 kb, enabling the text in row table option on the Spool table helps you reduce the number of accesses when reading messages from the MessageBox along with their context. To apply this option to the Spool table, you must eliminate unnecessary context properties and distinguished fields to reduce the size of the message context lower than 8 Kb.
  • DynamicStateInfo Tables: These tables, one for each host, contain a field of type image called imgData that contains binary-serialized orchestration state when they encounter a persistence point during their execution. When the internal state of orchestrations within a host HostA is so small that its size once serialized is less than 8 kb, the text in row technique can successfully be applied to the DynamicStateInfo_HostA table. Therefore we recommend that you keep the internal state of orchestrations as small as possible. This technique can significantly reduce the time that is spent by the XLANG Engine to serialize, persist, de-serialize and restore the internal state of an orchestration in a case of persistence point.

See more about this topic in the following resources:

You can use the following settings sample that in your environment:

  • EXEC sp_tableoption N’Spool’, ‘text in row’, ‘6000’
  • EXEC sp_tableoption N’Parts’, ‘text in row’, ‘6000’

Related links

The post BizTalk Server 2013 R2: Installation and Configuration – Optimize the BizTalk Server 2013 R2 environment (Part 18) appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Server 2013 R2: Installation and Configuration – Install additional Developer tools (Part 19)

$
0
0

This part of the article will focus on the installation of additional useful tools to help you develop your BizTalk Server projects. The goal here is not to address all the tools available instead I will address only the most important ones that may have direct impact on the efficiency of your developments, because there are a number of tools that can aid you as BizTalk developer, which you can find on Codeplex or Microsoft Download Center, that are not offered out of the box by BizTalk Server like WCF Publishing Wizard and so on.

Install BizTalk NoS Addin for Visual Studio 2013

Although the currently available version for download at Visual Studio Gallery has not been developed and not be “officially” supported for Visual Studio 2013/BizTalk Server 2013 R2 it can be installed and used without problems in this new environment conjugation: Visual Studio 2013 and BizTalk Server 2013 R2 with a small workaround.

What is BTSG NoS Addin purpose?

The purpose of BTSG NoS Addin is to help all BizTalk Developer, why not, all BizTalk Administrator too in a lot of different situations, by improving the developer experience and why not reduce the development time in new or existent BizTalk projects.

It will provide several functionalities like quick search inside artifact, fast register/unregister in GAC, find critical, internal or external dependencies… and many for functionalities like JackHammering, which will compare your VS artifact with the artifact deployed in BizTalk environment, you can also extract the artifact (Orchestration, map, schema and so on) from BizTalk environment and put it in the VS solution or even test your pipeline in VS simply… several features that are usefully in our day by day work and a time saver in a lot of situations.

How can I install BTSG NoS Addin for Visual Studio 2013

Because the current version of the Addin in not officially supported for Visual Studio 2013, you cannot install it through “Extensions and Updates” option from Visual Studio, instead, you need to:

You can install BTSG NoS Addin directly from Visual Studio “Extensions and Updates” option. For that you must:

  • Download the BizTalk NoS Addin from Visual Studio Gallery: BizTalk NoS Addin
  • Execute “BTSGSetup.exe” file with administration writes by, right-click on the file and select “Run as administrator” option.

160-BizTalk-Server-2013-R2-BizTalk-NoS-Addin-Install

  • On the Welcome to the BTSG NoS Addin Installer Setup page, click “Next” to continue

160-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

  • On the End-User License Agreement page, accept the terms by selecting the “I accept the terms of this License Agreement” option and click “Next” to continue.

161-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

  • On the Destination Folder page, set the destination folder and click “Next” to continue

162-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

  • On the Ready to install BTSG NoS Addin page, click “Install” to start the installation process.

163-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

  • On the Completed the BTSG NoS Addin Installer Setup page, click “Finish” to complete the installation of the Addin.

164-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

Add-In Registration for Visual Studio 2013 (Workaround)

Visual Studio add-ins are deprecated in Visual Studio 2013. You should upgrade your add-ins to VSPackage extensions. For BizTalk NoS Addin to work in Visual Studio 2013 we need to implement the following workaround:

  • When Visual Studio starts, it looks in the .addin file location (\Documents\Visual Studio 2013\Addins\) for any available .addin files
    • For example: C:\Users\Administrator\Documents\Visual Studio 2013
  • Because BizTalk NoS Addin is meant to work with Visual Studio 2012 you should go to
    • For example: C:\Users\Administrator\Documents\Visual Studio 2012
    • You will find in this location an “Addins” folder containing “BTSG NoS” Addin file

165-BizTalk-Server-2013-R2-BizTalk-NoS-Addin-Visual-Studio-folder

  • Copy the “Addins” folder to Visual Studio 2013 .addin file location
    • For example: C:\Users\Administrator\Documents\Visual Studio 2013
  • Go to “Addins” folder:
    • For example: C:\Users\Administrator\Documents\Visual Studio 2013\Addins
    • And edit the file ADDIN File.AddIn in notepad and change the <HostApplication> element with the following data:
<HostApplication>
   <Name>Microsoft Visual Studio</Name>
   <Version>12.0</Version>
</HostApplication>
  • Save and close the file.

To load BTSG NoS Addin into Visual Studio 2013

  • Open a BizTalk Server Visual Studio Project and on the Tools menu, click Add-In Manager.

165-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

  • In the Add-in Manager window, select the add-in from the Available Add-ins column list and then click “OK”.

166-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

Back to your BizTalk project, right click on your BizTalk solution or in one of your BizTalk artifacts and you can see the new options provided by BTSG NoS Addin:

167-BizTalk-Server-2013-R2-BizTalk-NoS-Addin

You can find all the documentation about this Addin in:

Or in my posts:

Install BizTalk Server Pipeline Component Wizard

The Pipeline Component Wizard is intended to ease the development of pipeline components used within a BizTalk Server environment. Supports both C# and VB.NET. The following resources can be used to download the tool, find guidance in usage and background information:

Install BizTalk Server Functoids Project Wizard

BizTalk MapperExtensions Functoid Wizard is a Custom Functoid Project Wizard for Visual Studio 2010. It allows you to create a new Functoids project for BizTalk Server 2010 without having to create manually the project. Supports both C# and VB.NET.

The following resources can be used to download the tool, find guidance in usage and background information:

  • Available soon

Related links

The post BizTalk Server 2013 R2: Installation and Configuration – Install additional Developer tools (Part 19) appeared first on SANDRO PEREIRA BIZTALK BLOG.

Viewing all 74 articles
Browse latest View live