Presentation is loading. Please wait.

Presentation is loading. Please wait.

for Developers Martin Parry Developer and Platform Group Microsoft

Similar presentations


Presentation on theme: "for Developers Martin Parry Developer and Platform Group Microsoft"— Presentation transcript:

1 for Developers Martin Parry Developer and Platform Group Microsoft

2 Agenda Top 7 Ways To “Light Up” Your Apps on Windows Server 2008
Part 1 emphasis on IIS7, PowerShell Part 2 emphasis on WER, Restart and Recovery APIs, TxF

3 The Top 7 Ways… Part 1 Build More Flexible Web Applications
Design Highly-Manageable Applications Develop Federation-Aware Applications Build Connected Systems Build For Scalability Virtualize Develop More Reliable Applications

4 1. Build More Flexible Web Apps

5 IIS 7.0 Introduction Client version shipped with Windows Vista
Limited throughput Server version will ship with WS2008 Currently available in RC form More features than client

6 IIS 6.0 Architecture

7 IIS 7.0 Architecture

8 Windows Process Activation Service
Manages configuration What used to be the metabase Responsible for starting worker processes... w3wp.exe ...and routing incoming requests to the appropriate worker process Also hosts the new listener adapter interface You can build your own listeners for WAS

9 IIS 6.0 Request Pipeline

10 IIS 6.0 Request Pipeline IIS pipeline extensible using ISAPI
Native code Can apply to all requests ASP.NET pipeline extensible using IHttpModule Managed code Can only apply to requests routed via ASP.NET Certain pipeline elements are “always there” IIS authentication Logging

11 IIS 7.0 Request Pipeline

12 IIS 7.0 Request Pipeline Linear sequence of modules
Any module can be enabled/disabled Including “built-in” ones Modules can be managed or native code Any type of module applies to any request

13 IIS7 Modules

14 IIS 6.0 Configuration IIS 6.0 (and earlier) use the metabase
Stores all configuration information Originally in binary form, then in XML Hard to allow management of separate apps by different groups of people

15 applicationHost.config
IIS 7.0 Configuration machine.config applicationHost.config “root” web.config web.config web.config web.config

16 IIS7 Configuration

17 Building Native Modules
Export a RegisterModule function from DLL Define one or more other functions To process request or response Inside RegisterModule... Hook up your other functions(s) at specific points in the pipeline E.g. Begin, AuthN, AuthZ, ExecuteHandler, End

18 Building Managed Modules
Implement IHttpModule Implement Init function Attach event handlers for specific points in the pipeline E.g. Begin, AuthN, AuthZ, ExecuteHandler, End Same as existing ASP.NET HttpModules

19 IIS7 Managed Module

20 IIS7 Diagnostics - RSCA Runtime Status and Control API
Shows currently executing: - Application Pools Requests Exposed via IIS admin tool Programmatically via WMI and Managed OM

21 IIS7 Diagnostics – Failed Requests
IIS7 allows you to log trace information just for requests that fail For some definition of failure Buffers all trace output Only flushes to disk if the request fails Log output is XML, with a stylesheet Breaks down processing by module Includes timing details for each module

22 IIS7 – Failed Request Tracing
Enable FREB at the Web Site level Configure FREB rules at the application level Each rule: - Specifies the type of web content it applies to Can specify a specific failure code Can specify a duration in seconds Can specify a trace event severity

23 IIS7 Failed Request Tracing

24 2. Design Highly-Manageable Apps

25 Management in Windows Server 2008
MMC v3.0 Managed framework for building snap-ins Microsoft.ManagementConsole namespace Ships with .NET Framework v3.0 Already seen it in use – IIS Admin Console Windows PowerShell

26 Windows PowerShell It’s a command-line interface! Scriptable
Commands may be composed Not based on text, based on .NET objects Available for... Windows XP Windows Server 2003 Windows Vista Ships inside... Windows Server 2008

27 Windows PowerShell and Scripting

28 PowerShell and Developers
Developers can create new commands ...and can create PowerShell “drives” Excellent way to provide admin experience for your applications. Exchange 2007 and SQL Server 2008, for example

29 PowerShell Cmdlets and Providers

30 3. Develop Federation-Aware Apps

31 Developing Federated Identity Apps
1/3/ :14 AM Developing Federated Identity Apps With AD FS Active Directory Federation Services Why? Enables cross-domain, cross-platform access to your Web applications Provides Web SSO experience Promotes a claims-based programming model Achieve reach for your application Think “outside of the firewall” © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

32 B2B Federation Scenario
1/3/ :14 AM B2B Federation Scenario Federation Trust https https https © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

33 Application Authorization Using Claims
1/3/ :14 AM Application Authorization Using Claims Claims Statements made by an authority about a user Used for authorization purposes Three types of ADFS claims Identity User Principal Name (UPN) Common Name Group Custom Identity UPN: Group Purchaser Administrator Adatum Custom DisplayName: Eric Parkinson Position: Purchasing Staff © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

34 Coding a Federation-Aware app
System.Web.Security.SingleSignOn System.Web.Security.SingleSignOn.Authorization In code: - SsoId = User.Identity as SingleSignOnIdentity SsoId.IsAuthenticated – have we a good security token? SsoId.SecurityPropertyCollection – each item could be... Group claim, UPN claim, custom claim Application can get any/all claim details

35 4. Build Connected Systems

36 Windows Communication Foundation
1/3/ :14 AM Windows Communication Foundation .NET Remoting ASMX Interop with other platforms Extensibility Location transparency Attribute- Based Programming Message- Oriented Programming WS-* Protocol Support Enterprise Services System.Messaging WSE

37 Poison Message Handling
Sub-queues MSMQ 4.0 App-Specific Dead Letter Queues Transactional Remote Receive

38 Sub-queues Never created explicitly Accessed via DIRECT FormatName...
DIRECT=OS:server\private$\myqueue;mysubq Created at time of first Open Can receive in the normal fashion Can only insert with MQMoveMessage No managed code equivalent 

39 Poison Message Handling
WCF binding configuration... <netMsmqBinding> <binding name="PoisonBinding" receiveRetryCount="0“ maxRetryCycles="1“ retryCycleDelay="00:00:05“ receiveErrorHandling="Move"> </binding> </netMsmqBinding>

40 End of Part One Build More Flexible Web Applications
IIS7 Design Highly-Manageable Applications Windows PowerShell, MMC3 Develop Federation-Aware Applications AD FS Build Connected Systems WCF, MSMQ 4

41 MSDN in the UK Visit http://msdn.co.uk Newsletter Events Screencasts
Blogs

42


Download ppt "for Developers Martin Parry Developer and Platform Group Microsoft"

Similar presentations


Ads by Google