Title: Internet Information Services (IIS) 7.0 End-to-End Overview of Microsoft's New Web Application Server
1Internet Information Services (IIS)
7.0End-to-End Overview of Microsoft's New Web
Application Server
- Bart J.F. De Smet
- MVP, INETA
- info_at_bartdesmet.net
- http//blogs.bartdesmet.net/bart
2Agenda
- Where are we with IIS 6.0?
- IIS 7.0 pillars dive deep for developers
- Security
- Extensibility
- Configuration
- Management
- Diagnostics
- Lots of demos
3IIS 6.0 Pillars Revisited
4Introducing IIS 7.0 Pillars
5IIS 7.0 - Security
Security
- SD³
- Componentized web server
- 40 (!) setup components
- Lower the attack surface
- Reduction of patch management
- URLScan functionality built-in
6- Componentization in action
7IIS 7.0 - Extensibility
Extensibility
- New APIs
- Win32 API
- Used by core IIS 7.0 components (modular)
- No rabbits in hats ?
- Managed code API
- Integrated pipeline with ASP.NET 2.0
- Transfer your knowledge (IHttp interfaces)
- ISAPI the easy way
8Once upon a time...
Extensibility
w3wp.exe
aspnet_isapi.dll
handlers
cgi
static file
ISAPI extension
IHttpModule Events
url map
begin req
determine handler
authc req
logging
w3svc
authz req
custom errors
compression
resolve cache
end req
authentication
handler map
update req cache
ISAPI Filter Notifications
handler exec
rel req state
url map
authc req
log
Pre-proc headers
End net session
Trace.axd
PageHandler
9Get together in IIS 7.0
Extensibility
Native Handler
IHttpHandler
ISAPI extension
static file
.aspx
trace.axd
IHttpModule
Native Module
end
was
log
update cache
release state
execute handler
pre-execute handler
acquire state
map handler
resolve cache
authorize
authenticate
begin
10- Your first IIS 7.0 module
- Step 1 Implementing core functionality
- Implement IHttpModule and/or IHttpHandler
- Compile, deploy and test
- Step 2 Extending using configuration
- Step 3 Satisfy the IT Pro
11IIS 7.0 - Configuration
Config
- The death of the metabase
- Distributed XML-based configuration
- Integrated IIS ASP.NET config (web.config)
- Allows for delegation
- Real xcopy deployment
- Strongly typed schema (ApplicationHost.config)
- Feel free to extend it! (ltconfigSchemagt)
- Configuration API
12IIS 7.0 - Configuration
Config
lthandlersgt ltadd path".asp"
modules"Asp" checkPathInfo"true"
verb"GET,HEAD,POST" /gt ltadd path".stm"
modules"ServerSideIncludeModule"
checkPathInfo"true" verb"GET,POST"
/gt ltadd path".exe"
modules"CGIModule" checkPathInfo"true"
verb"GET,POST" /gt lt/handlersgt
lthandlersgt ltadd path".aspx"
modules"aspnet" checkPathInfo"false"
verb"GET,POST" /gt lt/handlersgt
13- Your first IIS 7.0 module
- Step 1 Implementing core functionality
- Step 2 Extending using configuration
- Add schema (windir\system32\inetsrv\config\schem
a) - Configure schema (ApplicationHost.config)
- Apply configuration (appcmd.exe, web.config)
- Step 3 Satisfy the IT Pro
14IIS 7.0 - Management
System Management
- IIS Manager (inetmgr.exe)
- Fully extensible (managed code)
- Remote administration over HTTP(S)
- Satisfy your IT Pro friends
- New WMI provider (extensible)
- AppCmd.exe cmdline administration
- Compatible with IIS 6.0 ADSI and WMI
- Windows PowerShell
15IIS 7.0 - Management
System Management
Vista-style breadcrumb
.NET configuration
IIS configuration
Add modules here
16- Your first IIS 7.0 module
- Step 1 Implementing core functionality
- Step 2 Extending using configuration
- Step 3 Satisfy the IT Pro
- Extend the IIS Manager with a module
- (WMI support)
17IIS 7.0 - Diagnostics
Diagnostics
- Real-time information
- Queryable by IT Pros and Developers
- Processes, App Pools Doms, requests
- Failed Request Tracing
- Throughout the IIS 7.0 pipeline
- Identify bottlenecks, stuck requests, etc
- Custom errors
- Detailed localized information
18IIS 7.0 - Diagnostics
Diagnostics
- FREB
- Failed
- Request
- Event
- Buffer
- Extensible
- Add traces
- Control API
Begin Request
Read Metadata
Authenticate
Authorize
Cached
ISAPI Filter
Determine Handler
19- A quick guide to IIS 7.0 diagnostics
20Summary
- IIS 7.0 highlights
- Security is a top priority
- Extensibility to the max!
- Improved management
- Production debugging with diagnostics
- Availability
- IIS 7.0 in Windows Vista
- IIS 7.0 in Longhorn Server Beta 3 Go Live
21SDE
WPF
October 8, 2007
22Q A
- Have fun with Internet Information Service 7.0 on
Vista and Longhorn!
23(No Transcript)
24(No Transcript)