ES14 Microsoft Internet Information Services 7.0 And Beyond Vijay Sen Senior Program Manager Microsoft Corporation Session Objectives And Takeaways Session Objective(s):
Review key highlights of the IIS7 platform Demonstrate how the new IIS extensions enables powerful solutions Session Takeaways: Understand how you can extend IIS7 Understand how you can leverage the new IIS extensions Understand what IIS looks like in Windows 2008 R2
Agenda Key highlights of the IIS7 platform Demos of extensions Summary Q&A Internet Information Services 7.0 Key highlights
Modular and Extensible Integrated Pipeline Delegated management Diagnostic Capabilities Improved Security Internet Information Services 7.0 Modular and Extensible Architecture Server functionality is split into ~ 40 modules... Authentication Authentication NTLM
Basic Anon Anon Authorization ResolveCacheCGI Determine Static Handler File ExecuteHandler
ISAPI UpdateCache Send Response Log Compress SendResponse Modules plug into a generic request pipeline Modules extend server functionality through a public module API. Internet Information Services 7.0 Integrated Pipeline
Basic Anon Classic (runs as ISAPI) Integrated Mode Authentication Authorization ResolveCache ExecuteHandler UpdateCache SendResponse
Two APP Pool Modes Static File ISAPI .NET modules / handlers plug directly into pipeline aspnet_isapi.dll Process all requests Authentication Full runtime fidelity UseWindows Forms managed modules with
native modules ASPX Map Handler Trace Compress Log Internet Information Services 7.0
Delegated configuration ApplicationHost.config Administration.config Server Wide Settings Global Feature Delegation IIS Manager Users Individual Site Changes
Web.Config Sites App Settings Delegation Settings .Net Server Changes Global .Net Delegation Settings Web.Config App Settings
Delegation Settings .Net Web.Config App Settings Internet Information Services 7.0 Delegated Management One tool configures both IIS and ASP.NET
Works for machine administrator and site owner Remotes over HTTP, making it firewall friendly Supports managed extensibility familiar tree view feature focused simplified tasks Internet Information Services 7.0 Extensions Module API
ApplicationHost.config Administration.config Extensible Configuration Extensible Management IIS 7 Extension Sample extension: Build an extension that puts a text watermark
on all images served for a site Provide a management interface to allow changing the watermark text Artwork demo Building a custom extension for IIS: IIS 7 Extensibility New IIS7 Extensions IIS7 Extensions MANAGEMENT REQUEST HANDLING URL Rewriter
Application Request Routing PUBLISHING FTP WebDAV MEDIA INTEGRATION Web Playlist Bit rate throttling DEPLOYMENT Microsoft Web Deployment Tool SECURITY URL Scan
Administration Pack Database Manager Remote Management Powershell The Web Platform Installer Single place to discover all tools and components Automatically install selected tools and components Automatically configure IIS7
demo Discovery and acquisition of the web stack: The Web Platform Installer The Microsoft Web Deployment Tool Synchronize web applications Package Easily deploy Migrate from IIS6 to IIS7
demo Packaging and Deployment of Web applications: Microsoft Web Deployment Tool The Microsoft Web Deployment Tool ES15: Deploying Web Applications with Microsoft Internet Information Services 7.0 and the Web Deployment Tool Time and venue: 10/29 | 4:45 PM-6:00 PM | 408A
URL Rewrite Extension Easy to use URLs Search engine friendly URLs http://www.pdcpaintings.com/default/rohit/hills vs. http://www.pdcpaintings.com/default.aspx?artist=rohit &theme=hills
Enforce http://www.mysite.com instead of http://mysite.com Preventing hot-linking Block unwanted search crawlers demo Simpler site names : The URL rewrite extension Media Extensions Optimize bandwidth costs Sequence media content
Encode URLs demo Content protection and reduced bandwidth cost: IIS7 Media extensions Application Request Routing Load balance across on-premises servers Highly available Increase capacity demo Load balance and scale web applications: Application Request Routing
Application Request Routing (ARR) Key takeaways ARR Client Front end server (can be server core) Back end servers IIS Release Strategy New scenarios IIS7 Extensions WS 2008 The
platform WS 2008 R2 Extensions added to setup Tight customer feedback loop Active forum support for pre-releases CSS support for released extensions Key chages to IIS in R2 ASP.NET ASP.NET on
on Server Server Core Core New New IIS IIS Manager Manager Modules Modules Integrated Integrated PowerShell PowerShell Provider Provider Configuration Configuration Logging
Logging & & Tracing Tracing Integrated Integrated FTP FTP and and WebDAV WebDAV Best Best Practices Practices Analyzer Analyzer Summary
Highly extensible and customizable web platform Rich tools to help with development and deployment Improved diagnostics and troubleshooting Easily extensible remote management New scenarios enabled by freely downloadable extensions available at www.iis.net Resources Topic
Developing modules and handlers Extending the management UI Microsoft Web Platform Installer Microsoft Web Deploy Microsoft URL Rewrite Resource http://learn.iis.net/page.aspx/366/ developing-iis-70-modules-andhandlers-with-the-net-framework/ http://learn.iis.net/page.aspx/269/ how-to-create-a-simple-iis-managermodule/ http://www.microsoft.com/web/ channel/products/ WebPlatformInstaller.aspx http://www.iis.net/downloads/ default.aspx?tabid=34&i=1603&g=6 http://learn.iis.net/page.aspx/460/
using-url-rewrite-module/ Resources Topic IIS Media pack Web Playlist Bit-rate Throttling Application Request Routing Resource http://www.iis.net/media http://learn.iis.net/page.aspx/382/ web-playlists-for-iis-70---creating-asimple-playlist/ http://learn.iis.net/page.aspx/148/bitrate-throttling-configurationwalkthrough/ http://learn.iis.net/page.aspx/489/ using-the-application-request-routingmodule/
Iis.NET: Home For IIS Community! In-depth technical articles and samples Connect with other IIS experts on blogs and forums Free advice and assistance in forums Download center with IIS solutions Evals & Recordings ll fi e s a e l P r
out you for n o ti a u l eva t: a n o i s s this se
This sess ion will be availa ble as a record ing at: www.microsoftpdc.com QA & Please use the microphones provided APPENDIX
Artwork #1 Progressive Download Today No bandwidth control with traditional HTTP downloads Drop-off point in videos: Microsoft.com ~ 40% Typical video site < 20%
Bit Rate Throttling Web Platform Installer How does it work? Application Engine Installation Engine XML handling Discovery Resolve dependencies Execute msi/exe Handle errors
Handle reboot http://www.microsoft.com/web/app docs/WebProductList.xml Product ProductName Name Description Description Installer InstallerLocation Location Dependencies Dependencies Incompatibilities Incompatibilities Discovery
Discoverylogic logic The URL rewrite rule in web.config enabled="true" Microsoft Web Deployment Tool
ontent ontent AppHost AppHost Content Content SOURCE SERVER MS Compute differences Deploy ENGINE Content
Content Content Content APPHOST CONTENT ModifiedC PROVIDER ModifiedC PROVIDER = Config + Query site Content metadata metadata
AppHost AppHost AppHost AppHost MS Deploy ENGINE Synchronize Request Requestfor changed site request
data metadata ModifiedC ModifiedC ontent ontent APPHOST CONTENT PROVIDER PROVIDER AppHost AppHost Content
Content TARGET SERVER 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. Web Playlists extension How does it work? ------------------- Playlist abc.isx 1. Ads.wmv 2. Movie.wmv Get abc.isx
abc.asx Get ads.wmv ads.wmv Get movie.wmv movie.wmv ____ ____ ____ Web Playlists extension How does it work? ------------------- Playlist abc.isx 1. Ads.wmv 2. Movie.wmv
Get abc.isx abc.asx Get movie.wmv FAIL! Get movie.wmv FAIL! Any requests from a different client, or attempts to skip ads, are failed ____ ____ ____ Playlists Examples Client side ASX
Web Playlists ASX URL rewrite extension How does it work? - apply to the entire server - apply to a specific location Subsequent pipeline modules work with rewritten URL Handler is resolved based on rewritten URL
Application Request Routing extension How does it work? Begin URL Rewrite ARR Pipeline SetURL Add Global rewrite rule Subscribe to Begin Request Inspect and change URL Set var URL = Server Farm name Subscribe to Map Request Handler
If var URL == Server Farm name Load balance Send request Receive response Send response End Back end servers Putting it all together URL rewrite
ARR Web Playlist Bit-rate Throttling IIS7 Extensions IIS core IIS core + extensions WS 2008 WS 2008 R2
Tools Web Platform Installer Web Deploy How to get original URL in your app? ASP & ASP.NET: Request.ServerVariables[HTTP_X_ORIGINAL_URL]; PHP $_SERVER[`REQUEST_URI`]; or
$_SERVER[`HTTP_X_ORIGINAL_URL`];