Developing and Deploying Applications on Internet Information Services (IIS)

24
Developing and Deploying Applications on Microsoft Internet Information Services (IIS) Thomas Deml Group Program Manager Web Platform And Tools Microsoft Corporation

description

Come hear how the Microsoft Web Platform fosters a powerful development ecosystem for Web applications, and how the latest wave of IIS extensions enable Microsoft ASP.NET and PHP to move seamlessly from a development environment to a production datacenter. Also learn how to package a Web application for the Windows Web Application Gallery to make it available to millions of users.

Transcript of Developing and Deploying Applications on Internet Information Services (IIS)

Page 1: Developing and Deploying Applications on Internet Information Services (IIS)

Developing and Deploying Applications on Microsoft Internet Information Services (IIS)Thomas DemlGroup Program ManagerWeb Platform And ToolsMicrosoft Corporation

Page 2: Developing and Deploying Applications on Internet Information Services (IIS)

Agenda

Getting startedReview of the web platform stackDemo: Downloading the web platform stack

Getting productiveExtend an application using IIS’ total extensibility Demo: Extend web application with custom functionality

Going liveFrom your dev box to the live serverDemo: Deploying an app to a live server via explorer

Fine-tuning and troubleshooting:Management, monitoring and troubleshootingDemo: Database manager, powershell and request tracing

Going publicSubmit to the web application gallery

Page 3: Developing and Deploying Applications on Internet Information Services (IIS)

Getting Started: Installing the Web Platform Stack

demo

Page 4: Developing and Deploying Applications on Internet Information Services (IIS)

Top 8 Reasons to Move to IIS7

8. SecurityFeature delegation, built-in accounts, Application pool isolation, rich authentication and authorization infrastructure, request filtering

7. Single platform for both ASP.NET and PHPIntegrated Pipeline, FastCGI

6. High availability Rich process model

5. PerformanceOptimized for multi-proc environments, compression, SSL in kernel-mode

Page 5: Developing and Deploying Applications on Internet Information Services (IIS)

Top 8 Reasons to Move to IIS7

4. DiagnosticsPowerful, extensible diagnostics stack, run-time data

3. Configuration systemReadable, extensible, delegateable, distributed, centralized

2. AdministrationUser interface, remoteable, command-line tools, scripting and rich API set

1. Extensibility Run-time, configuration, diagnostics stack and user interface

Page 6: Developing and Deploying Applications on Internet Information Services (IIS)

IIS Application ExtensionsURL rewrite module• Security• SEO• Clean

URLs

Database manager• Simple,

application-centric database managment

Remote manager• Delegate

d• Firewall-

friendly

Web deployment tool• Applicatio

n packaging and deployment

Page 7: Developing and Deploying Applications on Internet Information Services (IIS)

IIS7 Server ExtensionsWebDav and FTP• Standards-

based• Secure and

firewall-friendly

Admin Pack and Power Shell Snap-in• Powerful

ways to manage IIS

Media Services 3.0• Smooth

Streaming• Bit-Rate

Throttling• Live

Smooth Streaming

Application Request Routing• Load-

balancing• Proxy

functionality

• Edge caching

Dynamic IP Restrictions• Prevent

DoS attacks

Web Deployment Tool• Migration• Web Farm

Sync

Page 8: Developing and Deploying Applications on Internet Information Services (IIS)

Total Extensibility

Server run-timeExtend IIS in native or managed code via the integrated pipeline

Configuration systemExtend the configuration system with a simple XML file. Automatic support in the user interface, command-line, script, native and managed code apis

TracingFollow your requests from start to finish: get detailed errors, monitor currently executing requests, go deep with request traces

User interfaceIntegrate your own user interface with a few lines of code, get automatic remoting and delegation

Page 9: Developing and Deploying Applications on Internet Information Services (IIS)

Run-time ExtensibilityIIS6 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 10: Developing and Deploying Applications on Internet Information Services (IIS)

Authentication

...

ExecuteHandler

...

SendResponse

HTTP Request

HTTP Response

Authorization

UpdateCache

ResolveCache

Extensibility IIS7 Architecture

BasicNTLM Anon

CGI

Static File

ISAPI

Log Compression

UrlAuthz

OutputCache

Forwarder

Basic40+ Componentized serverPluggable modular functionalitySmall generic request pipeline

EnablesLightweight serversCustom/specialized servers

Page 11: Developing and Deploying Applications on Internet Information Services (IIS)

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

...

...

Page 12: Developing and Deploying Applications on Internet Information Services (IIS)

ISAPI

Authentication

...

ExecuteHandler

...

SendResponse

Authorization

UpdateCache

ResolveCache

HTTP Request

HTTP Response

IIS7 ASP.NET IntegrationClassic mode

For compatibilityIntegrated mode (Integrated pipeline)

Can process all requestsEnhanced functionalityHigher fidelity notifications

Anon

aspnet_isapi.dll

Authentication

MapHandler

...

...

Forms Windows

ASPX

Trace

...

Basic

Compression

Log

Static File

Page 13: Developing and Deploying Applications on Internet Information Services (IIS)

.NET Extensibility

Existing ASP.NET APIIHttpModule and IHttpHandler types

Expanded ASP.NET APIsNew HttpApplication Events

MapRequestHandler, LogRequest, PostLogRequest

HttpRequest.HeadersHttpResponse.HeadersHttpResponse.DisableKernelCacheHttpRequest.ServerVariables

Page 14: Developing and Deploying Applications on Internet Information Services (IIS)

Handlers versus Modules

Modules provide services to all requestsBasic authentication moduleCompression module (etc)

Handlers provide services to specific extensions

ISAPI 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 15: Developing and Deploying Applications on Internet Information Services (IIS)

Getting Productive: Extending an Existing Application

demo

Page 16: Developing and Deploying Applications on Internet Information Services (IIS)

Going Live

Package and deploy your web application with the web deployment tool

You don’t have to be adminDeployment via

IIS management snap-inRemote managerCommand-lineApiPowershell

Can also be used for Synchronization

Incremental sync supportBackupVersioning

Page 17: Developing and Deploying Applications on Internet Information Services (IIS)

Deploying an App to a Live Server

demo

Page 18: Developing and Deploying Applications on Internet Information Services (IIS)

Managing the Server

User interface remoted via HTTPSNon-admin and delegation support

Command-linePowershell snap-inAppcmd

ScriptingPowershellCOM via AHAdminWMI

APIsConfiguration APIMicrosoft.Web.Administration

Page 19: Developing and Deploying Applications on Internet Information Services (IIS)

Managing Your Web Application on a Live Server

demo

Page 20: Developing and Deploying Applications on Internet Information Services (IIS)

Summary

IIS7 is built with total extensibility in mind

Run-timeConfiguration systemUser interfaceDiagnostics

IIS7 application and server extensions offer compelling functionality

Page 21: Developing and Deploying Applications on Internet Information Services (IIS)

IIS7 Extensions

Powershell snap-in

Database manager

Admin pack

URL rewriterApplication

request router

WebDav

FTP server

Web platform installer

Web deployment

tool

Media services

Remote manager

Dynamic IP restrictions

Page 22: Developing and Deploying Applications on Internet Information Services (IIS)

Please Complete an Evaluation FormYour feedback is important!

Evaluation forms can be found on each chairTemp Staff at the back of the room have additional evaluation form copies

Page 23: Developing and Deploying Applications on Internet Information Services (IIS)

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

Page 24: Developing and Deploying Applications on Internet Information Services (IIS)