1 smart client distribuzione e aggiornamento fabio santini

33
1 Smart Client distribuzione e aggiornamento Fabio Santini

Upload: silvana-furlan

Post on 01-May-2015

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Smart Client distribuzione e aggiornamento Fabio Santini

1

Smart Clientdistribuzione e aggiornamento

Fabio Santini

Page 2: 1 Smart Client distribuzione e aggiornamento Fabio Santini

2

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

Page 3: 1 Smart Client distribuzione e aggiornamento Fabio Santini

3

#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

Page 4: 1 Smart Client distribuzione e aggiornamento Fabio Santini

4

#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

Page 5: 1 Smart Client distribuzione e aggiornamento Fabio Santini

5

#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

Page 6: 1 Smart Client distribuzione e aggiornamento Fabio Santini

6

Scegliere la modalità di distribuzione

• Esecuzione da Web

• Download del codice

• File di configurazione

• MSI (Microsoft Installer)

• Installare .NET Framework

Page 7: 1 Smart Client distribuzione e aggiornamento Fabio Santini

7

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)

Page 8: 1 Smart Client distribuzione e aggiornamento Fabio Santini

8

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

Page 9: 1 Smart Client distribuzione e aggiornamento Fabio Santini

9

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)

Page 10: 1 Smart Client distribuzione e aggiornamento Fabio Santini

10

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)

Page 11: 1 Smart Client distribuzione e aggiornamento Fabio Santini

11

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

Page 12: 1 Smart Client distribuzione e aggiornamento Fabio Santini

12

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

Page 13: 1 Smart Client distribuzione e aggiornamento Fabio Santini

13

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

Page 14: 1 Smart Client distribuzione e aggiornamento Fabio Santini

14

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

Page 15: 1 Smart Client distribuzione e aggiornamento Fabio Santini

15

Installazione con MSI

Page 16: 1 Smart Client distribuzione e aggiornamento Fabio Santini

16

Quale scelgo ?

Run From Web Code Download MSI/Client

Reach Basso impatto sul sistema Moduli dinamici Auto-Deployment Auto-Update Installazione e esecuzione per utente Migliore User Experience Migliori prestazioni Modalità Offline Integrazione con la Windows Shell Miglior accesso alle risorse locali Installazione senza restrizioni

Page 17: 1 Smart Client distribuzione e aggiornamento Fabio Santini

17

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/en-us/dnnetdep/html

/redistdeploy1_1.asp– Progetto di esempio da MSDN®

• http://www.microsoft.com/downloads/details.aspx?FamilyId=BF253CFD-1EFC-4FC5-BA7E-6A6F21403495

– Microsoft Visual Studio .NET 2003 Bootstrapper Plug-In

• http://www.microsoft.com/downloads/details.aspx?FamilyId=627921A0-D9E7-43D6-A293-72F9C370BD19&displaylang=en

Page 18: 1 Smart Client distribuzione e aggiornamento Fabio Santini

18

Scegliere la modalità di aggiornamento

• Inviare un dischetto

• Aggiornamento automatico

• Application Updater

Page 19: 1 Smart Client distribuzione e aggiornamento Fabio Santini

19

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

Page 20: 1 Smart Client distribuzione e aggiornamento Fabio Santini

20

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/update

r.asp

Page 21: 1 Smart Client distribuzione e aggiornamento Fabio Santini

21

Page 22: 1 Smart Client distribuzione e aggiornamento Fabio Santini

22

Page 23: 1 Smart Client distribuzione e aggiornamento Fabio Santini

23

Page 24: 1 Smart Client distribuzione e aggiornamento Fabio Santini

24

Page 25: 1 Smart Client distribuzione e aggiornamento Fabio Santini

25

Page 26: 1 Smart Client distribuzione e aggiornamento Fabio Santini

26

Page 27: 1 Smart Client distribuzione e aggiornamento Fabio Santini

27

Page 28: 1 Smart Client distribuzione e aggiornamento Fabio Santini

28

Page 29: 1 Smart Client distribuzione e aggiornamento Fabio Santini

29

Page 30: 1 Smart Client distribuzione e aggiornamento Fabio Santini

30

Application Updater Block from Patterns & Practices

Page 31: 1 Smart Client distribuzione e aggiornamento Fabio Santini

31

Click Once

Esegue da web Code Download MSI/Client ClickOnce

Reach Basso impatto sul sistema Moduli dinamici Auto-Deployment Auto-Update Installazione e esecuzione per utente Migliore User Experience Migliori prestazioni Modalità Offline Integrazione con la Windows Shell Miglior accesso alle risorse locali Installazione senza restrizioni

Page 32: 1 Smart Client distribuzione e aggiornamento Fabio Santini

32

Risorse

• Overview su Deploying e Distributinghttp://msdn.microsoft.com/vbasic/using/deploying/

• Patterns & Practiceshttp://www.microsoft.com/resources/practices/patterns.mspx

• .NET Framework 1.1 guida al deployment msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetdep/html/dotnetframedepguid1_1.asp?_r=1

• Microsoft Visual Studio .NET 2003 Bootstrapper Plug-In

• http://www.microsoft.com/downloads/details.aspx?FamilyId=627921A0-D9E7-43D6-A293-72F9C370BD19&displaylang=en

Page 33: 1 Smart Client distribuzione e aggiornamento Fabio Santini

33

© 2003-2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.