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