The Impact of Microsoft .NET on Software Quality

wrackbaaΚινητά – Ασύρματες Τεχνολογίες

10 Δεκ 2013 (πριν από 3 χρόνια και 9 μήνες)

97 εμφανίσεις

The Impact of Microsoft .NET
o
n

Software Quality


Dr Thomas Jackson and
Daniel Frazer


Computer Science Department, Loughborough University, Leicestershire, United
Kingdom.

(
t.w.jackson@lboro.ac.uk
,
d.j.frazer
-
99@student.lboro.ac.uk
)




Abstract


Microsoft

has

been heavily p
romoting

their .NET vision and the benefits
it will bring to end
-
users, organisations and developers

since its
announcement in 2000
. However, less attention has been paid to the
problems that a network of Web Service
-
based distributed applications
running over the Internet faces
;
i
nteroperability
,
s
ecurity and
r
eliability
.
Additionally,
other than the increased developer productivit
y,
little
discussion

has
taken place

over what impact the tools and technologies

Microsoft provides for .NET
will have on software quality

overall
.

There
are however a number of possible ramifications for
Web Services

developed using Microsoft’s .NET
tech
nologies; the .NET
Framework,

.NET
Enterprise Servers and their new
v
isual IDE


Visual Studio .NET.


This paper explore
s

both sides of this new technology, highlighting
the
benefits
and

putting them into context alongside

the potential
disadvantages

of .N
ET development
.

Through

exploring the
se

issues

the
author
s

ha
ve

developed a set of guidelines for Developers and Managers
of .NET software projects to consider
,

and
to identify

areas where further
study is
required
. It is hoped that awareness
and
researc
h into

these
issues will avoid software projects falling vict
im to the pitfalls of
development

with
these
new technologies
.



1.
Introduction


There is no one entity which is .
NET
, but

perhaps this is where the difficulty
for
some
in its understanding
come
s from
.
Microsoft
announced that

.NET is an XML
Web S
ervices platform

that enables applications to
overcome the boundaries of
devices and their respective technologies
,

facilitating

developers to create richer
experiences for users

[1]
.

W
hat does this
ac
tually translate to

a
nd
how

will
.NET

impact on software quality and the Developer and Manager implementing these
large software projects
?


Microsoft .NET is an umbrella term, and as such .NET is two things; firstly an idea
or vision, and secondly
a set of

technologies from Microsoft to implement this
vision.


1.1
The Vision

.NET is a new infrastructure t
hat will

deliver software as a set of web
-
based
services (Web Services) that
can

be run in any browser on any platform.

The idea
behind this is that a com
prehensive distributed computing platform will arise based
over the Internet, allowing more powerful

and sophisticated
business
-
to
-
business
(B2B) and business
-
to
-
customer (B2C) services.


1.2
The Technologies

Microsoft has created a pool of technologies to

aid de
velopers implement this
vision and

to
create
and support
Web Services.

There are many technologies
,

both
new and old

(although updated),

that make up .NET and these can be divid
ed into
three areas:


1.

.NET Framework

2.

.NET Enterprise Servers

3.

.NET
Devel
oper

Tools

There is a
n increasing requirement for organisations to learn

about
Microsoft
.NET,
as e
ven if
their own
enterprise does

n
o
t use
it
,
they will be

sure to do
business with oth
ers that do

and thus need to interoperate with it [2].

Through
breakin
g down
the

understanding of .NET
,

the

initial question about its impact on
software

quality
can be expanded
to pose two interesting questions;


1.

What will be the impact on

software quality as it moves to the Internet in
the form of Web Services?


2.

H
ow will t
he advent of these new
.NET
technologies further impact the
quality of these
distributed applications?



2.
Web Services


Web Services are an important evolution in w
eb
-
based technology
.
In s
imple

terms
they are an application that provides information, p
rocesses or resources, and
are
designed to be consumed by other applications, such as tr
aditional client
applications, w
eb
-
based applications, or even other Web
S
ervices.


Each Web Service is a distinct unit of programmatic functionality exposed via
standa
rdi
s
ed protocols and data formats
[3
]
,

