From my previous experience, Polling DB isn't a bad idea. You can try optimizing the polling interval to suit the application's need.
And apart from DB polling the other option available is to use events to to accomplish the same task. A procedure can be designed in the database to trigger an event in case any new records are being inserted, the same events can be captured in the fusion layer.
The only issue encountered with DB polling was related to using an XA enabled datasource, this caused it to throw remote exceptions caused by connection breaks.
Hope this helps.
Actually, it depends upon the number of tables your EBS is dependent upon. For example, EBS tables have plenty of dependency and several primary-foreign relationships. Check this link - here they have given a reference about a PO being created and being integrated with BPEL.
You can proabably use something of this sort.. only thing to take care is, you should know what type of entity are you looking for ? Party, Purchase Order, Accounts etc etc..
Hope it helps !