Skip to main content

Cinque passaggi per ottenere la conformità delle applicazioni di Windows 7

In questo articolo:


Semplificazione del progetto di analisi e test delle applicazioni

Qual è il prossimo progetto? Il test e la preparazione delle applicazioni per Windows 7?  Nessun problema capo.  Ne abbiamo solo 950 da verificare…

Il livello di dettaglio con cui è stata realizzata la parte del progetto di migrazione relativa alla conformità delle applicazioni determinerà il grado di linearità dell'implementazione del sistema operativo, nonché il numero di problemi e chiamate al supporto tecnico che il team IT dovrà eventualmente gestire anche oltre il normale orario di lavoro.

Qualche anno fa, nel momento in cui le aziende iniziavano la valutazione di Windows Vista, la compatibilità delle applicazioni rappresentava il principale ostacolo allo sviluppo di tale processo.  In molti di questi casi le applicazioni cruciali su cui un'organizzazione si basava per l'attuazione delle funzioni aziendali principali non erano proprio disponibili per Windows Vista.  In altri casi le organizzazioni non disponevano del budget necessario o non avevano intenzione di acquistare in licenza la nuova versione progettata per Windows Vista.  In alcuni casi, infine, si trattava di applicazioni personalizzate o sviluppate internamente da sviluppatori non più reperibili o comunque non disponibili a riprogettare la base di codice.

Per chi desidera eseguire la migrazione a Windows 7, la situazione non presenta più le difficoltà di qualche anno fa, in quanto la maggior parte delle applicazioni progettate per Windows Vista® funzionerà senza problemi con Windows 7 e la gran parte degli ISV ha aggiornato le proprie applicazioni per l'utilizzo con questa nuova generazione del sistema operativo Windows. Pertanto, che si stia eseguendo la migrazione da Windows XP o da Windows Vista, le condizioni attuali non sono più sfavorevoli come in passato.

Ciò detto, la preparazione di un portfolio di applicazioni per la migrazione di un sistema operativo può comunque rivelarsi un'attività impegnativa; tuttavia, attenersi alla sequenza corretta di passaggi e compiere le scelte adeguate per limitare l'ambito di test consentirà di ridurne la gravosità.

Inizio pagina


Motivi che determinano l'interruzione delle applicazioni in Windows Vista e Windows 7

Quali sono quindi le modifiche apportate a Windows 7 (e Windows Vista) che compromettono il funzionamento delle applicazioni progettate per Windows XP? I team di ingegneri responsabili di Windows Vista e Windows 7 non hanno certamente preso alla leggera il problema. 

Le modifiche a Windows sono state apportate per migliorare la sicurezza, l'affidabilità, le prestazioni e l'usabilità, nonché per rimuovere, in alcuni casi, componenti legacy che hanno completato il ciclo di vita.  In questo articolo non vengono presentate in dettaglio tutte le modifiche introdotte, ma solo quelle più significative per la compatibilità delle applicazioni, incluse le seguenti:

Controllo dell'account utente/account utente standard.  Durante lo sviluppo di Windows Vista® il team di ingegneri ha deciso di consentire alla maggior parte delle organizzazioni di distribuire i propri utenti come utenti standard e di riservare i privilegi di amministratore agli utenti che ne hanno l'esigenza, ovvero i professionisti IT.  L'adozione del principio in passato detto dell'"account utente con privilegi minimi" per i PC client consente di evitare le intrusioni di malware, ridurre gli errori di configurazione degli utenti e impedire il caricamento di applicazioni non autorizzate nel computer.  In passato era possibile per un'applicazione scrivere le impostazioni del Registro di sistema, modificare il kernel ed eseguire altre azioni invasive analoghe.  Questo livello di libertà ha richiesto tuttavia un prezzo in termini di sicurezza. Windows limita ora i parametri del sistema operativo modificabili da un'applicazione, riducendo in tal modo l'impatto di malware, anche se le applicazioni scritte con questo comportamento dovranno essere modificate o corrette tramite shim per funzionare in Windows 7.