specifically exposed as XML data
through the HTTP port. Using these two technologies brings a number of
advantages:




The use of XML for data exchange means that Web Services can be exposed
and consumed by any platfor
m capable of parsing XML
,

allowing new and old
disparate systems to commun
icate.

For example HealthAxis.com
p
rovide
d

self
-
s
ervice
a
ccess to
i
nsurance
p
roducts and
s
ervices

by connecting Web
-
based consumer
-
friendly systems
,

to legacy mainframe
-
based back
-
e
nd
insurance
systems

[
4
].



Using the HTTP port means communications across the Internet can
proceed
without interruption from corporate firewalls or the need to open up additional
ports
. This eases the use of Web Services for developers and administrators
of
networks, since opening ports is a

potential security risk.

Projections for business
-
to
-
business e
-
commerce are that sales will
rise

to $
2.7
trillion by the year 2004 [
5
] and

Web Services will create great opportunities for
such
busin
esses.

H
owever, Web

Services will also create great challenges for the
ir

IT departments and application developer organisations
. Microsoft are

not the only
vendor p
romoting Web Services,

AOL, IBM, Oracle, Sun, BEA, Iona are

major
players with
their own implementations
.
A m
ajor issue that organisations face is
will all these different rivalling applications interpolate. Other issues that need
addressing are:




HTTP as a port for Web Service communication potentially allows the ill
minded to abuse the technology with Trojans
that could
w
re
a
k havoc on
networks globally.

The advantage of using existing open ports disappears
unless further security mechanisms are put in place




For organisations providing services
w
h
i
ch

rely on
third
-
party Web Services



what is to be done when t
h
ese
Web Services become unavailable
, whether due
to
high
Internet traffic or removal of th
e

server failure
?




The use of XML as
the core of Web Services technology

is not suitable for
many applications,
where spe
ed, accuracy and security are a

great

necess
ity

such as sensitive but high
-
volume financial transactions between banks
.


T
he concept of Web Services still has important shortcomings to overcome in the
context of software quality if it is to be widely adopted
.
The above problems can
be compounded to

t
hree

issues;
i
nteroperability
,
security and
reliability
.
IT
professionals
often highlight

s
ecurity as the main reason for
.NET/Web Services
scepticism, with
reliability

a close second
.

However, the first hurdle is overcoming
the difficulties that arise

from
interacting
applications developed
using

different
vendors
implementations of Web Service technology.



2.1
Interoperability

Interoperability

is a
growing concern as

there is more than one solution
when
considering
implemen
ta
t
ion of

Web Services

and
.NET solutions must be able to
talk to them
(
and vice versa
)
. Organisations will choose vendors solution
s

based
on a number of factors,
including existing systems that they must integrate with
and
which

will not always be Windows.


The
i
nteroperability

is
sue is being bridged with efforts from the industry players
themselves
including Microsoft in the form of the
Web Services Interoperability
Organization

(
WS
-
I
)
. The

WS
-
I

are

an

open industry organis
ation
,

chartered to
promote Web Services interoperability

across platforms, operating systems, and
programming languages [
6
]
.

The
WS
-
I

s Basic Profile
is essentially a

guideline

for how
vendor’s
implementations of SOAP

(
Simple Object Access Protocol 1.1
)
,
WSDL

(
Web Services Description Language

1.1)
, UDDI
(
Univ
ersal Description,
Discovery and Integration 2.0
)
, XML 1.0 and XML Schema should interoperate

through a comm
on set

of
industry
-
accepted definitions and related XML standards.


It is critical vendors have a commitment not to stray from
guidelines

such as WS
-
I
.

In an ideal world all the vendor’s implementations of
Web Service technologies

would talk perfectly together,

but in reality this is rarely the case. Interoperability
is an
issue which must be addressed. , thus i
dentifying who and mo
re specifically
w
hat platforms and
applications will be talking

to
is critical in the design of Web
Service
s
.


2.2
Security

Security has been
identified

as

the missing pillar of
Web Service technology
since

it is key to moving W
eb
S
ervices beyond internal and trusted third
-
party use
.
W
ithout it
,

no
critical

applications will find their way
o
nto the
Internet

