A typical BizTalk application involves several independent components connected together. Each of these components, and the methods through which they are connected, must be configured with a Transaction Type for the BizTalk application to be transactional. Configuring a Transaction Type ensures that the work done by the actions within the group is committed, and provides a high level of structure and reliability.
Configuring a BizTalk application to be transactional can adversely affect the performance of the application's orchestration. This is because configuring a BizTalk application to be transactional involves the creation of additional persistence points. At a persistence point, the orchestration engine saves the state of a running orchestration. Each time BizTalk Server has to persist an orchestration, the state of the running orchestration is serialized and saved to the BizTalk Server's MessageBox database. The larger the size of the message, the longer it will take BizTalk Server to persist the state of an orchestration.