|
Web services is one of the hot new I.T. concepts, and Microsoft is arguably the vendor most aggressively retooling its entire technology towards Web services. This spring Microsoft shipped, under the header .NET, a wave of Web services-related programming models, products, services, and tools. According to Bill Gates, chairman and chief software architect, this was the result of a major shift in emphasis within his company.
"About three years ago, [we] bet the company on this Web services paradigm ... The entire Microsoft R&D budget is focused around these goals. It's a huge investment, over $5 billion a year," Gates said at the launch of Visual Studio .NET and the .NET Framework in February 2002.
With the energy, money, and focus Microsoft is putting into its .NET initiative, most observers do not doubt the company will be successful in expanding in the enterprise server and application integration market as well as the consumer subscription-based online services market. This is, of course, assuming privacy and security issues do not plague the company.
One day after the lavish launch of Visual Studio.NET, security concerns arose when reports of VisualBasic.NET being vulnerable to buffer-overflow attacks circulated in the press. Bill Gates answered the reports by forcing Microsoft engineers to spend 30 days on security and privacy issues instead of new feature development - a concept he calls the "Trustworthy Computing" imperative.
There's no question that in a world of distributed and connected Web services, security and privacy need to be guaranteed. The ball is now in Microsoft's court to make this happen with .NET.
Meanwhile, Microsoft's .NET focuses on five core areas: programming models; servers; clients; tools; and services.
Programming Model: the .NET Framework.
The .NET Framework is a programming model enabling developers to build XML Web services. The .NET Framework consists of three major areas:
- CLR (Common Language Runtime), which executes applications written in any of 22 different languages, including Java and two new Microsoft languages, VisualBasic.NET, and C#. The CLR's purpose is to handle common tasks, such as memory management, security, and language integration, simplifying life for developers. Unlike the Java compiler, Microsoft's CLR supports multiple languages; however, it only runs on Microsoft operating systems.
- Unified core classes, which facilitate XML support, networking, and data access, and enables developers to build any type of application, Windows-based or Web-based, using the same classes.
- Presentation classes, which include ASP.NET for the development of Web applications, as well as Web Forms and Windows Forms for the development of Web- or Windows-based interfaces, or "smart client" applications.
ASP.NET is a technology for generating dynamic Web pages from server scripts. Developers can use premade server controls, such as shopping carts, encapsulating user interfaces and related functionalities. Instead of interpreting code each time a page is displayed, ASP.NET is faster by compiling code the first time it is invoked, using the CLR.
The dramatic improvements of ASP.NET might offer the biggest benefits of .NET for hosting companies, according to Eric Rudder, senior vice president, developer and platform evangelism at Microsoft. "ASP.NET has such better operation characteristics that hosting companies could build the kind of powerful Web applications they might not even have thought of in the past."
|