BizTalk Server Orchestration - Convoys and Performance

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server Orchestration > November 2005 > Convoys and Performance





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Convoys and Performance
CranCran77

2005-11-29, 5:55 pm

I am looking for the best way to transport several thousand messages to
a remote server using BizTalk Server 2004 most efficiently.

We have several message types that range from master-type data to more
transactional based data that we need to extract and deliver to a
remote system. The key is that the order which the data is
modified/created in our system must be maintained and therefore
delivered to the remote system in same fashion.

I have designed a convoy approach but I see this does not lend itself
very well to large batches of messages. For small batches (10-20
messages), it usually gets the job done in a reasonable amount of time;
however, as the number of messages increase, the performance and time
to process and deliver messages drastically decrease and performance
takes a significant impact.

Has anyone encountered and developed a solution that would assist in
maximizing performance, maintains order of message data, and is easily
expandable as new "document types" must be added to support new
transactional-type messages or business document messages such as
purchase orders, sales orders, etc?

Best regards,
Chris

Marian Drumea

2005-11-29, 8:48 pm

FIFO will take a toll on performance no matter what, by definition. You
can think about using queuing adapters, like MSMQT or MQSeries (I
recommend the latter).
Also, with MQSeries, you can use correlationID and msgID to link the
messages at the two ends of the queue, instead of turning on the FIFO
character.

Of course, I am just guessing here, because I don't have enough
information about your requirements and constraints.
What transport type are you using now and to what awaiting entity on
the remote server do you send the messages (I guess FILE and file
system)? Is FIFO required for absolutely all messages or only for each
type of message? What kind of process follows the arrival of the
messages at the remote server?

Thanks,

Marian
http://www.MarianDrumea.com/BizTalk

CranCran77

2005-11-30, 2:48 am

Right now I pass the ODBC receive port messages to a MSMQT queue and
then my orchestrartion read from this port. The orchestration again
puts the outbound message on a MSMQT queue which is mapped to deliver
directly to my SAP adapter port.

I have different document types :
Item Master
Vendor Master
Purchase Order Creations
Purchase Order Changes
Transactions

The last two are highly critical to be sent in order to SAP. The
others typically just need to be sent to SAP before the changes and
transactions.

Can I use MSMQT in some fashion as you described where I correlate the
start and end of the queue or something?

Marian Drumea

2005-11-30, 5:52 pm

With MSMQT, you don't really have a choice. It is FIFO by design, one
single thread per queue. You can use multiple Q's based on dependencies
between documents, therefore improving your performance.

Thanks,

Marian
http://www.MarianDrumea.com/BizTalk

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com