Domanda

sto iniziando a pensare e sviluppare un'architettura per una grande applicazione web, e ho voluto ottenere suggerimenti e / o raccomandazioni su quali tecnologie e / o quadri da utilizzare.

L'applicazione sarà un sito web intranet-based utilizzando l'autenticazione di Windows, in esecuzione su IIS e l'utilizzo di ASP.NET. E 'necessario essere strutturato come un'applicazione web principale con applicazioni sub-web. In sostanza, l'intero ambito è un composto basato su browser, un'applicazione intranet che è composto di moduli discreti, funzionalmente completi o sotto-applicazioni.

Questa applicazione client nastro composito avrebbe un modulo principale o coperture per fornire la struttura complessiva interfaccia utente. Inoltre, il modulo shell fornirebbe accesso ai servizi comuni che tutti i singoli sotto-app o moduli potrebbero utilizzare. Poi ogni sub-app / modulo conterrebbe la propria funzionalità e l'attuazione, ma integrarsi con l'interfaccia utente della shell.

Successivamente, in base all'utente e quali dei sub-applicazioni sono disponibili, l'applicazione principale o guscio sarebbe costruire dinamicamente linguette (o bottoni o qualcosa) come un modo per accedere ogni singola applicazione. E, saremo la memorizzazione dei dati degli utenti e delle applicazioni in una tabella di database.

Quindi, per esempio, si sta andando ad avere un'applicazione report, un'applicazione di visualizzazione, e probabilmente un paio di altre applicazioni distinte. All'avvio dell'applicazione principale / shell, dopo aver determinato che l'utente è, l'applicazione principale interrogherà il database per determinare quale sub-applicazioni che l'utente può utilizzare e costruire l'interfaccia utente. Quindi l'utente può navigare tra i sub-applicazioni disponibili e fare il loro lavoro in ciascuno.

Spero che tutto questo ha un senso.

In ogni caso, mi chiedo, che, se del caso, le tecnologie pre-esistenti / quadri avrebbe funzionato meglio per architecting e lo sviluppo di un sistema come questo.

Può la Web Client Software Factory essere una buona scelta? Sarebbe qualche altra soluzione MVP essere una buona scelta? Sarebbe ASP.NET MVC essere una buona scelta? Qualcos'altro???? Sarebbe nessuno di questi sia una buona scelta e ci deve solo sviluppare tutto da zero utilizzando moduli web? Qualsiasi altra informazione che dovrei sapere?

Grazie !!!!

È stato utile?

Soluzione

ASP.Net MVC2 facilita anche l'uso delle aree. Ecco un link che possono essere utili

http://odetocode.com/Blogs/scott/archive/2009/10/13/asp-net-mvc2-preview-2-areas-and-routes.aspx

In pratica si potrebbe usare le aree di rompere i vostri "subapplications"

Altri suggerimenti

Prima di discutere quadri, alcuni punti da considerare quando si costruisce un tale sistema (in cui sotto-applicazioni possono essere collegati):

  • I possibili punti di integrazione (dati, Servizi, Business Logic, UI)
  • preoccupazioni trasversali (i log di sistema, registrazione di controllo, configurazione, sicurezza)
  • Chi sarà svilupperà sotto-applicazioni (si, le persone che lavorano in ufficio, o chiunque / la comunità più grande)

Credo che prima di saltare in e la costruzione di un quadro (o scegliendo uno esistente) è necessario eseguire il passo e pensare attraverso questi aspetti prima.

In termini di farmeworks: troverete molti quadri ma ben pochi offrire la gamma completa di quello che stai dopo:

  • ASP.NET WebForms è fondamentalmente un pacco completamente vacante di terra - si dovrà costruire la maggior parte delle cose da soli, o portare in quadri aggiuntivi (come MS Enterprise Biblioteche)
  • ASP.NET MVC è effettivamente la stessa cosa, ma in uno stile diverso.

Nessuno di questi sono "quadri", ma si potrebbe usare uno di questi come base di basso livello 'piattaforma'.

  • I SM Ent movimenti di liberazione sono grandi per le preoccupazioni trasversali (come l'accesso ai dati, registrazione, ecc), ma questo è tutto.
  • C'è anche una serie di buon inversione di dipendenza quadri ma ancora una volta non si tratta di una soluzione completa.

La cosa più grande è quello di dipendenze di controllo:. Assicurarvi astratta fuori lo strato di dati (per cominciare), aderire ai principi di tutto la segregazione di interfaccia, il riutilizzo e così via

Una possibilità che si potrebbe prendere in considerazione (e sto soffiando la mia tromba qui - quindi non sono imparziale) è il framework .NET open source che ho costruito ( ' Morphfolia ' Sono io presi circa 5 anni, part-time). Anche se non ne fanno uso si potrebbe trovare alcune buone idee o il codice si puo 'rubare':

Morphfolia:

E 'disponibile per il download all'indirizzo http://morphfolia.codeplex.com/

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