(For more resources related to this topic, see here.)
You will need to consider the BizTalk Services edition required for your production use as well as the environment for test and/or staging purposes. This depends on decision points such as:
Expected message load on the target system
Capabilities that are required now versus 6 months down the line
IT requirements around compliance, security, and DR
The list of capabilities across different editions is outlined in the Windows Azure documentation page at http://www.windowsazure.com/en-us/documentation/articles/biztalk-editions-feature-chart.
Note on BizTalk Services editions and signup
BizTalk Services is currently available in four editions: Developer, Basic, Standard, and Premium, each with varying capabilities and prices. You can sign up for BizTalk Services from the Azure portal. The Developer SKU contains all features needed to try and evaluate without worrying about production readiness. We use the Developer edition for all examples.
Provisioning BizTalk Services
BizTalk Services deployment can be created using the Windows Azure Management Portal or using PowerShell. We will use the former in this example.
Certificates and ACS
Certificates are required for communication using SSL, and Access Control Service is used to secure the endpoints of the BizTalk Services deployment. First, you need to know whether you need a custom domain for the BizTalk Services deployment. In the case of test or developer deployments, the answer is mostly no. A BizTalk Services deployment will autogenerate a self-signed certificate with an expiry of close to 5 years. The ACS required for deployment will also be autocreated. Certificate and Access Control Service details are required for sending messages to bridges and agreements and can be retrieved from the Dashboard page post deployment.
You need to create an Azure SQL database for tracking data. It is recommended to use the Business edition with the appropriate size; for test purposes, you can start with the 1 GB Web edition. You also need to pass the storage account credentials to archive message data. It is recommended that you create a new Azure SQL database and Storage account for use with BizTalk Services only.
The BizTalk Services create wizard
Now that we have the security and storage details figured out, let us create a BizTalk Services deployment from the Azure Management Portal:
From the Management portal, navigate to New | App Services | BizTalk Service | Custom Create.
Enter a unique name for the deployment, keeping the following values—EDITION: Developer, REGION: East US, TRACKING DATABASE: Create a new SQL Database instance.
In the next page, retain the default database name, choose the SQL server, and enter the server login name and password.
There can be six SQL server instances per Azure subscription.
In the next page, choose the storage account for archiving and monitoring information.
Deploy the solution.
The BizTalk Services create wizard from Windows Azure Management Portal
The deployment takes roughly 30 minutes to complete. After completion, you will see the status of the deployment as Active. Navigate to the deployment dashboard page; click on CONNECTION INFORMATION and note down the ACS credentials and download the deployment SSL certificate. The SSL certificate needs to be installed on the client machine where the Visual Studio SDK will be used.
BizTalk portal registration
We have one step remaining, and that is to configure the BizTalk Services Management portal to view agreements, bridges, and their tracking data. For this, perform the following steps:
Click on Manage from the Dashboard screen.
This will launch <mydeployment>.portal.biztalk.windows.net, where the BizTalk Portal is hosted.
Some of the fields, such as the user’s live ID and deployment name, will be auto-populated.
Enter the ACS Issuer name and ACS Issuer secret noted in the previous step and click on Register.
BizTalk Services Portal registration
Creating your first BizTalk Services solution
Let us put things into action and use the deployment created earlier to address a real-world multichannel sales scenario.
A trader, Northwind, manages an e-commerce website for online customer purchases. They also receive bulk orders from event firms and corporates for their goods. Northwind needs to develop a solution to validate an order and route the request to the right inventory location for delivery of the goods. The incoming request is an XML file with the order details. The request from event firms and corporates is over FTP, while e-commerce website requests are over HTTP. Post processing of the order, if the customer location is inside the US, then the request are forwarded to a relay service at a US address. For all other locations, the order needs to go to the central site and is sent to a Service Bus Queue at IntlAddress with the location as a promoted property.
Before we start, we need to set up the client machine to connect to the deployment created earlier by performing the following steps:
Install the certificate downloaded from the deployment on your client box to the trusted root store. This authenticates any SSL traffic that is between your client and the integration solution on Azure.
Download and install the BizTalk Services SDK (https://go.microsoft.com/fwLink/?LinkID=313230) so the developer project experience lights up in Visual Studio 2012.
Download the BizTalk Services EAI tools’ Message Sender and Message Receiver samples from the MSDN Code Gallery available at http://code.msdn.microsoft.com/windowsazure.
Realizing the solution
We will break down the implementation details into defining the incoming format and creating the bridge, including transports to process incoming messages and the creation of the target endpoints, relay, and Service Bus Queue.
Creating a BizTalk Services project
You can create a new BizTalk Services project in Visual Studio 2012.
BizTalk Services project in Visual Studio
This article discussed deployment considerations, provisioning BizTalk Services, BizTalk portal registration, and prerequisites for creating your first BizTalk Services solution.
Resources for Article:
- Using Azure BizTalk Features [Article]
- BizTalk Application: Dynamics AX Message Outflow [Article]
- Setting up a BizTalk Server Environment [Article]