For all of the scenarios that are contained within an application—including UI Page Controller, Long Running Business Logic, Dynamically Updateable Process Flow, Web Service Composition, and Abstraction of Rules from Business Logic—WF is the right workflow-technology choice.
In the majority of application-centric scenarios, the usage pattern requires synchronous, low-latency interaction between the application and the workflow, which is not the strength of BizTalk Server 2006. BizTalk Server 2006 would not be a good fit for these scenarios, for performance reasons; BizTalk Server orchestrations run on dedicated BizTalk Servers, and invoking them from a client application requires a round trip across the network. In addition, the design of BizTalk Server 2006 of persisting every message to the MessageBox database for durability introduces additional latency, which might not be acceptable in the context of an interactive UI, if the workflow must be called synchronously.
WF is a better fit for these scenarios; it meets the workflow requirements, and it is simpler and cheaper than BizTalk Server 2006. The messaging capabilities of BizTalk Server 2006—for example, the Mapping and Adapters—are not needed in these scenarios. The requirements for hosting services are modest, so that hosting the WF runtime inside the application does not require a prohibitive amount of work.
For most of the scenarios that involve server-based business processes, BizTalk Server 2006 is the right choice. These include B2B Process, Abstraction of Rules from Business Process, Enterprise Rule Repository, and Enterprise Service Bus (ESB)/Message Broker.
These scenarios require high scalability. Also, they require the ability to view running processes, and to stop and restart them. Finally, they require support for scaling out to multiple servers. In these scenarios, the advanced hosting features of BizTalk Server 2006 are required and well worth the investment.
|
Basic
|
Standardized
|
Advanced
|
Dynamic
|
| WF → BizTalk Server 2006 | BizTalk Server 2006 | BizTalk Server 2006 | BizTalk Server 2006 |
Figure 4. Long Running Business Process scenario
BizTalk Server 2006 is generally going to be the best platform for the Long Running Business Process scenario. These processes tend to be asynchronous, long-running, and stateful. These processes are often mission-critical to the organization; therefore, they require high availability, visibility, security, and manageability. The Group or "Farm" topology of BizTalk Server 2006 allows you to manage an array of servers to provide scalability and redundancy.
The persistence mechanism of BizTalk Server 2006 for storing process state has robust security built in to protect the privacy of the persisted state, which might be important for regulatory reasons. The Business Activity Monitoring (BAM) of BizTalk Server 2006 provides appropriate business-level visibility into the running processes in a secure fashion. Finally, these scenarios often require support for heterogeneous message formats and transport protocols, including legacy systems.
For these reasons, BizTalk Server 2006 usually is going to be the best choice for organizations that are targeting the Standardized, Advanced and Dynamic profiles. These organizations usually consider the Long Running Business Process scenario to be very important to the business and very common within the enterprise; so, they purchase BizTalk Server 2006 specifically to establish a standardized platform for them.
However, WF might be a better choice for organizations that are in the Basic APIO profile. These organizations generally are not looking to invest in building a standardized application platform. Instead, they are looking to minimize costs, and the licensing and hardware costs of BizTalk Server 2006 might be prohibitive. The exception to this guidance is when there are requirements for high scalability, monitoring, and support for a broad variety of message formats and transport protocols. In this case, although the organization is reluctant to invest in their application platform, the cost of building the hosting and messaging features from scratch likely would exceed the costs of BizTalk Server 2006.
|
Basic
|
Standardized
|
Advanced
|
Dynamic
|
| WF | WF → BizTalk Server 2006 | BizTalk Server 2006 | BizTalk Server 2006 |
Figure 5. Web Service Aggregator scenario
Both BizTalk Server orchestrations and WF workflows have strong support for external-consuming Web services from a workflow, and for exposing the workflow as a Web service. Therefore, for building Web Service Aggregator solutions, just as for Long Running Business Process solutions, the choice is determined by the organizational profile and hosting requirements.
If the aggregating Web service is only to aggregate other Web services, the ability of BizTalk Server 2006 to support heterogeneous message formats and transport protocols adds little value. However, if the service also should aggregate data from legacy environments that are not exposed as Web services, BizTalk Server 2006 would add value.
Because the usage pattern is quick, synchronous request/response calls, the message durability that is provided by BizTalk Server 2006 usually is not important. In fact, the latency that is introduced by the persistence to the MessageBox actually is a liability. The main value that BizTalk Server 2006 provides for this scenario is the ability to manage the deployment across many servers and to monitor running instances. The BAM capability of BizTalk Server 2006 also might be useful for monitoring that service-level agreements (SLAs) are met.
For these reasons, WF is a very good choice for implementing Web Service Aggregators, especially in organizations in the Basic and Standardized profiles. An example in which BizTalk Server 2006 might be advantageous is one in which you must manage a large number of endpoints for different client organizations. The Receive Port and Receive Location configuration of BizTalk Server 2006 specifically handles this. In this case, certificates might be important, too, and the support of BizTalk Server 2006 for configuring and managing certificates and applying them to encryption/decryption might be useful.