...

Smart Client distribuzione e aggiornamento

by user

on
Category: Documents
13

views

Report

Comments

Transcript

Smart Client distribuzione e aggiornamento
Smart Client
distribuzione e aggiornamento
Fabio Santini
1
Agenda
• Le 3 regole per la distribuzione
• Scegliere la modalità di distribuzione
– No-Touch Deployment
– Installare .NET Framework insieme alla propria
applicazione
• Sceglire la modalità di aggiornamento
– Componente AppUpdater
– Application Updater Block
• Uno sguardo al futuro
– Click Once
2
#1 Evitare i conflitti
Eliminare i conflitti tra applicazioni diverse o versioni
diverse della stessa applicazione!
– L’installazione dell’ applicazione B non deve condizionare
il funzionamento dell’ applicazione A
• Isolamento delle applicazioni .NET
– Distribuzione privata per default
• Per default le applicazioni .NET utilizzano gli assembly con i quali
sono state sviluppate e non i più recenti
– Coesistenza di più versioni
• Installazione “Side-by-Side”
• La condivisione se necessaria è controllata e dichiarata
• Gli assembly posso essere condivisi utilizzando la Global
Assembly Cache (GAC)
– Nessuna registrazione di DLL
• XCopy
3
#2 Proteggere le risorse e i dati
Stabilire e controllare le risorse e i dati locali
necessari alla propria applicazione!
• .NET Code Access Security
– L’accesso alle risorse è controllato tramite evidence
• Chi a creato il programma (code signing)
• Da dove proviene l’applicazione
– Intranet, un fornitore specifico, un sito web, etc.
– Con .NET la sicurezza delle risorse può essere
controllata e garantita in fase di distribuzione
• Strumenti com CASPOL e le Group Policy possono aiutare gli
amministratori a gestire le policy di sicurezza
4
#3 Controllo dei costi
Controllare i costi di distribuzione e
aggiornamento!
– Semplice installazione “self-service”
– Gestione automatica delle installazioni e degli
aggioramenti
• .NET ha un basso costo per l’installazione
e l’aggiornamento
– Basta copiare i file
5
Scegliere la modalità di distribuzione
• Esecuzione da Web
• Download del codice
• File di configurazione
• MSI (Microsoft Installer)
• Installare .NET Framework
6
Opzioni di deployment
• .NET offre molte opzioni per la distribuzione e
l’installazione di applicazioni “smart client”
• Quattro possibili opzioni:
– Eseguire il codice da Web
• L’utente esegue l’applicazione semplicemente selezionando
un link su una pagina Web
– Download del codice
• L’utente esegue un applicazione di “bootstrap” dal proprio
computer che automaticamente scarica dal Web il codice
necessario (o dalla intranet)
– File di configurazione
• L’utente esegue un applicazione locale che scarica gli
assembly a seconda delle impostazioni nel file di
configurazione
– MSI
• L’utente installa localmente l’applicazione e gli aggiornamenti
vengono scaricati in automatico dal Web (o dalla intranet)
7
Eseguire da Web
• L’intera applicazione viene scaricata nella
Assembly Download Cache
– Il processo IEExec esegue l’applicazione
creando un appdomain con permessi ridotti
• Vantaggi
– Molto semplice da distribuire e aggiornare
• Limiti
– Funziona solo con Microsoft Internet Explorer
5.01 o superiori
– Le applicazioni sono semi-trusted
– L’utente fa fatica a trovare l’applicazione
8
Download del codice
• L’applicazione è suddivisa in assembly differenti
che vengono scaricati quando necessario
– L’exe iniziale è installato localmente
– L’applicazione scarica ed esegue gli assembly dal web
o dalla intranet utilizzando Assembly.LoadFrom()
• Vantaggi
– Installazione iniziale minima e aggiornamenti
incrementali
– Eseguita da My Programs
– Semplice da aggiornare (pubblicazione sul server)
9
Download del codice (continua)
• Limiti
–
–
–
–
–
L’applicazione deve essere progettata appositamente
E’ necessaria comunque una prima installazione locale
Non funziona in modalità offline
Non supporta il side-by-side
Gli aggiornamenti avvengono solo quando
l’applicazione e i moduli vengono caricati
– I permessi sono comunque legati alla provenienza
degli assembly
– La connessione è necessaria
• Utilizzato per ..
– Applicazioni che sono già divise in moduli distinti
– Applicazione che posso accettare lo scarico continuo
degli assembly (banda larga)
10
File di configurazione
• <fileexe>.exe.config
• Vantaggi
– Installazione iniziale minima e aggiornamenti
incrementali
– Eseguita da My Programs
– Tutte le impostazioni in un file
– Utilizzabile anche offline
– Supporta il side-by-side
11
File di configurazione (continua)
• Limiti
– L’applicazione deve essere progettata
appositamente
– E’ necessaria comunque una prima
installazione locale
– I permessi sono comunque legati alla
provenienza degli assembly
– E’ necessario modificare un file di
configurazione presente sul client
12
Installazione con MSI
• Distribuzione sul pc dell’utente da Web, da
uno share UNC, o dal disco
– Come la maggior parte delle applicazioni
Microsoft®
• Vantaggi
– Supporta tutte le funzionalità smart client come
per esempio la gestione offline
– Migliori prestazioni
– Migliore integrazione con la shell Windows
• Shortcuts in My Programs, Add/Remove
– Supporta tecnologie di autoaggiornamento
13
Installazione con MSI (continua)
• Limiti
– Richiede un processo di installazione completo
• ci siamo dimenticati qualche cosa ?
• Utilizzato per
– Applicazioni che necessitano delle migliori prestazioni
– Per applicazioni che lavorano per la maggior parte del
tempo offline
– Applicazioni che devono accedere continuamente a
differenti risorse locali
– Applicazioni che necessitano della possibilità di
esecuzione side-by-side
14
Installazione con MSI
15
Quale scelgo ?
Run From Web
Reach

