Install the ESB Guidance from the Solution Project
Retired Content |
---|
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
This section describes the process for installing the Microsoft ESB Guidance core assemblies, pipeline components, and helper classes using the solution project provided with the Microsoft ESB Guidance source code.
Note
The Exception Management Framework, which installs as part of the Microsoft ESB Guidance core installation, uses the ESB Dispatcher pipeline component to translate outbound fault messages into a format suitable for insertion into the SQL Server Exception Management Database named EsbExceptionDb. Therefore, you must create and configure the exception database as shown in the following procedure. The Exception Management send port named All.Exceptions uses the SQL Adapter to populate the database with exception information.
To install the Microsoft ESB Guidance from the Microsoft.Practices.ESB.sln solution
Load the solution Microsoft.Practices.ESB.sln from the \Source folder where you installed the distribution files into Visual Studio 2005.
Open the Property Pages dialog box for each of the following projects, select the Deployment entry in the Configuration Settings section of the tree in the right-side pane, and then click All Configurations in the drop-down list at the top of the dialog. Ensure that the Server and Configuration Database settings point to the appropriate SQL Server and BizTalkMgmtDb database:
- ESB.Agents in the Core\Orchestrations folder
- ESB.Itinerary.Pipelines in the Core\Pipelines folder
- ESB.Itinerary.Schemas in the Core\Schemas folder
- ESB.Resolver.Schemas in the Core\Schemas folder
- ESB.ExceptionHandling.Maps in the Exception Handling\Maps folder
- ESB.ExceptionHandling.Pipelines in the Exception Handling\Pipelines folder
- ESB.ExceptionHandling.Schemas.Faults in the Exception Handling\Schemas folder
- ESB.ExceptionHandling.Schemas.Reporting in the Exception Handling\Schemas folder
Save and close the solution.
Open SQL Server Management Studio (or an equivalent SQL Server management tool) and connect to the SQL Server that will host the exception database. Load the SQL script EsbExceptionDb_CREATE.sql** from the \Source\Exception Handling\SQL\ESB.ExceptionHandling.Database\Create Scripts folder **into a new Query window and execute it to create the EsbExceptionDb database. This will also create following two security roles within the database:
- ESBPortal
- ESBPortalAdmin
Select the BizTalk Application Users group (the default is [domain]\BizTalk Application Users) in the Security\Logins section and open the properties dialog box. Select User Mapping and map this login to the EsbExceptionDb database and to the ESBPortal database role. This grants the account execution rights for all the stored procedures within the database. Repeat this step with the [domain]\BizTalk Server Administrators group, mapping it to the ESBPortalAdmin role.
Open the \Source\Core\Install\Scripts folder in Windows Explorer and open the script file named PreProcessingCORE.vbs in a text editor. Edit the variables declared at the start of this file, such as the user name and password, as required before you execute the script. The topic Settings in the PreProcessingCORE Script shows these variables and their default values. Then double-click the script to execute it. The script performs the following tasks:
Create a new user account for the BizTalk Isolated Host Users group.
Add the user account to the following local and domain-level groups:
Local and domain groups
[local machine]/IIS_WPG
[local machine]/STS_WPG
[domain]/BizTalk Isolated Host Users
Grant permission for the new user account and the BizTalk Application Users group to the following folders:
Folder
Windows Temp folder
ESB Guidance installation folder
Create three new IIS Application Pools with the following names:
New IIS Application Pools
ESBAppPool
ESBWcfAppPool
ESBNetworkAppPool
Note
The ESBAppPool and ESBWcfAppPool application pools use the new account as their identity. The ESBNetworkAppPool application pool should use the NETWORK SERVICE account as its identity.
Create IIS virtual directories for the following Web service folders, and then configure them all to run under one of the new application pools:
New Application Pools
\Services\ESB.ExceptionHandlingServices (ESBAppPool)
\Services\ESB.ExceptionHandlingServices.WCF (ESBWcfAppPool)
\Services\ESB.ItineraryServices (ESBAppPool)
\Services\ESB.ItineraryServices.WCF (ESBWcfAppPool)
\Services\ESB.ItineraryServices.Response (ESBAppPool)
\Services\ESB.ItineraryServices.Response.WCF (ESBWcfAppPool)
\Services\ESB.ResolverServices (ESBNetworkAppPool)
\Services\ESB.ResolverServices.WCF (ESBNetworkAppPool)
\Services\ESB.TransformServices (ESBAppPool)
\Services\ESB.TransformServices.WCF (ESBWcfAppPool)
\Services\ESB.BizTalkOperationsService (ESBNetworkAppPool)
\Services\ESB.UDDIService (ESBNetworkAppPool)
Note
If you are installing the Microsoft ESB Guidance into a BizTalk Server group, exceptions may occur when the script attempts to set permissions. You must set these permissions and manually assign the user account to the BizTalk Isolated Host Users domain group after the script completes.
In addition, if you are installing the Microsoft ESB Guidance into a BizTalk Server group installed on the local machine, and the local machine is part of a domain, exceptions may occur when the script attempts to set permissions. In this case, edit the PreProcessingCORE.vbs script as follows. Change the line strUserDomain=objNetwork.UserDomain to strUserDomain=objNetwork.ComputerName then run the script again.
Open the \Source\Core\Install\Scripts folder in Windows Explorer and double-click the script file named 1.Install_Prerequisites.cmd** **to build the three projects in the Scripts folder (the UDDI Publisher utility, Rules Deployment utility, and Event Source utility). This installs the required UDDI entries, copies the Rules Deployment utility to the appropriate folders, and installs the event source (Microsoft.Practices.ESB.EventSource.dll). The script performs the following tasks:
- Create the following entries within the local UDDI server (if installed) for the sample projects:
- Categorization schema name microsoft-com:esb:runtimeresolution containing the following keys:
Keys
TransportType
JaxRpcResponse
TransportLocation
EndPointConfig
MessageExchangePattern
Action
CacheTimeOut
TransformType
BizTalkApplication
TargetNamespace
PortName
- Business provider Microsoft.Practices.ESB:
Service name
Category Key
Service name = OrderFileService:
Category Key = TransportType ; Value = FILE
Category Key = TransportLocation ; Value = C:\Projects\Microsoft.Practices.ESB\Source\Samples\DynamicResolution\Test\Filedrop\OUt\%MessageID%.xml
Category Key = MessageExchangePattern; Value = One-Way
Category Key = CacheTimeOut; Value = -1
Service name = OrderFileServiceWBindings:
TransportType://FILE
TransportLocation://C:\Projects\Microsoft.Practices.ESB\Source\Samples\DynamicResolution\Test\Filedrop\OUt\%MessageID%.xml
MessageExchangePattern://One-Way
CacheTimeOut://-1
TransportType://FILE
TransportLocation://C:\Projects\Microsoft.Practices.ESB\Source\Samples\DynamicResolution\Test\Filedrop\OUt\%MessageID%.xml
MessageExchangePattern://One-Way
CacheTimeOut://-1
Service name = OrdeMQSService
Category Key = TransportType ; Value = MQS
Category Key = TransportLocation ; Value = MQS://localhost/ESB.DEP.Sample.QueueManager/TEST.OUT/%MessageID%.xml
Category Key = MessageExchangePattern; Value = One-Way
Category Key = CacheTimeOut; Value = -1
Service name = OrderMQSServiceWBindings
TransportType://MQS
TransportLocation://MQS://localhost/ESB.DEP.Sample.QueueManager/TEST.OUT/%MessageID%.xml
MessageExchangePattern://One-Way
CacheTimeOut://-1
Service name = OrderFTPService
Category Key = TransportType ; Value = FTP
Category Key = TransportLocation ; Value = FTP://localhost/out/%MessageID%.xml
Category Key = MessageExchangePattern; Value = One-Way
Category Key = CacheTimeOut; Value = -1
Service name = OrderFTPServiceWBindings
TransportType://FTP
TransportLocation://FTP://localhost/out/%MessageID%.xml
MessageExchangePattern://One-Way
CacheTimeOut://-1
Service name = PurchaseOrderSubmitOrderService
Category Key = TransportType ; Value = WCF-BasicHttp
Category Key = TransportLocation ; Value = https://localhost/ESB.CanadianServices/SubmitPOService.asmx
Category Key = TargetNamespace; Value = http://globalbank.esb.dynamicresolution.com/canadianservices
Category Key = MessageExchangePattern; Value = Two-Way
Category Key = JaxRpcResponse; Value =false
Category Key = Action; Value = submitOrder
Category Key = CacheTimeOut; Value = -1
Service name = PurchaseOrderSubmitOrderServiceWBindings
TransportType://WCF-BasicHttp
TransportLocation://https://localhost/ESB.CanadianServices/SubmitPOService.asmx
TargetNamespace:// http://globalbank.esb.dynamicresolution.com/canadianservices
MessageExchangePattern://Two-Way
JaxRpcResponse://false
Action://submitOrder
CacheTimeOut://-1
Service name = PurchaseOrderService
Category Key = TransportLocation ; Value = https://localhost/ESB.CanadianServices/SubmitPOService.asmx
Category Key = TargetNamespace; Value = http://globalbank.esb.dynamicresolution.com/canadianservices
Open the \Source\Core\Install\Scripts folder in Windows Explorer and double-click the script file named 1.CORE_CreateBizTalkApplication.cmd** **to create a new application within BizTalk and deploy the core assemblies. The script performs the following tasks:
- Rebuild the Microsoft.Practices.ESB.sln solution from the \Source folder where you installed the distribution files.
- Execute the GACUTIL utility to add the Microsoft ESB Guidance core assemblies to the global assembly cache.
- Copy all the Microsoft ESB Guidance pipeline components to the default BizTalk pipeline component directory (%Program Files%\Microsoft BizTalk Server 2006\Pipeline Components).
- Deploy the Microsoft.Practices.ESB.sln from the \Source folder where you installed the distribution files, which creates the Microsoft.Practices.ESB application in BizTalk.
- Import the BizTalk binding file Microsoft.Practices.ESB.CORE_Bindings.xml.
- Deploy Business Rule Engine Vocabularies.
- Deploy the BAM observation models.
Change the SQL Target setting for the SQL Adapter associated with the send port named All.Exceptions, which supports the Exception Management Framework, to point to the EsbExceptionDb database you created in step 4.
To confirm successful installation of the Microsoft ESB Guidance core solution, or if you are encountering issues when you run applications, you can use the list provided in the topic Assemblies and Artifacts Installed by the ESB Core to check for the presence of the required assemblies and other artifacts.
Now continue to the next task: Configure BizTalk and Machine.config Files.