JavaScript Editor Javascript validator     Javascripts

Main Page

Previous Section Next Section

1.1 The .NET Framework

The .NET Framework sits on top of the operating system, which can be any flavor of Windows,[1] and consists of a number of components. Currently, the .NET Framework consists of:

[1] Because the Common Language Runtime translates all code to a common interactive language that is later complied to native code, .NET can, in principle, be implemented on Unix, Linux, Mac OS X, or any other operating system.

  • Five official languages (C#, Visual Basic .NET, Managed C++, and J#, as well as the JScript .NET scripting language)

  • A number of related class libraries, collectively known as the Framework Class Library (FCL)

  • The Common Language Runtime (CLR), an object-oriented platform for Windows and web development that all these languages share

  • The .NET Framework is an integral part of Windows Server 2003 but must be downloaded and installed to run on Windows 2000 or Windows XP. Earlier versions of Windows are not supported.

Figure 1-1 breaks down the .NET Framework into its architectural components.

Figure 1-1. NET Framework architecture

The Common Language Runtime (CLR) executes your program on your web server. The CLR activates objects, performs security checks on them, lays them out in memory, executes them, and handles garbage collection.

In Figure 1-1, the layer on top of the CLR is a set of framework base classes, followed by an additional layer of data and XML classes, plus another layer of classes intended for web services and Web Forms, and Windows forms. Collectively, these classes are known as the Framework Class Library (FCL). With more than 5,000 classes, the FCL facilitates rapid development of ASP.NET applications. This same class library is used for desktop applications as well.

Microsoft .NET supports a Common Language Specification (CLS) that allows you to choose the syntax with which you are most comfortable. You can write classes in C# and derive from them in VB.NET. You can throw an exception in VB.NET and catch it in a C# class. Suddenly the choice of language is a personal preference rather than a limiting factor in your application's development.

The set of framework base classes supports rudimentary input and output, string manipulation, security management, network communication, thread management, text manipulation, reflection, and collections functionality, and so on.

Above the base class level are classes that support data management and XML manipulation. The data classes support persistent management of data that is maintained on backend databases. These classes include the Structured Query Language (SQL) classes to let you manipulate persistent data stores through a standard SQL interface. Additionally, a set of classes called ADO.NET allows you to manipulate persistent data. There are classes optimized for the Microsoft SQL Server relational database, and there are generic classes for interacting with OLE DB compliant databases. The .NET Framework also supports a number of classes to let you manipulate XML data and perform XML searching and translations. Chapters Chapter 8 through Chapter 13 discuss the data-handling aspects of the .NET Framework.

Extending the framework base classes and the data and XML classes, is yet another tier of classes—an applications level. This tier of classes is geared toward three different technologies:

Windows Forms

Facilitates the development of Windows desktop applications with rich and flexible user interfaces. These "traditional" desktop applications can interact with other computers on the local network or over the Internet through the use of web services.

Web Forms

Supports the development of robust, scalable web pages and web sites, especially ASP.NET applications. Server controls enable many new features, such as validation, event-driven programmatic manipulation of the web pages, state maintenance, and more. Chapter 6 discusses web forms in detail.

Web Services

Supports the development of applications that can process RPC-style method calls or XML messages over the Internet. Web services include a number of classes that support the development of lightweight distributed components, which will work even in the face of firewalls and network address translation (NAT) software. Because web services employ standard Hypertext Transfer Protocol (HTTP) and Simple Object Address Protocol (SOAP) as underlying communications protocols, these components support plug-and-play across cyberspace. Chapter 15, Chapter 16, and Chapter 17 discuss web services specifically.

    Previous Section Next Section

    JavaScript Editor Javascript validator     Javascripts