Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di...

52
Progettazione di SI web-based B. Pernici

Transcript of Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di...

Page 1: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Progettazione di SI web-based

B. Pernici

Page 2: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Sommario

• Progettazione (come processo)

• Documenti di progetto

• Scelte architetturali

Page 3: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Bibliografia

• Conallen, cap. 6, cap. 7 (con richiami a cap. 3 e 4)• Sito del libro: http://www.wae-uml.org/

• Approfondimenti per chi fa il progetto:– L.A. Maciaszek, Sviluppo di sistemi informativi con

UML, Addison Wesley, 2002

– Sito del libro: http://www.comp.mq.edu.au/books/maciaszek/

Page 4: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Processo di sviluppo di un SI

Pianificazione iniziale

Pianificazione

Requisiti AnalisiDesign

Implementazione

Deployment

TestValutazione

Page 5: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.
Page 6: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Iterazione• Identificazione dei requisiti del sistema• Definizione dell’architettura• Analisi dei requisiti• Design• Implementazione• Test• Sviluppo ambiente• Gestione dei cambiamenti• Gestione del progetto

NB: sono attività che si svolgono in parallelo

• Si conclude con:– Valutazione con i referenti– Ripianificazione per l’eventuale iterazione successiva

Page 7: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Partecipanti e prodotti nel processo di sviluppo

requisiti

componenti

Class diagrams

Requisiti scenari d’uso

Use case

State diagrams

Diagrammi di deployment

management

implementatori

progettisti

analistiUX team

referenti

integratori

architetti

Esperti di dominio

Modello

Page 8: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Analizza azienda e problemi percepiti

• Interazione con i referenti (stakeholders)

• Comprendere le attivita’ dell’azienda

Page 9: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Sviluppo del modello del dominio

• Diagramma delle classi (o ER)

• Rappresentazione dei principali processi aziendali attuali (activity diagram di alto livello)

• Glossario: elenco dei termini e definizioni

Page 10: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Sviluppo “vision”• Tratto dall’analisi dei risultati dei passi precedenti• Esprime il contesto e gli obiettivi dell’intero progetto• Spesso serve a farsi finanziare il progetto• Struttura:

– Introduzione: perche’ si realizza il sistema, identificazione referenti, possibili alternative con valutazione costi e benefici, priorita’

– Background: motivazioni di supporto, contesto aziendale, sistemi preesistenti

– Requisiti e funzionalita’ generali: breve descrizione di cosa deve fare il sistema

– Definizione dell’architettura generale del sistema (software architecture document)

Page 11: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Esempio vision• Introduzione

– L’obiettivo del progetto e’ quello di offrire ai clienti della ditta COMP i servizi di vendita su canali alternativi a quelli tradizionali. In particolare in questo progetto si esamina l’offerta di servizi su internet, ma nello sviluppo del progetto si porra’ particolare attenzione allo possibilita’ di offrire gli stessi servizi in futuro su altri canali (call center, su smartphone) estendendo il presente progetto. Si proporra’ quindi un’architettura flessibile basata sull’utilizzo di web-services. Alternative possibili …..

– I referenti nel corso del progetto saranno l’amministratore delegato della ditta COMP, il responsabile dei sistemi informativi, e verra’ selezionato un gruppo di grandi clienti a cui verranno presentate le caratteristiche del progetto.

Page 12: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Esempio vision (2)

• Background– Attualmente le vendite avvengono presso I

punti di vendita. Tutti i punti di vendita sono collegati al sistema informativo della ditta COMP su cui sono registrati i componenti disponibili e le possibili configurazioni.

– E’ possibile effettuare i pagamenti degli ordini al momento dell’acquisto anche con carta di credito e su richiesta emettere fatture

Page 13: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Esempio vision (3)

• Requisiti generali e funzionalita’– L’azienda COMP offre la possibilita’ di acquistare computer via

