Introduzione a Windows Server AppFabric
Windows Server AppFabric estende Windows Server per fornire capacità avanzate di hosting, di gestione e di memorizzazione nella cache per applicazioni Web e servizi di livello intermedio. Le funzionalità di hosting di AppFabric aggiungono estensioni di gestione dei servizi a Internet Information Services (IIS), al servizio Attivazione processo (WAS, Windows Process Activation Service) e a .NET Framework 4. Sono inclusi gli strumenti Servizi di hosting e Amministrazione hosting che semplificano la distribuzione, la configurazione e la gestione dei servizi basati su Windows Communication Foundation (WCF) e Windows Workflow Foundation (WF). Le funzionalità di memorizzazione nella cache di AppFabric aggiungono una cache oggetti distribuita in memoria a Windows Server per semplificare la scalabilità orizzontale delle applicazioni .NET ad alte prestazioni, in particolare di applicazioni ASP.NET.
I servizi e le architetture orientate ai servizi vengono attualmente incorporati in molti tipi di applicazioni, dalla semplice esposizione di alcune funzionalità come servizio per altri utenti a un'applicazione che rappresenta una coordinazione complessa tra molti servizi. La necessità di creare applicazioni che possano facilmente partecipare ed essere eseguite in questi servizi non è mai stata così grande. Le applicazioni moderne sono in genere costituite da un componente transazionale basato sui dati (come nel caso in cui si ricevono ordini in un sito Web) insieme a una logica di business altamente distribuita che gestisce queste transazioni attraverso un livello intermedio.
Spesso la distribuzione, la gestione e il monitoraggio dei servizi di livello intermedio possono rappresentare un processo oneroso in termini di risorse che richiede agli sviluppatori di creare un'infrastruttura di hosting e di dedicare tempo alla creazione di soluzioni di distribuzione personalizzate per le applicazioni. Anche dopo la distribuzione dell'applicazione, agli sviluppatori viene spesso richiesto di gestirla apportando modifiche manuali ai file di configurazione. AppFabric può essere di aiuto a ridurre questo compito oneroso semplificando la distribuzione dei servizi, fornendo una soluzione di monitoraggio personalizzabile e un potente set di strumenti di gestione, elementi a cui è possibile accedere direttamente attraverso la console di gestione di IIS o i cui script possono essere creati mediante i moduli di AppFabric per Windows PowerShell.
Agli sviluppatori vengono inoltre spesso assegnate attività con requisiti per la fornitura di applicazioni altamente efficienti e scalabili. Ciò è valido non solo per i servizi di livello intermedio, ma anche per applicazioni Web, di dispositivi mobili e desktop. Con l'aumento delle richieste relative alle applicazioni (ad esempio nel caso in cui un sito Web diventa popolare o altri gruppi iniziano a utilizzare un servizio condiviso), l'oneroso accesso ai dati può spesso presentare serie limitazioni alle prestazioni e alla scalabilità delle applicazioni. Nonostante la memorizzazione nella cache sia una soluzione ben nota nel mondo dei database, è sempre più ampiamente riconosciuta anche come componente fondamentale nella fornitura di applicazioni Web dalle alte prestazioni e di servizi compositi. In entrambi i casi è possibile utilizzare i Servizi di cache di AppFabric per migliorare le prestazioni e la scalabilità delle applicazioni .NET che utilizzano una grande quantità di dati e dei servizi. I Servizi di cache di AppFabric forniscono una cache in memoria, distribuita e altamente disponibile che può essere ridimensionata in modo semplice (scale-out/scale-in) indipendentemente dall'applicazione o dai livelli di dati. Con un'API .NET e l'integrazione più completa con ASP.NET e PowerShell, i Servizi di cache di AppFabric garantiscono che sia possibile introdurre la memorizzazione nella cache nelle soluzioni con interruzioni minime di codice e un'esperienza di gestione coerente.
Nelle sezioni riportate di seguito vengono esaminati alcuni di questi problemi relativi all'hosting dei servizi di livello intermedio e alla scalabilità delle applicazioni Web e vengono descritte le soluzioni fornite da AppFabric.
Per ulteriori informazioni su AppFabric, vedere Windows Server Developer Center (https://go.microsoft.com/fwlink/?LinkId=182970).
Servizi di hosting
Problema
La configurazione di un ambiente di hosting per un'applicazione che includa servizi basati su WCF e WF può essere complessa e può richiedere tempo. Mentre IIS o WAS fornisce un potente ambiente di hosting per tali applicazioni, trarre vantaggio dalle funzionalità corrispondenti può richiedere un notevole impegno di sviluppo, soluzioni di distribuzione personalizzate e procedure di configurazione manuali. Dopo la distribuzione e la configurazione di una soluzione, la gestione dei servizi può essere un problema.
Soluzione
I Servizi di hosting di AppFabric consentono il semplice funzionamento e l'esecuzione dei servizi basati su WCF e WF. È possibile trarre vantaggio dalle capacità di hosting di AppFabric senza sviluppare ulteriori funzionalità di hosting. I Servizi di hosting estendono le capacità di hosting di WAS fornendo una configurazione predefinita dell'ambiente di hosting di WAS. I Servizi di hosting includono funzionalità fornite dal servizio Gestione flussi di lavoro, comprese blocco e ripetizione, avvio automatico, timer durevoli e accodamento comandi.
L'Amministrazione hosting di AppFabric fornisce strumenti per gestire le istanze dei flussi di lavoro in esecuzione in modo molto più semplice, con capacità di controllo, monitoraggio e l'esecuzione di query. È anche possibile configurare WAS e le applicazioni ospitate in WAS in modo standard. Gli strumenti di Amministrazione hosting consentono di configurare l'indirizzo degli endpoint del servizio, di gestire l'attivazione dell'avvio automatico e di configurare le impostazioni di protezione e delle prestazioni.
Per ulteriori informazioni sulle funzionalità di hosting di AppFabric, vedere Concetti di hosting.
Piattaforma della cache in memoria di AppFabric
Problema
L'utilizzo di una cache in memoria per memorizzare i dati delle applicazioni utilizzati con maggior frequenza è un metodo da tempo utilizzato per migliorare le prestazioni delle applicazioni. La lettura e la scrittura nella memoria sono molto più rapide della lettura e della scrittura su disco. Tuttavia la dimensione della cache in memoria è in genere limitata dalla quantità di memoria disponibile nel computer in cui è in esecuzione l'applicazione e i dati archiviati in una cache in memoria sono soggetti alla perdita totale dovuta alla volatilità insita della memoria del computer. Lo sviluppo delle applicazioni che possono utilizzare in modo completo una cache in memoria è ulteriormente limitato dalla mancanza di un'API per l'archiviazione e il recupero degli oggetti in una cache di memoria. Lo sviluppo delle applicazioni che utilizzano la memorizzazione nella cache può anche essere ostacolato dalla mancanza della funzionalità di gestione della cache.
Soluzione
Le funzionalità di memorizzazione nella cache di AppFabric possono essere di aiuto nella scalabilità delle applicazioni .NET in modo facile ed economico consentendo all'utente di combinare la capacità di memoria di più computer in un unico cluster della cache. Queste funzionalità comprendono gli strumenti Servizi di cache, Client cache e Amministrazione cache. I Servizi di cache di AppFabric sono altamente scalabili e consentono la configurazione di molti computer come nodi di un cluster di cache disponibile come singola cache di memoria unificata. I Servizi di cache forniscono una funzionalità ad alta disponibilità che supporta la continua disponibilità dei dati memorizzati nella cache archiviando le copie di tali dati in host della cache separati. Quando viene abilitata l'elevata disponibilità in un cluster multiserver, l'applicazione è ancora in grado di recuperare i dati memorizzati nella cache se il server della cache non lo consente.
I Servizi di cache forniscono una serie completa di API con documentazione completa per l'integrazione dell'utilizzo di una cache in memoria con l'applicazione basata su .NET. Inoltre esiste un'integrazione completa con ASP.NET per l'archiviazione dello stato della sessione nella cache. Ciò può fornire ai siti ASP.NET un percorso economicamente vantaggioso per migliorare rapidamente le prestazioni e la scalabilità dei siti. Amministrazione cache di AppFabric fornisce una serie completa di strumenti di amministrazione per la creazione, la configurazione e la gestione delle cache in memoria. Le funzionalità di memorizzazione nella cache e di hosting di AppFabric sono entrambe incluse in un pacchetto di installazione integrato.
Per ulteriori informazioni, vedere Funzionalità di memorizzazione nella cache di Windows Server AppFabric.
Flussi di lavoro permanenti
Problema
Può essere difficile ottenere la completa operatività dei servizi di Windows Workflow Foundation con stato e di lunga durata. Per configurare il salvataggio permanente per garantire che i flussi di lavoro siano duraturi, potrebbe essere necessario creare un archivio di salvataggio permanente, creare uno schema, impostare un database di salvataggio permanente e configurarlo. Nell'ambiente di produzione potrebbe essere disponibile un database che contiene istanze dei flussi di lavoro duraturi di cui è stata effettuata la chiamata. Alcune di queste istanze del flusso di lavoro potrebbero essere sospese, altre potrebbero essere in esecuzione. Può essere difficile comprendere cosa accade nel sistema.
Soluzione
Con AppFabric il salvataggio permanente funziona immediatamente. I Servizi di hosting di AppFabric utilizzano l'archivio di salvataggio permanente SQL disponibile con .NET Framework 4 e creano un database di salvataggio permanente predefinito che le applicazioni possono utilizzare e che consente la scalabilità dei servizi con stato in una serie di computer. È possibile utilizzare un archivio di salvataggio permanente personalizzato. Amministrazione hosting di AppFabric fornisce inoltre gli strumenti necessari per controllare l'attività del database di salvataggio permanente o con i flussi di lavoro di lunga durata.
Per ulteriori informazioni sulle funzionalità di salvataggio permanente di AppFabric, vedere Concetti di salvataggio permanente.
Servizi di monitoraggio
Problema
Con le applicazioni basate su WCF e WF non è sempre possibile verificare ciò che accade con i servizi e le istanze del flusso di lavoro. Se sono disponibili servizi e flussi di lavoro in più computer, da dove vengono attivati? Quanti di essi vengono attivati? Qual è lo stato corrispondente? Si verificano errori?
Soluzione
I Servizi di hosting e Amministrazione hosting di AppFabric consentono di eseguire il monitoraggio dello stato e la risoluzione dei problemi dei servizi WCF e WF in esecuzione e di controllare tali servizi. Queste operazioni vengono effettuate nella pagina Dashboard AppFabric di Gestione IIS. Dashboard AppFabric consente di essere sempre a conoscenza dello stato del sistema. Il monitoraggio di dati può consentire un controllo maggiore delle istanze del flusso di lavoro. È anche possibile modificare le query che generano i dati e selezionare un livello di monitoraggio che consenta di raccogliere dati sufficienti da monitorare lo stato delle applicazioni pur mantenendo i costi delle prestazioni del monitoraggio delle applicazioni a un livello appropriato. Il monitoraggio di AppFabric è basato sulle capacità di rilevamento fornite in .NET Framework.
Gli eventi vengono archiviati in un database di monitoraggio accessibile attraverso lo strumento Amministrazione hosting. Un partecipante di rilevamento scrive gli eventi in una sessione di Traccia eventi per Windows e il servizio Raccolta eventi installato con le funzionalità di hosting di AppFabric legge gli eventi dalla sessione di Traccia eventi per Windows, fornendo un'elaborazione dei dati dalle prestazioni elevate. Quando si installano le funzionalità di hosting di AppFabric, il programma di installazione imposta un'infrastruttura di monitoraggio configurabile progettata per essere utilizzata nell'ambiente di produzione. È possibile utilizzare l'archivio di monitoraggio SQL disponibile con .NET Framework 4 o un archivio personalizzato. È possibile configurare AppFabric per ripulire automaticamente il database di monitoraggio.
Per ulteriori informazioni sulle funzionalità di monitoraggio di AppFabric, vedere Concetti di monitoraggio.
Strumenti di gestione
Problema
Gli esperti IT e gli sviluppatori necessitano di strumenti potenti e di facile utilizzo per gestire servizi basati su WCF o WF in un ambiente di produzione. Per gestire un'applicazione, potrebbe essere necessario utilizzare numerosi strumenti e modificare manualmente i file di configurazione. La visibilità dei dati sui servizi e il controllo sulla configurazione potrebbero non essere possibili. Può essere difficile determinare come impostare la configurazione di un'applicazione, perché potrebbe essere necessario accedere a più file di configurazione, mediante Editor configurazione servizi per aprirli e modificare gli elementi di configurazione corrispondenti.
Soluzione
Le funzionalità di hosting di AppFabric forniscono una ricca serie di estensioni a Gestione IIS per la gestione dei servizi. Dashboard AppFabric fornisce la visibilità dello stato di un sistema e l'interfaccia utente di configurazione unificata consente il controllo sulla configurazione del servizio. Quando necessario, è possibile riprendere, sospendere, annullare o terminare le istanze del flusso di lavoro permanenti e avviare o interrompere i servizi. Dato che l'interfaccia utente si basa sulla Gestione IIS, è possibile avere un'esperienza di amministrazione e strumenti simili per i servizi basati su WCF e WF e per le applicazioni Web. È possibile eseguire molte attività di gestione delle applicazioni in Gestione IIS, invece di passare da uno strumento all'altro o di modificare manualmente i file di configurazione.
Nell'estensione di AppFabric a Gestione IIS, è semplice enumerare i servizi in un server ed è possibile modificare facilmente le query per regolare i dati. È possibile verificare quante istanze del flusso di lavoro sono in uno stato di esecuzione o meno. È possibile visualizzare istanze del flusso di lavoro permanenti o rilevare istanze del flusso di lavoro.
In Gestione IIS è possibile verificare la configurazione per un servizio in un'unica finestra di dialogo. In tale finestra di dialogo è possibile impostare la configurazione per un servizio e le impostazioni di configurazione predefinite per un'applicazione, sito Web o server, che possono essere ereditate da un servizio. I Servizi di hosting di AppFabric utilizzano la capacità di unione del comportamento di .NET Framework 4, che consente a un servizio di ereditare le proprietà di configurazione da qualsiasi livello della gerarchia di IIS. In molti scenari di configurazione i Servizi di hosting consentono di creare impostazioni di configurazione nel file Web.config appropriato senza la necessità di accedere direttamente a tale file.
Gli strumenti di Amministrazione hosting includono i cmdlet di Windows PowerShell che consentono di gestire le applicazioni dalla console di PowerShell o tramite script che permettono di effettuare la configurazione in modo automatico. Questi moduli di PowerShell comprendono il modulo ApplicationServer per i Servizi di hosting di AppFabric e i moduli DistributedCacheAdministration e DistributedCacheConfiguration per i Servizi di cache di AppFabric.
AppFabric include un'installazione guidata per installare le funzionalità di hosting e di memorizzazione nella cache di AppFabric e una configurazione guidata per configurare tali funzionalità. È anche possibile installare AppFabric mediante WebPI.
Per ulteriori informazioni sugli strumenti di gestione di AppFabric, vedere Strumenti di gestione.
Servizi di sviluppo
Problema
Nel caso di un nuovo prodotto, è spesso necessario apprendere nuove modalità per sviluppare l'applicazione in uso in modo da trarre il massimo vantaggio dalle nuove funzionalità o effettuare l'integrazione con il prodotto.
Soluzione
Con i Servizi di hosting di AppFabric non esistono requisiti speciali per la creazione di un'applicazione oltre all'assicurazione che l'applicazione può essere ospitata nell'ambiente di hosting IIS o WAS mediante il servizio Attivazione processo Windows (WAS). I modelli di progetto predefiniti in Visual Studio® (Applicazione servizio WCF e Applicazione servizio flusso di lavoro WCF) supportano IIS o WAS e vengono gestiti da AppFabric senza richiedere alcuna modifica. Se si dispone di applicazioni ospitate attualmente in WAS, è possibile distribuirle in AppFabric senza modifiche.
Per ulteriori informazioni sullo sviluppo di un'applicazione da utilizzare in AppFabric, vedere Sviluppo di un'applicazione.
Servizi di distribuzione
Problema
Può essere difficile distribuire un servizio da un server a un altro o distribuirlo in più server utilizzando una configurazione identica.
Soluzione
I Servizi di hosting di AppFabric utilizzano lo strumento di distribuzione Web Microsoft per distribuire i servizi nell'ambiente di hosting corrispondente. Questo strumento è integrato con gli ambienti IIS e Visual Studio, per poter creare pacchetti e distribuire in modo semplice i servizi direttamente da Visual Studio o distribuire applicazioni già disponibili in pacchetti direttamente da Gestione IIS.
Per ulteriori informazioni sulla distribuzione di un'applicazione in AppFabric, vedere Distribuzioni tipiche e Distribuzione di un'applicazione.
Servizi di hosting ed estendibilità dell'amministrazione
Problema
Alcune soluzioni già disponibili in pacchetti possono essere difficili da creare.
Soluzione
Le funzionalità di hosting di AppFabric forniscono punti di estendibilità per creare soluzioni personalizzate. È possibile aggiungere un modulo a Gestione IIS ed è possibile creare strumenti dell'interfaccia utente personali in corrispondenza dei cmdlet di Amministrazione hosting di AppFabric. È possibile fornire un'interfaccia utente personalizzata per l'utente di destinazione dell'applicazione. È possibile creare cmdlet personali o utilizzare il piping per combinare i cmdlet di AppFabric in base alle esigenze. I punti di estendibilità sono inoltre disponibili nelle capacità di monitoraggio e di salvataggio permanente dei Servizi di hosting. È possibile utilizzare un archivio di monitoraggio o un archivio salvataggi permanenti personalizzato.
Per ulteriori informazioni sull'estendibilità di AppFabric, vedere Estendibilità di AppFabric.
2011-12-05