Questa è una domanda di design. Ho un'applicazione in più parti con diversi tipi di utenti. Esiste un client utente per il paziente che interagisce con un servizio web. C'è un'API che si evolve dietro il servizio web che sarà esposto agli "utenti" istituzionali e un'interfaccia per medici, ricercatori e tipi di amministratori.
L'interfaccia utente del paziente è Flex. La parte clinica / amministrativa dell'applicazione è RoR. L'API è basata su RoR / rack. Il componente del servizio Web è Java WS. Tutti i componenti accedono alla stessa origine dati.
Questi componenti vengono distribuiti come componenti separati per i propri sottodomini. Questa decisione è stata presa per consentire di ridimensionare i componenti singolarmente secondo necessità.
Inizialmente, è stata presa la decisione di suddividere il codice per l'applicazione Web RoR dall'API RoR.
Questa decisione è stata presa nell'interesse della sicurezza e mantenendo le componenti focalizzate su compiti specifici.
Nel corso del tempo, ci saranno necessariamente delle sovrapposizioni e io sto seguendo la mia decisione di mantenere il codice completamente separato. Sto notando che il codice che viene rimosso dal lato amministratore viene sollevato, modificato e utilizzato nell'API. Stando così le cose, ho pensato di unire i repository basati su Ruby.
Sono interessato a idee e intuizioni su questa situazione insieme al ragionamento dietro i tuoi pensieri.
Grazie.