Top Banner
Microsoft Internet Information Services 7.0 And Beyond
40

Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Mar 28, 2015

Download

Documents

David Truan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Microsoft Internet Information Services 7.0 And Beyond

Page 2: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Key highlights of the IIS7 platform Demos of extensions Summary Q&A

Agenda

Page 3: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Modular and Extensible Integrated Pipeline Delegated management Diagnostic Capabilities Improved Security

Internet Information Services 7.0 Key highlights

Page 4: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Internet Information Services 7.0 Modular and Extensible Architecture

Server functionality is split into ~ 40 modules...

Modules plug into a generic request pipeline…

Modules extend server functionality through a public module API.

Send ResponseLog Compress

NTLM Basic

Determine Handler

CGI

Static File

ISAPI

Authentication

Anon

SendResponse

Authentication

Authorization

ResolveCache

ExecuteHandler

UpdateCache

Page 5: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Internet Information Services 7.0 Integrated Pipeline

Two APP Pool Modes Classic (runs as ISAPI) Integrated Mode

.NET modules / handlers plug directly into pipeline

Process all requests Full runtime fidelity Use managed modules with

native modules

Log

Compress

Basic

Static File

ISAPI

Anon

SendResponse

Authentication

Authorization

ResolveCache

ExecuteHandler

UpdateCache

…Authentication

Forms Windows

Map Handler

ASPX

Trace

……

aspnet_isapi.dll

Page 6: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Internet Information Services 7.0 Delegated configuration

Web.Config Site #1• Delegation Settings• App Settings• .Net Settings

Web.Config Site #2• Delegation Settings• App Settings• .Net Settings

Web.Config Site #3• Delegation Settings• App Settings• .Net Settings

ApplicationHost.configAdministration.config

Server Wide Settings Global Feature Delegation IIS Manager Users Sites

Server Changes “Global”

Individual Site Changes

Page 7: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Internet Information Services 7.0 Delegated Management

feature focusedsimplified

tasks

familiartree view

• 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

Page 8: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Internet Information Services 7.0 Extensions

ApplicationHost.configAdministration.config

Extensible Configuration

IIS 7 Extension

Extensible Management

Module API

Page 9: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

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

Sample extension:

Page 10: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Artwork

Page 11: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

New IIS7 Extensions

IIS7 Extensions

MEDIA INTEGRATION•Web Playlist•Bit rate throttling

DEPLOYMENT•Microsoft Web Deployment Tool

SECURITY•URL Scan

REQUEST HANDLING•URL Rewriter•Application Request Routing

MANAGEMENT•Administration Pack•Database Manager•Remote Management•Powershell

PUBLISHING•FTP•WebDAV

Page 12: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Single place to discover all tools and components

Automatically install selected tools and components

Automatically configure IIS7

The Web Platform Installer

Page 13: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Synchronize web applications Package Easily deploy Migrate from IIS6 to IIS7

The Microsoft Web Deployment Tool

Page 14: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

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

The Microsoft Web Deployment Tool

Page 15: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Easy to use URLs http://www.pdcpaintings.com/default/rohit/hills vs.

http://www.pdcpaintings.com/default.aspx?artist=rohit&theme=hills

Search engine friendly URLs Enforce http://www.mysite.com instead of

http://mysite.com Preventing hot-linking Block unwanted search crawlers

URL Rewrite Extension

Page 16: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Optimize bandwidth costs Sequence media content Encode URLs

Media Extensions

Page 17: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Load balance across on-premises servers Highly available Increase capacity

Application Request Routing

Page 18: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Application Request Routing (ARR)Key takeaways

Back end servers

Front end server(can be server core)

Client

ARR

Page 19: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

IIS Release Strategy

IIS7 Extensions

WS 2008 WS 2008 R2

The platform

Extensions added to setup

New scenarios

Tight customer feedback loopActive forum support for pre-releasesCSS support for released extensions

Page 20: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Key chages to IIS in R2

ASP.NET on Server Core

Integrated PowerShell Provider

Integrated FTP and WebDAV

New IIS Manager Modules

Configuration Logging & Tracing

Best Practices Analyzer

Page 21: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

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

Summary

Page 22: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

ResourcesTopic Resource

Developing modules and handlers http://learn.iis.net/page.aspx/366/developing-iis-70-modules-and-handlers-with-the-net-framework/

Extending the management UI http://learn.iis.net/page.aspx/269/how-to-create-a-simple-iis-manager-module/

Microsoft Web Platform Installer http://www.microsoft.com/web/channel/products/WebPlatformInstaller.aspx

