Un migliore approccio allo sviluppo / distribuzione di app web

0

Quindi lo scenario è che svilupperemo un'applicazione web. Consisterà principalmente in:

  • API
  • Materiale di Front End (HTML / CSS / JS)

Sto prendendo in considerazione due approcci:

  1. API del pacchetto separatamente in un file * .war e distribuire sul server. Scrivi cose front-end e chiama quelle API. (Questo è ciò che la mia azienda precedente ha seguito poiché avevamo l'API in ORM di sospensione su RESTeasy distribuito su JBOSS)

  2. Imballa tutti i file API e dell'interfaccia utente in * .jar. Questo è ciò che sta seguendo la mia attuale compagnia. Spring Framework, JSP.

A quanto ho capito, utilizzando il primo approccio possiamo avere più modularizzazione. Possiamo indirizzare la nostra interfaccia utente a qualsiasi URL dell'API che può rivelarsi utile durante il test, la commutazione delle API e così via. Utilizzando il secondo approccio, possiamo mantenere un livello più elevato di integrità, come nel rendere il codice UI più sicuro e uniforme in quanto possiamo fare riferimento direttamente al codice API. Anche se il problema è che il codice diventa poco illeggibile e disordinato, il pensiero potrebbe essere solo un'opinione personale.

Quali sono altre ragioni dietro l'adozione di questo tipo di approcci? La mia comprensione è corretta? Quale approccio è adatto in quali scenari?

    
posta Sudip Bhandari 10.05.2017 - 08:46
fonte

1 risposta

2

Molto dipende dal tipo di sistema che stai costruendo e dall'insieme di requisiti. Se tendi ad accettare frequentemente nuovi requisiti o se c'è un feedback continuo da parte dell'utente per migliorare il tuo sistema, allora diventa necessario mantenere il tuo architetto il più modulare possibile. Ora, a seconda delle esigenze del cliente, il secondo approccio è quello che è necessario e più adatto per alcuni set di requisiti e specifici per quel cliente.

Nel caso in cui si costruisca un sistema generico per servire più client e sia necessario modificare il prodotto finale in base alla richiesta del cliente o se la soluzione verrà fornita come piattaforma o ponte tra il sistema del client e la propria soluzione di back-end, allora anche si consiglia di utilizzare il 1o approccio.

In breve, è molto soggettivo al requisito.

Un altro fattore importante che puoi considerare qui è quale trend sta seguendo la tua attuale azienda. Dal momento che ciò aiuterà a riutilizzare un sacco di codice base e meno di ricostruire tutto da zero.

    
risposta data 11.05.2017 - 12:23
fonte

Leggi altre domande sui tag