Sono interessate anche le applicazioni che eseguono i controlli delle versioni hardware per la versione del sistema operativo Windows XP. Mentre è accettabile che uno sviluppatore blocchi il supporto e le funzionalità per l'applicazione con la versione del sistema operativo utilizzata in origine dallo sviluppatore nella fase di test, si presume che gli utenti non tenteranno mai di installare tale applicazione in un sistema operativo più recente o di installare un Service Pack più recente nello stesso sistema operativo. Anche se si tratta di un aspetto relativamente facile da affrontare con modalità e correzioni per la compatibilità, il problema di manifesterà frequentemente in caso di migrazione da Windows XP a Windows 7.

Inizio pagina


Cinque passaggi per la gestione della conformità delle applicazioni con Windows 7

Come in tutte le attività particolarmente impegnative, gli ostacoli possono essere superati dedicando il tempo necessario per destrutturare il problema in attività logiche e gestibili. 

Un progetto di conformità delle applicazioni rientra nelle tre sezioni principali seguenti: raccolta, analisi e attenuazione dei problemi.  È tuttavia opportuno considerare un paio di passaggi aggiuntivi:  valutare le tecnologie di virtualizzazione disponibili prima di dare avvio al regime di test in modo da ottimizzare il processo di test ed eventualmente migliorare l'infrastruttura di desktop rendendo più gestibili le migrazioni future e definire la sequenza della fase di test al fine di allinearla alla strategia di implementazione.

Ecco i passaggi nel dettaglio.

Passaggio 1: eseguire un inventario delle applicazioni

Il primo passaggio consiste nel creare un inventario delle applicazioni per avere un quadro preciso della situazione. È probabile che in questo momento ci si renda conto della reale portata del problema.  Ancora più significativo è tuttavia l'aver trasformato in conosciuto ciò che prima era sconosciuto, trovandosi pertanto in una posizione più adatta per definire l'ambito del programma di test e compatibilità e comprendere le sfide da affrontare. 

Sono fortunatamente disponibili alcuni strumenti che consentono di automatizzare il processo. Questa funzionalità potrebbe essere incorporata nel software di gestione client. Diversamente sarà possibile utilizzare lo strumento Application Compatibility Toolkit disponibile per il download gratuito. Se si dispone già di un altro sistema di inventario, quale System Center Configuration Manager, Asset Inventory Service o un altro strumento, sarà possibile utilizzarlo come base di partenza. 

Per creare un inventario che sia più utile a valle del processo, è consigliabile acquisire più di un semplice elenco di applicazioni, in modo da disporre di maggiori dettagli sugli utenti che utilizzano un'applicazione, sui ruoli che questi ricoprono e sull'importanza che tale applicazione riveste per gli utenti.  Con queste informazioni sarà possibile classificare in ordine di priorità le applicazioni aziendali cruciali ed eliminare le applicazioni non utilizzate o ridondanti (ulteriori dettagli al riguardo verranno forniti nel passaggio successivo).

Si otterrà inoltre un vantaggio secondario, ovvero l'identificazione delle applicazioni ampiamente utilizzate e attualmente non gestite che potranno essere tenute sotto maggior controllo, in modo da garantire che vengano gestite correttamente, che consistano in versioni approvate e che dispongano degli aggiornamenti software necessari.

Passaggio 2: analizzare le applicazioni

Quante sono le applicazioni attualmente supportate che sono state sostituite o non riscuotono più il favore degli utenti aziendali?  Come per la maggior parte delle organizzazioni, è probabile che siano un numero abbastanza elevato e in alcuni casi rappresentino la maggior parte delle applicazioni.   Dopo aver effettuato la valutazione e aver compreso la situazione, il passaggio successivo consiste nell'eseguire lo scrubbing dell'elenco di applicazioni supportate e nel filtrare tale applicazioni prima di intraprendere il processo dei test di regressione, dispendioso in termini di tempo e risorse.

