Careful thought should go into the design of the database to ensure that data integrity is maintained. Parent-child relationships should be determined and transactions should be designed to ensure that partially completed transactions don't result in invalid orphan data records or inconsistencies within the data. In some e-business systems, parent-child relationships exist across more than one database or system, so this may not be as easy as it sounds.
Microsoft Transaction Server and JTSlthe Java technology binding of the CORBA Object Transaction Service (OTS)lcan be used to ensure that partially completed transactions are rolled back effectively, even if a transaction spans a number of servers.
Message-queueing software (such as Microsoft MQ, IBM MQ, or Java Message Queue) should be used to ensure that once a transaction appears to have been committed on the Web site, the necessary follow-up events take place, even if the connection is lost mid-transaction (something that happens regularly on the Internet). For example, if a credit card payment is confirmed, it's essential that the goods for which the customer paid arrive after the payment is confirmed, even if the Web site connection is lost just at the point where the payment is confirmed.