This week I was working with a customer and one of the interesting things in the organisation is that they have a fairly large investment in BizTalk but in general few people in the organisation are knowledgeable about how important a role it plays. I decided it might be interesting to do a small PR exercise; I would write a little post with 10 bits of information about their BizTalk investment that they might not be aware of. It was also interesting that I found out a few things that I didn't know myself in terms of the stats.
The idea of the post was as follows:
- It should be written in a not overly technical language so it could be given to business people
- It should talk about some of the business processes
- We would like to talk about some technical things but it must be explained with examples which are not technical
- It might reference things that the organisation does particularly well
Below is an example of the article for a fictitious company called Acme.
10 things you might not know about BizTalk at Acme
BizTalk is a black box which plays a very important part in the Acme application architecture. A lot of people have probably heard of it but don't know much about what it does. This article will help to tell you a little more about what it is and its role.
What is BizTalk
BizTalk is a product from Microsoft which is a centralised Integration Server platform. It is used to develop solutions to integrate your applications.
As a platform it allows you to develop solutions from simple application connectivity to complex ESB, hybrid Cloud or B2B scenarios. The platform allows you to host these integration solutions side by side so they can benefit from the investment made in each other.
BizTalk provides many "quality of service" features such as a scalable hosting environment and administration and management tools which let you support solutions in production.
Where does it fit at Acme
At Acme over the years we have developed many integration solutions with BizTalk. Some of the bigger better known solutions include "process a" instances between application A and application B most of the interaction between these applications happens via BizTalk messaging and workflow. BizTalk deals with complex message transformation between the applications, provides durable messaging to handle any server downtime and fault handling in addition to workflow to manage the system to system integration processing.
In Acme almost all documents which go to customers will go via an application called "application c". BizTalk enables the integration from "application a" into "application c" and BizTalk handles both real time document requests and heavy duty batch processing. BizTalk makes it easier for these two applications to work together to deliver the end customer value.
In Acme approximately 5000+ "process a" instances are processed per day from B2B partners and loaded into "application a".
In Acme all payments from customers go through BizTalk in both real time and for monthly payments.
All orders Acme receives are processed through BizTalk
BizTalk is also involved in many other processes.
Number of messages processed
It is estimated that BizTalk has processed in the region of n messages since it was introduced to Acme.
[Note: this was an estimate based on the average number of messages per day from HAT queries]
Since BizTalk went live it has processed approximately:
- £n worth of customer payments
- n documents have been sent to customers through BizTalk
- n orders from B2B partners have been processed through BizTalk
Long running transactions
BizTalk excels in the area of long running transactions. At Acme we have some processes which can take hours or even days to complete. Because BizTalk is able to maintain the state of a workflow the long running process can do some work and then stay in a dormant state until the next part is due to execute or until an application sends the response message back to trigger the next part of the process.
This state persistence is also able to withstand failure conditions or even the whole data centre going down and a disaster recover scenario happening.
One of the key features of BizTalk which plays a very important role in the application performance at Acme is a pattern called load levelling. If you imagine that in some areas of the systems you have different amounts of activity at different times. For example overnight from 10pm onwards we get a large spike in the number of "process d" and "process e" instances to support the overnight batch processing. During the day these processes also execute but it is a much smaller volume. Overnight the input into BizTalk is at too high a rate to be passed through to "application e" at the same rate without significant scaling of these applications. In BizTalk we flatten this load and deliver it to the end system at a controlled rate which the application can manage. Imagine pouring water through a funnel.
Typically applications are prone to errors and downtime. One of the most important features of BizTalk is its ability to recover from errors in an application it is trying to integrate with. If for example "application a" threw an error when BizTalk tried to send a message to it then BizTalk can work out what kind of error it is and if an automatic retry can be attempted. The error may persist and indicate a bigger problem. If the number of automatic retries is exhausted then BizTalk will suspend the message but provide a management interface so that the support team can see the problem, workout what went wrong and can start the retry process again when the issue is resolved.
Ive removed the last few as they were a little too specific to the customer to display on my blog, but hopefully you get the point.
This communication actually went down really well and I think served as an excellent way to tell people a little about what this expensive black box they occasionally hear about is and why it's important to the organisation.
Has anyone else done anything similar?