Internet. Il cleinte puo’ selezionare un computer sulla pagina web dell’azienda. Il cliente puo’ selezionare una configurazione gia’ predisposta oppure comporre il proprio sistema assemblando componenti, con l’assistenza del sistema. Per ogni configurazione il cliente puo’ valutare il costo.

– Per ordinare il cliente deve fornire le informazioni per la consegna e il pagamento. Il pagamento deve avvenire con carta di credito. Una volta inviato l’ordine, viene inviata via mail una conferma al cliente. Il cliente in attesa di consegna puo’ controllare lo stato dell’ordine in ogni momento.

– Nel back-end viene controllata la solvibilita’ del cliente, viene richiesta al magazzino la configurazione ordinata, viene stampata la fattura e contattato un servizio di spedizione per effettuare la consegna.

Page 14: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Sviluppo di un piano di progetto

• Gantt– Attivita’ e sottoattivita’ (numerate)– Inizio e durata– Risorse (mesi uomo, costi)– Scadenze (milestone)

Page 15: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Esempio di Gantt

Page 16: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Definizione dell’architettura

• Architettura:– Significato diverso secondo diversi punti di

vista

• Punti di vista:– Requisiti– Design– Realizzazione– Test

Page 17: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Definizione dell’architettura

• Porre vincoli architetturali alla base del progetto (design e implementazione)

• Documento che contiene descrizione delle principali scelte architetturali e le loro motivazioni– Es. piattaforma, set di caratteri

• Punti di vista espressi nei documenti di progetto (es requisiti non funzionali pongono vincoli architetturali)

Page 18: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Punto di vista dei requisiti

Significant Architectural Requirements (SAR)• Vista sul dominio

– Contesto– Standard e regolamentazione

• Vista sui requisiti funzionali– Il sistema “osservabile”

• Vista sui requisiti non funzionali– Performance, robustness, security

Page 19: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Punto di vista del progetto (design)

• Progetto dell’architettura• Sistemi, piattaforme, middleware• componenti di terze parti

• Vista della struttura logica del sistema– Oggetti logici e loro relazioni strutturali

• Vista sui processi– Esecuzione parallela

Page 20: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Punto di vista della realizzazione

• Specifica dell’architettura• Meccanismi di comunicazione ed invocazione

(CORBA vs RMI vs SOAP vs DCOM)• Associazione dei processi ai nodi elaborativi• Librerie, namespace condivisi• Codice: esempi di codice chiave (parti da

standardizzare, ad es. algoritmi di sorting)

Page 21: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Punto di vista del testing

• Piano di test– Delle funzionalita’ – Dell’architettura

Page 22: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Attività architetturali

• Analizzare e assegnare priorita’ agli use case per individuare requisiti architetturali significativi (SAR)

• Definire una architettura candidata e preparare e valutare prototipi

• Definire una strategia di riuso

Page 23: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Esempio SAR

– Il sistema chiede il nome e l’indirizzo. L’utente compila un modulo sullo schermo. …

• Quando inserisce il CAP, il sistema riempie automaticamente il nome della citta’ se non e’ gia’ stato riempito.

– Quando l’indirizzo e’ completo il cliente preme il tasto Avanti per proseguire nel completamento dell’ordine

Page 24: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Esempio (2)

• SAR:– CAP significa solo clienti italiani?– Quale ipotesi lato client?

• Client ad hoc per l’applicazione disponibile per ogni utente?

• Internet: non si puo’ ipotizzare che vi sia un sw caricato sul client

Page 25: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Client dinamici

• Javascript

• Applet

• ActiveX/COM

Page 26: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Clienti dinamiciscripting lato client

BROWSER

HTML

Script

Compiled modules

DOMDOM

DOM: Document Object Model interface

Page 27: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Javascript

• Linguaggio che permette di scrivere script all’interno di pagine web <script> … </script>

• Non ha niente a che fare con Java• Gli script vengono eseguiti lato client dal

browser• Gli script possono accedere a oggetti del

