saad ladki program manager microsoft corporation wux403
TRANSCRIPT
Internet Information Services 7.0: End-to-End Extensibility for Developers Saad Ladki
Program ManagerMicrosoft CorporationWUX403
Agenda
IIS 7 ArchitectureExtending the Pipeline
Demo: Modules & HandlersExtending the Configuration
Demo: Dynamic ConfigurationExtending the UI
Demo: IIS Manager Module
IIS6 Architecture
Authentication
Basic NTLM Anon
...
DetermineHandler
...
Response Compression
Logging
HTTP Request
HTTP Response
CGI
Static File
ISAPI
Monolithic server implementation
Limited customizationFixed functionality
Limited ISAPI Filter extensibility
IIS6 + ASP.NET
ISAPI ExtensionOnly processes ASP.NET requestsRuntime limitationsFeature duplication
Authentication
Basic NTLM Anon
...
DetermineHandler
...
SendResponse
HTTP Request
HTTP Response
CGI
Static File
ISAPI
Compression
Log
aspnet_isapi.dll
Authentication
MapHandler
Forms Windows
...ASPX
Trace
...
...
Authentication
...
ExecuteHandler
...
SendResponse
HTTP Request
HTTP Response
Authorization
UpdateCache
ResolveCache
IIS7 Architecture
Authentication
...
DetermineHandler
...
SendResponse
HTTP Request
HTTP Response
BasicNTLM Anon
CGI
Static File
ISAPI
Log Compression
Componentized server
Pluggable modular functionalitySmall generic request pipeline
EnablesLightweight serversCustom / specialized servers
UrlAuthz
OutputCache
Forwarder
Basic40+
ISAPI
Authentication
...
ExecuteHandler
...
SendResponse
Authorization
UpdateCache
ResolveCache
HTTP Request
HTTP Response
IIS7 ASP.NET Integration
Classic ModeFor compatibility
Integrated ModeCan process all requestsEnhanced functionalityHigher fidelity notifications
Anon
aspnet_isapi.dll
Authentication
MapHandler
...
...
Forms Windows
ASPX
Trace
...
Basic
Compression
Log
Static File
Extending the Pipeline.NET Extensibility
Existing ASP.NET APIIHttpModule and IHttpHandler types
Expanded ASP.NET APIsNew HttpApplication Events
MapRequestHandler, LogRequest, PostLogRequestHttpRequest.HeadersHttpResponse.HeadersHttpResponse.DisableKernelCacheHttpRequest.ServerVariables
Extending the PipelineHandlers vs. Modules
Modules provide services to all requestsBasic Authentication moduleCompression module
Handlers provide services to specific extensionsISAPI 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
Modules & HandlersSaad LadkiProgram ManagerMicrosoft Corporation
demo
IIS 7
NET global settingsASP.net global settings
Contoso.com \ Orders
.NET Framework Root web.configMachine.config
Global settings and location tags
Applicationhost.config
Site web.config
<system.web>.NET settings
..
Contoso.com root
..
..
<system.webServer>IIS7 Delegated settings
..
Configuration System.NET + IIS7
Extending Configuration
IIS settings now live in ApplicationHost.config Can also be specified in web.config if delegation is allowed
All settings are schematized in XMLSchema files live in %windir%\system32\inetsrv\config\schema
Extending configurationStatic Configuration
Drop a .xml file into the schema directoryAdd a section to applicationHost.config
Dynamic Configuration
Add dynamic properties and behavior to configAHADMIN - Application Host Administration Interface
Implemented in %Windows%\System32\Inetsrv\nativerd.dllImplements IIS native configuration stackExposes a COM API
Exposes three interfaces for Dynamic ExtensibilityIAppHostPropertyExtensionIAppHostMethodExtensionIAppHostElementExtension
Dynamic ConfigurationSaad LadkiProgram ManagerMicrosoft Corporation
demo
Tools for Every NeedAppCmd.exe
Command line to query and modify configurationIIS Manager
User Interface for end usersWMI
New WMI provider to query and edit configurationScripting
AHADMIN is a new COM interface for managing configuration systemManaged Code
Microsoft.Web.Administration provides a simple managed API to edit configuration
IIS Manager
Completely re-written using .NET Windows Forms and managed codeIIS Manager is now easily extensible
Add new feature pagesExtend tasks for sites/applicationsAnd more…
Extensibility FrameworkMicrosoft.Web.Management.dll
Transparent remoting over HTTPS
IIS Manager ArchitectureIIS Manager Client
Connection
Module UI
IIS 7.0 Application AppDomain
Provider
Content and Configuration
Runtime State
Provider Data
Web Management Service(WMSvc)
Standalone Web Server http://server:8172
Module Service
Module ServiceProxy
Connection Manager
Framework
Module UI
Extending IIS Manager
Develop service-side functionalityModuleProviderModuleService
Develop client-side functionalityModuleModuleServiceProxyModulePage
IIS Manager ModuleSaad LadkiProgram ManagerMicrosoft Corporation
demo
Summary
IIS7 provides end-to-end extensibility for the developer through
The pipelineThe configuration systemThe UIDiagnostics
Try it out and see how simple it is
All the resources you need & moreSaad LadkiProgram ManagerMicrosoft Corporation
demo (www.iis.net)
question & answer
www.microsoft.com/teched
Sessions On-Demand & Community
http://microsoft.com/technet
Resources for IT Professionals
http://microsoft.com/msdn
Resources for Developers
www.microsoft.com/learningMicrosoft Certification and Training Resources
www.microsoft.com/learning
Microsoft Certification & Training Resources
Resources
Related Content
WSV322 Web Application Deployment, Packaging, and Migration
WSV304 Deploying and Managing Scalable Web Server Farms with IIS 7.0
WSV205 Extend Your Web Server: What's New in IIS and the Microsoft Web Platform
WSV04-HOL Delegating the Administration of IIS 7.0 to Remote Users
Complete an evaluation on CommNet and enter to win!
© 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.