|
The nuts and bolts of Microsoft's much-hyped .NET Framework.
Allan Liska special to HostingTech
| aliska@hostingtech.com
You cannot open a technical magazine these days without hearing
about Microsoft's .NET framework. Everyone is talking about
.NET and how it will impact software and Web services development
and deployment processes. The question on the minds of many
hosting companies is how Microsoft's vision of Web services
will affect the industry on a nuts-and-bolts software level.
Framework components
The .NET Framework is a series of components that can be used
to design and develop Web services and applications. There are
three primary components: the CLR (Common Language Runtime),
the .NET Framework Classes, and ASP.NET. These work together,
using any language that has a framework SDK (Software Development
Kit), to create .NET applications. Languages currently supported
include C#, C++, Java, Jscript, Perl, and Visual Basic.
The CLR, .NET Framework Classes, and ASP.NET are used across
multiple systems to simplify programming tasks. Whether you
are trying to query a database or develop a plug-in for Microsoft
Office, using the .NET Framework is supposed to make the programming
process easier.
Classes in session
At the core of the .NET Framework are the Framework Classes.
Similar to Perl modules, .NET Framework Classes are reusable
bits of code that perform common tasks, such as database queries,
stopping and starting services, and finding the system time.
The Framework Classes are part of namespaces, which are libraries
of classes. Namespaces are divided up by task, in the same manner
as Java classes, and then imported into programs as needed.
The two primary namespaces are Microsoft and System. More specific
task trees (hierarchical directories of files) fall under these
two namespaces. The Microsoft namespace currently has three
trees:
- Microsoft.CSharp
- Microsoft.VisualBasic
- Microsoft.Win32
The System namespace has considerably more trees within its
namespace because this is where many of the common tasks are
performed. Some of the namespaces within the System namespace
include:
- System.Data.SqlClient
- System.Web.Hosting
- System.Web.Security
Framework Classes exist within the various namespaces. If a
program needs to access a SQL database rather than writing code
from scratch, a programmer could import the namespace System.Data.SqlClient
in the application. The System.Data.SqlClient namespace contains
multiple SQL classes including, but no limited to:
- SqlClientPermission
- SQLDebugging
- SqlParameterCollection
Each class performs a specific task; for example, SqlClientPermission
allows the SQL Server to verify the person accessing the database
has the appropriate permissions. Using classes, a programmer
can turn 20 lines of code (querying a database) into 10 lines.
The .NET Framework also has the ability to free programmers
from having to register DLLs (Dynamic Link Libraries). As
long as the .NET Framework is installed on a machine, the
DLL only needs to exist in the same folder as the executable
program.
Finally, .NET applications are much faster for Web services,
because they are compiled instead of interpreted. When an
application is compiled, such as a .EXE file on a Windows
system, the application does not rely on another program to
execute. Interpreted applications are dependent on external
programs to run.
What will it mean?
Equally as important as the question of how the .NET Framework
works, is the question of how it will affect the bottom line
of hosting companies. Many hosts have been working with the
.NET Framework for almost two years and have had the opportunity
to become familiar with it and to gauge market demand.
Demand for .NET services was slow initially, but it has picked
up over the last few months, according to Mike Palmer, chief
technical officer of RackMy.com (www.rackmy.com).
".NET requests have increased over the last six months,
but the requests have not grown exponentially like I had thought,"
says Palmer. "Most potential and new customers are asking
if our servers are '.NET-capable' for future use or beta development."
Silas Boyle, president of MaximumASP (www.maximumasp.com),
cites similar trends.
"When .NET was released in beta, we expected a quick
adoption of the services," says Boyle. "While adoption
proved to be slower than expected, a rapid acceleration in
demand has been seen in the past three months."
Because the development process can be long, especially when
dealing with a new platform, many hosting customers are still
in the early stages of .NET projects.
Says Palmer, "We have spoken with a few of our customers
who are using .NET, and they have not given up on ASP [Active
Server Page Web-scripting language], but are using .NET to
complement or create new features for their current Web applications."
The strength of the .NET Framework lies in its flexibility.
That, combined with its ease of use, will drive customer demand.
".NET offers greater interoperability and communication
with databases," says Palmer. ".NET pages are compiled
and not executed, it allows for easier deployment (components
do not need to be registered), better debugging options, offers
caching options, requires less code to do the same amount
of work, and much more."
These features are especially important for hosting customers.
"On the hosting side, .NET allows a client to include
a custom component in a .NET application or Web service and
upload it directly into their account," notes Boyle.
"In the past, most shared hosting companies would not
allow custom components in a shared environment simply because
of the security risk involved. Bad code would crash the server
and affect all the people on that Web server."
Hosting applications
Customers are not the only ones developing .NET Framework
applications. Hosting companies are starting to switch to
.NET for internal applications.
According to Boyle, "Our entire site is written in .NET,
and all internal applications and future development of our
site and services - both internal and external - are based
on the .NET platform. We use it for internal engineering applications
and control panels, as well as server and application monitoring."
Adds Palmer, "We have been developing some of our internal
systems using .NET for a couple of reasons: to take advantage
of the new features and flexibility .NET offers and to help
us gain knowledge on how .NET works. This will help us better
support our customers who use .NET applications."
Palmer and Boyle expect the demand for .NET services to increase
as Microsoft releases more components, the most important
of which is the .NET Server. Palmer believes .NET will be
a strong player in the years to come, but will continue its
slow adoption rate until the .NET server is released.
"Since the [first public release] of VS.NET [VisualStudio.NET],
we have seen a greater number of developers looking for support
of .NET in the hosting industry," Boyle adds. "The
fear of instability in a new product has worn off, and the fascination
with the capabilities .NET offers has developers excited about
the future of application and service development."
|