Contribuire a creare l'architettura giusta per un CRM opensource di openset

1

Sto cercando di costruire un CRM esteso, usando il software PHP OpenSource. Quello che ho per ora sono 3 sistemi separati, che funzionano tutti indipendentemente l'uno dall'altro. Mi piacerebbe combinarli. Il sistema avrà parti pubbliche e private (solo per uso interno). La parte pubblica non è inclusa in questo diagramma, ma verrà aggiunta utilizzando un REST API. I database trattati qui sono solo per uso privato.

In questa immagine puoi vedere una breve panoramica di questi 3 sistemi. Come puoi vedere, questi sistemi "potrebbero" condividere tabelle utente.

Esesidesideracombinarequestisistemi,amiaconoscenzasihanno2soluzioni:

  1. Estendiunodiquestisistemieintegrialtri2sistemipiùpiccoli.Ciòavràalcuniinconvenienti:adesempio,nonsaràcosìfacileapplicarlooaggiornarlo.D'altraparte,nonavròpiùtabelleper"User, User_Events ..."
  2. Utilizza questi sistemi separatamente, ma crea un tipo di sincronizzazione tra le tabelle comuni "Utenti, User_Orders ...!". Qui non sono sicuro di quanto bene funzioni, quali inconvenienti potrebbe portare e che tipo di sincronizzazione avrei dovuto creare (live o usando un cron).

C'è un altro modo? Quale consiglieresti?

    
posta Kosha Misa 02.04.2017 - 09:25
fonte

1 risposta

0

Estrai la funzionalità utente nel suo servizio e fai in modo che tutti e tre la consumino

es

IUserService
{
    GetUser()
}

Solo il servizio utente si collegherà al database utente. tutto il resto deve chiamare il servizio

    
risposta data 02.04.2017 - 13:53
fonte

Leggi altre domande sui tag