Domanda

Il 2 ° livello sarebbe una scelta valida per questo scenario:

  1. database SQL Server
  2. l'azienda non richiederebbe mai più di un paio di centinaia di connessioni simultanee al database condiviso su una LAN
  3. il fatto che (credo) sia uno sforzo molto meno per sviluppare un livello 2
    applicazione
  4. Aggiornamenti del programma client automatizzati sulla LAN

Nessuna soluzione corretta

Altri suggerimenti

Una soluzione a 2 livelli può essere più semplice da sviluppare, ma sarà più difficile da mantenere se l'applicazione è di qualsiasi dimensione e / o complessità.

Se questa applicazione sarà importante per l'azienda e funzionerà per un lungo periodo di tempo, penso che troverai il tempo extra impiegato per separare la presentazione, la logica aziendale e l'accesso ai dati nei propri livelli sarà rimborsato quando arriva il momento di sistemare le cose, modificare la logica o estendere l'applicazione.

Questa è una di quelle domande in cui probabilmente otterrai tante opinioni diverse quante le risposte.

All'inizio può essere più semplice da sviluppare, ma penso anche che a lungo termine ti costerà se il progetto non è uno strumento banale solo per uso interno.

La necessità o meno di 3 livelli dovrebbe dipendere da quanto tempo hai intenzione di mantenere il progetto e da quante funzioni / aggiornamenti stai pianificando in seguito. Potrebbe anche dipendere da quanti bug sei disposto ad accettare (e correggere). L'IMO a 3 livelli tende a creare software più stabile.

Entrambe le risposte sembrano quasi dire che è un gioco da ragazzi che 3 livelli è una soluzione superiore. forse

Rockford lhotka sembra sostenere che si dovrebbe andare con 2 livelli a meno che il vantaggio in termini di costi l'analisi della tua situazione particolare scende a favore di 3 livelli.

dice:

  

Come un buon architetto dovresti essere trascinato calci e urla per aggiungere livelli al tuo sistema.

La sicurezza che suggerisce è l'unica area in cui una soluzione a 3 livelli è chiaramente superiore.

E lo sostiene

  

Peggio ancora, i confini aggiungono una complessa complessità alla progettazione del software, all'infrastruttura di rete, alla gestibilità e alla manutenibilità generale di un sistema. In breve, più livelli in un'applicazione, maggiore è la complessità da affrontare con & # 8211; che aumenta direttamente i costi per la creazione e la gestione dell'applicazione.

Infine, per quanto riguarda la scalabilità, vorrei sapere se è vero che se utilizzi recordset disconnessi in ado per l'accesso ai dati hai un pool di connessioni di default e quindi un alto grado di scalabilità?

Copiato dal libro di Charles Williams Professional Visual Basic 6 Database: -

  

Livello 2 vs Livello N

     

Scegli tra un livello 2 e un livello n   i modelli sembrano essere ciò che è sulle persone   menti. Ci sono così tante variabili da   fattore nell'equazione (incluso   preferenza) che nessun libro può fare   determinare la struttura migliore per il tuo   modello client-server. Alcuni di questi   le variabili possono includere:

     
    

La flessibilità e la potenza del server di database prescelto. Di oggi     server di database sono in grado di     gestendo centinaia o addirittura migliaia di     connessioni simultanee senza muoversi     a un'architettura a 3 livelli.

         

La potenza e la versatilità della CPU che ospita il server. Più potente     la CPU più veloce sarà il server     gestire le attività richieste.

         

Quanta velocità effettiva è in esecuzione nel server e quante consecutive     esistono connessioni. Potresti averne pochi o     molte connessioni e ogni connessione     potrebbe passare poche o molte richieste.

         

Il fattore economico. Quanto sei disposto a spendere per il tuo sistema.     In genere un sistema di livello n costerà     più da sviluppare e mantenere. Se tu     puoi cavartela con una soluzione a 2 livelli     può risparmiare un sacco di soldi.

  

A me questo sembra suggerire che, a meno che non si stia sviluppando per un'applicazione (molto popolare) basata sul Web, il 2 ° livello potrebbe essere la scelta più logica.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top