IIS7 Extensibility (Part 1): Building Core Server Modules

IIS7 Extensibility (Part 1): Building Core Server Modules

IIS7: Building New Core Server Modules Michael Volodarsky COM406 Program Manager Microsoft Corporation IIS7 Server Total platform extensibility Customize the server Build and deploy custom server components Leverage powerful modular server architecture Robust native (C++) server features Powerful managed (.NET) server features 2 IIS6 Architecture HTTP Request HTTP Response Authentication Basic

NTLM Anon ... CGI Determine Handler Static File ISAPI ... Response Compression Logging Monolithic server implementation Limited customization Fixed functionality ISAPI Filter / Extension extensibility Limited

Difficult, error 3 IIS7 Architecture HTTP Request HTTP Response Basic 40+ Componentized server Authentication NTLM Basic Anon Authorization ... ResolveCache

Url Authz Output Cache ... CGI Determine Static Handler ExecuteHandler File ... ISAPI ... UpdateCache SendResponse Compre SendResponse Log ssion Forward er

Modular features Generic request pipeline Enables Lightweight servers Custom / specialized servers 4 IIS7 Extensibility HTTP Request HTTP Response basicauth.dll Authentication Basic Authorization httpserv.h:

ResolveCache ... ExecuteHandler ... UpdateCache SendResponse IHttpContext { IHttpRequest IHttpResponse IHttpUser ... }; IHttpServer { GetConfig LogEvent Recycle ... }; Public module extensibility model DLL factory Class-based C++

API Rich object model Enables Complete extensibility 5 IIS7 Modules vs. ISAPI Filters and Extensions More Powerful MUCH Richer API More granular notifications Easier to write and more robust Object-oriented C++ Key patterns simplified Easier to manage Consistent feature management Granular enablement 6 Building A Custom IIS7 Server

Michael Volodarsky COM406 Program Manager Web Platform and Tools 7 IIS6 ASP.NET Integration HTTP Request ISAPI Extension Authentication Basic Anon NTLM ... aspnet_isapi.dll CGI Determine Handler Static File Authentication

Forms Windows ... ASPX ISAPI Map Handler ... Trace ... SendResponse Log HTTP Response Compre ssion ... Only processes

ASP.NET requests Runtime limitations ISAPI ordering Feature duplication Authentication 8 IIS7 ASP.NET Integration HTTP Request Two modes: Basic ISAPI (compat) Integrated Authentication Anon Authorization ResolveCache

Integrated mode ... aspnet_isapi.dll Authentication ExecuteHandler Static File ... ISAPI Compre ssion Log HTTP Response Windows ... ASPX

Map Handler UpdateCache SendResponse Forms Trace ... ... .NET modules plug directly into server Process all requests Full runtime fidelity 9 IIS7 .NET Extensibility Future of ASP.NET Development Existing ASP.NET 2.0 API IHttpModule and IHttpHandler types Existing API connected to server objects

Bonus: API additions Response header enumeration Manipulate Request headers Manipulate Server Variables Configuration ISAPI vs. Integrated mode per app-pool Unified , 10 Integrated .NET Extensibility Michael Volodarsky COM406 Program Manager Web Platform and Tools 11 IIS7 Development C++ or .NET? .NET: nice and easy Finally can do almost anything Multi-language RAD with .NET Framework Rich ASP.NET APIs Sandboxed deployment (CAS)

C++: down to the metal More control over the system Higher performance 12 Compatibility Existing extensibility just works Server Built-in account IIS6 Worker Process Isolation Buffering on by default ASP.NET applications ASP.NET 1.1, ASP.NET 2.0 2 modes: ISAPI, Integrated ISAPI filters and extensions Read-raw notifications cut 13 Logistics When, Where, How IIS7 Bits Final release: Windows Vista (Client + Server)

PDC: Longhorn Server ADS build only Native API: Windows Vista beta2 refresh At PDC COM303: IIS7: Building Better ASP.NET Apps (in an hour!) COM431: IIS7 Configuration and Management COM320: IIS7 Diagnostics and Troubleshooting Daily Hands On Labs: COM HOL13-19 Ask The Experts table: Thursday 5:30-8:30 IIS7 Pavilion 14 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Recently Viewed Presentations

  • Meta Ethics The Last Module eeeeek! Ethical Language

    Meta Ethics The Last Module eeeeek! Ethical Language

    Naturalism A key question when trying to reach a definition of morality etc. is the is-ought gap (or the Naturalistic Fallacy). Naturalistic theories of ethics attempt to define good in terms of something that can be identified in the world...
  • PA IN DEVELOPED NATIONS TOPICS Quote of the

    PA IN DEVELOPED NATIONS TOPICS Quote of the

    PA IN DEVELOPED NATIONS TOPICS Quote of the day Evolution of PA in developed systems Similar but not equal Key characteristics of developed vis a vis developing PA systems Historical growth of government Paradigms in Public Administration Old PA Paradigm...
  • TRANSforming Curricula

    TRANSforming Curricula

    TRANSforming Curricula. Curricular Approaches to Transgender Health in PA Education. Joanne Rolls MEHP MPAS PA-C, John Davis PhD MD, Richard Backman, MD, Tim Wood DHSc PA-C, Trenton Honda PhD MMS PA-C
  • The Community Active Sensor Module (CASM) Benjamin T.

    The Community Active Sensor Module (CASM) Benjamin T.

    The Community Active Sensor Module (CASM) Benjamin T. Johnson[1], Sid A. Boukabara [2], Kevin Garrett [3], Paul van Delst [4] [1] Atmospheric and Environmental ...
  • Rubrics and feedback in a diverse classroom Major

    Rubrics and feedback in a diverse classroom Major

    In college TESL cert. ES/FL Yrs using rubrics 7 5 2 "on and off" 2 Used criteria sheets 20 5 * * I am a sessional teacher in the full time ESL program at George Brown College I did my...
  • pages.cs.wisc.edu

    pages.cs.wisc.edu

    My List. X vs * equals (==) vs assignment (=) value is stored on the left hand side of assignment (=) operator. Variables: name areas of computer memory, declare before use, declare type of data, initialize
  • Sign of Four: Pre-reading Vocabulary In pairs - work on the ...

    Sign of Four: Pre-reading Vocabulary In pairs - work on the ...

    Zoom in on words/explore connotations and effect. ... Dr. Watson assists. Holmes investigates the pearl & connections to Major Sholto (now deceased). The 3 - Holmes, Watson & Morston go to the meeting place & take a mystery tour of...
  • Define risk in AUDITING - Steve Crowley home

    Define risk in AUDITING - Steve Crowley home

    Relationship of risk and materiality to audit evidence. The concepts of materiality and risk in auditing are closely related and inseparable. Risk. is a measure of . uncertainty. Materiality. is a measure of . magnitude. The relationships among performance materiality...