Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Metodi per la distribuzione di applicazioni Web

Alcuni metodi da utilizzare per il deployment di applicazioni ASP.NET
Alcuni metodi da utilizzare per il deployment di applicazioni ASP.NET
Link copiato negli appunti

Ogni applicazione che si rispetti viene prima implementata in un ambiente di sviluppo e debug e, solo alla fine dello sviluppo, distribuita sull'ambiente di produzione. Per le applicazioni ASP.NET in genere si usa un PC per lo sviluppo ed il deployment, la distribuzione, viene effettuato su un server.

In alcune occasioni (specie per applicazioni di dimensioni più modeste) questo passo è rappresentato dalla semplice copia dei file sul server. In altri casi, invece, è necessario creare un file di installazione che permette di installare l'applicazione in ambienti di cui non conosciamo nemmeno le caratteristiche.

Esistono modi differenti per distribuire un'applicazione web, ma, prima di esaminarne alcuni, è importante capire come è strutturata un'applicazione ASP.NET.

La tecnologia ASP.NET prevede che un'applicazione sia composta da molti elementi i quali devono essere "impacchettati" e distribuiti insieme all'applicazione perché questa funzioni in modo corretto.

Una web application contiene sicuramente pagine web (.aspx e file HTML), può contenere il codice (code-behind) delle Web Form, immagini, file di configurazione come il web.config, file di web service .asmx e .wsdl, componenti .NET, assembly compilati etc.

Prima di distribuire un'applicazione anzitutto è necessario rimuovere la modalità "debug" dal web.config impostando su false il relativo attributo, che in fase di sviluppo viene impostato comunemente su true.

Questa operazione in genere è effettuata anche in fase di sviluppo quando si vuole testare l'applicazione.

Listato 1. Modificare il web.config

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
  <!-- Impostare compilation debug="true" per inserire i
  simboli di debug nella pagina compilata. Poiché tale operazione ha effetto
  sulle prestazioni, impostare questo valore su true
  solo durante lo sviluppo. -->

  <compilation debug="false" />
</system.web>
</configuration>

Le opzioni di distribuzione supportate da .NET

Esaminiamo tre metodi per la distribuzione delle applicazioni web:

  • xCopy
  • "Copy Web site" di Visual Studio .NET
  • programma di installazione con Visual Studio .NET

Creiamo un nuovo progetto ASP.NET e utilizziamolo per sperimentare i tre tipi di distribuzione.


xCopy

Le applicazioni .net vengono compilate in assembly, e gli assembly sono auto-descrittivi in quanto i dettagli che riguardano un assembly sono memorizzati nell'assembly stesso.

Se i file assembly e tutta la business logic dell'applicazione sono contenuti nella cartella "bin" sotto la directory virtuale dell'applicazione il processo di distribuzione dell'applicazione risulta semplice.

Ci occorre solamente il prompt dei comandi (start>programmi>accessori>prompt dei comandi).

In questo caso copiamo l'assembly su un altro server e non è necessario nemmeno interrompere l'esecuzione di IIS. Se ad esempio il server di sviluppo si trova su C e la produzione su G scriviamo:

xcopy c:miositosito1 g: miosito  /k/h

È possibile impostare molti parametri del comando XCopy in questo esempio utilizziamo i seguenti:

  • /K - mantiene l'attributo di sola lettura durante il processo di copia perchè altrimenti verrebbe rimosso.
  • /H - include nella copia anche i file nascosti e di sistema che altrimenti verrebbero esclusi

Le applicazioni VS.NET non necessitano di effettuare registrazioni nel registro di Windows, questo significa che le applicazioni possono essere installate semplicemente copiando i file richiesti nella macchina target che deve contenere necessariamente il .Net framework installato, a differenza della precedente tecnologia "COM" che richiedeva la registrazione delle .dll e la modifica del registro di Windows.

Dopo aver copiato i file è necessario creare la directory virtuale da associare all'applicazione, fatto questo la nostra applicazione è pronta e possiamo già richiamarla dal browser.

L'opzione Copia sito web in VS .NET

Questa opzione ci permette analogamente al comando XCopy, di copiare l'applicazione web nello stesso server o in un server remoto. In questo caso però VS.NET ci mette a disposizione un'interfaccia grafica.

Possiamo richiamare la finestra di dialogo "Copia sito web" dal menu Sito web>Copia sito Web...

Figura 1. Copia sito web
Copia sito web

Una volta aperta la finestra di dialogo Copia sito web ci connettiamo al server in cui andremo a copiare l'applicazione, facendo clic sul pulsante "Connetti".

In questa finestra di dialogo abbiamo la possibilità di decidere come collegarci al server remoto:

  • utilizzando l'opzione "File system" possiamo sfogliare i file come su "Esplora risorse" del computer
  • IIS locale ci permette di creare applicazioni e directory virtuali ma non di lavorare su l'installazione di IIS che risiede in remoto, solo in locale
  • Sito Ftp permette di utilizzare la funzionalità FTP per collegarsi al server remoto
  • Sito remoto ci permette di collegarci al server remoto utilizzando le estensioni server di Front page
Figura 2. Finestra "Apro sito Web"
Finestra

Dopo aver effettuato il collegamento con il server è sufficiente selezionare i file da copiare e utilizzare le frecce di spostamento presenti nella finestra di dialogo.

Creare un programma di installazione

L'ultima opzione che analizziamo riguarda la creazione di un programma di installazione che possiamo distribuire ai nostri clienti.

Questa soluzione può essere utile quando realizziamo un'applicazione web che dovrà essere installata su computer di più clienti.

La prima operazione da fare per creare un programma di installazione è aprire con Visual studio .Net l'applicazione web che desideriamo distribuire.

Successivamente aggiungiamo un nuovo progetto selezionando il menu File>Aggiungi>Nuovo progetto e scegliamo come tipo di progetto "Installazione e distribuzione"

Figura 3. Creare un progetto di installazione
Creare un progetto di installazione

Visual studio visualizzerà quindi una soluzione con due progetti: il progetto della nostra web application e il progetto di set up che chiamiamo "WebSetup1".

Dopo aver creato il progetto dobbiamo aggiungere gli elementi che vogliamo includere nel programma di installazione. Per farlo selezioniamo il menu Progetto>Aggiungi>Output progetto.

Figura 4. Aggiungere elementi al progetto
Aggiungere elementi al progetto

Per aggiungere elementi di output come file o cartelle si può cliccare con il tasto destro sulla "Cartella Applicazione" nel File system e, successivamente sulla voce "Aggiungi".

Una volta generato il progetto "WebSetup1" avremo a disposizione un programma di installazione da distribuire al nostro cliente.

Figura 5. "Generazione" del progetto

Nella cartella "Release" troviamo i file generati dal progetto di installazione: WebSetup1.msi e setup.exe.

Per installare il programma sarà necessario fare doppio clic sul file WebSetup1.msi e cliccare su "Avanti" nei vari passaggi fino al termine della procedura. Questo è un programma di installazione base, ma è possibile personalizzarlo aggiungendo finestre di dialogo, database, icone di collegamento all'applicazione web etc.

Una nota interessante è che possiamo anche verificare che sia installato il Framework .NET nella macchina di destinazione per evitare che la nostra applicazione non funzioni correttamente.

Ti consigliamo anche