Definire gli obiettivi appropriati per il portfolio di applicazioni.  Quante applicazioni si desidera supportare in totale?  A quale punto un'applicazione passa allo stato "gestito"? 

Dopo aver definito gli obiettivi, sarà il momento di individuare le applicazioni da sottoporre a test e limitarne il numero all'essenziale.

  • Eliminare le applicazioni ridondanti e inutilizzate. Si scoprirà sicuramente di disporre di più applicazioni che svolgono la stessa funzione. Sarà quindi il momento opportuno per stabilire di utilizzare una sola applicazione standard per funzione ed eliminare le applicazioni obsolete. Un suggerimento in questo caso è provare a mappare le dipendenze dell'applicazione, in quanto potrebbe essere necessario supportare una versione legacy di un'applicazione per fare in modo che un'altra venga supportata dall'ISV. Rimuovere ovviamente quelle che non vengono mai o raramente utilizzate. Non solo i test verranno eseguiti con più facilità, ma si otterranno risparmi anche sui costi delle licenze.
  • Rimuovere le diverse versioni della stessa applicazione e rendere standard quella più aggiornata. In quasi tutti i casi la versione più recente risulterà la più efficiente, sicura e affidabile. Di nuovo, controllare le dipendenze tra le applicazioni.

Raccogliere informazioni dagli utenti aziendali per consentire la classificazione in ordine di priorità delle applicazioni cruciali per l'azienda e determinare i reparti che utilizzano determinate applicazioni.  Le informazioni raccolte potranno essere utilizzate durante la definizione della sequenza del processo di test, durante il quale si allineeranno i tempi delle attività di test all'implementazione in più fasi della nuova immagine del desktop.

Passaggio 3: valutare le incompatibilità e le opzioni di attenuazione dei problemi

La preparazione di alcune applicazioni per Windows comporterà indubbiamente lo svolgimento di qualche attività. A questo punto è possibile scegliere diverse opzioni:

  1. È possibile sostituire la versione non compatibile con una nuova versione. Si tratta certamente del metodo più affidabile, ma anche del più costoso. Se l'applicazione è cruciale o strategica per l'azienda, si sceglierà di intraprendere questa strada.
  2. Creare shim delle applicazioni esistenti. Gli shim sono piccole porzioni di codice inserite tra l'applicazione e Windows che consentono di modificare le chiamate al sistema operativo sottostante, ad esempio per indurre un'applicazione a ritenere che l'utente abbia eseguito l'accesso come amministratore. Questo approccio determinerà un certo sovraccarico in termini di gestione, in quanto sarà necessario gestire un database di shim, ma consentirà di risolvere molti problemi delle applicazioni. Si tratta del percorso più economico e può rappresentare l'unica opzione se il fornitore dell'applicazione non è più disponibile. Una sola avvertenza: molti fornitori non supporteranno le applicazioni corrette tramite shim.
  3. È possibile utilizzare Criteri di gruppo per modificare il comportamento dannoso dell'applicazione. Analogamente all'utilizzo di shim, ciò consentirà di risolvere il problema di compatibilità, determinando tuttavia alcuni svantaggi. Questo approccio utilizza essenzialmente i criteri per disabilitare una determinata funzionalità o funzione che causa l'instabilità dell'applicazione. In molti casi queste funzioni coinvolgono sfortunatamente la sicurezza del sistema sottostante, pertanto il compromesso raggiunto si rivela svantaggioso. In modo analogo, l'applicazione deve disporre delle impostazioni di Criteri di gruppo che consentono di abilitare tale gestibilità.

Per le applicazioni personalizzate o sviluppate internamente, è chiaramente possibile modificare il codice.  Non sempre questa strada è percorribile, ma nel caso lo sia, è possibile utilizzare Guida di riferimento dettagliata alla compatibilità delle applicazioni, ad esempio, in cui sono indicate le modifiche da Windows Vista a Windows 7 disponibile gratuitamente per consentire agli sviluppatori di riscrivere il codice di un'applicazione per garantire una compatibilità nativa.