in the form
of Web Services,
and the
ir

potential will not be realised
.
At present there is
little

to
prevent
a
rogue a
pplication

leaving
an
organisation’s
networks in
chaos
.


M
alicious
code could
be run over port 80 invading

one platform
,

mov
ing

on
to another
without warning

and

causing chaos for companies using the services to do business
on the
Inter
net
.


T
he security issue
s concerning Web Services

ha
ve

also been reali
sed by the
industry
. In April 2002 Microsoft, IBM and VeriSign proposed WS
-
Security (Web
Services Security)


a se
t

of “enhancements to SOAP messaging to provide
quality
of protection

through message integrity, message confidentiality, and single
message
authentication” [
7
]
.

This specification is now being addressed further by
the WSS TC (Web Services Security Task Committee) of OASIS (Organization for
the Advancement of St
ructured Information Standards) with
the goal of creating a
common set of terms and

components for Web Services security
.


Security must be considered at every level. This applies to the servers hosting
the

applications

through to

the technologies used in the applications themselves. New
emerging technologies provide rich pickings for
hackers and t
he writers of viruses
and worms.

IT departments need to counter this threat by applying patches and
fixes as soon as they become available.
F
irewalls
should protect

organisations

network
s

with perimeter networks guarding the corporate network

inside,

this can
be achieved by
using a combination of different
hardware/software firewall

solutions

to inspect for intrusions at the packet layer
.

This
existing
need is only
amplified with the advent of Web Services.


2.3
Reliability

Reliability
is a k
ey concern when delivering anything over the Internet. It’s thanks
to drastic improvement
s

in recent years to the te
lecoms infrastructure worldwide

(
meaning that bandwidth is now a lot less limited
),

that distributed computing over
the Internet is now via
ble and the vision of .NET can be realised.

Although extra
bandwidth becomes available as telecoms companies cont
inue to improve their
services,

this is immediately

used

and as

a result
full capacity is reached again
. For
the foreseeable future
bandwidth

will be an issue for any

organisations wishing to
do serious business over public networks.


Additionally
, XML is

n
o
t suitable for many

applications

such as banks
that

have
high
-
volumes of sensitive traffic on their networks. XML

was designed
to be
human

readable and hence

inherent
design trade
-
offs create effici
ency overheads
for the technology
. This makes

it
a relatively ineffectiv
e way to transport
information

for some applications
.

It is
unlikely that
organisations

would use
W
eb
S
ervices for

mission
-
critical or any true real
-
time applications un
less these issues
can be resolved.


The issue of Web Services with dependencies on other Web Services is also
very

important. Strategies need to be in place to allow for when a Web Service is

n
o
t
available du
e to high Internet traffic, server failure
,

or simple removal of
a

Web
Service. Backups need to be built into software which may take the form of a
redirection to
an
alternative URL providing a similar service if
it is
available,
or
some approximation to
the results of the original Web Service
.


I
n the worst case

scenario

feedback
should be given
to the end
-
user
informing them of the problems
so they are not left unaware as to why their application is not working
. For any
critical dependencies contracts s
hould be negotiated between Web Service
providers detailing
service level agreement
s.



3.
Technologies


While rivals Sun, IBM, and HP scrambled to piece together their Web Services
strategies, Microsoft was in the position of being
the technology leader w
ith
.NET

[
8
]
.
The .NET platform comprises of new development tools, runtime services,
operating system features, servers and Internet protocols.
It functionally replaces
previous Microsoft technologies (including COM and Win32) and provid
e
s a
unifying, o
bject
-
oriented development environment, with significantly improved
application and component interoperability

[
9
]
.


We can
group

the
main
.NET
technologies

into three areas;

the .NET Framework, .NET Enterprise Servers and
.NET
Developer

Tools.


3.1
.NET F
ramework

The .NET Framework is the plumbing of .NET providing

the base structure
necess
ary to write applications
. It includes a set of pre
-
built software and provides
the basic system services that developers can use to access core operating system
functi
onality.
It essentially

consists of t
wo parts; t
he Common Language Runtime
(CLR)
and the .NET Framework Class L
ibrary.


Support for easy creation, deployment and use of components
is a

