Recommended Books



ASPAlliance.com Sample Book Chapters

Chapter 3: Overview of BizTalk Server

by Rand Morimoto

In This Chapter

  • Step 1: Determining the Interchange Goals and Objectives

  • Step 2: Modeling the Business Process

  • Step 3: Agreeing on Process Specifications and Parameters

  • Step 4: Creating the Mapping Between Input and Output Data Formats

  • Step 5: Configuring the Triggering Mechanisms to Process Information

  • Step 6: Completing the Schedule for the Transaction Process

Instead of listing the features and functions of the various technologies and tools built-in to the BizTalk Server product in a glossary/definition format, this chapter is organized chronologically by the process you follow to implement a BizTalk Server solution. Describing the BizTalk Server process flow involves defining goals and objectives of data interchange, modeling the business process, creating the specifications, and creating the maps, before finally confirming the trigger mechanisms and schedule for transaction processing.

In this chapter, BizTalk Orchestration is not purely defined, but instead illustrated how it relates to the business process model. And BizTalk Mapper is described in this chapter in terms of how it translates business processes into data interchange maps.

A BizTalk Server process flow starts with

  1. Understanding the goals and objectives of the organizations that want to exchange information

  2. Modeling the business process from start of the flow to completion

  3. Agreeing on the specifications and parameters involved in the process

  4. Creating the mapping between input and output data formats

  5. Confirming the triggering mechanism to process the information

  6. Completing the schedule for the transaction processes

When the process flow is followed, BizTalk Server can solve business information exchange challenges. The full process requires modeling business procedures, analyzing data communication formats, mapping formats, and properly configuring BizTalk Server. This chapter provides an overview of the sequential steps involved in the process and refers to the chapters throughout the balance of this book that highlight the steps in more detail.

Step 1: Determining the Interchange Goals and Objectives

Although BizTalk Server is an excellent solution for business to business (B2B) and Enterprise Application Integration (EAI), a successful implementation of BizTalk Server requires business analysis and goal setting to ensure that the solution meets the needs and objectives of the stakeholders of the project. This first step involves asking the right questions and gathering the information necessary to document the overall expectations for the project. A small amount of planning will go a long way in coming up with a complete end solution.

Who Understands the Interchange Goals and Objectives

When determining the interchange goals and objectives, it's important to understand who the project's stakeholders are who ultimately make the determination of whether the project is successful. Unlike many internetworking projects where the decision maker is frequently someone in the Information Technology (IT) department, for a BizTalk Server integrated solution, the decision maker is frequently the CFO, COO, or a Line of Business (LOB) manager. It is important to know who owns the results of the project. This individual or group of individuals will understand the overall goals and objectives for the data interchange needs of the project.

The stakeholders for the project also understand critical business factors necessary to know before and during the project. It is common that the stakeholder is also the person who would approve the budget and get personnel resources allocated to support the implementation and ongoing maintenance of the project.

Some stakeholders are hands-on and involved right from the beginning of the project and throughout the entire length of the project. These stakeholders will be directly informed on the project, process, and tasks to make decisions on budget and project engagement firsthand. Other stakeholders assign the information gathering and analysis tasks to someone else and only request that a final report be prepared and submitted for review. The stakeholder will typically still be the individual responsible for making the final decision, but others will be in a position of influencing the final decision. Their report and recommendation to the stakeholder would be biased by their opinion of the solution. In the cases where there are both stakeholder(s) and influencer(s), multiple individuals would need to be involved in the goal and objective definition process.

What Are the Interchange Goals and Objectives

With the stakeholder(s) and decision maker(s) identified, the goals and objectives for the project need to be understood. Determining the goals and objectives might be as simple as asking a single individual, or it might require a group meeting to come to a consensus. The data interchange goals and objectives vary from project to project. There are typically business goals and objectives, technical goals and objectives, and operational goals and objectives.

After the goals and objectives are understood, they should be written down to create a documented functional specification. This functional specification should then be approved and "signed off" by the stakeholders of the project to get a confirmation of their understanding of the goals and objectives of the project.

Business Goals and Objectives