documento e proprietà del browser, modificandoli dinamicamente– Es: azione cambio colore al passaggio del

mouse (event handler onMouseOver)

Page 28: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Principali handler

• onAbort (interruzione caricamento immagine)• onClick• onChange (cambia il valore di un elemento)• onError• onLoad• onMouseOver• onReset• onSelect (selezione di un elemento di input)• onSubmit• onUnload

Page 29: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

frm2t1

t4

Page 30: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

<HTML>

<HEAD>

<TITLE>Esempi di JavaScript</TITLE>

<SCRIPT LANGUAGE=JavaScript>

function CalcSomma() {

var alfa = 10 * window.document.frm2.t1.value;

var beta = 20 * window.document.frm2.t2.value;

var gamma = 30 * window.document.frm2.t3.value;

window.document.frm2.t4.value=alfa+beta+gamma;

}

</SCRIPT>

</HEAD>

Page 31: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

<BODY>

<!-- Esempio onChange -->

<H1>Esempi JavaScript</H1>

<hr width='75%'> <H2>Esempio onChange</H2> <FORM name='frm2'> <TABLE border=1 width ='75%'> <TR> <TH align='left'>Prodotto</TH> …… </TR> <TR> <TD>Alfa</TD> <TD>10</TD> <TD><INPUT type="text" name='t1' size="5" onchange='CalcSomma()'></TD> </TR> ……..

<TD>Totale</TD> <TD></TD> <TD><INPUT type="text" name='t4' size="10"></TD> </TR> </TABLE> </FORM>

Page 32: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Applet

• Uso di Java per il controllo dell’interfaccia utente lato client, puo’ usare direttamente il DOM

• Identificate dal tag <object> nella pagina HTML

• Si specifica da dove scaricare l’applet

Page 33: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Applicazioni complesse:un esempio di modulo intelligente (in sist.

distribuiti)

client

CAP

Web server

Richiesta form

Risposta

3 minuti

Risposta con form con inclusione script per completare citta’ da CAP

Page 34: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

CAP

Web server

Sottomissione form invocata da script Java

Risposta

3 secondi

Risposta con form ricostruito con completamento citta’ da CAP

Seconda soluzione

CAP

00198

00198ROMA

Page 35: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Web server

L’oggetto comunica direttamente con l’application server

Risposta

< 1 sec

Oggetto distribuito che comunica direttamente con un oggetto sul lato server e restituisce la citta’ dato il CAP

Terza soluzione

CAP

00198

Application server

Page 36: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Pattern architetturali per il presentation tier

• Thin web client– Ci si basa su browser in grado di gestire form

• Fat (thick) web client– Una parte significativa di business logic e’ eseguita

sulla macchina client

• Web delivery pattern– Il browser utilizzato come strumento di interazione con

oggetti distribuiti (puo’ utilizzare non solo HTTP, ma anche IIOP e DCOM)

Page 37: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Thin web client

• Punto di vista dei requisiti• Limitare le funzionalita’ che si suppongono

disponibili nel browser

• Cookie? (disabilitabili)

• Firewall (uso porte standard)

Page 38: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Punto di vista architettura

– Web browser– Web server (scripting?)– HTTP connection (SSL?)– Pagine dinamiche

• Linguaggi, interfacce

– Application server– DB server

Page 39: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

I componenti essenziali dell’architettura:

INTERNET

ScriptEngine

Scripts

ClientsComponents

Container

Components

ApplicationServer

Web Server

Databasemanagement

systems

•Web ServerWeb Server

•Script EngineScript Engine

•Application Application ServerServer

•Database ServerDatabase ServerScelte architetturali per decidere:

•Quali componenti vanno su macchine separate

•Quante macchine servono per ogni componente

•Come collegare tra loro componenti

Page 40: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Configurazione 1: SINGLE PROCESSOR

INTERNET

•Una sola macchina (Host 1) ospita:

•Web Server

•Script execution engine