dominant theme
of the CLR
(
the virtual machine at the heart .NET
)
.
T
h
e CLR
is

language
-
neutral
and component
-
oriented

so

that a maximum number of programming languages
can target the runtime
. The .NET Framework Class Library is a comprehensive,
object
-
oriented collection of reusable types from which developers can inherit
and
use to create applications. They provide basic and advanced functionality that is
consistent to the developer across the multitude of languages that it supports.


The CLR

manages execution of .NET code,
including the instantiation of objects,
allocati
on of memory, and garbage collection
.


T
his automatic memory
management resolves the two most common application errors, memory leaks and
invalid memory references.

Thus the CLR’s architecture reduces the number of
application errors.
C
ode written by dev
elopers
is compiled
into an intermediate
language called Microsoft Intermediate Language (MSIL)
,

which is either
then
compiled to native code by the runtime at install or comp
i
led just
-
in
-
time (JIT) at
first execution.

However, reverse engineering of the
MSIL is a very real threat to
organisations potentially allowing hackers access to source code and any security
vulnerabilities. The .NET Framework ships with its own
MSIL dissembler called
ildasm.exe, and no protection comes with .NET to protect vulnerab
le code.
Microsoft have acknowledged this and with the next release of Visual Studio .NET
(2003) will be including a third
-
party o
bfuscator
from PreEmptive Solutions called
‘dot
fuscator
’ to garble MSIL (and achieve up to a 40% gain in code efficiency)
[10
]. Until then developers will need to purchase such software additionally.



Microsoft has submitted both C#
(Microsoft’s new OOP language for .NET)
and
the
CLI (Common Lang
uage Infrastructure
,

a subset of the CLR) to the
international standardi
sation org
anis
ation ECMA

[
11
]
. This
has already resulted in
attempts to port the .NET Framework to non
-
Microsoft platforms such as
Linux

with some success

such as the Mono Project [12
]
.

Microsoft has even created a
port of .NET themselves which runs .NET applicati
ons on
the
FreeBSD platform
[
1
3
].

As Gartner predicts that
by

2005,
over

90
%

of
medium/large
-
size
application
development organi
s
ations
are
likely
to

use both
Microsoft and Java technologies
[1
4
], o
thers are rewriting the .NET Frameworks in Java

to
give o
rganisations
ultimate flexibility over their IT strategy [1
5
].

This move from Microsoft and the
resulting ports of .NET to alternative platforms will mean an even wider usage of
.NET, and more choices for enterprises whose infrastructure may be non
-
Micros
oft. This could lead to ever more heterogeneous IT infrastructures for
organisations that can choose to stay with Linux/Unix back
-
end systems but
running .NET applications.


3.2
.NET Enterprise Servers

However,
.NET applications will typically be running
on either the Windows 2000
or upcoming Windows 2003 server line, with Web Services exposed via IIS.
T
here are a large number of other server products that Microsoft has termed the
.NET Enterprise Servers that offer additional functionality for organisatio
ns with
specific needs. These range from the SQL Server 2000 database, through Internet
Security & Acceleration Server 2000 firewall and web proxy to Operations
Management Server 2000 product
to aid administrators of a Microsoft Windows
-
based IT infrastru
cture
. A major benefit of this approach is that organisations can
pick and choose what functionalit
y they need for the environment

and select the
appropriate product without the costs of additional features that would not be used.


A
s already mentioned
i
t

i
s not necessary to use all Microsoft platforms for the
whole infrastructure, an Oracle

database could sit at the back
-
end being accessed
by .NET Web Services for example. However it is necessary to use the Windows
OS to host
any usefully large
.NET appl
ications
to
gain product support from
Microsoft
,

since at present Microsoft has only
released

the .NET Framework for
the Windows platform.



3.3
.NET Developer Tools

A
s

far as the developer is concerned

.NET will mean

Microsoft’s new Visual IDE


Visual St
udio .NET

(
and the wealth of available languages it supports
)
.

The
architecture of the CLR provides great flexibility when choosing which languages
to write in. If a developer or development team wishes, they may switch between
languages, since it is pos
sible to use multiple languages within the same
application (coding different modules in different languages),
choosing whichever
is easiest
to implement
or more efficient

