240 likes | 420 Views
Developing and Deploying Applications on Microsoft Internet Information Services (IIS). Thomas Deml Group Program Manager Web Platform And Tools Microsoft Corporation. Agenda. Getting started Review of the web platform stack Demo: Downloading the web platform stack Getting productive
E N D
Developing and Deploying Applications on Microsoft Internet Information Services (IIS) Thomas Deml Group Program Manager Web Platform And Tools Microsoft Corporation
Agenda • Getting started • Review of the web platform stack • Demo: Downloading the web platform stack • Getting productive • Extend an application using IIS’ total extensibility • Demo: Extend web application with custom functionality • Going live • From your dev box to the live server • Demo: Deploying an app to a live server via explorer • Fine-tuning and troubleshooting: • Management, monitoring and troubleshooting • Demo: Database manager, powershell and request tracing • Going public • Submit to the web application gallery
demo Getting Started: Installing the Web Platform Stack
Top 8 Reasons to Move to IIS7 • 8. Security • Feature delegation, built-in accounts, Application pool isolation, rich authentication and authorization infrastructure, request filtering • 7. Single platform for both ASP.NET and PHP • Integrated Pipeline, FastCGI • 6. High availability • Rich process model • 5. Performance • Optimized for multi-proc environments, compression, SSL in kernel-mode
Top 8 Reasons to Move to IIS7 • 4. Diagnostics • Powerful, extensible diagnostics stack, run-time data • 3. Configuration system • Readable, extensible, delegateable, distributed, centralized • 2. Administration • User interface, remoteable, command-line tools, scripting and rich API set • 1. Extensibility • Run-time, configuration, diagnostics stack and user interface
Total Extensibility • Server run-time • Extend IIS in native or managed code via the integrated pipeline • Configuration system • Extend the configuration system with a simple XML file. Automatic support in the user interface, command-line, script, native and managed code apis • Tracing • Follow your requests from start to finish: get detailed errors, monitor currently executing requests, go deep with request traces • User interface • Integrate your own user interface with a few lines of code, get automatic remoting and delegation
Run-time ExtensibilityIIS6 Architecture • Monolithic server implementation • Limited customization • Fixed functionality • Limited ISAPI Filter extensibility
Extensibility IIS7 Architecture • Componentized server • Pluggable modular functionality • Small generic request pipeline • Enables • Lightweight servers • Custom/specialized servers
Extensibility IIS6 + ASP.NET • ISAPI extension • Only processes ASP.NET requests • Runtime limitations • Feature duplication
IIS7 ASP.NET Integration • Classic mode • For compatibility • Integrated mode (Integrated pipeline) • Can process all requests • Enhanced functionality • Higher fidelity notifications
.NET Extensibility • Existing ASP.NET API • IHttpModule and IHttpHandler types • Expanded ASP.NET APIs • New HttpApplication Events • MapRequestHandler, LogRequest, PostLogRequest • HttpRequest.Headers • HttpResponse.Headers • HttpResponse.DisableKernelCache • HttpRequest.ServerVariables
Handlers versus Modules • Modules provide services to all requests • Basic authentication module • Compression module (etc) • Handlers provide services to specific extensions • ISAPI handler (.dll) • Static handler (.htm, .jpg, .gif, etc) • IIS 7 pipeline allows native and managed modules and handlers • “Integrated” application pool mode • Use the managed modules and handlers • “Classic” application pool • IIS 6 style invocation of .NET
demo Getting Productive: Extending an Existing Application
Going Live • Package and deploy your web application with the web deployment tool • You don’t have to be admin • Deployment via • IIS management snap-in • Remote manager • Command-line • Api • Powershell • Can also be used for • Synchronization • Incremental sync support • Backup • Versioning
demo Deploying an App to a Live Server
Managing the Server • User interface remoted via HTTPS • Non-admin and delegation support • Command-line • Powershell snap-in • Appcmd • Scripting • Powershell • COM via AHAdmin • WMI • APIs • Configuration API • Microsoft.Web.Administration
demo Managing Your Web Application on a Live Server
Summary • IIS7 is built with total extensibility in mind • Run-time • Configuration system • User interface • Diagnostics • IIS7 application and server extensions offer compelling functionality
IIS7 Extensions Database manager WebDav Web platform installer URL rewriter Application request router Remote manager Web deployment tool FTP server Powershell snap-in Media services Admin pack Dynamic IP restrictions
Please Complete an Evaluation FormYour feedback is important! • Evaluation forms can be found on each chair • Temp Staff at the back of the room have additional evaluation form copies
© 2009 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.