The business goals and objectives for a data interchange project are those that impact or influence business processes. Examples of business goals and objectives would include

  • Publish a part number and description catalog every week with updated infor-mation.

  • Automate order processing and acknowledgement confirmation procedures.

  • Decrease overall costs by automating order and transaction processing.

  • Improve response time by eliminating manual processes with automated processes.

  • Enhance transaction scalability by streamlining automated processes.

Technical Goals and Objectives

The technical goals and objectives for a data interchange project are those that impact or influence IT operational processes. An example of technical goals and objectives would include

  • The consolidation of EDI and HTTP transaction systems into a single server system

  • Improving logging and tracking of transactional information so that weekly reports can be created

  • Standardizing the development language to be XML-based

Operational Goals and Objectives

The operational goals and objectives for a data interchange project are those that impact or influence timelines, budget, or operational processes. An example of operational goals and objectives would include

  • The completion of the implementation of the project before the start of the next fiscal year

  • The completion of the planning, programming, prototyping, testing, and imple-mentation of the project for under $100,000

  • The redeployment of idle personnel from a completed project to a new project

What Information Needs to Be Exchanged

With the stakeholders identified and the business, technical, and operational goals documented, the organization needs to define specifically what needs to be exchanged. This includes identifying the input format of the information coming into the BizTalk Server (such as EDI, HTTP, HTTPS) and the output format of the data being exchanged.

Also during the information gathering step, determining what applications will be involved and the transaction formats supported by the application need to be identified. There's a difference in how the BizTalk Server is configured and managed when two inventory control systems are connected versus the connectivity between a customer relationship management (CRM) application and an inventory control system. Each system has a defined format and method of communications.

There are several expectations for any implementation, whether it is an expectation of time, budget, scope of work, ongoing maintenance, or support arrangements to name a few. These expectations tend to drive behavior.

What Is the Need for Scalability and Integration

Finally, when determining the interchange goals and objectives, understanding the need for scalability of the BizTalk Server solution helps the organization plan the infrastructure needed to support the implementation. This involves planning and budgeting for multiple servers to support the demand for system transactions, or it might involve having multiple servers provide for a failover/fault tolerance system. An analysis of the needs and expectations of the stakeholders should assist in determining the type of programming needed to facilitate redundancy and performance metrics.

Additionally, an organization would want to know whether the BizTalk Server solution needs to integrate with an existing Windows environment or whether it would be tightly integrating with a non-Windows environment. An integration demand analysis would help the organization determine whether the tools available for development within a Windows-based environment are applicable and need to be acquired, or the support for multiple users can be identified and implemented in a native format or have non-Windows integration requirements.

Step 2: Modeling the Business Process

From the first step, we were able to interview the stakeholder(s) and/or the decision maker(s) to understand the business, technical, and operational goals and objectives of the organization. This information now needs to be modeled using the tools included with BizTalk Server to begin translating the process into code that can be run on the BizTalk Server.

This step involves identifying what needs to be processed, predicting what responses need to be returned, determining what events are sequential and what events trigger other events, and modeling the end-to-end information flow. This information is then entered in to a BizTalk Server tool called the BizTalk Orchestration Designer.

How to Describe the Business Processes

Key to the success of this step is translating the goals and objectives of the business into steps that can be followed methodically by the BizTalk Server. Effectively, a decision tree needs to be created where every yes/no or success/failure is identified, and appropriate loops are documented. If a group of planners is involved, this process may be done on a whiteboard.

If the organization already has a manual process that is desired to be automated, one big decision the organization needs to make is whether to mirror the existing process or rethink the entire process. Although an existing manual process might work fine, it might be laden with several steps that have no tie to any tangible function anymore. This might be a sign-off or verification process needed in a manual system but that can be bypassed in a fully automated system. It might be a process that involves checking or double-checking data entry information that might not be necessary in a single entry automated process. The business process steps need to be reviewed to determine whether they are necessary in an automated system.

Overview of BizTalk Orchestration

Unlike many IT-focused systems, BizTalk Server does not jump the organization straight from high-level business needs right into programming code. BizTalk Server includes a step called BizTalk Orchestration that allows an organization to define its business processes in a graphical format that can then be modeled and linked to more complex data processing models. This allows a separation between the definitions of a process and the implementation of the process. This enables different parts of the business process to be modeled by those who know the processes the best (the business-focused individuals). Those processes then are compared with the technical programmability parts of the process.

