To help explain what BizTalk (or Microsoft BizTalk Server to give it its full name) is and what it can do for businesses let’s look at some common scenarios that you may relate to.
Let’s say we have three systems that we need to pass information between on a regular basis: Human Resources, Finance and Training. The HR system holds details of employees and processes information for the weekly or monthly pay roll; the Finance system pays invoices to external suppliers and also processes employee expenses; the Training system holds details of courses employees are to do or have completed.
Now we need to pass to the Finance system and Training system details of new employees as well as any changes details when they occur e.g. job title changes due to promotion, name changes due to marriage, etc. We also need to pass approved expenses from the Finance system to the HR system so that employees are reimbursed, as well receive invoices from external suppliers and pay them.
In the simple most basic scenario we achieve the passing of information between systems using paper forms or email. So when a new employee joins, his/her details are entered into the HR system, most likely from a form. These details are then passed to the Finance and Training systems by either using this same paper form or printing off the details from the HR system and passing them onto the Finance and Training support functions for manual entry into those systems. The same will occur for any approved expenses from the Finance system onto the HR system and also receiving invoices and payment to suppliers. The main issues with a manual process are that it is prone to errors and delays and has no real audit trail.
Most businesses would have moved on a step by automating these processes rather than relying on a manual process especially if we are dealing with 10s or 100s of these forms on a daily basis, which we would find in medium to large sized companies.
These automated processes would in effect mimic the manual process: so you would have an automated process for extracting new and changed employee information from the HR system and delivering that to the Finance system. You would also have a similar automated process for the new and changed data to the Training system. This would be a separate process most likely as the data required by the Finance and Training systems would be different in structure and layout.
There would be another automated process for passing approved expense details from the Finance system to the HR system and also receiving invoices from suppliers and payment of these to suppliers.
Architects typically call this a “point to point” solution design, in that each feed of data is separate from each other. Whilst this is a good, neat solution on day one of your step into integration as a business, you will soon come to realise it acts more as a hindrance as your business moves forward and you look to replace the HR system for instance. In this scenario you would have to amend three point to point automated processes namely the HR data to the Finance and Training systems and the approved expense information from Finance to HR. Now it may not seem a lot of work, but if the HR data was required by other systems the amount of work to amend these point to point interfaces increases.
This is where BizTalk can help
Acting as what us architects call an “integration hub and spoke model” there are no point to point interfaces and all data goes through BizTalk. This model has the advantage of decoupling systems so the HR system doesn’t need to know about the structure and layout of the data going to the Finance and Training systems.
The algorithm to determine the number of point to point interfaces required to connect all your application systems together is:
n * (n — 1)/n.
So when we come to replace the HR system there are no changes to be made to the other systems interfaces and they would not need to know or be aware of the fact the HR system would be replaced. All data transformations are done in BizTalk and there is no requirement to make changes to the HR, finance, training or external suppliers systems.
If HR data is extracted from the HR system and passed to the Finance system and similar data plus additional data is required for the Training system, then the common feed from the HR system can be updated to extract all the information for both the Finance and Training systems and within BizTalk only extract that information required for each of the Finance and Training systems.
Connectivity to each system is achieved by using what is known as adapters. These adapters provide a plug and play ability to connect BizTalk to each system and take away the necessity to understand the technology of each system. For instance there is an adapter that can connect to an IBM CICS system. This means other systems can access applications that run on the IBM CICS platform by using BizTalk as the broker. What we mean by broker in architectural terms it acts as the mediator or middle man and manages the process of converting the structure and format of data into something that the destination system can understand.
Bringing BizTalk into your organisation should not result in having to make changes to your systems as is commonly misunderstood. Any changes that are required are contained within BizTalk itself where a lot of what needs to be done are just configuration and very little if any code to be written.
That is not all that BizTalk can do albeit it does resolve your immediate integration requirements overnight.
BizTalk is also a Business Process Management (BPM) tool that can orchestrate your business processes. The most common use of BPM in BizTalk is to provide the glue between your different systems and act at an Enterprise workflow level by managing each system’s own workflow processes.
BizTalk also has a rich Business Rules Engine (BRE) where you can put all your organisation’s business rules that can be built into BizTalk orchestrations and these can be called from outside BizTalk using the API that is provided. By centralising your business rules into the BizTalk BRE you can provide a single repository for your organisation’s key decisions avoiding these being replicated across systems leading to expensive maintenance of these as your organisation continues to grow.
Another often underestimated feature that comes with BizTalk is the BAM (Business Activity Monitoring). BAM in BizTalk provides the visibility to understand what is going through BizTalk in real time as well as providing historical data that can provide trend analysis on the data captured. In the scenario above where we are receiving invoices from suppliers and making payment, BAM can provide a real time update of the value of invoices coming into the organisation and how much is being paid out. This information may not be as readily available from the finance system and at best may only be provided on a daily basis. BAM comes with a portal where the data can be viewed and analysed by business and IT users.
BizTalk is not just an Enterprise Application Integration (EAI) tool but can also provide Electronic Data Interchange (EDI) and act as an Enterprise Service Bus (ESB). Microsoft has extended BizTalk into the cloud (Azure) and offers Azure BizTalk Services which provides a simple, powerful and extensible cloud-based integration service for Business-to-Business (B2B), EDI and EAI. Azure BizTalk Services also provides out of the box cloud to on-premises, line-of-business applications integration for SAP, Oracle, EBS, SQL Server and PeopleSoft. It allows you to connect with any HTTP, FTP, SFTP or REST data sources. There will be much more in Azure BizTalk Services released over the next few years as Microsoft continues to invest heavily in integration.
Ballard Chalmers delivers detailed consulting and BizTalk solution development services. As one of a handful of expert companies in BizTalk development in the UK, we have 15+ years’ experience in successful development projects. As such, our experts are ranked amongst the best in the country and we can deliver anything from a single day’s consultancy through to ongoing consultative support for business or internal technical teams. We invite you to take advantage of a free initial informal technical review with one of our experts. Call us on on 01342 410223 to arrange your appoinment now.
By Stewart Joyce, Associate Senior BizTalk Consultant
Stewart Joyce is a Microsoft Certified Technical Specialist in BizTalk and a Microsoft Certified Solution Developer with more than 30 years consulting experience across a range of industries.