Passaggio 4: preparare la distribuzione del sistema operativo e opzioni per la distribuzione di nuove applicazioni

L'avvio di un progetto di migrazione del sistema operativo rappresenta il momento ideale per ripensare al modo in cui i pacchetti delle applicazioni vengono creati e distribuiti agli utenti.  L'introduzione delle tecnologie di virtualizzazione ha reso disponibili opzioni non utilizzabili in precedenza per la migrazione degli ultimi sistemi operativi principali. Primi di iniziare il processo di test, è necessario considerare i diversi modelli per la distribuzione dell'immagine del desktop e delle applicazioni.  Si potrebbe scoprire che i risparmi ottenuti nel test e nella preparazione delle applicazioni compensano o addirittura superano i costi dell'implementazione di un ambiente virtualizzato, oltre a fornire un ambiente più flessibile e facile da gestire per sviluppi futuri.

Esistono due forme di virtualizzazione principali che consentono di risolvere i problemi di compatibilità delle applicazioni, ovvero virtualizzazione delle applicazioni e virtualizzazione del sistema operativo.  La virtualizzazione delle applicazioni determina la separazione del livello dell'applicazione dal sistema operativo, inclusi i file delle applicazioni e le impostazioni del Registro di sistema, e la creazione del pacchetto dell'applicazione per il flusso.  La virtualizzazione del sistema operativo è disponibile in più forme diverse, ma comporta fondamentalmente la creazione di un'immagine del sistema operativo indipendente dall'immagine nativa nel computer.

La virtualizzazione del portfolio delle applicazioni offre numerosi benefici in termini di gestibilità e flessibilità, ma il vantaggio principale consiste nella riduzione al minimo dei conflitti tra le applicazioni.  Questo tipo di conflitto si verifica ad esempio quando è necessario eseguire contemporaneamente due versioni della stessa applicazione, in genere in occasione di sessioni di formazione in cui si desidera confrontare il processo di esecuzione di un'attività specifica tra un'applicazione precedente e una nuova oppure durante la migrazione a una versione più recente del software di contabilità in cui il personale del reparto finanziario necessita dell'accesso alla versione precedente per la chiusura dell'anno fiscale.

Un utilizzo più generale della virtualizzazione per il superamento dei problemi di compatibilità delle applicazioni consiste nel creare un'immagine virtuale contenente un'applicazione cruciale e il sistema operativo in base al quale è stata progettata per l'esecuzione. Per attivare la virtualizzazione sono disponibili diversi strumenti, da Virtual PC e Windows XP Mode in Windows 7 Professional e SKU di versioni superiori (un'immagine virtuale non gestita che eseguirà le applicazioni progettate per Windows XP ma non compatibili con Windows 7) a Microsoft Enterprise Desktop Virtualization (MED-V), disponibile in Microsoft Desktop Optimization Pack (MDOP), che consente di eseguire con facilità il provisioning, la configurazione e la gestione di un computer virtuale tramite criteri per determinare la modalità di interazione degli ambienti fisico e virtuale con un altro ambiente.

L'adozione di un modello di elaborazione alternativo per i PC client rappresenta di per sé un'impresa, ma potrebbe essere l'occasione per valutare il peso dei benefici per l'organizzazione in termini di maggiore flessibilità e gestibilità rispetto all'impegno aggiuntivo richiesto per l'adozione di questo modello per il provisioning di PC.

Passaggio 5: definizione della sequenza di test, avvio del progetto pilota e distribuzione

Utilizzare la classificazione in ordine di priorità realizzata nel passaggio 2 per definire la sequenza delle attività di test, in modo da iniziare l'implementazione in più fasi ed eseguire in parallelo le attività di test successive.

