2 livelli sarebbe una scelta valida per questo scenario
-
20-08-2019 - |
Domanda
Il 2 ° livello sarebbe una scelta valida per questo scenario:
- database SQL Server
- l'azienda non richiederebbe mai più di un paio di centinaia di connessioni simultanee al database condiviso su una LAN
- il fatto che (credo) sia uno sforzo molto meno per sviluppare un livello 2
applicazione - 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.