by Tord Glad Nordahl | May 27, 2014 | BizTalk Community Blogs via Syndication
May 14
27
So we all know that DTC often provides problems, and it can be a hassle. I’ve spent so much time waiting for everything to get up, and I often find myself spending most of my time With the actual configuration of BizTalk.
It is important to maintain a high level of security, one of the ways to do this is to use a firewall between the servers, what type of communication is allowed between the machines and over what ports, TCP, UDP, ports or port ranges.
So I’m willing to share one of the elements that most often are the actual problem.
The MSDTC will by default use port 135, however, it will also use a wide range of ports to send and receive data. It is important that you configure both the BizTalk and SQL Server machines to allow these ports to be used and set up a port range.
When it comes to the ports I usually set up a port range of 100 ports, between 5000 to 5100. There are a few more changes you need to do, here is the walk-through (there is a link at the bottom where you can download the registry string).
- Open the 32bit registry by hitting start -> run and type “regedt32” (it is very important you store this in the 32bit registry and NOT in the regular “regedit“
- Navigate to “HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Rpc“
- Create a new Key (folder) and name it “Internet“
- In this Key / folder, create the following:
- Create a new “REG_SZ” and name it “PortsInternetAvailable” and add a value equal to “Y“
- Create a new “REG_SZ” and name it “UseInternetPorts” and add a value equal to “Y“
- Create a new “REG_MULTI_SZ” and name it “Ports” here, add the Port range you want, eq. 5000-5100.
When this is done, your registry looks like this:
All the ports you need to open for now is port 135 and port range 5000-5100 (TCP) between the servers.
If you don’t want to type all this you can download the registry file, remember you still have to open regedt32 and choose “Import” from the file menu.
Download the registry file here
This entry was posted on May 27, 2014 at 7:22 am. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.
Posted in Biztalk by Tord Glad Nordahl
by community-syndication | May 26, 2014 | BizTalk Community Blogs via Syndication
Announcement
Dev/test story for BizTalk Server in Microsoft Azure IaaS just got better. We have published BizTalk Server 2013 Developer edition image in the platform gallery for MSDN subscribers.
Image details
A typical BizTalk Server (2013) development environment consists of
- Base Windows (Server 2012) platform
- BizTalk Server (2013)
- SQL Server (2012)
- Visual Studio (2012)
- IIS
The aim of creating the developer edition image is to have a self-contained image which includes everything that a BizTalk developer needs to get started. So, it contains not just BizTalk Server but also the other software components mentioned above. The specific versions of the software components are mentioned in parenthesis.
Yes, the developer edition image does contain Visual Studio pre-installed! Not only that, it also contains the BizTalk SDK pre-installed for you.
Getting started
Pre-requisites
This image is available only to MSDN subscriptions in Microsoft Azure. A MSDN subscription offers lots of benefits to develop and test solutions in the cloud. You can read more about MSDN subscription benefits here.
Create a new BizTalk Server development environment
You can create a new BizTalk developer virtual machine either through the Azure portal, or through Powershell. In this blog post, I will walk through the portal experience.
In Azure portal, you can create a new VM by navigating through
New – Compute – Virtual Machine – From Gallery – BizTalk Server
If your subscription is not a MSDN subscription, BizTalk Server 2013 Developer image does not light up. However, if you are making use of a MSDN subscription you will notice the BizTalk Server 2013 Developer image magically light up.
You can then select this image, walkthrough the image creation wizard and create a new BizTalk Server 2013 Development virtual machine just like you would create any other virtual machine.
Develop your first BizTalk Application
When the virtual machine is up and running, it has the local SQL Server up and running as well.
Note the absence of any BizTalk specific databases. This is because the virtual machine has BizTalk Server installed, but it isn’t configured yet.
BizTalk Server configuration
You can now launch the BizTalk Server configuration (shortcut to BizTalk Configuration is present in desktop), and configure BizTalk in the virtual machine.
Above screenshot shows a successful completion of BizTalk configuration.
Development tools
The heart of any BizTalk development environment is the IDE – Visual Studio. The virtual machine already has Visual Studio pre-installed.
Note that the BizTalk SDK is installed as part of the image as well. So, you can get started right away.
More options – other BizTalk components
The developer edition image has BizTalk core installed by default. If you wish to use other components of BizTalk Server, such as ESB Toolkit, WCF LOB adapters, etc. – you have full access to the BizTalk Server 2013 Developer edition base media at C:\BizTalkServer2013_Developer.
Opportunities
Develop in the cloud – Get started with BizTalk Server development in minutes
The barrier to get started with developing BizTalk applications has come down drastically in the cloud. With the BizTalk Server 2013 development image, developers can now provision a fully functional development environment and write their first BizTalk application in minutes.
All the complexities involved with respect to hardware availability, understanding the software dependencies, installation sequence, SDK installations, etc. are taken care of. BizTalk developers can focus on their application, and get started with their app development in the cloud within minutes.
On-demand development environments
There are many cases where customers need to spin off a new BizTalk Server development environment for a POC, or an upcoming BizTalk project. Usually, they either have to work their way through setting up a new environment.
With the power of developer images in Azure, customers can now create their environments on-demand – create and use it when required, and shut it down when the POC/project development is complete.
Leverage Azure platform and its ecosystem
This is often understated, but there is a lot of goodness provided by the Azure platform.
Choose a datacenter location near you
Azure currently operates out of ten regions across the globe. This includes United States, Europe, Asia Pacific, Japan, and Brazil. Additional geographic expansion is a high priority focus for Azure team.
Wherever you are located, you can choose a location near you that suits your requirements.
Explore on premise connectivity options in the Azure platform
It is very common in BizTalk solutions to have one or more dependent systems (e.g. ERP) on premise. Development could happen in the cloud, and to test the end-end flow – customers can make use of the networking solutions in Microsoft Azure: point-to-site, site-to-site, or the recently announced Azure ExpressRoute options.
Others
There are various other goodness that comes as part of the Azure platform. It includes, but is not limited to: VM sizes, VM agent for remote debugging, VM extensions, security extensions, etc.
Summary
BizTalk Server 2013 Developer edition is available for MSDN subscriptions in Microsoft Azure. It is a completely self-contained image and helps you get started with BizTalk Server development in the cloud.
Blog Post by: BizTalk Blog
by community-syndication | May 23, 2014 | BizTalk Community Blogs via Syndication
With the ESB Toolkit you get BAM out of the box. There are already two activity definitions created that give information about itineraries that are processed in BizTalk and about Exceptions that occur in BizTalk. You only have to deploy the definitions with the Bm.exe tool to enable BAM tracking so it’s very easy to use BAM with the ESB Toolkit.
When you deploy the activity definitions are several BAM tables en views created in the BAMPrimaryImport database. They contain very valuable information but the strange thing is that you cannot link the Itineraries data to the Exceptions data. The data is stored in different tables and there is no foreign key to join the tables. This is very unfortunate because now you know for example that an error has occurred in an Itinerary Service but you don’t know in which itinerary. Also if you want to have an overview of the running itineraries you have to link the data because if an exception has occurred in an itinerary that itinerary is not running anymore but you don’t have information about that in the Itineraries data. How can you fix this? By creating a custom Foreign Key!
Creating a custom Foreign Key
In the bam_ItineraryServiceActivity_CompletedInstances view you have the InterchangeID that is set by the Messaging Engine for each message that arrives on the Server. In the bam_EsbExceptions_CompletedInstances view you don’t have it but you can use other fields to store it in. The FaultCode field is a suitable candidate because it has the same data type as the InterchangeID and you can set the FaultCode inside an Orchestration when an Exception occurs.
Use the following code to get the InterchangeID and to create a Fault message when an Exception occurs. The data of the Fault message is stored in the EsbExceptionDb database but also in the BAMPrimaryImport database.
// Get Context properties
interchangeID = msgInbound(BTS.InterchangeID);
// Create FaultMessage
msgFault = Microsoft.Practices.ESB.ExceptionHandling.ExceptionMgmt.CreateFaultMessage();
// Set Fault Message Properties
msgFault.Body.FaultCode = interchangeID;
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
Retrieving data from multiple tables with SQL Joins
Create a SQL query in SQL Server Management Studio on the BAM views in the BAMPrimaryImport database. Use the InterchangeID and FaultCode fields to link the views.
Itineraries With Errors
In the following example are the bam_ItineraryServiceActivity_CompletedInstances view bam_EsbExceptions_CompletedInstances view joined to get an overview of Itineraries with errors.
Running Itineraries
In the following example are the bam_ItineraryServiceActivity_CompletedInstances view bam_EsbExceptions_CompletedInstances view joined to get an overview of all the running Itineraries.
See Also
For more information see:
Using BAM in the ESB Toolkit