Basso impatto sul sistema

Code Download

Moduli dinamici
Auto-Deployment

Auto-Update


Installazione e esecuzione per utente


Migliore User Experience
MSI/Client



Migliori prestazioni

Modalità Offline

Integrazione con la Windows Shell


Miglior accesso alle risorse locali

Installazione senza restrizioni

16
Installare .NET Framework
• Versione distribuibile di .NET Framework
– dotnetfx.exe
– Distribuibile tramite Microsoft Systems Management
Server (SMS), Microsoft Active Directory®, or insieme
al setup della propria applicazione
– Informazioni su:
• http://msdn.microsoft.com/library/enus/dnnetdep/html/redistdeploy1_1.asp
– Progetto di esempio da MSDN®
• http://www.microsoft.com/downloads/details.aspx?FamilyId=B
F253CFD-1EFC-4FC5-BA7E-6A6F21403495
– Microsoft Visual Studio .NET 2003
Bootstrapper Plug-In
• http://www.microsoft.com/downloads/details.aspx?FamilyId=62
7921A0-D9E7-43D6-A293-72F9C370BD19&displaylang=en
17
Scegliere la modalità di aggiornamento
• Inviare un dischetto 
• Aggiornamento automatico
• Application Updater
18
Opzioni di aggiornamento
• Sempre “Up-to-Date”
– Eseguire da Web o scaricare il codice assicura
un aggiornamento continuo
– Non possiamo avere side-by-side
• Application Updater
– Due “code blocks” per mantenere aggiornate le
proprie applicazioni
– Il componente AppUpdater
• Facile da implementare
– Updater Application Block
• La scelta migliore per applicazioni enterprise
19
Application Updater
• Come funziona
– Controlla costantemente la presenza di
aggiornamenti
• Utilizza Web service, file di tipo manifest, o controlla
folder e file
– Scarica gli aggiornamenti in background
– Applica gli aggiornamenti
– Eventualmente riavvia l’applicazione
• Componente AppUpdater
– http://www.windowsforms.net
• Application Updater Block from
Patterns & Practices
– http://msdn.microsoft.com/library/en-us/dnbda/html/updater.asp
20
21
22
23
24
25
26
27
28
29
Application Updater Block from
Patterns & Practices
30
Click Once
Esegue da web
Reach

Basso impatto sul sistema

Code Download
MSI/Client


Moduli dinamici
ClickOnce
Auto-Deployment

Auto-Update


Installazione e esecuzione per utente








Migliori prestazioni


Modalità Offline




Migliore User Experience
Integrazione con la Windows Shell



Miglior accesso alle risorse locali

Installazione senza restrizioni

31
Risorse
• Overview su Deploying e Distributing
http://msdn.microsoft.com/vbasic/using/deploying/
• Patterns & Practices
http://www.microsoft.com/resources/practices/patterns.mspx
• .NET Framework 1.1 guida al deployment
msdn.microsoft.com/library/default.asp?url=/library/enus/dnnetdep/html/dotnetframedepguid1_1.asp?_r=1
• Microsoft Visual Studio .NET 2003
Bootstrapper Plug-In
• http://www.microsoft.com/downloads/details.aspx?FamilyId=627921A0D9E7-43D6-A293-72F9C370BD19&displaylang=en
32
© 2003-2004 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
33
Fly UP