for Developers - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

for Developers

Description:

B2B Federation Scenario. Federation Trust. https. https. https ... Can receive in the normal fashion. Can only insert with MQMoveMessage. No managed code equivalent ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 43
Provided by: dani93
Category:
Tags: developers

less

Transcript and Presenter's Notes

Title: for Developers


1
for Developers
  • Martin ParryDeveloper and Platform
    GroupMicrosoft
  • martin.parry_at_microsoft.comhttp//martinparry.com

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
IIS 7.0 Configuration
machine.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
  • Its 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
  • 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

32
B2B Federation Scenario
Federation Trust
https
https
https
33
Application Authorization Using Claims
  • Claims
  • Statements made by an authority about a user
  • Used for authorization purposes
  • Three types of ADFS claims
  • Identity
  • Email
  • User Principal Name (UPN)
  • Common Name
  • Group
  • Custom

Identity UPN eric_at_adatum.com
Custom DisplayName Eric Parkinson Position Pur
chasing Staff
Group Purchaser Administrator Adatum
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
.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...
  • DIRECTOSserver\private\myqueuemysubq
  • 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...
  • ltnetMsmqBindinggt
  • ltbinding name"PoisonBinding" receiveRetryCount
    "0 maxRetryCycles"1 retryCycleDelay"00000
    5 receiveErrorHandling"Move"gtlt/bindinggt
  • lt/netMsmqBindinggt

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
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com