for a given task
. VS.NET

comes

with
Visual Basic

.NET
, Visual C#

.NET
, Visual C++
.
NET
and Visual J#

.NET
languages,

but wi
ll

support numerous other
s

languages
when they become
available. This allows
for
maximum skill transfer for developers who can bring
their existing knowledge
and

even their code across to .NET. This means
developer
s are not required to learn a new language when moving to .NET, only
familiarise themselves with the .NET Framework Class Library. This

process is
also made as simple

as possible due to features of the IDE such as Statement
Completion and Dynamic Help, wh
ich as th
ey suggest aid completion of code
statements as they are

type
d

(by prompt
s for

all possib
le options

in a discrete drop
down list) and offer context sensitive help respectively.


VS.NET has many features comparable to RAD (Rapid Application Develop
ment)
tools
. T
he Design View lets you ‘drag and drop’ controls (buttons, text boxes etc)
onto a Windows/Web Form generating the code necessary to render the UI.
Numerous code
-
wizards
also automate many of the chores for developers, such as
establishing d
ata access to external data sources.
A
nother

key feature is
the
automatic

creat
ion of

the necessary XML and SOAP interface
s

needed to turn an
application into a Web
S
ervice
,

thus d
evelopers can concentrate on building the
application

and

not the plumbi
ng
necessary to make it work.


.NET


handles
much

of the infrastructure developers used to have to build themselves, which means
developer
s can focus on the application
. The aim with both the .NET Framework
and VS.NET is to make th
is plumbing easy and even

automatic

in many instances
,
so that programmers can focus on
the
fundamental

task

of the
writing the
application logic.



4. The Risks of Development with .NET Technologies


Many
organisations

now use the Internet as a new information exchange channel to
transact
their
business
.
With the increasing importance o
f Internet commerce,
businesses are also finding new ways to offer services to their customers to

gain a
competitive edge. However, this
alone
should not be the driving f
orce

for taking
on the chal
lenges of deve
loping Web Services.


Web Se
rvices are complicated entities,

both in their technology and the
wider
issues surrounding them
:




The lack of established standards poses many problems for early adopters,
such as interoperability, security,

reliab
ility and performance.



I
ssues surrounding Web Services such as
a service’s

potential dependencies on
other third party
Web Services

highlights

a need for strategies

to be in place
for their effective implementation.


If Web Services are needed, m
anagers wi
ll need to decide whether it

i
s best to
build, buy or subscribe to appropriate Web Services.

Buying or subscribing adds
additional complexity of external contracts with application development
organisations.


If a decision is made to build them,
Web Servi
ce
-
based applications will be
sizeable software projects, and as a result a thorough Project & System Feasibility
Study needs to be undertaken. Firs
tly Organis
ational Feasibility should be
considered. Questions need to be asked to whether the Web Service
s proposed are
in line with business objectives and its strategic plan. In addition, Technical
Feasibility should be assessed from both developers and users point of view.
Interoperability with other businesses Web Services, security of their corporate
n
etwork and resulting reliability for the end users need to be assessed from the
outset, maintaining compatibility with the standards and specifications set from
organisations such as the WS
-
I. Economic and Operational Feasibility studies also
should be un
dertaken to assess whether perceived benefits outweigh the costs
associated with the development and maintenance of such services, and whether
management, employees, customers, users and othe
r third parties are willing to use
the proposed services.


4.
1

Ri
sks to Developers

Developers gain a
m
ulti
-
language IDE
that offers

easy design, creation,
and
deployment of Web Services.

These features culminate in a very productive
environment for developers, in theory leading to better applications and cut costs in
d
evelopment time. But is this the case?
It
is at
this poi
nt that is important to
realise,

with tools such as VS.NET, the ease of development is so great that the
developer risks being hidden from many of the problems and

underlying issues
of

Web Services

and its associated technologies
.


They may forgo the ‘form
alities’ of the design process and

t
hey may initially
decide to create a prototype (something very easily done with VS.NET) to get
feedback on the requirements and specification. But the ease at wh
ich this can be
done with surprising amounts of functionality can tempt the developer away from
starting afresh
with a carefully planned design,

