izTalk 2004 Server is an enterprise-class application from Microsoft designed to make the integration of disparate systems as easy as possible. It is a suite of tools that gives you flexibility in integrating and orchestrating your workflows, rules, and data translations. It allows you to program both short- and long-term business logic and business processes. This capability is known as Business Process Automation, or BPA.
BizTalk is at the forefront of the next generation of enterprise developmentexternalizing the workflow, rules, and logic of your system, allowing them to be defined in a declarative manner using a language such as BPEL, or in a visual manner using tools such as the BizTalk Orchestration Designer. This externalization is important on many fronts:
First, it allows for a greater interaction and understanding between the business side of your company and the development side. Traditionally a business analyst conceives of an application and describes it as best he can. Then a systems analyst or architect does his best to understand these requirements and translate them into entities that can be built using code. Finally a developer takes these entities and codes them to spec. In the ideal case the process is smooth, and there is no disjoin from one end to the other. But the ideal case rarely happens; friction between the business and the development sides is common in most industries.
Second, it allows for greater clarity in understanding the business process itself. Typically, the requirements created by the business analyst are realized in a compiled application that appears to do what it's supposed to do. But nobody but the development team really understands what is going on under the hood. The test plan and its results are the only evidence anyone has that the system has truly satisfied all the requirements. When the business process can be developed declaratively both sides work more collaboratively in the process, and their confidence changes into the ability of the runtime engine to implement that process correctly.
|What You Need: Microsoft BizTalk Server 2004 (available as a trial download.) Please be aware of the prerequisites for installation, which include Visual Studio.NET 2003, Microsoft SQL Server 2000 SP2, and Microsoft SQLXML. You may need to download and install these before using BizTalk 2004.
Third, it allows for greater ability to change and debug the process. Generally, when an application written in a high-level language, such as C# or Java, needs to be changed, you go in and change the code to behave according to the new requirements. Over time and with many changes from many hands, the codebase can become completely disjoined from the original business requirements. It is difficult for a business analyst, who understands the requirements to understand the code, and likewise it is difficult for a coder to understand the business needs. If the process is built declaratively, in a language that both developers and
analysts understand, then changes are much easier to manage.
When the process and rules can be described to a run time engine instead of programmed in code a lot of these problems go away. This is the purpose of XML schema such as BPEL (Business Process Execution Language) and RuleML (Rules markup language) and the engines that implement them.
To date, BPEL is implemented with Microsoft BizTalk, IBM WebSphere, and BEA WebLogic as well as a number of open source platforms. At the time of this writing, BEA is considering open sourcing its implementation of BPEL4J. This would result in a widely distributed Java runtime that parses and executes BPEL.
But this article is about another BPA engine: Microsoft BizTalk 2004. BizTalk has long been the leader of the BPA pack, adapting standards such as BPEL4WS (BPEL for Web Services) ahead of its competition, and having tight integration with Visual Studio. For the rest of this article I will explain how to use BizTalk to generate and automate a simple workflow and rules-based application.