Domanda

Come fas come ho capito, possiamo dire che l'architettura a 3 livelli significa progetti separati per ogni preoccupazione.Quelli UI Layer, Business Layer e Data Layer.UI parla con BL e BL parla con DB e viceversa.Questo è un bene per la manutenibilità e l'idea di separazione delle preoccupazioni sono ragionevoli.Ma d'altra parte, i livelli sono diversi dai livelli.Vale a dire, i livelli sono direttamente correlati alle macchine/alla rete.Voglio dire quando diciamo 2 tier, è generalmente macchina client e macchina server di database.Quando diciamo 3 tier, è generalmente macchina client, macchina server applicazioni e macchina server database.Quindi, in termini di queste informazioni, è possibile sviluppare un'applicazione a due livelli che utilizza un'architettura a 3 strati.

Finora, ho usato 3 strati, ma è il momento di decidere se dovremmo sviluppare in 3 livelli o 2 livelli.Ci saranno Windows form project sul campo e circa 150 client e 100 terminali manuali che utilizzeranno Windows form project e comunicheranno tramite servizi web.Nei terminali a mano, è ovvio che la soluzione migliore sta usando tre livelli, ma per i client Windows che saranno in esecuzione su Windows 7, è difficile decidere se dovremmo parlare con il database su un server di applicazioni o collegarci direttamente al database.

Domanda principale qui quali sono i vantaggi dell'architettura a 3 livelli su 2 livelli.Per me un altro livello significa un altro server / host / macchina che deve essere attivo e funzionante tutto il tempo che potrebbe essere sovraccarico.

Si prega di guidarci per la scelta migliore architettura tier.

È stato utile?

Soluzione

Consiglierei solo di utilizzare un "livello 3" (Client, Application Server e Database Server) se stai per eseguire alcune attività importanti sul server delle applicazioni che altrimenti consumerebbero le risorse disponibili per eseguire anche una piattaforma di database.Ad esempio, il pool di connessioni o il software di gestione delle connessioni in esecuzione tra l'applicazione (livello Business) e il server di database (livello dati).

Altri suggerimenti

Diciamo che hai questi componenti:UI, Common, Biz, DAL

Nello sviluppo di applicazioni a 2 o 3 livelli, è possibile distribuire UI e Common su client e Common, Biz , DAL su server (prestare attenzione comune è distribuito su entrambi) e si tenta di collegare t tuo BUSINESS tramite .Net Remoting o WCF E infine DB può essere su Server o altri server per l'ultimo livello.

Spero che questo aiuti

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