Silverlight Hack

Silverlight & related .NET technologies

About Me

Welcome to Silverlighthack.com.  This is a site where you can find many articles on Silverlight, Windows Phone 7 and .NET related technologies.  

My name is Bart Czernicki.  I have been working with computers since 1988 and have over 12 professional years in the IT field focusing on architecture, technology strategy and product management.  I currently work as a Sr. Software Architect at a large software development company.

Below is the cover of my new book that shows how Silverlight's unique RIA features can be applied to create next-generation business intelligence (BI 2.0) applications.

Silverlight 4 Business Intelligence Soft 

Contact: [email protected]

View Bart Czernickis profile on LinkedIn

NONE of the comments or opinions expressed here should be considered ofmy past or current employer(s).  The code provided is as-is without anyguarantees or warranties.

Windows Server 2008 Web Edition - Ready For Primetime

Summary

Windows Server 2008 Web Edition is not the Web Edition we knew from theSever 2003 platform. Microsoft has removed the big limitation ofinstalling some enterprise applications on the OS (i.e., SQL Server).Furthermore, IIS 7.0 is now the core web server and it can take advantage ofhardware specs similar to Standard Edition. With these changes andmore, Windows Server 2008 Web Edition is now a viable/affordableupgrade path from Windows Server 2003 Standard.

 

Are you getting ready for all the good stuff Visual Studio 2010 will bring?  Visual Studio 2010 will bring a lot of great features for ASP.NET enterprise services and tons of great features.  Some key features like ASP.NET, ASP.NET MVC, Silverlight 2/3, WCF/WF 4.0 will all run faster and better on the IIS 7.0 platform because of its key architecture features.  Platforms like Silverlight 2/3 or ASP.NET MVC will be easier to deploy on the IIS 7.0 web server.  Lastly, some features of WCF 4.0/WF 4.0 will require IIS 7.0 to utilize all of their respective features (WAS in IIS 7.0).

IIS 7.0 is not a decoupled application you can install on any OS.  Currently the IIS web server is coupled to the Vista/Windows 7 workstation OSes and the Windows 2008 server OS.  Therefore, if you want to use IIS 7.0 in production, you need the Windows Server 2008 Operating System.  I have a couple of projects coming up that I am developing and wanted to utilize some of IIS 7.0's features.  Furthermore, having the projects ready to take advantage of future .NET enhancements is another added bonus.  I decided to upgrade my server with the new OS.

I have a dedicated server that I lease through softlayer.com and I looked at my upgrade options.  I was currently running Windows 2003 Standard so upgrading to Windows 2008 Standard made perfect sense.  As part of my hosting package, I was not being charged extra for my OS; however, upgrading to Windows 2008 Standard was an extra $70/month.  That is over $800/year just to upgrade to the "equivalent" version of Windows 2008 Server.  I did notice that Windows 2008 Web Edition was being offered at the same rate as my current OS.  However, I was really apprehensive about upgrading/downgrading to a "web edition" of an OS. 

Windows 2003 Server Web Edition is really limited in what it was licensed to do.  Essentially it limited you to using the server as a web server.  By not allowing you to run any of the server services, it prevented you from installing enterprise applications and limited the hardware specifications.  The biggest limitation was the inability to install SQL Server.  If you ran Windows 2003 Server Web Edition, you were limited to SQL Server Express (unless you wanted to install an open source alternative or hack the OS).  I think Microsoft dropped the ball big time, as any web applications worth its weight requires some kind of database backend.  Most web sites (even ones that get a decent amount of traffic: top 20,000 worldwide) can be run from a single server.  Furthermore, any web application worth its weight usually is dynamic and has some kind of backend database.  If Windows 2008 Server Web Edition were the same, then this was obviously not an option for me.

