Objective 1.04: Future .NET Directions


Although this does not relate directly to the Solutions Architecture exam, it may be interesting to know some of the changes coming to the .NET platform over the coming months.

On The Job

At the time of this writing, some of these improvements to .NET were already in Beta testing, while Microsoft had only recently announced others. Of course, the one thing we can’t control is the passage of time, so by the time you read this, this might have become old news.

.NET Platform Enhancements

Microsoft is currently testing a new version of the .NET Framework and Visual Studio .NET, and it is continuing to roll out new versions of its enterprise applications that include tighter integration with .NET.

  • Visual Studio .NET 2003 offers developers a tighter integration with the new Windows Server 2003. It also offers support for the new .NET Compact Framework for small and mobile devices as well as improved application performance.

  • .NET Framework 1.1 will include support for developing mobile web applications. In additional, .NET will be able to support side-by-side execution of multiple versions of an application or component on the same computer through versioning. For example, this will allow two versions of the .NET Framework itself to exist on one machine (version 1.0 and version 1.1, for example), so that an application can run in the environment it was designed for. There are other features in that release, including enhancements to scalability and performance of .NET applications as well as support for IPv6, the new protocol for IP addressing.

  • SQL Server code-named “Yukon” will extend the CLR environment inside of SQL Server. That means developers will be able to write SQL-stored procedures using familiar languages like Visual Basic .NET and Visual C#.

Cross-Platform .NET Including Mono and Apache

ECMA International, formerly known as the European Computer Manufacturers Association, has standardized the Common Language Infrastructure (CLI) and the C# programming language. The CLI (ECMA standard 335) is a standard that describes executable code and the environment in which that code runs. In fact, the CLI describes MSIL and CLR. The C# specification (ECMA standard 334) describes the syntax and constraints of the C# programming language.

On The Job

ECMA standards can be downloaded from the organization’s web site at http://www.ecma-international.org/.

What this means to you and me is that we do not have to rely on Microsoft to provide a .NET runtime environment and programming language. We may choose to use the Microsoft set of tools because of quality and performance, but we are not tied to them.

Already there are a number of projects under way to create .NET-compatible environments on other operating systems. The most well-known effort is the Mono project (http://www.go-mono.com/). Mono is an open-source implementation of the Microsoft .NET development platform. Already there are downloadable versions of this environment for several flavors of Linux—RedHat, SuSE, and Mandrake. You can download a C# compiler as well.

There are three main advantages to this open-source approach:

  • It’s free.

  • .NET applications are supported on a platform other than Windows.

  • Developers have full access to the source code, so they can fix bugs and make changes.

There are two big disadvantages, however. First, because the package is still in development, it is not complete. Only a handful of base classes have been developed compared with the 3,000 that the .NET framework provides. Second, developers lose the productivity provided by the Visual Studio IDE; nevertheless, if you don’t mind working in a command-line environment and can wait for all the classes to be developed, open source .NET is a great benefit for all developers.

Surprisingly, the Mono project also provides support for ASP.NET. That is, you can run an ASP.NET web server on Linux right now. As the base classes get developed, the number of features will rival Microsoft’s own product.

Another interesting project that provides cross-platform .NET is Covalent’s Enterprise Ready Server (ERS) Apache. Apache is perhaps the most widely used web server in the world. Covalent provides an enterprise-level version of Apache 2.0, which, among other features, supports ASP.NET.

These open-source and cross-platform initiatives serve to reinforce the notion that the .NET platform is trying hard to overcome the deficiencies of past architectures. Pretty soon, you will be able to configure a .NET-compatible machine that does not contain any Microsoft software, or you will be able to do your development within the user-friendly confines of Visual Studio .NET running on a Windows platform and move the .NET assemblies over to a Unix box for production rollout. Those are the directions in which Microsoft .NET appears to be heading.

In the next chapter, we will begin to explore the purpose of developing an enterprise architecture. We will then move on to the details of analyzing the feasibility and scope of a project—two tasks that usually occur before beginning to gather requirements and design a solution.




MCSD Analyzing Requirements and Defining. NET Solutions Architectures Study Guide (Exam 70-300)
MCSD Analyzing Requirements and Defining .NET Solutions Architectures Study Guide (Exam 70-300 (Certification Press)
ISBN: 0072125861
EAN: 2147483647
Year: 2003
Pages: 94

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net