Microsoft Web Deploy http://www.iis.net/downloads/default.aspx?tabid=34&i=1603&g=6

Microsoft URL Rewrite http://learn.iis.net/page.aspx/460/using-url-rewrite-module/

Page 23: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

ResourcesTopic Resource

IIS Media pack http://www.iis.net/media

Web Playlist http://learn.iis.net/page.aspx/382/web-playlists-for-iis-70---creating-a-simple-playlist/

Bit-rate Throttling http://learn.iis.net/page.aspx/148/bit-rate-throttling-configuration-walkthrough/

Application Request Routing http://learn.iis.net/page.aspx/489/using-the-application-request-routing-module/

Page 24: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

In-depth technical articles and samples

Iis.NET: Home For IIS Community!

Connect with other IIS experts on blogs and forums

Free advice and assistance in forums

Download center with IIS solutions

Page 25: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Evals & Recordings

Please fill

out your

evaluation for

this session at:

This session will be available as a recording at:

www.microsoftpdc.com

Page 26: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

APPENDIX

Page 27: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Artwork #1

Page 28: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

No bandwidth control with traditional HTTP downloads

Drop-off point in videos: Microsoft.com ~ 40% Typical video site < 20%

Progressive Download Today

Page 29: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Bit Rate Throttling

Page 30: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Web Platform InstallerHow does it work?

http://www.microsoft.com/web/appdocs/WebProductList.xml

InstallationEngine

ApplicationEngine

Product NameDescriptionInstaller LocationDependenciesIncompatibilitiesDiscovery logic

Product NameDescriptionInstaller LocationDependenciesIncompatibilitiesDiscovery logic

Execute msi/exeHandle errorsHandle reboot

XML handlingDiscoveryResolve dependencies

Page 31: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

The URL rewrite rule in web.config

<rewrite>

<rules>

<rule name="RewriteUserFriendlyURL1" enabled="true" stopProcessing="true">

<match url="^([^/]+)/([^/]+)/([^/]+)/?$" />

<action type="Rewrite“ url="{R:1}.aspx?artist={R:2}&amp;theme={R:3}" />

</rule>

</rules>

</rewrite>

Page 32: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Microsoft Web Deployment Tool

SOURCE SERVER

MS DeployENGINE

AppHost

Content

APPHOST PROVIDER

AppHost

TARGET SERVER

MS DeployENGINE

AppHost

Content

APPHOST PROVIDER

AppHost

Synchronize site request

Request metadata

Query site metadata

= Config + Content

metadata

CONTENT PROVIDER

Compute differences

Request for changed data

ModifiedContent

Content

CONTENT PROVIDER

ModifiedContent

Content

Page 33: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

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

Page 34: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Web Playlists extensionHow does it work?

Get abc.isx

abc.asx

Get ads.wmvads.wmv

Get movie.wmv

movie.wmv

---------------------

____________

Playlist – abc.isx1. Ads.wmv2. Movie.wmv

Page 35: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Web Playlists extensionHow does it work?

Get abc.isx

abc.asx

Get movie.wmvFAIL!

Get movie.wmv

FAIL!

Playlist – abc.isx1. Ads.wmv2. Movie.wmv

Any requests from a different client, or attempts to skip ads, are failed

---------------------

____________

Page 36: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Playlists Examples

Client side ASX

Web Playlists ASX

Page 37: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

URL rewrite extensionHow does it work?

<globalRules> - apply to the entire server

<rules> - apply to a specific location

Subsequent pipeline modules work with rewritten URL

Handler is resolved based on rewritten URL

Page 38: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Pipe

line

Application Request Routing extensionHow does it work?

SetU

RLURL Rewrite ARR

Begin

End

Inspect and change URL

Subscribe to Begin Request

Set var ‘URL’ = Server Farm name

Add Global rewrite rule

Subscribe to Map Request Handler

Back end servers

If var ‘URL’ == Server Farm nameLoad balance

Send requestReceive response

Send response

Page 39: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

Putting it all together

IIS7 Extensions

WS 2008 WS 2008 R2

Tools

IIS core

URL rewrite ARR Web

PlaylistBit-rate

Throttling

IIS core + extensions

Web Platform Installer

Web Deploy

Page 40: Server functionality is split into ~ 40 modules... Modules plug into a generic request pipeline… Modules extend server functionality through a public.

How to get original URL in your app?

ASP & ASP.NET:

PHP

or

Request.ServerVariables[“HTTP_X_ORIGINAL_URL”];

$_SERVER[`REQUEST_URI`];

$_SERVER[`HTTP_X_ORIGINAL_URL`];