2011-01-17 13 views
6

Ciao, sono un novizio dell'architettura di livello n e stavo cercando di scoprire la differenza tra ciò che fa un application server che ospita il livello di applicazione del codice, e cosa fa un servizio web?Qual è la differenza tra un servizio Web e un livello di applicazione del codice in un server delle applicazioni

Quindi ti dirò alle persone la mia comprensione dell'intero concetto di livello, abbiamo l'interfaccia utente -> Server Web -> logica di business/logica dell'applicazione su un server applicazioni -> server database. (Naturalmente esistono anche load balancer e istanze multiple del server per fissare e memorizzare lo stato dei processi)

Ma per essere specifici, il livello della logica di business non sarebbe legato a un'interfaccia utente, quindi è più o meno indipendente e può essere riutilizzato.

Anche un servizio Web offre funzionalità simili alla logica aziendale, in cui non è collegato a un'interfaccia utente e può essere riutilizzato per casi diversi.

Qualcuno potrebbe spiegare se quello che ho appena spiegato è giusto? E come ho detto prima, sono un novizio per questo, quindi se questo suona stupido o ingenuo, per favore non prendermi in giro :)

risposta

17

Ecco una spiegazione rapida, sporca e molto generale di un'architettura a 4 livelli, che sto assumendo possono meglio applicare alla vostra applicazione:

Presentation layer: l'interfaccia con il mondo esterno (sito web)
Livello applicazione: I meccanici necessari per creare l'interfaccia (s) verso l'esterno mondo (framework per applicazioni web, servizi Web)
Livello di logica aziendale: La logica attuale che incarna/simula/emula i processi del business e flussi di lavoro (algoritmi, trasformazioni, processi di approvazione, ecc)
livello di database: il database e la logica necessaria per richiedere informazioni da esso

In generale, i servizi Web non fanno parte del livello della business logic. Questo livello di solito è protetto tanto quanto il livello del database, perché potrebbero esserci segreti commerciali o metodi confidenziali di fare le cose lì dentro, e di solito non si vuole che nessuno vi acceda direttamente, se non in modo programmatico o attraverso interfacce approvate (come i servizi web).

I servizi Web, i livelli di applicazione e la business logic possono essere opportunamente paragonati a Coca-Cola e al suo business. Bottiglie e lattine sono solitamente il modo in cui Joe Blow consuma il prodotto di Coke (ad esempio il sito Web nel livello di presentazione), ma altre aziende vogliono essere in grado di servire Coca-Cola anche ai loro clienti, quindi Coca-Cola li utilizza come acqua gassata e Coca-Cola sciroppo (ad es. servizi web nel livello applicazione). La formula segreta di Coca-Cola (ad esempio il livello della logica aziendale) ei processi di distribuzione di Coca-Cola per farlo entrare nello store (ad esempio il livello dell'applicazione) sono tutti nascosti al consumatore. A Joe Blow non interessa come entra nel negozio, sa solo che può ottenere Coca-Cola da una varietà di fonti (sito web, client mobile, ecc.). E Coca-Cola non vuole che le persone conoscano la sua formula segreta (logica commerciale). Se vuoi una Coca-Cola, devi passare attraverso un negozio o un ristorante (interfacce approvate).

+1

Questo era un buon esempio, sei molto meglio di quello che insegnano i normali professori all'università !! – macha

+0

Grazie, ci provo! – Snapman

Problemi correlati