Logica aziendale - Lato server vs lato client [duplicato]

0

Nel mio progetto attuale, ho uno schermo che estrae dati da diversi servizi web, estrae dati dal database tramite API di back-end e controlla che tutte le risorse abbiano gli stessi dati o meno.

Gli altri servizi web sono specchi parziali dei dati nel db e lo schermo mostra una tabella con lo stato dei dati (se tutto è uguale tra i server)

In passato lo schermo era interamente in javascript lato client (tutte le chiamate di resto, tutte le logiche di confronto) e in seguito ho spostato la maggior parte di esso sul backend java che ora espone json con lo stato corrente e il lato client lo traduce in una vista tabella

Tuttavia, non sono molto soddisfatto di questo.

JS pro:

  • Codice più piccolo.
  • Più facile da implementare

JS contro:

  • Più fragile, vulnerabile a semplici cambiamenti nei servizi web
  • Logica e presentazione aziendale intrecciate
  • Codice più brutto
  • Il codice cliente conosce molto sulla struttura dati

Professionisti di backend Java:

  • Più leggibile
  • Più disaccoppiati

Contro Java:

  • Molto più complesso, un sacco di classi (dtos per esempio)
  • Java non va bene con json
  • Più difficile da implementare
  • Più difficile implementare alcune funzionalità a causa delle astrazioni

Qual è l'approccio giusto? Client o server?

    
posta Amit Mizrahi 26.06.2016 - 19:40
fonte

1 risposta

1

Mi piace David Packer's rispondi alla tua altra domanda. Ma per distillarlo un po 'di più:

  • Alcuni business logic sul front end per ridurre i round trip.

  • Tutta la logica aziendale su back-end (che, sì, significa che avrai una logica aziendale duplicata)

Inoltre, dimentica quanto sia difficile o meno implementarlo in una lingua. Stai prendendo una decisione architettonica indipendente dalla lingua (potresti usare lingue diverse se la difficoltà di implementarlo ti preoccupa).

    
risposta data 27.06.2016 - 11:06
fonte

Leggi altre domande sui tag