What .NET
Means for IT Professionals
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 XML 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.
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 XML Web services and applications.
XML 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.
Continental
Airlines Streamlines Deployment with .NET
.NET
also makes it possible for businesses to streamline the deployment time of
applications they create. Application developers at Continental Airlines
employed the .NET Framework and Microsoft Visual Studio® .NET to build and
deploy mobile applications that use a single code base and run on multiple
platforms. The applications allow customers to receive essential flight
information on the device of their choice.
The .NET
Framework helped developers cut deployment time from weeks to mere hours
through "XCOPY deployment"—meaning they could design, code, and debug
on the development platform, and then simply copy their code to a staging
server. The code is then ready to run without worrying about dependencies such
as DLL registration or building COM or export packages.
How does
this benefit IT professionals? According to Ferdy Khater, director of
application development at Continental, "With XCOPY deployment, adding a
server is easy because we don't have to bring down the whole site to do
it." So during peak usage periods, Khater says, "we can throttle the
system by adding hardware and, once the peak has passed, redeploy it to where
it's needed more."
In
addition, Continental developers conducted a system stress test that simulated
200 concurrent connections generating 80,000 simultaneous hits. The connection
success rate was more than 98 percent and the CPU utilization was less than 50
percent under a maximum load. The common language runtime ensured these favorable
numbers by employing managed code and sidestepping memory leaks.
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 XML 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 Web
site 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 Web
site (www.dollar.com) built using Microsoft Windows NT® Server, CGI, Perl, and
an Oracle database
The Web
site 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 XML 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
XML 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 an XML Web service.
By
exposing Quick Keys as an XML Web service, Dollar was able to extend the Web
site'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.
XML Web
services play an important role in device support. As mentioned previously, XML
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 XML 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 Web site (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 Web site 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 Web sites 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.
No comments:
Post a Comment