Windows 2008 Server Web Edition is different than its 2003 counterpart.  While the 2008 Web Edition still had the hardware/service limitations, the OS did eliminate the big limitation of not being able to install SQL Server on the OS (SQL Server Enterprise editions still do require a higher version of Windows 2008 Server).  The Windows 2008 Server Web Edition does support a decent amount of RAM (32 Gig on x64 hardware) and allows you to run on a max of 4 processors (which is definitely a beefy server) which is equivalent to the Windows 2008 Server Standard Edition.  Therefore, Windows 2008 Server Web Edition is actually a pretty good equivalent to Windows 2003 Server Standard as a web server.

Why upgrade to Windows Server 2008

There are a lot of neat features in Windows Server 2008; however, IIS 7.0 for me is the biggest.  I mentioned performance, Silverlight and ASP.NET as my big reasons as to why I decided to upgrade.  Let's look at it a little deeper.

What makes IIS 7.0 great (my main reasons for going to it.  I know there are several others not mentioned below.):

  • Performance:
    • Modular Web Server Architecture allows you to turn features off and on like components.  Apache has allowed you to do this for a while now.  IIS has finally caught up and this improves performance as you do not need to install/run services that you do not use.
    • Easy Dynamic Caching & Compression.  This is finally built into IIS and allows you to quickly configure these settings.  IIS 6.0 was a pain in the butt to do this.  There are third party add-ons that do a very good job at this; however, it's free in IIS 7.0.
  • Windows Process Activation Services (WPAS or WAS)
    • Before IIS 7.0 if you wanted to host your Windows Communication Foundation (WCF) services, you had two choices: http or self-hosting.  Both choices have their pros and cons.  One coupled you to http via IIS and the other you were responsible for writing your own hosting module.  With WAS you can now host your WCF services and they can actually activate/deactivate themselves via listeners.  For example, imagine having a web site that is not turned on, taking any hardware resources and is ONLY activated when a request is made.  Most WCF experts recommend WAS hosting because of its many features.
  • Smooth Streaming
    • If you want to deliver rich media experiences in Silverlight like nbcolympics.com, you will need this feature.  This allows you to stream video content and it automatically throttles the quality of the stream if the network latency/connection is poor on the client's end.  This is very cool as even stable Internet connections can slow down for a few seconds.  You may receive a few frames at lower quality; however, your media will continue to play.  This is especially important for larger streams where the buffering is determined at the initial connection.
  • Extensability
    • Writing custom handlers/modules and deploying them to IIS has never been easier.  Several months ago, I showed how one could write an http handler for a dynamic clientaccesspolicy.xml file rather than placing an XML file on root of the web server and it is a lot simpler in IIS 7.0 than IIS 6.0.
    • Microsoft has a download page where the community has made several extensions that you can drop into IIS 7.0.  This of course was available in IIS 6.0; however, the management and deployment of this wasn't 100% there.
  • Ease of use for current and future applications (These are minor but make my life easier.)
    • Silverlight 2 hosting does not require additional MIME types (like it does in IIS 6.0)
    • ASP.NET MVC does not require wildcard mapping (like it does in IIS 6.0)
    • Want to create a clean REST service URLs (removing the .svc)?  Just as in ASP.NET MVC; there is no wildcard mapping required.

After doing the research over the last couple of days, I decided to bite the bullet and upgrade the OS to Windows 2008 Server Web Edition on Sunday (lowest bandwidth for my websites).  I installed SQL Server 2005 Standard, restored my databases and upgraded my web sites to IIS 7.0 and everything worked out great.  Having upgraded to Windows 2008 Server, I am really looking forward to using the IIS 7.0 features for my future projects and I will be ready for everything that .NET 4.0 and Visual Studio 2010 has to offer.

Posted: Mar 01 2009, 16:47 by Bart Czernicki | Comments (0) RSS comment feed |
  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: Visual Studio 2010
Tags:
Social Bookmarks: E-mail | Kick it! | DZone it! | del.icio.us
blog comments powered by Disqus