Just curious -- have you ever actually written Java code to do the kind of thing you're talking about here (transactions across heterogenous systems), and if so, how difficult was it? One thing that occurs to me is that the high-end vendors who sell these database systems typically also sell some kind of two-phase commit option that will work across competitors systems, so that could be an option for systems built using Perl.