•Database

Client(browser)

Internet Intranet

° Web server

° Execution engine

° Database

Host 1

Router /firewall

HTTPHTTP

Page 41: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Il router/ firewall

• Router: – Punto di connessione Internet/ Intranet– Consente a browser esterni di connettersi al

Web Server

• Firewall:– Separa il mondo esterno (Internet) dalla

rete aziendale (Intranet)– Blocca i tentativi di intrusione e le richieste

non autorizzate (attraverso Access Control Rules)

• Può essere un unico dispositivo che svolge le due funzioni

Router /firewall

Internet Intranet

Page 42: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

SINGLE PROCESSOR: valutazione

INTERNET

•Prestazioni: legata alle caratteristiche della macchina (velocità CPU, HDD, connessione di rete, DBMS).

•Criticità: Database e Web Server sulla stessa macchina. Sono due processi che occupano molte risorse (RAM, tempo-CPU)

•Scalabilità: unica possibilità è upgrade della macchina (aggiunta RAM, cambio CPU o dischi, …)

•Disponibilità: se cade un componente, tutto il sistema è fermo

•Mantenimento dello stato: semplice perché su macchina singola (memorizzato nello script engine e/o nel database)

•Sicurezza: dati non difesi se il firewall viene superato

•Costo: basso, se non serve hw ad alte prestazioni

•Complessità: soluzione più semplice da installare e mantenere

° Web server

° Execution engine

° Database

Host 1

Page 43: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Config. 2: SEPARAZIONE DEL DB SERVER

INTERNET

•Web Server e Script execution engine sono ospitati su una macchina (Host 1)

•Il Database Server è ospitato su un altro calcolatore (Host 2)

•L’aggiunta di un firewall intermedio aumenta la sicurezza dei dati

Client(browser)

Internet Intranet

Router /firewall

HTTPHTTP

Web server +Execution engine

Host 1

Database

Host 2

(data tier)(middle tier)

Client(browser)

Internet

Router /firewall

HTTPHTTP

Web server +Execution engine

Host 1

Database

Host 2

Intranet

Firewall

Demilitarized zone (DMZ)

Page 44: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

SEPARAZIONE DEL DB: valutazione

INTERNET

•Prestazioni: dimensionamento migliore delle due macchine

•Es.: potenziamento accesso/mirroring dei dischi del DB server

•Scalabilità: possibilità di intervenire separatamente su middle tier e data tier

•In genere è il middle tier che raggiunge per primo la saturazione

•Disponibilità: un componente fermo blocca ancora il sistema

•Sicurezza: dati su macchina separata sono più sicuri; un firewall tra middle e data tier può bloccare le richieste HTTP (attacchi) e consentire solo le richieste al DB

Web server +Execution engine

Host 1

Database

Host 2

Intranet

Firewall

Demilitarized zone (DMZ)

Page 45: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

REPLICAZIONE E PARALLELISMO

INTERNET

•prestazioni

•disponibilità

•scalabilità

sono limitate dalla presenza di

UNA SINGOLA ISTANZA DI OGNI COMPONENTE

Soluzione: REPLICAZIONE

•Replico i processi critici (Web Server, script engine,…)

•Tengo in esecuzione più copie in parallelo di ogni processo

Engine

Engine

Engine

Engine

Replicazione : applicabile a qualsiasi livello dell’architettura

Page 46: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Vantaggi della replicazione

INTERNET

•Prestazioni consente LOAD-BALANCING: distribuzione del carico di lavoro sui server/ processi in modo bilanciato

•ScalabilitàSe necessario, è possibile aggiungere nuove istanze di processi (o macchine server, in cluster)

•Disponibilitàconsente FAIL-OVER: se cade uno dei processi, il suo carico di lavoro viene distribuito sui processi funzionanti e il sistema continua a fornire il servizio

Page 47: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Config. 3: REPLICAZIONE DEL WEB SERVER

INTERNET