Per l'avvio del processo di test è possibile utilizzare due approcci, ovvero l'analisi statica e dinamica. Mentre l'analisi statica è relativamente nuova, in un regime di test completo verranno utilizzati entrambi gli approcci. 

  • L'analisi statica prevede l'analisi della struttura dell'applicazione e l'identificazione dei problemi che indubbiamente sorgeranno, sia in fase di installazione che di esecuzione. Sono disponibili diversi strumenti e servizi che consentono di automatizzare questo processo e di evidenziare prontamente i problemi che si presenteranno.
  • L'analisi dinamica analizza il comportamento dell'applicazione in fase di esecuzione e corrisponde all'approccio tradizionale utilizzato nei test di regressione. In questa fase si esegue lo smoke test dell'applicazione nell'ambiente di utilizzo specifico, replicando l'esperienza di utenti diversi con i relativi componenti hardware, le altre applicazioni principali e i driver.
  • Si desidererà infine disporre di un piccolo gruppo di utenti effettivi che eseguirà le applicazioni per individuare i comportamenti inusuali non emersi nel test strutturato. In questo caso, la promessa di concedere l'utilizzo del nuovo PC a fronte della partecipazione al test può rappresentare una forte motivazione.

Quando si è pronti per iniziare l'implementazione nell'ambiente di produzione, identificare gli utenti per i quali è importante eseguire subito la migrazione, in base alle funzionalità specifiche richieste o per ridurre al minimo le interruzioni delle attività aziendali.  La migrazione di un gruppo di utenti esperti risulterà più facile rispetto alla gestione delle chiamate al supporto tecnico effettuate dagli utenti meno esperti indecisi sul da farsi di fronte a schermate non familiari. Identificare quindi le applicazioni necessarie a questi gruppi per eseguire le relative attività. Iniziare con i gruppi minimamente o per nulla interessati dalla compatibilità delle applicazioni in base alle applicazioni utilizzate. In questo modo sarà possibile convalidare il processo di distribuzione e il sistema operativo. Man mano che si procede nell'analisi del portfolio di applicazioni e un numero sempre maggiore di gruppi viene svincolato da applicazioni non compatibili, spostare l'obiettivo su tali gruppi.

Un suggerimento finale: evitare di estendere troppo il processo.  Se si lascia che l'ambito scivoli progressivamente dalla compatibilità delle applicazioni a un progetto per la qualità totale delle applicazioni, si potrebbe non finire mai.  Accettare l'obiettivo di correggere gli errori che impediscono lo svolgimento del lavoro evitando la tentazione di eliminare ogni errore esistente.

Inizio pagina


Altre risorse

La preparazione del portfolio di applicazioni per la migrazione a Windows 7 è un'attività particolarmente impegnativa, ma sono fortunatamente disponibili diversi strumenti e numerose informazioni che rendono il processo più lineare e gestibile.  In questo articolo è stata fornita una panoramica, ma se si ritiene di essere pronti per l'implementazione del processo, procedere al passaggio successivo visitando la pagina sulle attività principali relative alla Compatibilità delle applicazioni client Windows su TechNet, scaricare lo strumento Application Compatibility Toolkit e iniziare a creare il piano del progetto.

Nel blog di Chris Jackson nel white paper relativo alla compatibilità delle applicazioni di Windows 7 che fa riferimento agli articoli Understanding Application Compatibility (in lingua inglese) e Informazioni sulla compatibilità delle applicazioni nel proprio ambiente.  Per ulteriori informazioni sulle tecnologie di virtualizzazione illustrate in precedenza, vedere l' area delle risorse di MDOP.

Per ulteriori informazioni, guide e connessioni alle community di Windows 7 o altre tecnologie client Windows, visitare il Windows 7 TechCenter.

Inizio pagina

Risorse correlate

Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di. Se si sceglie di partecipare, quando si lascia il sito Web di verrà visualizzato il sondaggio in linea.

Si desidera partecipare?