|

PPC
> Computing
Guides >
What is it?
What is Microsoft .NET?
Anyone who watches Microsoft won’t have been
able to avoid the proliferation of .NET related news. Just what is
.NET all about?
Trying to get to grips with .NET can be tricky as
it’s not immediately obvious what .NET actually is. In reality it is
an umbrella term that covers a whole host of initiatives, mindsets
and technologies.
The Basics
.NET can be loosely summed up as a set of
technologies that allow you to connect people, information and
devices together with an unparalleled level of integration. Whilst
this has been achieved previously, it has always been in discrete
areas, Microsoft want .NET to be everywhere and running on
everything.
Key to this vision is the use of XML and XML Web
services. XML is now the hot technology with developers
falling over themselves to incorporate XML in to their software. XML
is a distant cousin of HTML and is a universal language that can be
used to exchange data between systems that historically would never
have been able to talk to each other without a lot of complex
software ‘gluing’ them together.
XML Web Services are small chunks of code that
perform a discrete function. This could be anything from a service
that gets stock market share price information to one which allows
you to word process using a copy of Word hosted at Microsoft’s
offices rather than on your PC. This fits in with Microsoft’s vision
of software as a service not something you would buy and own
outright.
There is no reason why you couldn’t dispense with
your PC, buy a small box consisting of a keyboard with a broadband
connection built in and use that to do everything you do now. One
firm would provide the word processing software, another the storage
space, another your database software and yet another the data. This
can all be done today with the technology that .NET provides.
For Developers
To go with the .NET initiative, Microsoft have
updated their Visual Studio developer product to provide the tools
that will be needed to make use of .NET. Unlike previous updates to
Visual Studio, this is a major shift in direction.
Microsoft has introduced the Microsoft Common
Language Runtime (CLR) which is not unlike the Java Virtual Machine
in concept. Programs written to run within the .NET environment are
not distributed as normal executables but as an intermediate code
that adheres to the Common Intermediate Language (CIL) standard.
This is then compiled on the fly as it runs on the host machine by
the CLR.
The major shift here for Microsoft is that whilst
the current CLR as distributed by Microsoft sits on top of Windows,
there is no reason why a Unix, Apple Mac or mainframe OS CLR cannot
be developed. Indeed, the hope is they will. Equally, anyone can
develop languages that produce output code in CIL and have it run on
any machine that supports the CLR without the programmer having to
make any modifications. You could even have all this on your
favourite PDA. Add in wireless networking and you’d have true power
on the move. That’s the theory anyway.
The CLR has the advantage of potentially faster
execution as the code will be compiled with optimisations for
whatever processor the machine is using. Normally, with software you
would choose AMD, Intel or generic optimisation when compiling and
if a target PC had a different CPU, it could run much slower than
you would expect. With the Just in Time (JIT) compiler in the CLR,
you can be sure the program will be running as best it can on your
particular processor.
The CLR also contains a series of common classes
which handle Input/Output, strings, security, collections and so on.
All CLR aware languages will be able to use the classes for their
basic functionality. The chief advantage here is that if you know
how to handle strings in VB.NET, you then know how in C#, it will be
exactly the same. Previously you had to learn different techniques
for each language.
To kick things off, Visual Studio .NET allows you to
develop in Managed C++, C#, VB.NET and ASP.NET. Managed C++ is C++
with .NET extensions that allow it to work in the .NET world. C# is
a brand new language that combines the power of C++ with the ease of
use and safety of Visual Basic and isn’t unlike Java in that it is a
powerful, object orientated and safe language to develop in. VB.NET
will be a shock to existing Visual Basic programmers. It is very
different and it would be fair to say that learning C# would provide
the same learning curve as upgrading from VB6 to VB.NET. Finally,
ASP.NET is a superior version of Active Server Pages for web
development.
For Business
Initially, only businesses will see much take up of
the .NET tools. The chief gains will be with interoperability. This
can be internally where XML and SOAP can be used to share and
exchange data between systems. More importantly, Web objects can be
built to allow firms to communicate directly with suppliers and
customers to allow seamless supply chains for products and data.
.NET also brings far more object orientation
encouraging code re-use. Over time a firm can build a collection of
Web Services that perform their most common business functions. New
applications can tap in to these allowing developers to build new
applications quickly and reliably.
The Web
ASP.NET brings improved performance to complex web
pages. ASP.NET is compiled not interpreted like normal ASP. .NET
also allows sites to be developed which use Web Services to
personalise what you see. You would no longer have t o keep entering
the same information on site after site to identify yourself. You
would essentially ‘log on’ to the Internet, not an individual site.
The .NET tools also allow developers to create web
pages which look and act just like normal applications. You can make
more use of services and applications delivered via the web to your
desktop.
Conclusion
Microsoft has undoubtedly produced a bold and
exciting set of products and tools with the .NET initiative. However
many people have concerns with Microsoft’s previous track record
with security an area which is key to getting .NET working
effectively. It would indeed be a worry to have one source being
responsible for controlling access to your bank account, share
dealings, personal documents and so on, only to find that source had
been compromised by hackers.
Another cause for nervousness is the widespread take
up of a computing infrastructure that discourages personal ownership
of software and is reliant on users renting software on a usage
basis. For some this could be cheaper. Why buy a £450 copy of
Microsoft Office if you only use it to write the odd letter or to
edit a few documents for work when you could simply rent it for £1 a
day? However, once locked in to such a system, the vendors could
crank up the prices and if off the shelf software is no longer
available, what could the end user do? We are potentially looking
at a totally new way of using computers and the change will be both
interesting and challenging.
|