•Più copie del Web Server funzionanti in parallelo

•Router/firewall fa da NETWORK DISPATCHER (bilancia il carico di lavoro tra i diversi Web Server)

•Alcuni server possono usare SHTTP per garantire la sicurezza: il dispatcher invia tutte le richieste SHTTP al server sicuro

Client(browser)

Internet

Router /firewall

HTTP

Database

Host 2

Intranet

Firewall

HTTP

HTTP

SHTTP

Web server + engine 1

Web server + engine 2

Web server + engine 3DMZ

Page 48: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Il problema delle sessioni utente

INTERNET

•Bisogna garantire che lo stato dell’utente sia mantenuto

SUL LOAD-BALANCING:

•STICKY SESSION: Tutte le richieste dello stesso client devono essere inviate dal dispatcher allo stesso server (lo stato utente è memorizzato sul server!)

•Il dispatcher deve avere una certa “intelligenza” per riconoscere le richieste di uno stesso utente. Non basta l’IP del client: potrebbe essere usato da più utenti di una intranet

SUL FAIL-OVER:

•Le sessioni memorizzate dal Web server guasto devono essere recuperate ed usate dagli altri Web server (che riceveranno le richieste seguenti degli utenti connessi al server guasto)

•I dati di sessione devono essere memorizzati in modo duraturo (es. nel DB) [Soluzione costosa per le prestazioni]

Router /firewall

HTTP

HTTP

HTTP

SHTTP

Page 49: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

REPLICAZIONE DEL WEB SERVER: valutazione

INTERNET

•Prestazioni: più elevate grazie al load-balancing

•Scalabilità: possibilità di aggiungere nuovi Web server

•Disponibilità: se cade un Web server, il suo traffico è ridiretto su una sua replica

•Mantenimento dello stato: necessari meccanismi sticky session e memorizzazione stato per il fail-over

•Sicurezza: possibilità di avere uno o più server sicuri

•Complessità: accresciuta dalla replicazione

Page 50: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Configurazione 4: CON APPLICATION SERVER

INTERNET

•Centralizzazione della business logic nell’App. Server mediante oggetti riusabili (per esempio, Enterprise Java Beans, componenti MS DCOM)

•Gli oggetti possono essere invocati da qualunque applicazione aziendale (anche non Web)

•La gestione di parallelismo, replicazione, sicurezza, disponibilità è garantita dall’application server ed è trasparente al programmatore

Client(browser)

Internet

Router /firewall

HTTP

Database

Host 2

Intranet

Firewall

HTTP

HTTP

SHTTP

DMZ

WebServer1 Engine 1

WebServer2 Engine 2

WebServer3 Engine 3Application

server

Applicationserver

Applicationserver

Page 51: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Configurazione 4: CON APPLICATION SERVER

INTERNET

Client(browser)

Internet

Router /firewall

HTTP

Database

Host 2

Intranet

Firewall

HTTP

HTTP

SHTTP

DMZ

WebServer1 Engine 1

WebServer2 Engine 2

WebServer3 Engine 3Application

server

Applicationserver

Applicationserver

Firewall

DMZ2

•Bilanciamento e fail over a livello degli oggetti applicativi

•Parallelismo DINAMICO: il numero di processi allocati e di istanze di oggetti è scelto a run-time in base al traffico reale

•Possibilità di effettuare catene di operazioni sugli oggetti in modo transazionale

•Application server isolabile con un ulteriore firewall

Page 52: Progettazione di SI web-based B. Pernici. Sommario Progettazione (come processo) Documenti di progetto Scelte architetturali.

Application Server: valutazione

INTERNET

•Prestazioni: elevate grazie al load-balancing dinamico

•Scalabilità: virtualmente illimitata replicando l’application server

•Disponibilità: capacità di fail-over a livello degli oggetti eseguiti all’interno dell’application server, gestione delle transazioni

•Complessità: ambienti generalmente complessi da manutenere