260 likes | 1k Views
ES15. Deploying Web Applications With IIS 7.0 And The Web Deployment Tool . Saad Ladki Program Manager Microsoft Corporation. Agenda. Challenges Deploying Web Applications Web Deployment Tool Overview Under the Hood Shared Hosting Server-Side Infrastructure Peak into the Future.
E N D
ES15 Deploying Web Applications With IIS 7.0 And The Web Deployment Tool Saad Ladki Program Manager Microsoft Corporation
Agenda • Challenges Deploying Web Applications • Web Deployment Tool Overview • Under the Hood • Shared Hosting • Server-Side Infrastructure • Peak into the Future
Challenges Deploying Web Applications How do I… • Package my application for others to easily install it? • Seamlessly deploy a database alongside my web application? • Transform configuration between development and production? • Backup instances of my application?
demo Installing a Web Application using IIS Manager Saad Ladki Program Manager Microsoft Corporation
Web Deployment Tool Overview • Deploy applications seamlessly from IIS Manager, VS10 and PowerShell • Synchronize Web servers, sites or applications • Package a web application • Built on top of a powerful, flexible framework with a provider-based model
demo Packaging a Web Application using IIS Manager Saad Ladki Program Manager Microsoft Corporation
Under The Hood Understand how to actually get the job done Control and instruct Web Deployment Engine IISAPP PROVIDER PROVIDER SQL DB PROVIDER CONTENT PROVIDER Have a set of common interfaces PROVIDER GetMetadata() GetChildObjects() Add() Modify() Delete()
Under The Hood Package Manifest Web Deployment Engine Manifest Provider Package Provider IISApp Provider ContentPath Provider SQL Server Provider Add() GetMetadata() Modify() Delete() ApplicationHost.config SQL Server Database Site Content
Web Deployment API Creating a package… • using Microsoft.Web.Deployment; • string packageFile = @"c:\mysite.zip"; • using(DeploymentObjectsiteObject = • DeploymentManager.CreateObject( • DeploymentProvider.IisApp, “My Site”)) • { • siteObject.SyncToPackage(packageFile,syncOptions); • }
Web Deployment API Installing a package… • using Microsoft.Web.Deployment; • string packageFile = @"c:\mysite.zip"; • using (DeploymentObject package = • DeploymentManager.CreateObject( DeploymentProvider.Package, packageFile)) • { • package.SyncToAuto(syncOptions); • }
demo Web Deployment API Saad Ladki Program Manager Microsoft Corporation
partner DiscountASP.NET Takeshi Eto VP Business Development Aristotle de la Cruz Developer
DiscountASP.NET • Microsoft Windows shared hosting provider, specializing in ASP.net and SQL hosting • Early adopter of new Microsoft Technologies • Focus on Innovation • Windows 2008 Hosting • IIS 7.0 Manager UI Extensions • URL Rewrite, DBManager • DiscountASP.NET IIS 7.0 Manager UI Extensions • web.config backup/restore tool • New FTP Management Tools • FTP Stop/Start, FTP IP whitelist/IP blacklist
DiscountASP.NET Free Web Deployment Tool Sandbox Account Open Beta - Limited Availability - First 2000 50 mb disk space + 50 mb SQL 2008 database Use the Web Deployment Tool to create and deploy packages No FTP Program End Date: March 2009 http://labs.discountasp.net
demo Deploying a Web Application to DiscountASP.NET Saad Ladki Program Manager Microsoft Corporation
Server-Side InfrastructureScenarios • Developers can: • Deploy applications to the server without needing administrative access • Administrators can: • Create granular rules to control what could be deployed to the server • Delegate tasks to non-administrators
Server-Side InfrastructureComponents IIS7 Web Management Service Internet Web Management Agent Web Deployment Agent Deployment request is sent to the IIS 7.0 server. Web Management Service forwards the request to the Web Deployment Agent. Web Deployment Agent validates user credentials against the Deployment Authorization Store. Authorization Store Developer
Server Authorization Allowing a non-admin to install a package • <delegation> • <authorization allowAdministrators="true" > • <rule providers="CreateApp" • actions="*" • path="{userScope}" • pathType=“PathPrefix"> • <permissions> • <user name="pdcuser" accessType="Allow" /> • </permissions> • <runAsidentityType="SpecificUser" • userName="configuser" • password="[enc]" /> • </rule> • </authorization> • </delegation>
Visual Studio 10 Integration • Maintain different web.config settings between dev and production environments • One-click web packaging and deployment • IIS Settings • Web Content • Databases • Support for MS Build and Team Build environments • Built-in extensibility that allows future providers to plug-in
demo Creating a Web Application using Visual Studio 10 Saad Ladki Program Manager Microsoft Corporation
Future of Web Deployment • Web Farm Framework • Seamless deployment to on-premises and cloud-hosted servers • Integration with the Web Platform Installer • Provider Extensibility • Integration with other Microsoft products • Open Source Community Application Packaging
Summary • The Web Deployment Tool is the seamless way to package, install and share web applications • It is integrated in the IIS Manager and VS10 • It is easy to use the Web Deployment Framework in your build environments • You can try it today at http://labs.discountasp.net • You can download IIS extensions athttp://www.iis.net
Evals & Recordings Please fill out your evaluation for this session at: This session will be available as a recording at: www.microsoftpdc.com
Q&A Please use the microphones provided
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.