1. Trang chủ
  2. » Công Nghệ Thông Tin

Pro BizTalk 2006 phần 10 potx

52 181 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 52
Dung lượng 408,56 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

HTTP-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 2

Table 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 3

come 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 4

receive 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 CPUsBatchSizeMessagingThreadPoolSize)

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 5

In 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 6

items 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 8

Table 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 9

Table 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 10

Table 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 11

Default 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 12

Table 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 13

Default 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 15

Flanders, 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 16

Microsoft “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 18

importing/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 19

long-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 20

BizTalk 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 21

BizTalk 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 22

server 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 23

host 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 24

Call 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 25

compressed 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 26

custom 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

Ngày đăng: 14/08/2014, 11:21

TỪ KHÓA LIÊN QUAN