Despite heroic communication efforts undertaken by Microsoft, there still is a lot of confusion as to what exactly .NET is. .NET is actually three different but interrelated things: -
.NET is a broad vision of the future of computing where services will be developed and then sold or leased to consumers by software providers. In this context, the core of the .NET brand is web services. -
.NET is a set of development tools, primarily the .NET Framework and Visual Studio .NET. For developers, this is the central meaning of .NET. -
.NET is a group of products: Visual Studio, Exchange, BizTalk, Commerce Server, SQL Server, and others. For a while, Microsoft was extending the .NET brand to promote these server products. Indeed, the original product name for Windows 2003 Server was Windows .NET Server. More recently, the .NET brand has retrenched a bit and the name has been removed from products except for Visual Studio. For our purposes, we will focus on the second meaning of .NET. While web services are also important to the framework, much can be done in .NET that is not a web service. Let's explore what a .NET portal framework is all about and how it can help your portal. What Is a Framework? Here are two commonly used definitions of a framework: -
"A framework is a partially complete software system that is intended to be instantiated . It defines the architecture for a family of systems and provides the basic building blocks to create them. It also defines the places were adaptations for specific functionality should be made." [1] [1] F. Buschmann et al. Pattern-Oriented Software Architecture , John Wiley & Sons, Ltd., England, 1996. -
"A framework is a set of classes that embodies an abstract design for solutions to a family of related problems." [2] [2] Ralph Johnson and Porian Foote. "Designing Reusable Classes," Journal of Object-Oriented Programming , Volume 1, Number 2, June/July 1988. A developer builds a complete application by instantiating and inheriting from components in the framework. The framework therefore contains a set of objects that serve as examples for other objects to be created or as parent objects from which new objects inherit methods and properties. A more colorful analogy is to look at a framework as a Noah's Ark, with one or two examples of each type of object that needs to be created in order to populate the application. We are discussing two frameworks here. One is the out-of-the-box .NET Framework. I will explain how .NET provides benefits to developers and can be used to create our second framework, the one you create specifically for your portal requirements. It is at this stage that you will determine how server products such as SharePoint, Content Management Server (CMS), BizTalk, and Commerce Server dovetail with your custom .NET code. .NET Framework Benefits The .NET application development framework offers many benefits to developers. These benefits carry over into portal development. They include: -
Object-oriented programming (OOP). The .NET Framework was written from the ground up with OOP ideology in mind. This is the most dramatic departure from the "spaghetti code" era of Active Server Pages (ASP). It is also the biggest challenge for veteran Visual Basic 6 programmers. Many habits must be broken and lessons unlearned to make the transition to .NET. -
Base class library. The .NET Framework exposes a rich set of classes to use with various development tasks . An additional benefit is a set of wrapper classes to use instead of the Windows API. -
Garbage collection and automatic memory management. Various memory-related bugs very common to C++ development are no more in the .NET Framework. The garbage collection mechanism is responsible for controlling the lifetime of the objects and their proper disposal. -
Increased performance. Several new caching techniques and just-in-time (JIT) compilation make .NET-based applications perform significantly faster, especially when compared with old ASP-based code. -
New advanced security options. These include code access security, which allows the assignment of security rights to an executing block of code. -
Native support for XML and web services development. This brings .NET in line with industry standards. -
Interoperability with existing applications. The .NET Framework includes an interoperability layer that makes it very easy to consume existing COM components from .NET modules and also to use .NET objects from unmanaged (not .NET) code. -
Increased productivity of the development team. Visual Studio .NET includes many new tools to boost developer productivity and, without any doubt, is the best integrated development environment (IDE) to come from Microsoft so far. -
Simple, copy-based deployment model. Installation of ASP applications can be quite interesting, especially if, as is typically the case, that installation is not well documented. Self-referenced assemblies and a simplified deployment model eliminate the "DLL hell" problem so common with traditional Windows development. |