
Microsoft
.NET Platform
View our new website with updated Micorsoft Courses information
Developers have long
understood the benefits of Microsoft® .NET technologies.
The wide variety of .NET tools, services, clients, and
servers empowered developers to build powerful software
and systems through Web services. But what is the value
of Microsoft .NET for IT professionals?
These technologies offer IT professionals far-reaching
benefits. From accelerating and improving daily
operations to providing advanced capabilities for
deploying next-generation technologies, .NET can help IT
professionals connect their companies more broadly than
ever before.
What is .NET and what does it mean?
(source Microsoft web site)
This article describes how
.NET-connected software from Microsoft helps solve common IT
problems related to deploying numerous applications across
multiple systems. In addition, this article discusses how you
can use .NET to manage, help protect, and connect systems to an
array of mobile devices. You'll also learn how specific
Microsoft customers and industry partners are using .NET to
connect diverse operating systems, devices, businesses, and
individual users.

Understanding the .NET Framework
The .NET Framework is the programming model underlying .NET for
developing, deploying, and running Web services and
applications.
Web services are units of code that allow programs written in
different programming languages and on different platforms to
communicate and share data through standard Internet protocols
such as, XML, SOAP, Web Services Description Language (WSDL),
and Universal Description, Discovery, and Integration (UDDI).
The common language runtime and class libraries are at the
center of the .NET Framework. The common language runtime
manages memory, security, and language integration. It also and
helps simplify code development and application deployment while
improving application reliability. The bulk of this work is
handled transparently, simplifying the work of IT
administrators. In addition, features of the common language
runtime—strong type naming, cross-language exception handling,
lifetime management, and dynamic binding—dramatically reduce the
amount of code a developer must write.
Class libraries supply the resources needed to build
applications with XML support, networking, and data-access
features. Because the classes are unified, developers can build
both Microsoft Windows®-based and Web-based applications,
enhancing their productivity and code reuse in the process.
Microsoft .NET and Deployment
One of the toughest deployment issues developers and IT
professionals face involves dynamic-link libraries (DLLs). It
starts when multiple applications attempt to share a common
component like a DLL or a Component Object Model (COM) class.
When a new application is installed, the components for the new
application may overwrite components of an existing application,
causing the existing application to function incorrectly or stop
functioning completely.
Typically, one application will install a new version of the
shared component that is not backward-compatible with the
version already on the computer. Although the newly introduced
application will work fine, existing applications that depended
on a previous version of the shared component may no longer
work.
Through the use of side-by-side deployment, the .NET Framework
solves the problem of overwriting. Side-by-side deployment
allows multiple versions of an assembly to be installed and to
run simultaneously on the same computer. Authors aren't
restricted to maintaining backward compatibility because
different applications can use different versions of a shared
component. Each application can request to use a specific
version of that assembly. Version information is recorded
through the common language runtime between pieces of an
application. At run time, the common language runtime refers to
the recorded information to ensure the proper version of a
dependency is loaded.
By isolating application assemblies, applications always load
the components with which they were built and tested. An
assembly can be accessed by only one application; it is not
shared by multiple applications on the same computer. Therefore,
it cannot be affected by changes made to the system by other
applications.
.NET-enabled applications are self-contained and can be
installed easily using XCOPY. This makes it possible to install
desktop applications on client computers using a remote Web
server. Actual deployment involves packaging developer code and
distributing the packages to the clients and servers on which
the application will run. The .NET Framework eliminates any
dependency on the registry, which makes installation, removal,
and replication much easier. You can deploy many applications by
just copying file sets to disk and running them. To remove or
replicate the applications, you can simply delete the files or
copy over them.
Interoperability and Management
One of the most significant advantages of the .NET Framework is
its level of interoperability with other languages,
applications, and systems. At the heart of .NET is the ability
to help businesses integrate and manage their Web-based
solutions through Web services, which are quickly becoming an
industry standard.
.NET enables modern software applications to communicate through
standard Internet protocols such as XML and SOAP, creating a
channel through which internal and remote systems can easily
interact. Applications hosted in-house—in addition to external
systems—can be "stitched together," allowing businesses to
quickly meet their unique business needs through specialized yet
economical solutions.
The common language runtime comes into play by allowing
individual components of specific applications within a company
to communicate. Through its standard set of
types—self-describing type information (meta data) and common
execution environment—the common language runtime integrates all
programming languages and allows objects created in one language
to be read with equal weight by code written in a different
language. For example, a new scheduling function written in
COBOL can be used with an existing human resources application
that was written in Microsoft Visual Basic® .NET.
The advantages of multiple language support are obvious. Not
only does it improve productivity by giving developers the
choice to use the programming language that's best suited to the
job, it decreases time to market by increasing code reuse
through cross-language inheritance.
Dollar Rent A Car: Interoperability in Action
A major airline contacted Dollar Rent A Car about providing a
direct link from its website into Dollar's reservation system.
The Dollar IT staff realized that by integrating with travel
partners, they could significantly drive incremental
reservations. Dollar chose Microsoft .NET to extend its existing
mainframe-based reservation system.
Dollar's reservation system is a VMS-based application called
Quick Keys. The airline's systems are based on UNIX. To ensure
effective integration, Dollar needed to:
Create a real-time, direct connection between the two distinct
platforms.
Deliver the solution quickly with minimal difficulty,
Ascertain the technology's long-term viability.
Dollar already had two Quick Keys interfaces in place:
An internally developed electronic data interchange (EDI)
interface running on a Compaq Alpha server, which parsed flat
files that were uploaded to Dollar via FTP on a daily basis by
several tour operators.
A website (www.dollar.com) built using Microsoft Windows NT®
Server, CGI, Perl, and an Oracle database
The website relied on a custom COM component and Compaq's TP-Web
Connector to communicate with the mainframe. After considering
several connecting technologies—including CORBA/IIOP, Java RMI,
DCOM and socket programming—Dollar realized that Web services
was the only solution that could enable any system written in
any programming language to access the mainframe for
reservations.
By using .NET, Dollar implemented a hybrid solution that
capitalized on the benefits of Web services without requiring
the airline to implement a SOAP interface. Essentially, the
solution allows the airline's UNIX-based system to send
reservation requests to Dollar via sockets and a text-based
format commonly used in the travel industry. A translator
receives the message at Dollar, interprets it, and makes a SOAP
call to a second system that exposes the preexisting COM-based
interface into Quick Keys as a Web service.
By exposing Quick Keys as a Web service, Dollar was able to
extend the website's functionality to accommodate all mobile
devices. The site now has a standard interface that can be used
by a variety of internal and external applications. The solution
also delivers tremendous strategic value, giving Dollar the
capacity to easily expand its reach to other travel partners and
individual users through next-generation technologies.
Security
Software applications, especially those that are Internet-based,
have developed from static channels designed to alter and
orchestrate data into increasingly dynamic exchange systems that
form the foundation of e-business. As the complexity and
functionality of modern software applications have increased,
threats to software from both inside and outside organizations
have risen.
The managed code architecture of the .NET Framework dramatically
reduces the intrinsic risks associated with both client-side and
server-side applications by transparently controlling the
behavior of code. In a private study conducted by Foundstone,
Inc., it was determined that a Microsoft Windows server running
the .NET Framework can provide organizations with greater
assurance that their applications can resist known security
attacks today and in the future. It eliminates many of the major
security risks facing applications today due to flawed code
(such as buffer overruns); and shifts the burden from having to
make critical security decisions—such as whether or not to run a
particular application or what resources that application should
be able to access—from end users to developers and
administrators.
The comprehensive nature of the .NET Framework security
architecture makes .NET both reliable and trustworthy. Key
elements include:
Evidence-based security
Code access security
The verification process
Role-based security
Cryptography
Application domains
These elements help developers and IT administrators control
security over applications and resources on a granular level.
Developers get an easy-to-use tool set to implement powerful
authentication, authorization, and cryptographic routines. This
helps IT professionals by eliminating flawed code—one of the
biggest threats to application security—so they can focus on
critical security issues involving running other applications
and accessing specific resources.
INSCOM and the Importance of Data Integrity
Another security concern is ensuring data integrity. While
ultimately not an IT administrator's responsibility, maintaining
data integrity can help protect an organization's internal
records and communications, which makes security easier to
maintain.
An example of data integrity–enhancing security is the use of
.NET to help manage contractor personnel files at the Contractor
Support Element (CSE) of the U.S. Army Intelligence and Security
Command (INSCOM). The CSE worked with Microsoft Consulting
Services to create a Web client that accesses a Microsoft SQL
Server™ 2000 database storing information about contractor
security clearances. The CSE was adapting a paper-based system
to the Web, so retaining data integrity was a big concern.
Simplifying the workflow became crucial.
"There were huge data integrity concerns when we started
converting the existing system," says INSCOM CIO Bob Fecteau.
"We had to make sure the data appeared in the formats and
structures we wanted to best do our business. The Web forms
created using the ASP.NET component of Visual Studio .NET allow
us to enforce integrity of all data entered, which was very
important when we transferred the previous databases."
Data integrity is also protected by a "capturing keystrokes"
feature that remembers the first time data is entered into the
system and eliminates the need to input the same data
continually.
Device Support
One of the biggest advantages of .NET technology for consumers
is its ability to connect and support a wide variety of
stationary and mobile devices. IT professionals will appreciate
the ease with which they can facilitate and maintain these
connections over time.
Web services play an important role in device support. As
mentioned previously, Web services allow various applications to
share information over the Internet, regardless of the operating
system or back-end software that the application is using. They
also enable users to interact with a broad range of smart
devices through the Web while ensuring that the user—not the
application—controls the interaction.
Powerful client software such as the .NET Compact Framework,
Windows CE .NET, and Windows XP enable a multitude of smart
devices to operate and communicate through .NET and Web
services. This collection of software empowers smart devices to
access the Internet easily, providing a positive user experience
while giving developers and IT administrators more control over
their information.
Flexibility Proves Key for Scandinavian Airlines
Scandinavian Airlines System (SAS) recently implemented .NET
technology to solve several problems associated with device
support. The SAS IT group needed a technology that would be
flexible enough to support a variety of popular phones and
mobile devices used by customers accessing a single website (www.scandinavian.net)
to check flight status and rebook flights.
Using the Microsoft Mobile Internet Toolkit in Visual Studio
.NET, the SAS mobility and IT groups created the mobile
presentation layer, adding mobile device access to their
existing applications. They reused their existing back-end logic
using the same application functionality.
Developers saved time by devising presentation logic for a
number of different devices, including HTML Pocket PCs, WML (WAP)
cell phones, cHTML cell phones, and HTML Palm devices. The SAS
IT group used the mobile Web Forms controls (part of the Mobile
Internet Toolkit) to create applications that work intelligently
with each device.
In addition, the Mobile Internet Toolkit gave the SAS IT group
the flexibility to add support for new devices, as well as to
customize the markup for a specific device. The SAS website
ultimately could support an unlimited range of devices. With the
capacity for anytime, anywhere connectivity and system-to-user
interconnection through .NET technology, SAS is strategically
poised to further expand its client base and drive the way the
travel industry communicates in the coming years.
Conclusion
Microsoft .NET is already shifting the focus from individual
websites and devices connected to the Internet to constellations
of computers, devices, and services that work together to
deliver more comprehensive solutions. For IT professionals, this
that means a wider scope of vision is required to manage
advanced connectivity issues. But even as the field of vision
expands, the possibility for error diminishes. .NET reduces the
guesswork of many IT management tasks by:
Helping to streamline deployment.
Enabling interoperability with diverse systems, including legacy
systems.
Helping to enhance security.
Reliably connecting and supporting both stationary and mobile
devices.
For IT pros, the value of .NET lies in interoperability and the
seamless connectivity of multiple systems and sources of data.
Coupled with anytime, anywhere connectivity and system-to-user
interconnection, .NET-connected software helps businesses
deliver unprecedented levels of value to customers, partners and
employees. By embracing .NET technology, IT professionals can
empower their businesses to realize this vision.
This course may also available as an
online course.
Click here
to see our online courses.