If you have upgraded from BizTalk Server 2004 toBizTalk Server 2006 and you were using this registry key, you will need to apply this config-uration file entry instead Microsoft, 2006.16
Trang 1HTTP-Specific Tuning
Several configuration and tuning parameters are accessible for the HTTP adapter through
reg-istry key entries and through the modification of the BTSNTSvc.exe.config file that is located
in the root BizTalk installation directory Table 11-3 describes the registry settings that affect
the performance of the HTTP adapter Note that by default there are no HTTP adapter keys in
the registry, so the HTTP adapter uses the default settings To change the default settings, you
need to create the following registry keys under the following locations in the registry:
DisableChunkEncoding, RequestQueueSize, and HttpReceiveThreadsPerCpu must be
14 {$Host Name} is the actual host name In BizTalk Server 2004 or a BizTalk Server 2006 upgrade from
BizTalk 2004, the key may be HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
BTSSvc{GUID}, where GUID is the ID of the host for the HTTP send handler
15 Copyright © 2004 by Microsoft Corporation Reprinted with permission from Microsoft Corporation
Table 11-3.HTTP Adapter Settings (Microsoft, “BizTalk Server 2006 Documentation,” 2006) 15
DisableChunkEncoding DWORD 0 Regulates whether or not the HTTP Receive
Adapter uses chunked encoding when ing responses back to the client
send-Set to a nonzero value to turn off chunkedencoding for HTTP Receive Adapterresponses
Minimum value: 0Maximum value: Any nonzero value
RequestQueueSize DWORD 256 Defines the number of concurrent requests
that the HTTP Receive Adapter processes atone time
Minimum value: 10Maximum value: 2048
HttpReceiveThreadsPerCpu DWORD 2 Defines the number of threads per CPU that
are allocated to the HTTP Receive Adapter.Minimum value: 1
Maximum value: 10
HttpOutTimeoutInterval DWORD 2,000 Defines the interval in seconds that the
HTTP Send Adapter will wait before timingout
Minimum value: 500Maximum value: 10,000,000
Continued
6994ch11final.qxd 10/2/06 12:20 AM Page 443
Trang 2Table 11-3.Continued
HttpOutInflightSize DWORD 100 This is the maximum number of concurrent
HTTP requests that a BizTalk Server HTTPSend Adapter instance will handle
The recommended value for latency is
between three to five times that of the connection configuration file entry.
max-Minimum value: 1Maximum value: 1024
HttpOutCompleteSize DWORD 5 This is the size of the batch of messages that
is returned from the HTTP Send Adapter Ifthe buffer is not full and there are outstand-ing responses, the adapter will wait for 1second until it commits the batch For low-latency scenarios, this should be set to 1,which will allow the adapter to sendresponse messages immediately to the Mes-sagebox for processing This will have thegreatest effect during times of low-through-put activity with varied response times fromback-end systems
Minimum value: 1Maximum value: 1024
C H A P T E R 1 1 ■ TO T U N E O R N OT TO T U N E ? N O B O DY S H O U L D A S K T H AT Q U E S T I O N
444
The number of concurrent connections that the HTTP adapter opens for a particular
des-tination server is configured by modifying the maxconnection entry in the
BTSNTSvc.exe.config file that is located in the root BizTalk installation directory
■ Caution This property will be applied to both the HTTP and SOAP adapters if they send messages to thesame destination HTTP server By default the maximum connections for all URIs is 20
This configuration file entry replaces the functionality of the HttpOutMaxConnection
registry key that was used in BizTalk 2004 If you have upgraded from BizTalk Server 2004 toBizTalk Server 2006 and you were using this registry key, you will need to apply this config-uration file entry instead (Microsoft, 2006).16
CLR Tuning
Bottlenecks caused by contention for resources, misuse of threads, inefficient resource cleanup,
or resource leaks can be rectified by tuning the CLR thread pool or memory thresholds The use
of memory thresholds will be discussed later in the “Throttling” section
In situations with low CPU utilization or the CPU is fully saturated and yet the solution isnot meeting the required throughput, increasing the maximum number of threads in the NET
thread pool by modifying the maxIOThreads and maxWorkerThreads registry keys might
improve performance Tuning the maximum number of threads in the thread pool down might
16 Copyright © 2004 by Microsoft Corporation Reprinted with permission from Microsoft Corporation.6994ch11final.qxd 10/2/06 12:20 AM Page 444
Trang 3come in handy if the CPU utilization is pretty high, while the solution’s overall throughput is still
lower than expected This could be because the system is spending more time context-switching
between threads than processing
If the solution is expected to handle load bursts, prepping the engine to maintain
a minimum number of threads active to avoid the overhead of resources and thread
alloca-tion when those bursts occur is a good idea This is done by setting the minIOThreads and
minWorkerThreads registry keys to ensure that a minimum number of threads are always
allocated in the thread pool A value of the expected load during a spike + 10% is usually the
recommended value for the minIOThreads and minWorkerThreads settings.
To modify the hosted CLR NET thread pool for a particular BizTalk host, you have to ate the following registry keys and set their values for that particular host
Several issues can occur with the file adapter File adapter–related issues are usually the result
of NetBIOS limitations or the polling agent Microsoft’s support articles recommend to
increase the MaxMpxCt and the MaxCmds registry keys at HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\lanmanworkstation\parameters to 2048 on the BizTalk Server as
well as the file server holding the file share.18
BizTalk Server 2006 can encounter problems when a polling notification and a file changenotification occur at the same time This problem can be avoided by disabling FRF (File
Receive Functions) polling through the File Receive Location property pages
File Tuning: Batch Files
When dealing with large flat files that generate thousands of subdocuments in an envelope,
isolate the File Receive Adapter in a separate host Set the batch size to 1 and the thread-pool
size for that host to 1 This will reduce the number of files you are processing in one
trans-action from 20 to 1 and single thread the host The batch size property could be set on the
C H A P T E R 1 1 ■ TO T U N E O R N OT TO T U N E ? N O B O DY S H O U L D A S K T H AT Q U E S T I O N 445
17 The {$HostName} in BTSSvc{$HostName} should be replaced by the actual host name In BizTalk 2004
or BizTalk 2006 installations that are an upgrade from BizTalk 2004, the {$HostName} should bereplaced with the GUID for that host To get the GUID for a particular host, open the Services Consolefrom the Administrative Tools, locate the host that requires the tuning, and get its ServiceNameincluding the GUID
18 The support article “‘The Network BIOS Command Limit Has Been Reached’ Error Message in
Windows Server 2003, in Windows XP, and in Windows 2000 Server” can be found at http://support
microsoft.com/?id=810886
6994ch11final.qxd 10/2/06 12:20 AM Page 445
Trang 4receive location property page To set the thread-pool size to 1, set the
MessagingThreadsPerCpu property, which defines the number of threads per CPU for the thread pool, on the host’s property pages and create the MessagingThreadPoolSize registry
key, which defines the number of threads per CPU in the thread pool, under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc {$HostName } The respectivedefault values for both properties are 2 and 10 Setting those two values to 1 and dedicating
a single thread in the host’s thread pool to message processing ensures that multiple large flatfiles will not be competing for system resources within that host and that all the host’s mem-ory resources will be dedicated to processing the large message
■ Note If you have multiple receive locations receiving large flat files as well as smaller ones, group themunder different receive handlers running on different hosts This ensures that the tuning performed on the hostinstances running the File Receive handler for large-flat-file processing does not affect the rest of the filereceive functions processing smaller files It is recommended to partition those receive handlers on differentservers within the BizTalk Server Group by interleaving host instances on the different servers to ensure theyare not competing for the same system resources
When supporting large interchanges in BizTalk Server 2006, multiple smaller interchangesutilize the CPU processor more efficiently than fewer large interchanges As a general guide-line, use the following formula to determine the maximum size of an interchange for anygiven deployment (number of CPU processors):
Maximum number of messages per interchange <=
200,000 / (Number of CPUs✕BatchSize✕MessagingThreadPoolSize)
So, for example, a BizTalk host running on a four-CPU server tuned for large-flat-file cessing, having a batch size of 1 and a single thread in its messaging thread pool, would be able
pro-to process an infinite number of interchanges as long as each interchange contains a maximum
of 50,000 messages (200,000 divided by 4).Thus, MessagingThreadPoolSize is set to 1.
Parsing and Persistence
Persistence affects the overall system performance Message parsing affects performance due
to the incurred persistence points in the process To tune the BizTalk solution and minimizethe number of persistence points, change the Large Message Threshold and Fragment Sizeproperty of the BizTalk Server Group The default value for this property is 1MB, meaning thateach 1MB read from the message will result in a fragment being persisted to the Messagebox
To further elaborate, as stated in the white paper “BizTalk Server 2006 Runtime ments” (Microsoft, 2005):19
Improve-C H A P T E R 1 1 ■ TO T U N E O R N OT TO T U N E ? N O B O DY S H O U L D A S K T H AT Q U E S T I O N
446
19 Copyright © 2005 by Microsoft Corporation Reprinted with permission from Microsoft Corporation.6994ch11final.qxd 10/2/06 12:20 AM Page 446
Trang 5In previous releases of BizTalk Server, mapping of documents always occurred ory While in-memory mapping provides the best performance, it can quickly eat up resources when large documents are mapped For this reason, BizTalk Server 2006 intro- duced support for large message transformations A different transformation engine is used when transforming large messages so that memory is utilized in an efficient man- ner When dealing with large messages, the message data is buffered to the file system instead of being loaded into memory using the DOM (Document Object Model) This way the memory consumption remains flat as memory is used only to store the cashed data and indexes for the buffer However, as the file system is used, there is expected per- formance degradation when comparing with in-memory transformation Because of the potential performance impact, the two transformation engines will coexist in BizTalk Server 2006.
in-mem-When message size is smaller than a specified threshold, the in-memory transformation will be used If message size exceeds the threshold then the large message transformation engine is used The threshold is configurable using the registry
• DWORD ‘TransformThreshold’
• ‘HKLM\\Software\\Microsoft\\BizTalk Server\\3.0\\Administration’.
If the solution handles a low number of large messages, increase this value to a large valuelike 5MB If the solution handles a high number of small/medium messages, set this value to
250K You will need to experiment with this setting to find the optimum value for your
solu-tion and messages Increasing the Large Message Threshold and Fragment Size property for
the BizTalk Server Group results in fewer persistence points, in turn causing fewer round-trips
to the database and faster message processing The drawback of this approach is higher
mem-ory utilization, as fragments kept in memmem-ory now are much larger in size To compensate for
the expected higher memory utilization by the large message fragments, control the number
of large message buffers that are created by the BizTalk host You can do so by creating a
MessagingLMBufferCacheSize (DWORD) registry key under System\CurrentControlSet\
Services\BTSSvc<HostName> and setting its value to 5
By controlling the number of large message buffers, you are hedging the risk of having thehost run into low memory situations due to large message processing without incurring the
penalty of constant round-trips to the Messagebox (Wasznicky, 2006).20
Latency
The time taken to process a message is dependent on how often the different BizTalk Server
components pick up work items from the Messagebox This interval affects the rate at which
received messages are being published to the Messagebox as well as the rate at which they are
being picked up from the Messagebox for processing or delivery To deliver enterprise
capabil-ities such as fault tolerance and scalability, the distributed BizTalk Server agents have to
communicate asynchronously through the Messagebox This asynchronous communication
scheme means that the agents have to check the Messagebox for state updates to pick up new
C H A P T E R 1 1 ■ TO T U N E O R N OT TO T U N E ? N O B O DY S H O U L D A S K T H AT Q U E S T I O N 447
20 Copyright © 2006 by Microsoft Corporation Reprinted with permission from Microsoft Corporation
6994ch11final.qxd 10/2/06 12:20 AM Page 447
Trang 6items for processing and update the Messagebox at appropriate points in the process Thispolling process contributes to the inherent latency of BizTalk solutions If the end-to-end pro-cessing time per business transaction under low loads is unacceptable, you might want tolook into tuning the interval at which the different agents check the Messagebox By default,
the MaxReceiveInterval is set to 500 msecs You can reset this interval to a value as low as
100 msecs by modifying it in the adm_ServiceClass table for the XLANG/s, Messaging Isolated,and Messaging In-Process hosts If the overall environment is experiencing high loads on thedatabase while the overall end-to-end business transaction processing speed is acceptable,
you can increase the MaxReceiveInterval and check whether that improves the overall
envi-ronment’s stability
Throttling
Throttling is the mechanism by which the runtime engine prevents itself from thrashing and
dropping dead when exposed to a high load A properly throttled engine takes up only theamount of load that it can handle, and detects a stressed situation quickly and mitigates thesituation accordingly
Before BizTalk Server 2006
In BizTalk 2004, throttling BizTalk Server includes manipulating entries in the adm_
ServiceClass table Manipulating that table manually is now deprecated as it was troublesomeand originally undocumented Throttling BizTalk Server 2004 manually usually leads to moreproblems if inexperienced administrators start manipulating it, as it is mostly a trial-and-errorexercise
Manipulating the adm_ServiceClass table affects the entire BizTalk Server Group, not just
a specific host instance The configuration settings are not host specific and hence are notuseful in any configuration with multiple hosts If different servers in the BizTalk Server Grouphave different hardware configurations, having the same settings across different hardware isnot the best approach Other problem areas in BizTalk Server 2004 are as follows:
• The stress detection mechanism in BizTalk 2004 is grossly dependent on user input,namely the low and high watermark numbers in the adm_ServiceClass table
• The configuration parameters are not exposed to the user through the UI
• The inbound throttling heuristic (session count based) is not very effective becauseXLANG does not factor this at all, and all the sessions are shared across all the serviceclasses
• The agent’s memory-based throttling policy has two major drawbacks:
• First, it looks into the global memory and does not take into account the localmemory usage So if the server has more memory than 2GB, it might not bethrottling properly, as the maximum amount of memory that a host instance canconsume is 2GB on a Windows 32-bit platform So, while the server could still havefree memory that is not being consumed by other services, a particular host might
be running out of the memory that it could consume without throttling
C H A P T E R 1 1 ■ TO T U N E O R N OT TO T U N E ? N O B O DY S H O U L D A S K T H AT Q U E S T I O N
448
6994ch11final.qxd 10/2/06 12:20 AM Page 448
Trang 7• Second, while enforcing throttling due to low memory condition, the agent does not doanything to improve the memory usage situation, other than elevating the stress level.
Once it enters a stress mode due to high memory condition, no measure is taken for it
to come out of this stage, and hence it remains in this state for a long time As the tem starts again, it reloads all dehydrated orchestrations, resulting in an elevated rate ofresource consumption leading to the same situation that caused the throttle in the firstplace (Wasznicky, 2006).21
sys-Throttling Goals for BizTalk Server 2006
One of the Microsoft development team’s objectives for BizTalk Server 2006 was to get around
the nuances of throttling configuration The target was a system that avoids using user-input
parameters for detecting stress condition—a system with heuristics that include monitoring of
resources (e.g., memory, threads, database sessions), utilization, and progress of work items
against submitted work items This would allow the system to function automatically without
the administrator having to deal with the unknowns surrounding the various control knobs for
the watermark numbers and other settings in the adm_ServiceClass table Some parameters
still have to be configured manually The bright side is that they can be set and manipulated
through the administration UI, and they have out-of-box valid settings Those parameters are
now at host level rather than group level
The aim is to eventually communicate throttling actions to the system administratorthrough event logs and performance counters Presently only the inbound throttling is com-
municated through the event log
If the system is throttled due to lack of a particular resource, the engine proactively tries
to mitigate the situation by releasing that particular resource so that it comes out of the stress
situation For example, under low memory, cache should be shrunk and MSMQT instances
BizTalk Server 2006 auto-throttling consists of a set of load detection algorithms and
mitiga-tion plans Table 11-4 highlights those algorithms
C H A P T E R 1 1 ■ TO T U N E O R N OT TO T U N E ? N O B O DY S H O U L D A S K T H AT Q U E S T I O N 449
21 Copyright © 2006 by Microsoft Corporation Reprinted with permission from Microsoft Corporation
6994ch11final.qxd 10/2/06 12:20 AM Page 449
Trang 8Table 11-4.BizTalk Server 2006 Auto-Throttling Mechanisms (Wasznicky, 2006) 22
Delivery Rate with the so that the delivery rate All outbound transports Message Delivery
Rate When the latter at par with the completion Completion Rate.falls short, it is an indi- rate
cation of the fact that
messages are being
pushed at higher rate
than the service can
handle
Compare the Publishing Block the publishing XLANG Need to monitor Request Rate with Pub- threads to slow down the All inbound transports entry and exit of
When the latter falls AND/OR
short, it is an indication indicate service class to
of the Messagebox being slow down publishing
unable to cope with the
load
Process memory exceeds Throttle publishing if XLANG Monitor Private
requirement Throttle delivery Indicate service todehydrate/shrink cache
System memory exceeds Throttle publishing if XLANG Monitor physical
requirement Throttle delivery
Database sessions being Throttle publishing XLANG Monitor average
Any host message queue Throttle publishing if XLANG Monitor queue size size, the spool size, or batch is going to create All inbound transports against respective
exceeds a particular host- base than delete
delivered to a service All outbound transports send port throttling
limited number ofmessages at a time
Trang 9Table 11-5.BizTalk Server 2006 Auto-Throttling Parameters (Wasznicky, 2006) 23
Default Min Max
Message Delivery Throttling Configuration
Sample-space size Long Number of samples that are used for 100 0 N/A
determining the rate of the message delivery to all service classes of the host
This parameter is used to determine whether the samples collected for applying rate-based throttling are valid
or not If the number of samples lected is lower than the sample size, thesamples are discarded because the sys-tem is running under a low load and hence no throttling may be required
col-Thus this value should be at par with
a reasonable rate at which messages can be consumed under a medium load
For example, if the system is expected
to process at 100 docs per second in a medium load, then this parameter should be set to (100 ✕ sample windowduration in seconds) If the value is set too low, the system may overthrottle on low load If the value is too high, there may not be enough samples for this technique to be effective
Zero indicates rate-based message delivery throttling is disabled.
Sample-space window Long Duration of the sliding time window 15,000 1,000 N/A
(in milliseconds) within which samples will be considered for calculation of rate
Zero indicates rate-based message delivery throttling is disabled.
Overdrive factor Long Percent factor by which the system will 125 100 N/A
try to overdrive the input That is, if the output rate is 200 per second and the overdrive factor is 125%, the system will allow up to 250 (200 ✕ 125%) per sec-ond to be passed as input before apply-ing rate-based throttling A smaller value will cause a very conservative throttling and may lead to overthrottling when load is increased, whereas a higher value will try to adapt to the increase in load quickly, at the expense
of slight underthrottling
imposed for message delivery throttling
The actual delay imposed is a factor of how long the throttling condition persists and the severity of the partic-ular throttling trigger
Zero indicates message delivery throttling is completely disabled.
Continued
C H A P T E R 1 1 ■ TO T U N E O R N OT TO T U N E ? N O B O DY S H O U L D A S K T H AT Q U E S T I O N 451
23 Copyright © 2006 by Microsoft Corporation Reprinted with permission from Microsoft Corporation
6994ch11final.qxd 10/2/06 12:20 AM Page 451
Trang 10Table 11-5.Continued
Default Min Max
Message Publishing Throttling Configuration
Sample-space size Long Number of samples that are used for 100 0 N/A
determining the rate of the message publishing by the service classes This parameter is used to determine whether the samples collected for applying rate-based throttling are valid or not If the number of samples collected is lower than the sample size, the samples are discarded because the system is running under a low load, and hence no throt-tling may be required Thus this value should be at par with a reasonable rate
at which messages can be consumed under a medium load For example, if the system is expected to publish 100 docs per second in a medium load, this parameter should be set to (100 ✕ sample window duration in seconds) If the value is set too low, then the system may overthrottle on low load If the value is too high, there may not be enough samples for this technique to
be effective
Zero indicates rate-based message publishing throttling is disabled.
Sample-space window Long Duration of the sliding time window 15,000 1,000 N/A
(in milliseconds) within which samples will be considered for calculation of rate
Zero indicates rate-based message publishing throttling is disabled.
Overdrive factor Long Percent factor by which the system will 125 100 N/A
try to overdrive the input That is, if the output rate is 200 per second and the overdrive factor is 125%, the system will allow up to 250 (200 ✕ 125%) per sec-ond to be passed as input before apply-ing rate-based throttling A smaller value will cause a very conservative throttling and may lead to overthrottling when load is increased, whereas a higher value will try to adapt to the increase
in load quickly, at the expense of slight underthrottling
imposed for message publishing throttling The actual delay imposed
is a factor of how long the throttling condition persists and the severity of the particular throttling trigger
Zero indicates message publishing throttling is completely disabled.
C H A P T E R 1 1 ■ TO T U N E O R N OT TO T U N E ? N O B O DY S H O U L D A S K T H AT Q U E S T I O N
452
6994ch11final.qxd 10/2/06 12:20 AM Page 452
Trang 11Default Min Max
Other Configuration and Thresholds
Delivery queue size Long Size of the in-memory queue that the 100 1 N/A
host maintains as a temporary holder for delivering messages Messages for the host are dequeued and placed in this in-memory queue before finally delivering to the service classes Setting
place-a lplace-arge vplace-alue cplace-an improve low-lplace-atency scenarios since more messages will be proactively dequeued However, if the messages are large, the messages in the delivery queue would consume memory and hence a low queue size would be desirable for large message scenarios to avoid excessive memory consumption
The host needs to be restarted for this change to take effect
threshold base sessions (per CPU) allowed before
throttling begins Note that the idle database sessions in the common per-host session pool do not add to this count, and this check is made strictly on the number of sessions actually being used by the host This is disabled by default and may be enabled if the data-base server is low end compared to the host servers
Zero indicates session-based throttling
is disabled.
begins This threshold can be presented either in absolute value in MB or in percent-available format A value of less than 100 indicates a percent value
Throttling based on this factor is alent to yielding to other processes in the system that consume physical memory
equiv-Zero indicates system memory-based throttling is disabled.
Continued
C H A P T E R 1 1 ■ TO T U N E O R N OT TO T U N E ? N O B O DY S H O U L D A S K T H AT Q U E S T I O N 453
6994ch11final.qxd 10/2/06 12:20 AM Page 453
Trang 12Table 11-5.Continued
Default Min Max
threshold allowed before throttling begins This
threshold can be presented either in absolute value in MB or in percent-available format A value of less than
100 indicates a percent value, and when
a percent value is specified, the actual
MB limit is dynamically computed based on the total virtual memory that the host can grow to (limited by the amount of free physical memory and page file; and on 32-bit systems, this is further limited by the 2GB address space) The user-specified value is used
as a guideline, and the host may ically self-tune this threshold value based on the memory usage pattern of the process
dynam-This value should be set to a low value for scenarios having large memory requirement per message Setting a low value will kick in throttling early on and prevent a memory explosion within the process
Zero indicates process-memory-based throttling is disabled.
process (per CPU) allowed before tling begins The user-specified value is used as a guideline, and the host may dynamically self-tune this threshold value based on the memory usage pat-tern of the process The thread-based throttling is disabled by default In scenarios where excessive load can cause an unbounded thread growth (e.g., custom adapter creates a thread for each message), this should be enabled
throt-Zero indicates thread-count-based throttling is disabled.
database threshold messages in the database (aggregated
over all Messageboxes) This factor essentially controls how many records will be allowed in the destination queue(s) before throttling begins In addition to watching the destination queues, the host also checks the size
of the spool table and the tracking-data tables and ensures they do not exceed
a certain record count (by default,
10 times the message-count threshold)
Zero indicates database-size-based throttling is disabled.
C H A P T E R 1 1 ■ TO T U N E O R N OT TO T U N E ? N O B O DY S H O U L D A S K T H AT Q U E S T I O N
454
6994ch11final.qxd 10/2/06 12:20 AM Page 454
Trang 13Default Min Max
In-process message Long Maximum number of in-memory in- 1,000 0 N/A
before message delivery is throttled
In-process messages are those that are handed off to the transport manager/
XLANG engine, but not yet processed
The user-specified value is used as a guideline and the host may dynamically self-tune this threshold value based on the memory usage pattern of the process
In scenarios where the transport may work more efficiently with fewer mes-sages at a time, this value should be set
Trang 15Flanders, Jon “Per-Instance pipeling—Tool for BizTalk Server 2004.” Jon Flanders’ Blog: BizTalk
and Windows Workflow Foundation, 2005 www.masteringbiztalk.com/blogs/jon/
PermaLink,guid,2f6500ae-d832-495f-92a3-f7032ef317ca.aspx
Foreman, Angus and Andy Nash “Developing Integration Solutions with BizTalk Server 2004.”
MSDN, 2004 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/
BTS_2004WP/html/ffda72df-5aec-4a1b-b97a-ac98635e81dc.asp
GotDotNet.Com “BizUnit Workspace Release Package Documentation.” Microsoft
Corporation, 2005 Downloaded from www.gotdotnet.com/workspaces/
Microsoft “BizTalk Server Business Rules Framework.” Microsoft Corporation, 2003.
Downloaded from http://download.microsoft.com/download/e/6/f/
Microsoft “BizTalk Server 2006 Runtime Improvements.” Microsoft Corporation, 2006
Downloaded from http://download.microsoft.com/download/1/a/6/
Trang 16Microsoft “Microsoft BizTalk Pricing and Licensing.” Microsoft Corporation, 2006.
Application Logic.” Java Development Journal, retrieved June 2, 2006 http://
java.sys-con.com/read/45082.htm
Northrup, Tony “Performance Tuning a NET Framework Deployment.” MSDN, 2006 http://msdn.microsoft.com/netframework/technologyinfo/infrastructure/tuning/default.aspx.Nyswonger, Luke “The QuickStart Guide to Learning BizTalk Server 2004.” MSDN blog, 2004.http://blogs.msdn.com/luke/articles/380519.aspx
Summers, Jonathan “Error Handling in BizTalk 2006.” Jonathan Summers’ Blog, 2005 http://dallas.sark.com/SarkBlog/jmsummers/archive/0001/01/01/2192.aspx
Thomas, Steven W “Property Schema and Promoted Properties Inside Custom Pipelines forBizTalk 2004.” Steven W Thomas BizTalk Blog, 2004 www.geekswithblogs.net/sthomas/archive/2004/08/27/10301.aspx
Wasznicky, Marty “BizTalk 2006 Deep Dive Workshop.” Microsoft Corporation, 2006
Woodgate, Scott, Stephen Mohr, and Brian Loesgen Microsoft BizTalk Server 2004 Unleashed.
Indianapolis, IN: SAMS, 2005
Xi, William “Implementation Guide of BizTalk’s Business Rules.” Microsoft Corporation, 2006
A P P E N D I X ■ B I B L I O G R A P H Y
458
6994appCMP2.qxd 10/2/06 12:19 PM Page 458
Trang 17■ Numerics
64-bit native execution, 331
■ A
ACID attributes, transactions, 261
acknowledgement verification, messages,
120action stage, 304
actions
business rule artifacts, 295–297conditions, 295
predefined functions, 295rules described, 284
Ad Hoc Distributed Queries option, SQL
Serverconfiguring BizTalk Log Shipping, 365
Ad hoc file artifact, 379
adapters
application adapters, 5BizTalk tier high availability, 335custom adapters, 18
description, 4, 5, 18HTTP adapter tuning, 443–444message body part, 72MSBTS_AdapterSetting class, 405provided by BizTalk, 5
Receive Adapter tuning, 439–441Send Adapter tuning, 441–442transport adapters, 5
Adapters node, 331
Add function, 296
Add Resources window
exporting BizTalk applications, 391AddMessage method
ExceptionMgmt class, 237AddNewApplication method
BtsCatalogExplorer class, 413AddNewParty method
BtsCatalogExplorer class, 413AddNewReceivePort method
Application class, 416BtsCatalogExplorer class, 413AddNewSendPort method
adding send port, 413–414
to specific BizTalk application, 416–417Application class, 416
BtsCatalogExplorer class, 413
AddNewSendPortGroup methodApplication class, 416
BtsCatalogExplorer class, 413AddPart method
IBaseMessage interface, 125AddPredicate method
IBaseMessageContext interface, 127AddReference method
Application class, 416Administration Console, BizTalk
see BizTalk Administration Console
Administration MMC, 324administration tools, 324–327BizTalk Administration MMC, 324BizTalk applications, 399–420BizTalk Explorer toolbar, 325BizTalk Server Administration Console,324
BizTalk Server Configuration tool, 325BizTalk Web Services Publishing wizard,326
BTSDeploy command-line tool, 325BTSTask command-line tool, 324Business Activity Monitoring (BAM), 325Business Activity Services (BAS) web site,325
Business Rule Engine Deployment wizard,327
Enterprise Single Sign-On (SSO)Administration, 326Enterprise SSO Client Utility, 326Enterprise SSO command-line tools, 326Health and Activity Tracking (HAT), 326Human Workflow Services (HWS) ServerAdministration Console, 327Scripting and Programmability APIs, 325SSOClient command-line tool, 326SSOConfig command-line tool, 326SSOManage command-line tool, 326viewing artifacts pre BizTalk 2006, 377adm_HostInstance_SubServices table, 70adm_OtherBackupDatabases table, 347adm_ServiceClass table
throttling in BizTalk 2004, 448throttling in BizTalk 2006, 449tuning BizTalk Server 2004/2006, 423, 424After predicate, 295
Index
459
6994idxfinal.qxd 10/2/06 4:00 PM Page 459
Trang 18importing/installing BizTalk applications,396
Application object
AddNewApplication method, 413RemoveApplication method, 413Application Properties dialog
manually deploying BizTalk, 386Application property, BtsAssembly class, 419
ApplicationStopOption enumeration, 418
ApprovedRequest message, EAIProcess
orchestrationFailed Orchestration Routing API, 233,
235, 240Message Details dialog box, 242strongly-typed message retrieval, 248appSettings tag
BTSNTSvc.exe.config, 281Architect role, 23
architecture, BizTalk solution, 3
archiving data
configuring DTA Purge and Archive job,341
artifacts
.NET assembly artifact, 379
Ad hoc file artifact, 379Application class, 414artifact namespaces, 58BAM definition artifact, 379BAS artifacts, 379
BizTalk 2004 artifact organization, 37
BizTalk 2006 artifact layout, 38BizTalk 2006 requirement for, 379BizTalk Administration Console, 329BizTalk applications, 37–38, 378, 379BizTalk artifacts, 57
BizTalk assembly artifact, 379BizTalk binding file artifact, 379BTAD_ChangeRequestAction, 383BtsCatalogExplorer class, 410business rules, 287–298COM component artifact, 379important deployment artifacts, 380messaging artifacts, 58
naming conventions, 57, 58organizing artifacts in BizTalk 2006, 36–39Policy or rule artifact, 379
Post-processing script artifact, 379pre BizTalk 2006, 377
Pre-processing script artifact, 379purpose of BizTalk applications, 377Security certificate artifact, 379Select Artifact Type dialog box, 101typical BizTalk deployment cycle, 398Virtual directory artifact, 379
ASP.NETcounters to monitor for ASP.NET, 440, 441performance tuning, 438–442
Assemble stagesend pipeline stages, 109Assembler component
see BizTalk Assembler component
assemblersdefault assemblers, 5pipeline components, 7assemblies
.NET Assembly Viewer, 97assembly naming and versioning, 48–57BizTalk assembly artifact, 379
bts_Assemblies table, 98changing assembly version information,42
description, 5enumerating deployed assemblies, 102manually deploying BizTalk, 386multiple assemblies, same namespace,101
multiple Visual Studio solution, 34NET NET assembly artifact, 379orchestration engine configuration, 275,
276, 278pitfalls of orchestration development, 273typical BizTalk deployment cycle, 398using assembly info manager, 43Assemblies property
Application class, 415BtsCatalogExplorer class, 410
■I N D E X
460
6994idxfinal.qxd 10/2/06 4:00 PM Page 460
Trang 19long-running transactions, 263nesting Scope shapes, 263persistence points, 265atomicity, message sequence, 206
auto-throttling
BizTalk Server 2006, 449–455availability
BizTalk Server 2006 operations, 334–335dealing with large messages, 154
■ B
BackReferences property
Application class, 415Backup BizTalk Server SQL Agent jobs, 337
BAS backup procedures, 350BizTalk Group backup, 346configuring, 338–341backup procedures
BAM Analysis Services, 347–349BAS (Business Activity Services), 349–350Base EDI Adapter, 350
BizTalk applications, 343–352BizTalk Group, 346–347BizTalk servers, 344DTS packages, 350–352master secret server, 344, 345–346non-BizTalk application databases, 352SQL Agent jobs, 352
BackupFull job
configuring Backup BizTalk Server job, 339BAM (Business Activity Monitoring)
backup procedures, 347–349BAM Analysis Services, 347–349BAM Primary Import database, 339description, 5, 325
implementing BAM-based solution, 20marking in-flight transactions as complete
in BAM, 375restore procedures, 372BAM artifacts
definition artifact, 379importing/installing BizTalk applications,396
BAS (Business Activity Services), 5artifacts, 330, 379
backup procedures, 349–350BAS web site, 325
description, 5recovering from hardware failure of BASsite, 359
restore procedures, 371–372BAS SharePoint application, 20Base EDI Adapter
backup procedures, 350restore procedures, 372–373base type
changing base type for properties, 91batch processing
building resequencing aggregator,211–214
file tuning, 445–446pitfalls of orchestration development, 272Before predicate, 295
Between predicate, 295bibliography, 457–458binary data, routing, 117binding
dynamic port binding, 199orchestration port to physical send port,71
self-correlating binding port, 199binding file artifact, 379
binding filesBizTalk applications, 380–381BizTalk binding file artifact, 379BindingInfo element
XML elements under, 381BizTalk
adapters provided by, 5architecture, 3
assembly naming and versioning, 48–57common enterprise usage, 10
creating installation package, 46–47creating MSI package, 46
naming conventions, 57–64overview, 3
pricing and licensing, 458questions to answer prior to using, 10–20solution categories, 21
solution checklist, 10–20typical BizTalk scenario, 4
Trang 20BizTalk 2004
artifact organization, 37BizTalk 2006
artifact layout, 38artifact organization, 36–39artifacts, requirement for, 379default pipelines, 115–117further reading, 458MSI exports, 33BizTalk Administration Console, 39, 327–331,
402–404administration tasks, 399application tasks, 400Applications node, 329assembly tasks, 400BizTalk applications, 329–330BizTalk Group node, 328–329description, 324
exception reporting limitations, 227exporting BizTalk applications, 390exporting MSI file, 47, 397
host tasks, 400illustrated, 74importing/installing MSI file, 397managing exceptions in orchestrations,227
manually deploying BizTalk, 385message- and service-monitoring, 327messagebox tasks, 402
orchestration tasks, 400party tasks, 402Platform Settings node, 330–331receive location tasks, 402receive port tasks, 401send port group tasks, 401send port tasks, 401viewing message properties, 74BizTalk Administration MMC, 324
BizTalk API objects
custom pipeline components, 123–127BizTalk applications, 37–38, 377–380
see also BizTalk solutions
actions to perform on, 378administrative tools, 399–420artifacts, 377, 378, 379backup procedures, 343–352binding files, 380–381BizTalk Administration Console, 329–330BizTalk Explorer managing applications,38
concept of, 327configuration backup procedures, 344deploying, 384–399
manual deployment, 385–389MSI packages, 389–398typical deployment cycle, 398–399
exporting, 389–395file extension, 382important deployment artifacts, 380–384importing/installing, 396–398
operations executed when, 396managing, 399–420
processing scripts, 381–384purpose of, 377
restore procedures, 353–361starting, 353, 418
stopping, 353BizTalk artifacts
Assembler and Disassembler pipelinecomponents, 119
CleanupBTFExpiredEntriesJob, 337custom pipeline components, 118further reading, 457
orchestrations, 120BizTalk Framework 2.0 Reliable Messaging,118–120
BizTalk Group
see also groups
backup procedures, 346–347BAM Analysis Services backup, 348BizTalk 2006 requirement for artifacts, 379BizTalk runtime servers disaster recovery,369–371
changes to SQL Server schema, 336configuring using Configuration.exe, 336disaster recovery procedures, 368–369evaluating data loss, 373–375hardware failure, 356maintaining, 336–361master secret restore procedures, 360relationship with Management Database,328
SQL Server Agent jobs, 338–343BizTalk Group Hub page, 328, 329
■I N D E X
462
6994idxfinal.qxd 10/2/06 4:00 PM Page 462
Trang 21BizTalk Group node, 328–329
SQL Log Shipping compared, 362BizTalk Management Database, 95–103
BTAD_Database env variable, 384BTAD_HostClass env variable, 383BTAD_Server env variable, 384BtsCatalogExplorer class, 410bts_Assemblies table, 98bt_DocumentSchemas table, 98bt_DocumentSpec table, 98, 99CleanupBTFExpiredEntriesJob, 337deploying BizTalk assembly, 95enumeration of send ports, 411–412relationship with BizTalk Group, 328verifying acknowledgment of messages,120
BizTalk map
see maps
BizTalk Messagebox
see Messagebox
BizTalk Messagebox database
see Messagebox database
BizTalk Messaging Engine
see Messaging Engine
BizTalk Orchestration Designer
see Orchestration Designer
BizTalk reliable messaging configuration, 119
BizTalk runtime environment
restore procedures, 360BizTalk runtime servers
disaster recovery procedures, 369–371methods for setting up, 369
Message Bus, 68–75port configuration, 32preparing proper environment, 422resolving document/message types, 95scaling up BizTalk tier, 333
software costs, 15BizTalk Server 2004configuration parameters, 448further reading, 457, 458memory-based throttling, 448performance tuning, 423stress detection mechanism, 448throttling, 448–449
BizTalk Server 2006, 323–37564-bit native execution, 331auto-throttling, 449–455configuration and management, 324–331disaster recovery, 361–375
further reading, 457high availability, 334–335maintaining BizTalk Group, 336–361performance tuning, 424
scalability, 331, 332–334Standard Edition, 13throttling, 449–455BizTalk Server Administration Console
see BizTalk Administration Console
BizTalk Server Business Rules Framework
see Business Rules Framework
BizTalk Server Configuration tool, 325BizTalk Server Developer Edition, 13BizTalk Server Enterprise Edition, 13BizTalk Server Framework 2.0
see BizTalk Framework
BizTalk Server Group
see BizTalk Group
BizTalk Server Pipeline Component wizard,457
BizTalk servers
see servers
BizTalk services, 69In-Process hosts hosting subservices, 70BizTalk solutions
see also BizTalk applications see also projects
budgetary considerations, 12–15building master solution, 44categories, 21
components constituting, 438customization considerations, 18data considerations, 19–20Deploy build option, 44designing, 24–27large teams, 21master solution, 33project timelines, 12
Trang 22server requirements, 16–17skill set requirements, 10–12small teams, 21
structuring/integrating with Visual Studio,31–36
developer-independent solutions, 36multiple Visual Studio solution, 34–36single Visual Studio solution, 33–34suitable project types, 18
transaction considerations, 19–20Visual SourceSafe solution layout, 31BizTalk streams, 147–148
BizTalk subservices, 70
BizTalk tier
high availability, 334–335scaling out BizTalk tier, 332–333scaling up BizTalk tier, 333BizTalk Tracking database
Backup BizTalk Server job, 338DTA Purge and Archive job, 337, 343BizTalk Web Services Publishing wizard, 326
BizTalk WMI classes, 405, 406
BizTalk WMI events, 407, 409
BizUnit
developing unit tests, 46Workspace Release package, 457black-boxing, 26
body part, messages, 72
BodyPart/BodyPartName properties
IBaseMessage interface, 125Boolean property
returning value from BRE to callingorchestration, 315
BootCamp.Orchestration.Exception.Xyz
projects, 235bottlenecks
see also scalability
CLR tuning, 444–445performance tuning, 424, 425branching
Parallel Actions shape, 197, 259parallel execution branches, 197BRE (Business Rule Engine), 283–319
Business Rule Composer, 298–301business rules
artifacts constituting, 287–298description, 285–286
executing, 312–319testing, 305–309calling engine from NET application,316–317
calling engine from within orchestration,313
components, 284description, 9, 283–285
editing/resubmitting suspendedmessages, 216
facts definition, 305further reading, 458how it works, 301–305match - conflict resolution - action, 303,304
portable format for rules, 299returning value from BRE to callingorchestration, 315–316rule engines, 284
rules definition, 304rules described, 284when to use, 286–287working memory and agenda before/afterexecution, 305
brokersEnd Point Manager, 67implementation overview, 199–203sample broker implementation, 197BTAD_Xyz environment variablesBTAD_ApplicationName, 383BTAD_ChangeRequestAction, 383BTAD_Database, 384
BTAD_HostClass, 383BTAD_InstallDir, 383BTAD_InstallMode, 383, 396BTAD_Server, 384
BTAD_SilentMode, 384btf_message_sender table, 121BTNTSvc.exe service, 69BTS Log Shipping Get Backup History job,
357, 367BTS Log Shipping Restore Databases job,
357, 367BTS Log Shipping Restore To Mark job, 357,
364, 367, 369BTS.ReceivePortNamerouting binary data, 117BtsAssembly class, ExplorerOM, 418–420description, 410
enumerating orchestrations, 419–420properties, 419
BtsCatalogExplorer class, ExplorerOM,410–414
adding new send port, 413–414description, 410
enumeration of send ports, 411–412methods, 412
properties, 410–411BtsCatalogExplorer propertyApplication class, 415BtsAssembly class, 419BTSDeploy tool, 325, 397, 399, 405BTSInstaller scripts, 46
■I N D E X
464
6994idxfinal.qxd 10/2/06 4:00 PM Page 464
Trang 23host tasks, 400importing BizTalk applications, 397–398messagebox tasks, 402
orchestration tasks, 400party tasks, 402receive location tasks, 402receive port tasks, 401send port group tasks, 401send port tasks, 401bts_Assemblies table, 98
bt_DocumentSpec table, 98, 99
budgetary considerations
BizTalk Server, 15BizTalk solution checklist, 12–15SQL Server, 15
Build Manager role, 23
build managers
setting versions and labeling code, 41using assembly info manager, 43builds
creating build/integration environment,40–47
five-step build process, 41–45master solution, 44
running build verification test, 45Business Activity Monitoring
see BAM
Business Activity Services
see BAS
business exception handling
managing exceptions in orchestrations, 230business logic
custom business logic, 18rule engines, 285
business policies
see business rules
business rule artifacts
actions, 295–297conditions, 295facts, 288–294
priorities, 297–298rules, 297–298vocabularies, 288–294Business Rule Composer, 298–301BRE components, 284
creating rules, 301creating vocabularies, 299–300how BRE works, 301
policy chaining, 319referencing NET class, 314testing business rules, 305vocabularies, 288, 289Vocabulary Definition wizard, 300Business Rule Deployment wizard, 309Business Rule Engine
description, 284, 285–286executing, 312–319calling engine from NET application,316–317
calling engine from withinorchestration, 313policy chaining, 318–320referencing NET class from policycalled from orchestration, 314returning value from BRE to callingorchestration, 315–316
exporting/importing policies to/fromXML, 310–312
further reading, 458rule engines, 285rules described, 284testing, 305–309Business Rules Framework, 284executing business rules, 312exporting policy version to XML, 310–311further reading, 457
how BRE works, 301importing policy version from XML,311–312
predefined functions, 295Business Rules Update Service, 284
■ C
Caching service, 70Call Orchestration shapenaming conventions, 62nesting Scope shapes, 264orchestration shapes, 257
Trang 24Call Rule shape, 312, 313, 314
custom fact retrievers, 293naming conventions, 63Call Rules shape, 316, 317
Call Send Pipeline Expression shape, 212
canonical format
editing/resubmitting suspendedmessages, 215, 224
Fault messages, 249Catch block
implementing resequencer, 211Catch Exception shape, 260
CATID_Xyz component categories, 122
CBR (content-based routing)
Content-Based Router, 198dealing with large messages, 155description, 74
illustrated, 255implementing message-routing logic, 255promoted properties, 77
Recipient List pattern, 198using port filters and, 79–84CDATA section
editing/resubmitting suspendedmessages, 215
certificates
GetGroupSigningCertificate method, 124Security certificate artifact, 379
Certificates property
BtsCatalogExplorer class, 410Charset property
IBaseMessagePart interface, 126child orchestrations
binding parent orchestration to, 203broker implementation overview, 199creating child orchestration, 202–203chunked encoding, 443
class variables
editing/resubmitting suspendedmessages, 219
classes
Application, 414–418BizTalk WMI, 405, 406BtsAssembly, 418–420BtsCatalogExplorer, 410–414DocumentSpec, 146ExceptionMgmt, 236, 237, 238, 243Executor, 318, 320
ExplorerOM container, 410FaultSeverity, 238
MessageCollection, 238MSBTS_Xyz, 405–408naming conventions, 58PGPEncodeComponent, 179pipeline components, 7PipelineUtil, 127
Schema, 102SchemaWithNone, 132, 133SeekAbleReadOnlyStream, 148VirtualStream, 148
XLANG, 130XPathReader, 148CleanupBTFExpiredEntriesJob, 337Clear function, 296
CloneMessageContext methodPipelineUtil class, 127CLR thread poolperformance tuning, 444–445Receive Adapter tuning, 439clustering, 14
BizTalk tier high availability, 334master secret server high availability, 335SQL Server clustering configuration, 15SQL tier high availability, 335
coderestricting code deployed, 32rule for checking code in, 41setting versions and labeling code, 41code generation
reasons for defining custom namespaces,76
coding practicesperformance tuning, 428–431CollectResponses loop
creating parent orchestration, 200COM component artifact, 379Compensate shapes
naming conventions, 63Compensation shape, 260component categoriesCATID_Xyz component categories, 122custom pipeline components, 122–123component interfaces
custom pipeline components, 123IBaseComponent interface, 123IComponent interface, 123IComponentUI interface, 123IPipelineContext interface, 124ComponentIndex propertyIPipelineContext interface, 124components
COM component artifact, 379custom pipeline components, 121–127implementing resequencer, 206large message decoding component, 155large message encoding component, 161PGP Decode component, 186
PGP Encode component, 180pipeline components, 7writing pipeline components, 128–142
■I N D E X
466
6994idxfinal.qxd 10/2/06 4:00 PM Page 466
Trang 25compressed files
dealing with, 166–179receiving ZIP files, 174sending multiple ZIP files, 174sending ZIP files, 167
concurrent correlated receives, 271
concurrent requests, 443
conditions
actions, 295business rule artifacts, 295predicates, 295
rules described, 284configurations
AppDomain, 278–281backup procedures, 344BizTalk Server 2004, 448BizTalk Server 2006, 324–331Configuration tool, 325developer-independent solutions, 36editing/resubmitting suspendedmessages, 218
high-volume, 16low-volume, 16Message Delivery throttling, 451Message Publishing throttling, 452multiple solution, 35
orchestration engine, 275–281per-instance pipeline, 115, 138, 457port configuration, BizTalk Server, 32reliable messaging, 119
single solution, 33conflict resolution stage, 303
connections
Send Adapter tuning, 441ConnectionString property
BtsCatalogExplorer class, 410consistency, transactions, 261
long-running transactions, 263Construct Message shape, 257
creating parent orchestration, 201naming conventions, 62
Construct shape
building resequencing aggregator, 212Failed Orchestration Routing API, 238naming conventions, 61
distinguished fields, 78error handling context properties, 93Fault messages, 241
message context properties, 73–75messages, 68
Context propertyIBaseMessage interface, 125, 126context property bags, 75
message context properties, 73context property schemas, 73–74MessageType property, 74contexts
CloneMessageContext method, 127IBaseMessageContext interface, 126IPipelineContext interface, 124message context, 6
Convoy patternimplementing resequencer, 206, 210convoys, 271–272
concurrent correlated receives, 271general restrictions on, 271receives requiring convoy processing, 272
sequential correlated receives, 271CopyPropertyBag method
PipelineUtil class, 127Correlation Set shape, 258naming conventions, 64correlation sets, 270implementing resequencer, 207, 209Receive Message shape, 258
receives requiring convoy processing, 272
restrictions on convoys, 271Send Message shape, 258correlation type, 258, 270Correlation Type shape, 64correlations, 270–272orchestration engine configuration, 275CountProperties property
IBaseMessageContext interface, 126IBasePropertyBag interface, 75CPU idle time
Low % CPU Idle on BizTalk Server, 425Low % CPU Idle on SQL Server, 425CPU Utilization (%) counter, 440CPUs, CLR tuning, 444
CreateFaultMessage methodExceptionMgmt class, 237CreateMessage/CreateMessagePart methodsIPipelineContext interface, 124
Culture property, BtsAssembly class, 419custom adapters, 18
custom business logic, 18custom disassemblers, 139–143custom exception reporting, 229custom fact retrievers, 293–294custom message processing logic, 18
Trang 26custom pipeline components
BizTalk API objects, 123–127BizTalk Framework envelopes, 118component categories, 122–123component interfaces, 123custom properties, 139description, 7
implementing resequencer, 206initial questions, 107
modifying values from system propertyschemas, 87
per-instance pipeline configuration, 139custom pipelines
receive pipeline stages, 107–108send pipeline stages, 109custom properties
orchestration routing and, 90–91custom property schemas, 73
implementing resequencer, 206custom transformation logic, 18
evaluating data loss for BizTalk Group,373–375
GetOriginalDataStream method, 126Data property
dealing with large messages, 153IBaseMessagePart interface, 125, 126data validation, 429
database clustering
see clustering
Database session threshold parameter
auto-throttling in BizTalk 2006, 453Databased Disassembler, 192–195
databases, 337
adm_OtherBackupDatabases table, 347BTS Log Shipping Restore Databases job,
357, 367Configuration, 338EDI, 339
maintaining BizTalk Group, 336–361Management
see BizTalk Management Database
Messagebox
see Messagebox database
production, 356–359Restore Databases job, 357, 367Rule Engine, 337, 339
Rules_Database_Cleanup job, 337Tracking, 337, 338, 343, 373, 374
Tracking Analysis Server, 348Trading Partner Management, 339, 349Day function, 297
DayOfWeek function, 297DbFactRetriever, 294deadlines, 12deadlocks, 264DebugTrackingInterceptor, 306Decide shape, 259
implementing resequencer, 209IsLastFragment Decide shape, 209naming conventions, 61
Decision shapes, 316Decode stage, receive pipeline, 107, 108decoders, 8
decoding componentsdealing with large messages, 153large message decoding component, 155PGP Decode component, 186
receiving ZIP files, 174decryption, PGP, 179–192dehydration, 262, 263, 264–266dehydration algorithm and thresholds,266
orchestration engine configuration, 277Delay shape, 259
naming conventions, 62Delivery queue size parameterauto-throttling in BizTalk 2006, 453DeniedMsg type, 247
DeniedRequest message, EAIProcessorchestration
Failed Orchestration Routing API, 233,
235, 240Message Details dialog box, 243strongly-typed message retrieval, 248Dependencies window
Export MSI File wizard, 394Deploy build option, Visual Studio, 44Deploy command, 98
DeployAllPolicies valueApplicationStartOption enumeration, 417deployments
BizTalk applications/solutions, 384–399manual deployment, 385–389MSI packages, 389–398typical deployment cycle, 398–399business policy exported to XML, 309–310Business Rule Deployment wizard, 309environment variable values, 384exporting/importing policies to/fromXML, 310–312
important deployment artifacts, 380MSBTS_DeploymentService class, 405restricting code deployed, 32
side by side deployments, 49–57
■I N D E X
468
6994idxfinal.qxd 10/2/06 4:00 PM Page 468