Microsoft BizTalk Server 2000
Microsoft BizTalk Server 2000 is a .NET Enterprise Class server product with powerful development and execution features capable of orchestrating business processes within one organization, as well as among many organizations. BizTalk Server 2000 provides us with the ability to define XML-based business document specifications, and to configure what transformations must take place on these documents as they travel between software applications. BizTalk facilitates application development by allowing both software developers and business analysts to participate in the development of business process software applications.
BizTalk is designed to provide us with a comprehensive interface for managing the types of application interoperability issues that we have been discussing, which can often become quite complex. BizTalk is a technology that helps enable the efficient implementation of business processes and workflow within an organization. It can import XML and XSD schemas after initial configuration customized for a company's e-Business requirements has been completed. As a member of the .NET Enterprise Server family, BizTalk can communicate with SOAP web services.
The sections below are an introduction to the primary application-level features of BizTalk Server and are intended as a foundation for later chapters about gasTIX.com and Microsoft BizTalk Server 2000. For more information on the implementation of BizTalk in the gasTIX application, refer to Chapter 12, "Fulfillment."
Business Document Exchange
Microsoft BizTalk Server 2000 provides a powerful execution engine that enables business document exchange both within and between enterprises. A business document is a text document, or message, that drives a business process. Examples include purchase orders, receivables statements, product specifications, or any other critical pieces of information on which businesses depend for their operations. Different software applications utilize different document formats. BizTalk Server 2000 helps integrate different applications by supporting both XML and common flat-file formats. These message formats are described below:
XML documents. Any XML document that conforms to the XML 1.0 specification can be exchanged using Microsoft BizTalk Server 2000.
Delimited flat-files can also be used with BizTalk. The data fields of delimited flat-files are separated by a specified character delimiter. Common delimiters are commas, colons, pipes, and tab characters.
Fixed-length data fields comprise positional flat-files. A collection of data fields on one row in the flat-file is called a record. Flat-file records can either be fixed or variable length, depending on the structure of the data.
In order for BizTalk to comprehend the content of these different data formats, we must create message specifications. BizTalk message specifications are similar to the XSD Schema we learned about earlier in this chapter. They are blueprints for what type of information a message can contain, and thus enable BizTalk to understand specific rules for business document exchange.
The highest layer of abstraction in BizTalk Server 2000 is Orchestration. BizTalk Orchestration is used to design business processes that manage overall application business logic.
In the past, the design and implementation of a business process occurred in two separate pieces. First, a business analyst would gather business requirements and construct some type of diagram, like a flowchart or interaction diagram, describing the business process in a graphical manner. Next, a software developer would review the business process diagram and map requirements to an implementation model and perform the coding and testing to produce the required software solution.
The BizTalk Orchestration Designer gives both the business analyst and software developer a common tool for designing and implementing business processes. Business process creation using BizTalk Orchestration generally follows four distinct steps. These are:
Business analysts create an XLANG Schedule drawing using a set of well known flowchart-like shapes. Each shape represents a logical step in the business process.
Software developers provide an implementation for the XLANG Schedule by attaching each shape in the drawing to software which implements that shape.
Orchestration Designer provides a way to visually define the flow of data between different shapes in the diagram. This work can either be accomplished by a business analyst or software developers.
The XLANG Schedule drawing is then compiled into an XLANG Schedule. XLANG Schedules are executable business process files used by the BizTalk runtime to complete the business process.
A powerful feature of Orchestration Designer is its ability to create long-running business processes. When designing an XLANG Schedule, we can configure it to stay alive for as long as it takes to complete the business process. For example, a book ordered over the Internet may have to be ordered directly from the publisher, which could take weeks to complete. BizTalk Orchestration treats this as a loosely-coupled process and is able to compensate for the added work required to complete the book order.
BizTalk Messaging Services provide us with the ability to receive messages and route them into a business process, or to send out messages as a result of a process. Messaging enables business partner integration, as well as integration of existing applications by acting as the low-level transport and support layer for BizTalk Orchestration Services. Messaging and Orchestration are designed to be used closely together, with Messaging providing the receipt and delivery capability that Orchestration relies on.
The major features of BizTalk Messaging include the following:
Reliable document delivery
Transport services represent the different protocols and applications that transmit business documents to their destinations. BizTalk Messaging supports standard Internet protocols like HTTP, SMTP, and HTTPS, as well as file-based document delivery. Custom software, termed Application Integration Components, can be also be used by BizTalk Messaging, as well as Message Queuing technology.
All documents that pass through BizTalk Messaging are XML-based. We all know that a business process may consume data that conforms to a variety of industry standard formats like ASNI X12, EDIFACT, or even use flat-file formats. BizTalk Server provides a set of data parsers (converters) that translate these non-XML formats to XML. BizTalk Messaging even allows us to customize its services and develop our own parsers for use with proprietary data formats.
BizTalk enforces data integrity rules by validating each document instance against a specification. If a document instance does not conform to specifications, it is transferred to a temporary holding queue for additional inspection.
Reliable document delivery ensures a document reaches its intended destination in a reasonable amount of time. BizTalk Messaging stores each document in a central repository. In the unlikely event of server failure, BizTalk allows other servers to take control and process orphaned documents from the central repository.
BizTalk Server supports public key encryption for documents transmitted using BizTalk Messaging Services. On the receive side of messaging operations, BizTalk supports decryption as well as signature verification.