Plan for your BizTalk Solution

One of the primary design goals of BizTalk Server is to provide maximum flexibility for accommodating as many processing scenarios as possible. Because of this great flexibility, one of the primary challenges facing developers of a BizTalk solution is to determine how to make best use of the features available in BizTalk Server to best meet their business needs. Planning the BizTalk Server can be broken down into distinct phases which are summarized below.

Scoping the Solution

Performance Considerations

Consider the following when scoping your BizTalk solution:

  • Which adapters and/or accelerators are required?

  • What are the requirements for implementing orchestrations in the solution?

  • Document throughput requirements: What are the maximum sustainable throughput requirements for the solution?

  • Latency requirements: How responsive does the solution need to be for solicit-response and request-response scenarios?

  • How well does the solution recover from periods of peak document load?

  • What are the high availability requirements of the solution?

  • What are the document tracking requirements of the solution?

  • What are the performance characteristics of any dependent applications such as a remote Web service or other system? If dependent applications do not keep up with the required load then the overall system performance will be degraded accordingly.

  • Would the BizTalk application be consuming databases not related to BizTalk Server? For example, if the BizTalk application is consuming tables in a SQL Server database using the SQL adapter, are the tables efficiently configured?

Hardware Considerations

When scoping the solution, create a high-level hardware diagram that includes the following:

  • Computer architecture (such as x86, x64, and IA64)

  • CPU requirements (such as type, speed, number, cores, and use of hyperthreading)

  • RAM requirements for each computer

  • Local disk storage (type, size, speed)

  • SAN (storage requirements: number of LUNS; SAN card type)

  • Network cards (number in each computer, 100 megabits (Mbps) versus 1 Gigabit (1 Gbps).)

  • How will firewalls be deployed in the solution?

  • Will Network Load Balancing hardware be used?

  • Are specific computers to be clustered?

  • Would you be using a virtual environment involving Microsoft Hyper-V Server or any other virtualization products?

Planning the Solution

Solution Milestones Timeline

Create a schedule with milestones for completing specific aspects of your BizTalk solution. Setting specific milestones will increase the likelihood that the solution will be completed in a timely manner.

Non-Microsoft Software Considerations

Consider the following when non-Microsoft software will be used with the solution:

  • Determine how the software or hardware required be obtained.

  • Plan for capacity and sizing to ensure that non-Microsoft software does not become a bottleneck in your solution.

  • Determine a plan of action for installing required non-Microsoft software.

  • Create a plan of action for configuring and optimizing required non-Microsoft software.

Preparing for the Solution

Include the following elements in your preparation phase:

Detailed Design of the Solution Platform

A detailed solution design facilitates communications and avoids assumptions, which will improve the agility and effectiveness of all activities. You should fully document the following elements:

  • BizTalk Server databases and how they will be distributed across computers.

  • BizTalk Host design and descriptions of each host and their instances.

  • Description of each orchestration.

  • Description of each pipeline.

  • Description of custom components such as .NET assemblies and COM+ components.

    Message Flow Diagrams

    Create detailed message flow diagrams to help avoid any confusion or false assumptions regarding what is supposed to be happening to messages during processing. The following details should be considered when creating the message flow diagrams:

  • Describe the lifecycle of each type of message from the time it arrives at a receive location until all resulting messages are sent and all related processing is completed.

  • Describe how processing changes for error conditions.

  • Include details about correlation, delivery notifications, and acknowledgements.

  • Include performance requirement information regarding latency and throughput.

    Non-Microsoft Software Details

    All non-Microsoft software that is used should be fully documented as part of the detailed solution design.

    Detailed Hardware Stack

    Building on the previously created high level hardware diagram, the following hardware information should be fully documented:

  • Processors

    • Type

    • Speed

    • Number of cores

    • Hyperthreading

  • Memory

    • Amount

    • Speed

    • Parity

  • Network

    • Number of network interface cards (NICs)

    • Speed of network

  • SAN

    • Number of SAN cards in each computer

    • Number of logical unit numbers (LUNs) for each computer and purpose for each LUN

    • Speed of storage area network (SAN) Cards

    • SAN card configuration details

    • SAN disk allocation, formatting, and partitioning

  • Disk

    • Local disk details for each computer

    • Formatting used for local disks

    • Partitioning details for local disks

  • Cache

    • L2 Cache amount

    • L3 Cache amount

    Detailed Software Stack

    The following software information should be documented:

  • Specific operating system versions, editions, and architecture

  • Specific operating system features

  • Specific software installed on each computer

  • Specific drivers

  • Service Packs and other updates

  • Configuration values for all software and operating system features used if they vary from default values

Building Out the Environment for the Solution

Detailed instructions for installing BizTalk Server and the software requirements are in the BizTalk Server Installation Guides.

See Also

Planning the BizTalk Server Tier