Wednesday, December 27, 2006

A small Introduction to BizTalk Server 2004

Summary:

Microsoft BizTalk Server 2004 is an integration server product that enables you to develop, deploy, and manage integrated business processes and XML-based Web services. It supports the goal of creating business processes that unite separate applications into a coherent whole.

Introduction:

Microsoft BizTalk Server 2004 supports service-oriented architecture (SOA), the goal is creating business processes that unite separate applications into a coherent whole.

BizTalk Server has been used for application integration, where the following two scenarios are most important:
++ Connecting applications within a single organization, commonly referred to as enterprise application integration (EAI).
++ Connecting applications in different organizations, often called business-to-business (B2B) integration.

BizTalk Server 2004 Engine:

The two capabilities of BizTalk Server 2004 engine : a way to specify the business process, and some mechanism for communicating between the applications the business process uses.

The components of BizTalk Server 2004 Engine:
A. Incoming Message
B. Message Box
C. Business Rule Engine and Orchestrations
D. Outgoing Message

BizTalk Server engine
A business process is implemented as one or more orchestrations, each of which consists of executable code. These orchestrations are not created by writing code in a language such as C#, however. Instead, a business analyst uses the Orchestration Designer for Business Analysts to graphically organize a defined group of shapes to express the conditions, loops, and other behavior of the business process. Business processes can also use the Business Rule Engine, which provides a simpler and more easily modified way to express the rules in a business process. The Business Rule Engine to enable more business-oriented users to directly create and modify sets of business rules. Each orchestration creates subscriptions to indicate the kinds of messages it wants to receive.

The message process is as follows:

Incoming Message

-- A message is received through a receive adapter. Different adapters provide different communication mechanisms, so a message might be acquired by accessing a Web service, reading from a file, or in some other way.

-- The message is processed through a receive pipeline. This pipeline can contain components that perform actions such as converting the message from its native format into an XML document or validating the message’s digital signature.

Message Box

-- The message is delivered into a database called the MessageBox database, which is implemented by using Microsoft SQL Server.

Orchestrations

-- The message is dispatched to its target orchestration, which takes whatever action the business process requires.

-- The result of this processing is typically another message, produced by the business process and saved in the MessageBox database.

Outgoing Message

-- This message, in turn, is processed by a send pipeline, which may convert it from the internal XML format used by BizTalk Server 2004 to the format required by its destination, add a digital signature, and more.

--The message is sent out through a send adapter, which uses an appropriate mechanism to communicate with the application for which this message is destined.

Three roles are necessary to create and maintain BizTalk Server 2004 applications. These roles, and the functions they perform with the BizTalk Server 2004 engine, are as follows:
++ Business analyst: Defines the rules and behaviors that make up a business process, and determines the flow of the business process by defining what information gets sent to each application and how one business document is mapped into another.
++ Developer: Implements the business process defined by the business analyst. Implementation includes tasks such as defining the XML schemas for the business documents that will be used, specifying the detailed mapping between them, and creating the orchestrations necessary to implement the business process.
++ Administrator: Performs tasks such as setting up communication among the parts and deploying the application in an appropriately scalable way.