As you know, 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, though, 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 SP2, and so on).
The ASP.NET framework (DotNetNuke 3.2 can be run on both ASP.NET 1.1 and 2.0, but the development project structure is specifically configured for ASP.NET 1.1. DotNetNuke 4 requires the ASP.NET 2.0 framework for both runtime and development.)
Visual Basic .NET (C# can be used to write extensions to the platform).
Web forms
Microsoft Internet Information Services (or any web server capable of supporting ASP.NET such as the built-in web server in VWD Express and so on)
ADO.NET
Microsoft SQL Server 2000 or Microsoft SQL Server 2005 (Express, Standard, or Enterprise)
In addition, DotNetNuke showcases several key design patterns and concepts that differentiate it from many other web applications' frameworks and provide a foundation that demonstrates and encourages best-practice programming:
Provider Model
Custom Business Objects and Controllers
Centralized Custom Business Object Hydration
Membership, Roles, and Profile Providers using ASP.NET 2.0 API
Localization framework that mirrors the ASP.NET 2.0 implementation