The architecture of DotNetNuke has evolved from a simple rewrite of the IBuySpy Portal into a best-practice example of enterprise-level design patterns and coding standards that can be applied in the real world. This chapter explains the components of the architecture behind DotNetNuke and how they work together to form an enterprise-worthy web application framework.
Before tackling the architectural overview, however, you should understand some key technologies that DotNetNuke employs.
DotNetNuke was originally derived from the IBuySpy Portal Starter Kit. IBuySpy was written in VB.NET and showcased some interesting development concepts of the "new" ASP.NET platform. If you look under the hood of DotNetNuke today, it doesn't even resemble IBuySpy. We've taken the basic principles of dynamic content from IBuySpy and applied many best-practice design patterns and coding standards that have evolved as the .NET Framework has grown.
DotNetNuke uses several key technologies in its supported architecture:
An operating system that supports ASP.NET (that is, Windows 2000 with SP4, Windows 2003 Server, Windows XP with SP3, Vista, and so on)
The ASP.NET framework (Early versions of DotNetNuke ran on the then current version of ASP.NET. DotNetNuke versions 4 and 5 require the ASP.NET 2.0 or later framework for both runtime and development.)
Visual Basic .NET (C# or any other CLR-compliant language can be used to write extensions to the platform.) ...