BizTalk Orchestration Designer

The tool that facilitates the modeling process is called the BizTalk Orchestration Designer. The tool is effectively a Visio modeling tool that provides a way for an organization to model its processes into a flowchart type drawing. This drawing is called an XLANG scheduling drawing. Most business managers understand the concept of BizTalk Orchestration Designer because they are familiar with flowcharts and flowchart processing, so having this orchestration design step helps to ensure that the technical process mirrors the expected business goals and objectives.


Note -

Although a business manager usually understands flowcharting and will be able to review the models created in the BizTalk Orchestration Designer, typically a technical expert would be involved in the actual creation of the BizTalk Orchestration Designer model.


BizTalk Orchestration and the BizTalk Orchestration Designer are covered in more detail in Chapter 9, "Introducing BizTalk Orchestration."

Some of the BizTalk Orchestration Designer process options include Action, Decision, While, Abort, Fork, and Join. These options enable different flow routines to occur.

Action

An Action defines a process that typically requires information to be manipulated. It might be an action step that runs the information through a filter, or it might be an action step that reformats data being processed.

Decision

A Decision defines a process where a yes/no, data query, or other information analysis is conducted, and the result determines which branch to follow to continue with the workflow. It may be determined that if a field is blank to have a branch that enables an action to fill the field with data. However, if the field is not blank, then a branch would allow the process to continue.

While

The While object allows a process to loop until a specific event occurs. This might be a process that continues until the end of the dataset is reached, or it might be a process that continues until a specific data record is reached. A branch can then be followed to a subsequent decision or action.

Abort

An Abort object identifies a step where the process needs to be terminated. In many cases, the abort becomes a fail-safe test that determines that the information received is malformed, signaling data corruption in the transmission or just that incorrect data was transmitted. This step can provide a way to stop a process from continuing with incorrect information.

Fork and Join

A Fork splits a process to conduct simultaneous tasks that can then be Joined later in the process. This is frequently a process that enables information to be gathered for decisions to be made. For example, a fork in a process can be created to go out and gather price and availability information from multiple vendors. This information can be gathered and processed simultaneously. From this fork, when the information has been analyzed, the system can join back together to continue with the process.

Step 3: Agreeing on Process Specifications and Parameters

After the models have been created and the processes defined and agreed on, the next step is to agree on the dspecifications and parameters for the information interchange. This step gets more involved in the technical data formats of the information.

Specifications are created and can be based on industry standards, such as XML, X12 EDI, SAP IDOC, or UN/EDIFACT, or the information can be structured simply as flat files, such as delimited, positional, or delimited and positional formats. From this data format and specifications the appropriate filters can be applied to the fields of input and output information.

The parameters of the data structure typically define what information to expect within the specification format. This could be as simple as knowing that the first fields in the dataset include name, address, and purchase order number, or the parameters might specify that the first fields in the dataset are raw order data such as quantity and agreed-on pricing. It is important to know the data format and the structure of the data so that the right information is automatically extracted and processed properly.

BizTalk Editor

The BizTalk Editor is a graphical tool that comes with BizTalk Server that helps with the creation, editing, and management of document specifications. It allows for the creation of these document specifications by defining the fields and records based on the needs of the organization using BizTalk Server. The specifications can be created by manually defining the records and fields in the BizTalk Editor tool, or by using any of the built-in specifications for the support of standards such as X12 EDI, UN/EDIFACT, XML Data-Reduced (XDR), and the like.

By defining or modeling the format of the document in the BizTalk Editor tool, the BizTalk Server can parse and serialize the output data regardless of the type or format of the information. Additionally, after the format has been defined, an instance of the data can be tested to verify that the specification is correct.

Although transparent to the user, BizTalk Server represents documents in an XML Schema Definition Language (XSDL) format. The document specifications define the attributes for the data, whether data fields are required or optional, whether the data values are fixed length or variable, and the like.

Simply, the BizTalk Editor is used to create and validate specifications to be used for reference purposes. After the specifications have been defined, data can be tested on the server to ensure that the specification is correct.

Step 4: Creating the Mapping Between Input and Output Data Formats

