Ci sono due moduli A e B che utilizzano lo stesso DB. A importa B come JAR. Ho letto che i pattern di messaggistica possono sostituire la soluzione strettamente accoppiata dell'utilizzo di un DB condiviso, ma non sono sicuro di quale schema di messaggi posso usare.
Una soluzione di alto livello che indichi come possiamo smettere di usare il DB condiviso, sarebbe grandiosa.
Aggiunta di ulteriori dettagli come richiesto:
Immagina A come un'enorme app (diciamo Flickr) e B un plug-in per A che periodicamente viene eseguito come un demone e tra le altre cose calcola diversi ranghi dell'utente (ad esempio, l'utente con il maggior numero di commenti, le foto più votate ecc.) . Per fare ciò usa il DB di A e fa la maggior parte dei calcoli usando le stored procedure che vivono ancora nel DB di A.
Il resto del codice è disaccoppiato ma mi chiedevo come perdere la dipendenza dal database, in modo che eventuali modifiche nello schema o implementazione del database non interrompessero B.