Condividi tramite


Introduzione alla distribuzione Web

di Harsh Mittal

Che cos'è Web Deploy?

Web Deploy è uno strumento estendibile client-server per la sincronizzazione del contenuto e della configurazione su IIS. Web Deploy viene usato principalmente in due scenari:

  1. Gli sviluppatori lo usano per sincronizzare (ovvero "pubblica") applicazioni Web compilate (ASP .Net, PHP e così via) dagli strumenti di sviluppo (Visual Studio, WebMatrix e così via) a IIS
  2. I professionisti IT lo usano per eseguire la migrazione di siti Web e applicazioni da un sistema operativo che esegue una versione precedente di IIS, ad esempio IIS6, a un sistema operativo che esegue una versione più recente di IIS, ad esempio IIS 7.5.

Diagramma che mostra il percorso da Origine a Destinazione. Tra questi punti sono siti Web, database e configurazione.

In che modo la Distribuzione Web si confronta con FTP?

Distribuzione Web viene spesso confrontata con tecnologie come FTP, XCOPY o RoboCopy. Sebbene queste tecnologie siano utili, Web Deploy offre diversi vantaggi.

Di seguito è riportato un confronto tra Web Deploy e FTP:

  1. Distribuzione Web è più veloce rispetto a FTP. Web Deploy non emette un comando diverso per ogni operazione. Esegue invece un confronto all'inizio della sincronizzazione e trasferisce solo le modifiche.
  2. La Web Deploy è sicura. Web Deploy supporta il trasferimento tramite HTTPS. Si noti che anche le varianti di FTP, ad esempio SFTP e FTPS, sono sicure.
  3. Distribuzione Web può impostare descrittori di sicurezza (ACL) nei file e nelle directory di destinazione. Ad esempio, è possibile usare Distribuzione Web per concedere a un utente windows l'accesso specifico alla cartella "Download" dell'applicazione durante la distribuzione.
  4. Web Deploy può pubblicare database. Web Deploy include il supporto out-of-box per lo scripting di SQL Server, MySQL Server, Sqlite e SQL Server Compact e l'applicazione dello script durante la sincronizzazione. Questo può essere molto utile se un'app necessita di un database per funzionare.
  5. Web Deploy può applicare trasformazioni durante la distribuzione. È possibile usare Distribuzione Web per modificare una stringa di connessione o un'impostazione dell'applicazione durante una sincronizzazione. Distribuzione Web supporta un'ampia gamma di trasformazioni, inclusa la trasformazione delle impostazioni iis.
  6. Distribuzione Web si integra con Visual Studio 2010 e WebMatrix.
  7. Web Deploy è estensibile. Distribuzione Web offre un modello di estendibilità avanzato e accessibile pubblicamente che consente di creare nuovi scenari.

Come funziona?

Diagramma che mostra il percorso da Origine a Destinazione per Amministratore e un altro percorso per Admin e Non Admin.

La maggior parte delle operazioni di distribuzione Web viene modellata in base all'operazione di sincronizzazione tra un'origine e una destinazione. L'operazione di sincronizzazione viene orchestrata dal framework distribuzione Web usando uno o più provider di distribuzione Web, come descritto di seguito.

Struttura

Web Deploy è costituito da un framework che gestisce lo stato di connessione e orchestra la sincronizzazione tra origine e destinazione. Ad esempio, il framework è responsabile della sincronizzazione di determinati tipi di contenuto, dell'esecuzione di regole e della trasformazione dei file.

Il framework è accessibile tramite un'API pubblica e tramite un eseguibile della riga di comando ,msdeploy.exe.

Providers

Web Deploy può sincronizzare qualsiasi tipo di dati tra due posizioni utilizzando i provider predefiniti collegati al framework. I provider sanno come sincronizzare un particolare tipo di dati tra due origini o recuperare informazioni utili sull'origine dati.

Ad esempio, Distribuzione Web ha un provider che funziona con i database SQL (dbFullSql) in grado di sincronizzare un intero database di SQL Server in un altro server. Altri provider predefiniti sincronizzano i database MySQL (dbMySql), la configurazione di IIS 7 (appHostConfig), gli assembly GAC (gacAssembly) o gli oggetti COM (comObject32/comObject64). Un elenco più completo è disponibile in TechNet.

Il modello di provider è estendibile e consente agli sviluppatori di scrivere i propri provider per Distribuzione Web se devono sincronizzare i dati personalizzati.

Sotto il cofano

Quando un'origine avvia un'azione tramite Distribuzione Web, Web Deploy Framework stabilisce una connessione con la destinazione. Distribuzione Web supporta due endpoint di connessione e quello usato dipende da diversi fattori:

Diagramma che mostra un albero delle decisioni per una destinazione I S 7.

  • Se la destinazione è Windows Server 2003 che esegue IIS6, è possibile connettersi al relativo servizio agente di distribuzione Web (noto anche come endpoint del servizio agente remoto). Il servizio Agente remoto garantisce la sicurezza per questa connessione ed è accessibile solo agli utenti amministratori.
  • Se la destinazione è Windows Server 2008 che esegue IIS7 o Windows Server 2008 R2 che esegue IIS7.5 E ci si connette con credenziali non di amministratore, è necessario connettersi all'endpoint del servizio di gestione Web. Distribuzione Web installa un gestore nel servizio di gestione Web, che consente agli utenti non amministratori di eseguire la distribuzione dopo l'autenticazione e l'autorizzazione con il servizio di gestione Web.
  • Se la destinazione è Windows Server 2008 che esegue IIS7 o Windows Server 2008 R2 che esegue IIS7.5 E ci si connette con credenziali di amministratore, è possibile connettersi a entrambi gli endpoint.

Per altre informazioni

Ti invitiamo a visitare le esercitazioni dettagliate su iis.net e la documentazione TechNet.