Although the BizTalk Editor can structure the information into common formats such as X12 EDI or UN/EDIFACT that can be read and processed by the system that understands the standard formats, many times information is received and needs to be translated into a different format. This mapping of input and output fields ensures that the right information is relayed to the destination.

The BizTalk Mapper is the tool included with BizTalk Server that provides the mapping between fields.

BizTalk Mapper

BizTalk Mapper allows the definition and the correlation of data between records and fields for one document specification, and the records and fields for another. The mapping of information from one input format to another goes through one of two different processes. The BizTalk Server can alter the schema of the information in a process that is said to transform the information, or the BizTalk Server can actually alter the data itself in a process that is said to be a translation of the information.

The transformation process used by the BizTalk Server is handled by script coding using functoids. A functoid is a reusable function built-in to the server engine that enables simple as well as complex structural manipulation between source and destination specifications. A transformation of information is common because input and output formats frequently do not match and need to be mapped so that fields from one format match the fields of the other format during the transformation process. A transformation process, although by definition means that the data is altered, does not necessarily mean that the information is deleted and replaced with completely different data, but that information is analyzed and modified for a new or different format.

An example of data transformation could be the replacement of a State definition such as Calif with a standard two-letter CA postal format, or a data label may be padded with extra spaces to keep the data format the same length such as keeping a field to eight total characters even if that means that several characters are spaces. BizTalk Mapper uses extensible style sheet language (XSL) to process the map transformation.

As an XSL generator, the BizTalk Mapper allows for both simple one-to-one mappings and more complex mappings using functoids. The graphical mappings defined in the editor are compiled down to XSL to be applied by the BizTalk Server engine at runtime to the inbound document. Inbound documents are parsed into XML representation of the information using the specifications defined in the BizTalk Editor. If mapping is required, the XSL is applied, and the document is serialized into the correct outbound format by the messaging engine using the outbound BizTalk Editor-generated specifi-cation.

Step 5: Configuring the Triggering Mechanisms to Process Information

After information is formatted with a common interchange format, the data needs to be transported between organizations or systems. The triggering mechanism that initiates the process to transport data is called BizTalk Messaging. BizTalk Messaging provides the capability to send data in a secure and reliable manner between systems. Because BizTalk is used for both external and internal data transport processes, the transport of information may be between external trading partners through a VPN tunnel over the Internet, or the transport of information may be between internal accounting and client management systems on a corporate LAN.

Overview of BizTalk Messaging

BizTalk Messaging takes information and transports it from a sender to a receiver. BizTalk Messaging is similar to a traditional e-mail system; however, an e-mail system assumes that a message comes in using a standard message format (such as SMTP) and transports it to a recipient using a standard (SMTP) message format. As highlighted in Chapter 1, "Motivation and Uses for BizTalk Server," BizTalk Messaging accepts data in a variety of incoming formats (such as EDI, HTTP, HTTPS, and so on), takes the programmed field map created in BizTalk Editor, and maps the data fields to an output format using BizTalk Mapper to create the transported BizTalk message.

BizTalk Messaging is covered in more detail in Chapter 6, "Introduction to BizTalk Messaging."

Data Stores

In a BizTalk Server environment, information is stored in data stores that are nothing more than SQL databases. The data stores hold the transaction data and more importantly the transaction logs. At any time, through the use of the document tracking utility built-in to BizTalk Server, reports can be generated using the data and log information to validate that information has been sent and received. The information can be verified to ensure accuracy, time stamps, and other critical confirmation of data transaction.

The Shared Queue (SQ) Database

One of the data stores in a BizTalk Server environment is the Shared Queue (SQ) database. The Shared Queue database is a SQL database shared by all servers in a BizTalk Server group. If there is only a single server in an organization, the Shared Queue tracks only one server. If there are multiple servers for a BizTalk Server group, all the queue information is stored and tracked on a single server.

The Shared Queue database also tracks checkpoints for data transactions. The checkpoint is a file that notes the transaction status of a BizTalk Server system. If one server in a group fails, other servers can take over the process tasks, such as receiving messages, posting messages to the work queue, and transporting messages to destination servers. In a way, the failover process facilitated by the checkpoints in the Shared Queue database creates a load balancing and built-in fault tolerance system for the BizTalk Server environment.

