Sto lavorando al back-end di un'applicazione web java. Abbiamo un repository di documenti (in particolare Fedora Commons) dove sono ospitati i file xml. Voglio astrarre internamente l'API del repository in modo che non siamo strettamente accoppiati a un prodotto. Mi piacerebbe anche dare la flessibilità di connettersi a un repository tramite Java RMI o API REST. Speravo di ottenere consigli o risorse su come implementare qualcosa di simile.
Pensavo che avrei avuto una classe di repository astratta che aveva metodi come getRecord, updateRecord e deleteRecord. Nel costruttore passerei l'URI per il repository e il metodo e la porta API. Ciò consentirebbe una certa flessibilità in futuro in modo che se l'API REST diventasse più pratica, ma consentisse la flessibilità o l'utilizzo di RMI che potrebbe (dovrebbe?) Avere prestazioni migliori.
Sto pensando troppo a questo o sono sulla strada giusta?