What do you mean by SOI server? In any case, if it is based on jee, you can easily configure Hibernate to use global (jta) transactions. To have distributed transactions you need a transaction manager that actually implements them. The manager shipped with JBoss AS doesn't, but other managers do, including the upcoming JBoss Transactions product.
You can read more about JTA integration in these topics:
JTA inside jBPM
Transaction demarcation with EJB/CMT
Sorry, I was using our company's terminology by mistake. By SOI Server I mean a Service-Oriented Integration Server, a Server that provides services.
From what I know of JTA, it works with 1 Application Server and several DB servers. This is not My situation. The idea would be to have 2 application servers and 1 database server.
1 AS with jBPM using Hibernate(lets call it Server1) and another using TopLink(lets call this one Server2). The database would be Oracle.
Server1 would run a few actions, and one of them would be an action executing a service on Server2. I needed to make the same transaction work on both servers, so the service on Server2 and the actions on Server1 would all commit or rollback. Is this possible?