26

Saad Ladki Program Manager Microsoft Corporation WUX403

Embed Size (px)

Citation preview

Page 1: Saad Ladki Program Manager Microsoft Corporation WUX403
Page 2: Saad Ladki Program Manager Microsoft Corporation WUX403

Internet Information Services 7.0: End-to-End Extensibility for Developers Saad Ladki

Program ManagerMicrosoft CorporationWUX403

Page 3: Saad Ladki Program Manager Microsoft Corporation WUX403

Agenda

IIS 7 ArchitectureExtending the Pipeline

Demo: Modules & HandlersExtending the Configuration

Demo: Dynamic ConfigurationExtending the UI

Demo: IIS Manager Module

Page 4: Saad Ladki Program Manager Microsoft Corporation WUX403

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

Page 5: Saad Ladki Program Manager Microsoft Corporation WUX403

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

...

...

Page 6: Saad Ladki Program Manager Microsoft Corporation WUX403

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+

Page 7: Saad Ladki Program Manager Microsoft Corporation WUX403

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

Page 8: Saad Ladki Program Manager Microsoft Corporation WUX403

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

Page 9: Saad Ladki Program Manager Microsoft Corporation WUX403

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

Page 10: Saad Ladki Program Manager Microsoft Corporation WUX403

Modules & HandlersSaad LadkiProgram ManagerMicrosoft Corporation

demo

Page 11: Saad Ladki Program Manager Microsoft Corporation WUX403

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

Page 12: Saad Ladki Program Manager Microsoft Corporation WUX403

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

Page 13: Saad Ladki Program Manager Microsoft Corporation WUX403

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

Page 14: Saad Ladki Program Manager Microsoft Corporation WUX403

Dynamic ConfigurationSaad LadkiProgram ManagerMicrosoft Corporation

demo

Page 15: Saad Ladki Program Manager Microsoft Corporation WUX403

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

Page 16: Saad Ladki Program Manager Microsoft Corporation WUX403

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

Page 17: Saad Ladki Program Manager Microsoft Corporation WUX403

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

Page 18: Saad Ladki Program Manager Microsoft Corporation WUX403

Extending IIS Manager

Develop service-side functionalityModuleProviderModuleService

Develop client-side functionalityModuleModuleServiceProxyModulePage

Page 19: Saad Ladki Program Manager Microsoft Corporation WUX403

IIS Manager ModuleSaad LadkiProgram ManagerMicrosoft Corporation

demo

Page 20: Saad Ladki Program Manager Microsoft Corporation WUX403

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

Page 21: Saad Ladki Program Manager Microsoft Corporation WUX403

All the resources you need & moreSaad LadkiProgram ManagerMicrosoft Corporation

demo (www.iis.net)

Page 22: Saad Ladki Program Manager Microsoft Corporation WUX403

question & answer

Page 23: Saad Ladki Program Manager Microsoft Corporation WUX403

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

Page 24: Saad Ladki Program Manager Microsoft Corporation WUX403

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

Page 25: Saad Ladki Program Manager Microsoft Corporation WUX403

Complete an evaluation on CommNet and enter to win!

Page 26: Saad Ladki Program Manager Microsoft Corporation WUX403

© 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.