and instead tweak their prototype to
fully ‘satisfy’ the specification. Forgoing the design will lead to forgo
ing the
quality of the software,

its efficiency, open
architecture and ease to extend and
maintain.

R
esearch suggests that projects using the

RAD
approach to software
development
often
results in

standard procedures
(
used for convention
al projects
)

freque
ntly not being used and
with

no explicit quality controls defined
,

quality
instead
being left to the developer's conscience [1
6
].


The above would lead to problems in efficiency and reliability affecting the
performance of the application, but what of secu
rity? W
ith the IDE doing much of
the work for

the developer
,
they

may forget (or simply never learn) what is truly
happening
behind VS.NET
,
resu
lting in a lack of security
in their applications
.
The false sense of security created in the developer of
the
ir
ever productive
skills
could be just that,

a false sense of security
, but in their software
. D
evelopment
t
ools such as Microsoft’s VS.NET

can tempt
organisations

to set up
W
eb
S
ervices
without fully understanding all the
underlying
security implication
s

previously
mentioned
.


4.
2

Case Study

The author
s

are

currently in the process of undertaking
a
software project to create
a Web
-
based application for a customer. The software is to contain elements of
booking and scheduling customer’s resources. With
fixed requirements to use
.NET technologies including a SQL Server, and with no prior experience
developing with .NET, the decision was taken to undertake a throw
-
away
prototype. This was to test the technical feasibility of the proposed solution to the
s
cheduling algorithms.


In
a very short space of time

a working UI had been developed in VS.NET that
served the task of capturing user input. The creation of a simple database and test
records in SQL Server 2000 was also done quickly. The algorithms for t
he
scheduling were implemented and tested
with some success
. This

was done in a
matter of hours and
the result being
a working system that housed the core
functionality of the application.


At this stage it
could have been

tempting for a developer to cont
inue adding
functionality to the prototype to attain the required full application.
However
,

no
design process had been followed,
code was added in a Build & Fix style as
problems were realised. As a result
the code written was inefficient and
un
-
maintai
nable, and no thought had been given to
validation or
security. With these
fundamentals to software development masked by the ease at which applications
can be quickly
created
with such tools
, software is at great risk

from being unstable
and lacking in q
uality
.


Additionally, if
wizards were

found to automate the generation of code (that is
subsequently hidden from the user by default)
this could
lead to difficulties in
testing and debugging. Without a deeper understanding of the
processes at work
by VS.
NET when such wizards and features are used, and the code that is
generated, apparent problems can arise that are difficult
for

the developer to trace.
However
,

when the developer has an understanding of the .NET Framework, such
as the data access compone
nt ADO.NET or the XML Class Library System.Xml,
use of the features within VS.NET can dramatically speed up development time
and reduce
un
necessary modifications to generated code
in a matter of seconds.



5. Conclusion & Guidelines for .NET Development


T
he idea behind .NE
T and Web Services is not new. I
t
build
s

on previous models
for distributed computing
,
making it platform independent and
taking it to the
Internet. However, the technologies
to support Web Services and that

.NET
uses

are in their infan
cy. They are thwart with potential problems, as are all new
technologies
,

and early adopters will be the most likely to suffer the consequences.


Microsoft’s .NET technologies

and tools

are
some

of the first to support this model
of computing.
The approa
ch Microsoft ha
s

taken with VS.NET is to promote Web
Services aggressively by
mak
ing the developer

s job
as simple as possible, and as
productive as possible
. In an attempt to take a stronghold on the market and make
developers happy

and make developing f
or .NET fun
, Microsoft may have put
enterprises and organisations at risk. Developers from the most inexperienced of
backgrounds can use the tools and technologies with surprising
ease

and success,
but may be producing software that lacks quality. Applic
ations written may be
insecure, unreliable, un
-
extendable and high maintenance both in and out
of
the
context of Web Services.


It is believed
by the authors
that
if
managers and developers of .NET soft
ware
projects following some simple

guidelines
,

the

po
tential
for encountering these
problems may be
minimised.




Feasibility

