Our organization has 5 heterogenous customer databases with slightly different data format in each of them. We'd like to build a mechanism to update data in each of those through one central web-based interface. Currently, we are opting for a Weblogic EJB/Servlet/JSP solution.

The trick is that some of the DB'd may not be available all the time. So, we plan to queue the updates (using JMS). An EJB will post messages (consisting of data and action eg "delete", "update") on a number of JMS topics (1 per database). Helper classes will be listening to those topics and update the EJBs when a new message arrives. If the EJB could not be updated, the messages will be queued. The system will re-attempt to update EJB later (the weblogic time service will probably help with that). We may utilise Message-driven beans (if using version 6).

My questions are: Is the approach valid? Has anyone done anything similar?