The BizTalk Messaging Management Database

Another SQL database critical to the operation of a BizTalk Server environment is the BizTalk Messaging Management database. The BizTalk Messaging Management database stores information related to server configurations, such as group and server settings and messaging configuration settings. The information in the database either is entered using the BizTalk Messaging Manager interface or is programmatically entered using an API. This database effectively stores the system configuration information for the server.

Send and Receive Architecture

As clarified throughout this chapter, BizTalk Server was built with variability so that there is flexibility on the process and data format to send and receive information from a variety of sources and destinations. The architecture enables disparate systems to communicate with each other, and the simplicity of message translation and transformation provides the capability to interconnect multiple systems with the same set of data.

Pass-Through Submission

One method of data transport is called pass-through submission. Pass-through submission allows data to bypass the parsing, decoding, decryption, transformation, and signature verification stages of a BizTalk Server process. Data is passed directly to the destination noted in the submission parameters. Pass-through submission is commonly used to transmit binary files, such as Word documents, applets, structured database files, and so on that do not require translation.

BizTalk Server Administration

For managing and administering the BizTalk Server environment, a BizTalk Server Administration tool is included. The BizTalk Administration tool is a Microsoft Management Console (MMC) snap-in that shows the Shared Queue databases on a BizTalk Server as a series of queues. Also within the administration tool, an administration can make modifications to the configuration of the server such as setting tracking information, group interaction, messaging transport, queue management, or database replication.

BizTalk Server Administration is covered in Part VI, "BizTalk Server Administration."

Step 6: Completing the Schedule for the Transaction Process

The first five steps of this process involved identifying the business, technical, and operational processes and then using BizTalk Orchestration to graphically represent the processes. The process continued with the creation of the specifications for the data and then mapping the information between trading partners and systems. This last step involves completing the XLANG schedule drawing by compiling it into an XLANG schedule that can be tested and then put into production.


Note -

Not every application use of BizTalk Server requires the implementation of both Messaging and Orchestration services. Depending on the input and output format demands of the transaction, due to the overlap in functionality of these two services, an organization may find that only the Messaging or Orchestration service is required.


The BizTalk Orchestration XLANG Scheduler Engine

BizTalk Server comes with a service called the BizTalk Orchestration XLANG Scheduler Engine. This service controls the activation, execution, dehydration, and rehydration of an XLANG schedule. This process takes the final agreed-on business and technical process and puts it into a format that can be executed on the BizTalk Server.

The XLANG schedule defines the steps to be performed, the components that must be called, and the data that will pass through the BizTalk Server to fulfill the defined transaction process. When documents are sent from the XLANG schedule to the BizTalk Messaging Service, the name of a channel that will receive the documents must be defined. After the channel is defined, documents can pass from the BizTalk Messaging Service to the BizTalk Orchestration Service.

When in the BizTalk Orchestration Service, the document is either processed in XML format, or if the document is not in XML, the XLANG Scheduler Engine will need to embed the document in the engine's standard XML wrapper. When inside the XLANG schedule, the document can undergo any defined modifications. After processing the document, it can then be sent back to BizTalk Messaging or it can be sent out of the XLANG schedule to a private or public queue.

Schedule activation and execution are the processes that enable the schedule to be run and then ultimately be executed to process information. When schedules are unused, they are dehydrated and then dynamically rehydrated when needed. This dehydration/ rehydration process minimizes the need to allocate resources of the BizTalk Server to processes that are unused, allowing for the optimization of the system to handle the needs of the transaction environment.

Summary

BizTalk Server is a powerful business transaction product that, when properly planned and implemented, is of help to organizations conducting B2B and EAI tasks. Several technologies are embedded, and several tools are included with the BizTalk Server product, including the BizTalk Orchestration Designer, Editor, Mapper, Messaging Manager, and Server Administration MMC utilities. This chapter introduced the tools and technologies and how they fit into a BizTalk process flow and provided references to more specific chapters throughout the book.


sponsor links - buy

Submit a chapter

Are you an author or publisher? Interested in seeing a sample chapter of your book on the ASPAlliance.com website? Click here to list your sample chapter.