for developers n.
Skip this Video
Loading SlideShow in 5 Seconds..
for Developers PowerPoint Presentation
Download Presentation
for Developers

Loading in 2 Seconds...

play fullscreen
1 / 42

for Developers - PowerPoint PPT Presentation

  • Uploaded on

for Developers. Martin Parry Developer and Platform Group Microsoft 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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'for Developers' - shiloh

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
for developers

for Developers

Martin ParryDeveloper and Platform GroupMicrosoft


  • 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
the top 7 ways part 1
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
iis 7 0 introduction
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
windows process activation service
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
iis 6 0 request pipeline1
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
iis 7 0 request pipeline1
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
iis 6 0 configuration
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
iis 7 0 configuration
IIS 7.0 Configuration



“root” web.config




building native modules
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
building managed modules
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
iis7 diagnostics rsca
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
iis7 diagnostics failed requests
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
iis7 failed request tracing
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
management in windows server 2008
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
windows powershell
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
powershell and developers
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
developing federated identity apps
With AD FS

Active Directory Federation Services


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”

Developing Federated Identity Apps
b2b federation scenario
B2B Federation Scenario

Federation Trust




application authorization using claims

Statements made by an authority about a user

Used for authorization purposes

Three types of ADFS claims



User Principal Name (UPN)

Common Name



Application Authorization Using Claims





Eric Parkinson


Purchasing Staff





coding a federation aware app
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
windows communication foundation
Windows Communication Foundation

.NET Remoting



with other



Location transparency










Enterprise Services




Poison Message Handling


MSMQ 4.0


Dead Letter Queues


Remote Receive

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 
poison message handling
Poison Message Handling
  • WCF binding configuration...


<binding name="PoisonBinding" receiveRetryCount="0“maxRetryCycles="1“retryCycleDelay="00:00:05“receiveErrorHandling="Move"></binding>


end of part one
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
msdn in the uk
MSDN in the UK
  • Visit
    • Newsletter
    • Events
    • Screencasts
    • Blogs