I recently had the pleasure of installing and configuring the ESB Toolkit 2.0 in a multi-server environment. There are some notes on how to do this in the official documentation but they’re not exhaustive and they don’t include details on how to install the management portal in a multi-server environment.
· Install and Configure BizTalk in your multi-server environment
· Install and Configure UDDI in your multi-server environment:
o You install and configure the Database components on the SQL Server! Yes, your DBAs are going to be unhappy about this.
o Install and configure the other UDDI components on your BizTalk Servers
o Note that you can only run the Notification Service component on server (I assume you could cluster it but we didn’t get into this…)
ESB Toolkit 2.0 Installation and Configuration:
· Follow the documentation for “Installing the ESB Toolkit Core” on all of your servers
· Please note that you can use the “File” configuration in a multi-server environment. To me, it seems that the docs are pushing the “SSO” configuration but you don’t have to use “SSO” for a multi-server environment. Just run the configuration tool on the second to “n” server and point toward the already created databases. Also I have heard that people have had a lot of problems with the SSO configuration
· Double check the esb.config file and make sure all of the settings are correct
· You may need to turn Kerberos on for IIS before you can successfully execute the Microsoft.Practices.ESB.UDDIPublisher.exe: http://support.microsoft.com/kb/215383
· Make sure you unpack the samples C:\Program Files\Microsoft BizTalk ESB Toolkit 2.0\ESBSource.zip following the official documentation. (Basically just follow all of the instructions in the “Installing the ESB Toolkit Core” section of the docs
ESB Management portal Installation and Configuration in a Multi-Server Environment:
· Keep in mind that the portal is a sample
· You can’t use the Management_Install scripts on a server that doesn’t have Visual Studio on it because the scripts require the Visual Studio 2008 SDK to function; the Visual Studio 2008 SDK requires Visual Studio for it to be installed… obviously VS won’t be installed in a multi-server environment
· The Portals solution (.sln) does include a setup project. I wanted a debug build so I had to open the solution (on my developer workstation) and in Visual Studio and use Configuration Manager to make sure that the setup project would be built for a “debug” build
· Build the solution, on your developer workstation, and find the .msi that was created for the portal
· Now on each sever in your group, perform the following:
· Create an application pool, in IIS, named EsbPortalNetworkAppPool and have it run under Network Service
· Install the .msi on your first server; the .msi creates the appropriate Virtual Directories (but doesn’t configure them correctly, see the authentication changes, below); use the application pool you created, when prompted. This creates four virtual directories one for the portal and one for each of its three services. Please note that this installs the portal, the ESB.BAM.Service, ESB.Exceptions.Service and the ESB.UDDI.Services to c:\inetpub\wwwroot
· Create the ESBAdmin db using the C:\projects\Microsoft.Practices.ESB\ESBSource\Source\Samples\Management Portal\SQL\ESB.Administration Database.sql file; it blew up at the bottom (find the “Create BizTalk Server Administrators Login” section) because my BizTalk Admin and BizTalk App Users groups were named differently; I manually added the appropriate permissions in SQL Server
· Update the C:\Inetpub\wwwroot\ESB.Portal\web.config with the correct db location and group names (connectionStrings and authorization nodes)
· Update the C:\Inetpub\wwwroot\ESB.Exceptions.Service\web.config to point to the EsbExceptionDb (connectionStrings node)
· Update the C:\Inetpub\wwwroot\ESB.BAM.Service\web.config to point to the BAMPrimaryImport db (connectionStrings node)
· Add Windows Integrated to the ESB.Exceptions.Service, ESB.BAM.Service and ESB.Portal virtual directories
· Removed Anonymous from ESB.Exceptions.Service, ESB.BAM.Service and ESB.Portal virtual directories
· Follow the installation and configuration steps for the “Installing the ESB Management Portal Alert Service” and “Installing the ESB Management Portal UDDI Publishing Service” sections. We did this on one server in the group, no more.
· We also followed the “Configuring Exception Management InfoPath Form Template Shares” section but I don’t see how that is necessary at this point.
- Make sure your host instance service accounts have access to the esb.config file
- In order to use the esbimportutil.exe to deploy itineraries I had to copy the Microsoft.Practices.Modeling.Common, Microsoft.Practices.Modeling.Services and Microsoft.Practices.Modeling.ExtensionProvider (not sure on the last one but the first two are definately needed) assemblies from a developer workstation to the GAC on the server(s)
- Update the EmailTransformation.xslt (for the ESB Portal Alert Service) so that the hyperlinks that it generates point to the server name/dns name for the environment you are installing in
I hope this helps. If I run into issues or I find that I need to correct this post I will update it…