As you eluded to, the Data Management Service, an Assembler, and the push API in the DataServiceTransaction class is the preferred method. There is not a simple solution. Some may lump the Assembler pattern into that group.
JMS is a potential option. Depending on the database (Oracle and DB2 possibly), you may be able to create triggers for inserts, updates, and deletes and from them push data out to JMS.
Steve