.NET, if Microsoft has its wish, is
.NET is meant to
.NET is not a single product. It is an umbrella
The .NET Framework, Microsoft claims, is the first software environment built from the ground up to provide native support for XML Web services, in addition to other more traditional types of applications, so much so that Microsoft has a graphic, as shown in Figure 3.10, which depicts the .NET Framework as a sausage machine for delivering Web services.
Figure 3.10:
Microsoft s depiction of .NET Framework as a sausage machine for churning out XML Web services.
To realize the intended native support for Web services, .NET Framework is tightly and fully integrated into the latest Windows operating systems ”namely, Windows 2003 Server family, Windows 2000 (with Service Pack 3 or 4), or Windows XP. It is thus a Windows component. The .NET Framework (which was at Version 1.1 as of June 2003) includes everything you need to run applications built using the .NET Framework, including the Common Language Runtime (CLR) and the necessary class libraries.
Having .NET Framework integrated into Windows thus obviates the need for a separate application server to run .NET-compliant applications and Web services. This is one of Microsoft s main value
If an older Windows 2000 or Windows XP system does not have the .NET Framework installed, Microsoft provides a free and easy download of the .NET Framework 1.1 as a part of the now-standard Windows Update process. You can check whether the .NET Framework is installed on a Windows system by using the standard Add or Remove Programs control panel ”as
Figure 3.11:
Checking to see if the .NET Framework is installed on a Windows system using the standard Windows Add or Remove Programs control panel.
There is also a free, downloadable Software Development Kit (SDK) Version 1.1, which includes everything one needs to write, build, test, and deploy .NET Framework applications. This SDK 1.1 consists of documentation, application samples, command-line tools, and compilers. Since the .NET Framework 1.1 (or greater) is required to run any application, including Web services developed by others using a .NET Framework 1.1 (or greater) offering, it is best to have .NET Framework installed.
Microsoft describes the .NET initiative as being software that connects information, people, systems, and devices. Within that overall context, the .NET Framework becomes the programming model of the .NET environment for building, deploying, and running Web-based applications, smart client applications, and XML Web services. .NET, per Microsoft, will take care of much of the software plumbing (i.e., interfacing and necessary service location), thus enabling software developers to focus on the problem-solving aspects of their programs.
.NET, which spans clients, servers, application suites, and development tools, is made up of (at a minimum):
The .NET Framework
Developer tools
A set of servers
A
Application suites
A
The .NET Framework is .NET s universal application execution environment. .NET-centric XML Web services, as well as other applications, are
On the client side, .NET is embraced by Windows XP, Windows CE .NET 4.2 (for non-PC devices, such as cash registers, automated teller machines, and medical recording systems that require an embedded OS), and Windows Mobile 2003 for Pocket PCs. Note the absence of Windows ME and the still widely used Windows 98, but this makes sense. Windows XP, based on the Windows NT code set, is indubitably the most stable and resilient release of Windows to date.
Until now, I was never a big proponent of upgrading Windows on client systems just because a
On the development tool front, the flagship Microsoft offering when it comes to .NET is the Visual Studio .NET ”which in its latest incarnation is known as Visual Studio .NET 2003. Visual Studio, like all the other point-and-click, drag-and-drop software development
Microsoft, predictably, classes Microsoft Office XP as a .NET-compliant application. This is a bit of a stretch, but, to be fair, Microsoft, as earlier pointed out, has imbued significant XML capabilities into the pertinent applications ”in particular, Excel and Word. Based on these criteria, one would have thought that Microsoft would have mentioned the XML Notepad as another .NET application, but Microsoft appears to have
As of the summer of 2003, there were at least four Microsoft services that fell, albeit loosely, within the category of .NET-related services. These were as
.NET Alerts
.NET Passport
MSN Messenger Connect
Microsoft MapPoint Web Service
Microsoft .NET Alerts has evolved from a real-time, e-mail-based change in flight status notification system (i.e., flight delayed or flight
.NET Passport, which is described in more detail in Section 3.4, is Microsoft s now star-crossed user authentication scheme to facilitate a common single sign-on to multiple Web sites, portals, and services. The goal of Passport, as with any single sign-on scheme, is to eliminate the need for users to maintain (and remember) multiple user IDs and passwords for different sites, applications, and services. Most other single sign-on schemes (e.g., IBM s Express Logon feature on its host integration products) focus on providing single sign-on at an enterprise or data center basis (i.e., on an intranet or extranet basis).
Passport, on the other hand, set out from the get-go to offer single sign-on across organizations, Web sites, and even
The Liberty Alliance Project was initiated in September 2001 by such super heavyweights as AOL, Sun, H-P, Novell, VeriSign, Sony, General Motors, American Express, Nokia, and Fidelity Express to provide an
Microsoft Network (MSN) Messenger Connect for Enterprises is in essence a variation of the .NET Alert services. It enables companies to interact with their customers in a secure and audit trail “
Microsoft s nascent MapPoint Web Service is a good example of Web service technology in practice. It is a programmatic XML Web service for integrating maps, driving directions, distance calculations, proximity searches, and other geographic location “related intelligence into new applications. All of you are probably very familiar with the hot links to MapQuest (or equivalent) available on many Web pages when referring to a street address (e.g., a restaurant or hotel) or geographic location so that you can click on it to get a map of the area in question. MapPoint now offers this capability as a Web service, as opposed to a hot link, so that mapping services can be seamlessly integrated into new applications. This, as discussed in Chapter 1, is what Web services are all about.
The .NET Framework is now an important and strategic new integrated component within the Windows family of operating systems ”whether for servers, PC clients, mobile clients, or non-PC terminal clients running an embedded Windows OS (i.e., Windows CE 4.2 or greater). Though it is the native execution environment for XML Web services and other Web applications, it is meant to be
The .NET Framework, as illustrated in Figure 3.12, consists of two key subcomponents, namely:
The Common Language Runtime (CLR)
A unified set of class libraries referred to as the .NET Framework Class Library
Figure 3.12:
The high-level architecture of the .NET Framework, per Microsoft, which is made up of the Common Language Runtime (CLR) and a .NET Framework Class Library.
CLR is a Windows-specific execution environment. You could even think of it as a virtual machine, la a Java Virtual Machine (JVM) or Java container, but in this instance for .NET applications ”including Web services. As with a VM or Java container, it provides all the common services required by .NET applications. Some of the key services provided by the CLR include language integration, security, memory allocation, process control, thread management, and unified error handling. It also provides development time services to applications being developed within the .NET Framework ”particularly to facilitate cross-language integration.
Microsoft claims that it and its vast network of partners provide .NET Framework “compliant compliers for over 20 programming languages. These languages include C, C++, C#, COBOL, Microsoft Visual BASIC, FORTRAN, RPG, Pascal, Perl, APL, Python, and Microsoft Jscript. Microsoft also claims that over 350 tools are already available from third-party
The .NET Framework Class Library includes prepackaged software components that application developers can use to expedite and simplify their software development process and cycle. Software functionality available as base class
The .NET Framework Class Library is made up of the following three key subcomponents:
ASP.NET, Active Server Pages (ASP) software functionality to facilitate the development of server-based Web applications and Web services
ADO.NET to provide XML-based database interaction, including search and translation functionality, through OLE DB, ODBC, Oracle, and Microsoft SQL Server interfaces
Windows Forms software classes, which are made available to help developers create GUIs for smart clients