studies should be undertaken to ensure the project is aligned with
business needs and viable from the outset. The
increasingly
changing climate
of Web Service solutions from different
vendors
means each project needs to
be evaluated

on its merits
.



From the outset awareness and understanding of interoperability issues is
needed,
for
both existing and potential. Avoiding using vendor specific
features can aid organisation

s interoperabil
ity with
third
-
parties

and
third
-
parties

with theirs.



A thorough knowledge of the

security
implications of

W
eb
S
ervices

is
essential for any organisation. They
s
hould fir
st try out services internally,
m
o
ving

through the technology learning curve
, before
deploying their
solutions to the outside world.

When deployed on the Internet
security

must
be dealt with
, by using secure pages for insta
nce.



If a Web Service software project is to commence, developers should be
chosen that are educated in the issues su
rrounding Web Services. The
development team will need to have thorough understanding of the
technologies, languages and protocols used to deliver Web Services, and the
potential problems.



It is
essential for any organisation to establish
software develop
ment

proce
sses

and guidelines
for the use of tools such as VS.NET.

This is to ensure end
quality of the software is not compromised by developer temptation to forgo
the essential preliminary design work

when using the RAD approach
.



The automated features
of .NET can dramatically speed up development time,
but these features should not be used without developers having a prior solid
understanding of the .NET architecture, class library’s etc


This paper has explored both sides of the .NET technology, highli
ghting the
benefits and putting them into context alongside the potential disadvantages of
.NET development. Through exploring these issues the authors have developed a
set of guidelines for Developers and Managers of .NET software projects to
consider, a
nd to identify areas where further study is required. It is hoped that
awareness and research into these issues will avoid software projects falling victim
to the pitfalls of development with these new technologies.




6.
References


1.

“Defining the Basic E
lements of .NET”,
http://www.microsoft.com/net/basics/whatis.asp, 2003

2.

Udell, J. “NET: Microsoft's Enterprise Ticket?”, ENTERPRISE SYSTEMS VOL 17;
NUMB 4 51
-
54, 2002

3.

Duthie, Andrew G. “Microsoft ASP.NET Step by Step”, Microsoft Press, ISBN 0
-
7356
-
1287
-
0, 2
002

4.

"HealthAxis.com",
http://www.microsoft.com/servers/evaluation/casestudies/Health_Axis.asp, 2003

5.

Ratnasingam, Pauline. “The importance of technology trust in Web Services security”,
University of Vermont, Burlington, Vermont, 2002

6.

“Web Services Interop
erability Organisation”, http://www.ws
-
i.org/, 2003

7.

“Web Services Security (WS
-
Security)”, http://www
-
106.ibm.com/developerworks/webservices/library/ws
-
secure/, 2002

8.

“The Windows Way to Web Services”,
http://www.infoworld.com/article/02/01/10/020114tcmicro
soft_1.html, 2003

9.

“Microsoft’s .NET Framework: New Platform For Software Development”,
http://www.bcr.com/bcrmag/2002/11/p57.asp, 2002

10.

“Dotfuscator Technical White Paper V1.1”,
http://www.preemptive.com/dotfuscator/dotfuscator_whitepaper.pdf, 2002

11.

“ECMA C#

and Common Language Infrastructure Standards”,
http://msdn.microsoft.com/net/ecma/, 2003

12.

“Mono”, http://www.go
-
mono.com/, 2003

13.

“The Shared Source CLI Beta Refresh”,
http://msdn.microsoft.com/downloads/default.asp?URL=/downloads/sample.asp?url=/
msdn
-
files/
027/001/901/msdncompositedoc.xml, 2002

14.

“Will .Net take down Java in 2002?”, http://www.javaworld.com/javaworld/jw
-
10
-
2001/jw
-
1019
-
iw
-
netvsjava.html, 2001

15.

“iNET
-

Deploy .NET Applications
Anywhere”,http://208.49.57.227:8080/downloads/Default.aspx, 2003

16.

Chen

L
, Sheppard M. “
An empirical investigation of quality control in rapid
application development: problems and suggestions
”,
Irish Quality Assoc,
1996, p. 384
-
94 Dublin, Ireland
, 1996