Transcript PPT

The Impact of
Microsoft .NET
Billy Hollis
Next Version Systems, LLC
Presented for the Association of
Information Technology Professionals
October 31, 2002
Limitations of software at the turn
of the century


Internet “strapped on” to existing systems
Multiplying programming models
• Web programming different languages and
technologies from other types of programming

Lack of standard way for distributed
systems to communicate
• Most systems isolated within one organization
• Information communicated “ad-hoc” –
printing, fax, email, etc.


Security vulnerabilities
Microsoft-based systems hard to deploy
The first post-Internet platform
Microsoft .NET





Designed from the ground up with the
Internet in mind
Microsoft is betting their future on it
So big, it’s hard to grasp the changes it
will bring
Will likely bring competitive responses
from other companies, so its effects
matter even if you don’t expect to use it
This session covers some of the expected
long term and short term effects
Structure of Microsoft .NET

Two main elements
• Common Language
Runtime (execution
engine) abstracts away
the operating system
• Framework Base Classes
provide “infrastructure”
code, allowing
consistent programming
with far fewer lines of
code
Web users
Other
systems
local users
Programs written in .NET
Framework Base Classes
(database access, user interface
creation, XML, security interface
over 8000 classes)
Common Language Runtime
(execution, security, memory
management, program
loading, interface to OS)
Databases, message queues,
other O/S Services
Operating System
(currently Windows)
Goals of Microsoft .NET

Unify programming models
• Internet, local, mobile programming all done with
the same language and toolset

Provide new distributed architectures
• Tying systems together across the Internet

Better deployment
• Cheaper deployment for standard apps
• More deployment options, including Internet
deployment

Better security
• Obliterate common security flaws such as buffer
overruns
• More security options – fine-grained policies
Languages in .NET

There are over thirty languages already
enabled or being enabled to work with the
.NET platform, including:
•
•
•
•


Visual Basic
C# (Microsoft’ new Java-like language)
•Fortran
Java
•Many others
COBOL
All have similar flexibility and performance
characteristics
Languages work together transparently,
including the ability to do cross-language
inheritance
The effects of .NET






Breaking the “single-organization”
model for software systems
Decline of browser-based applications
Simplified development via a
common programming model
Much faster creation of Internet
applications
Integration of mobile/wireless
technologies
Interoperability with existing systems
Breaking the single-organization
model


Most current systems reside within a
single organization
Need to integrate with other organizations
increases every year
• Communicate information to
customers/suppliers/public
• Use functionality without having to write it
• Support geographically distributed operations
• Integrate external data into decision support
programs
The need for better integration
Screen
scrape
Partner
Web
Applications
FAX
B2C
website
Client
Partner
Ad-hoc
Credit
info
The technology – Web Services


System-to-system communication over the
Internet
Standard communications protocol – SOAP
• Variant of XML
• W3C approved
• Supported by Microsoft, IBM, Intel, HP, Sun, etc.



Integrates systems with different hardware
or operating systems
Supplies data, not “web page”, so data can
be used in any necessary fashion
Very easy to create and use with .NET
Changes caused by XML and Web
Services Adoption
Partner
XML
Partner
XML
Client
XML
Client
B2C
website
XML
Credit
info
Benefits: End-to-end automation;
Share, analyze and act on the data
Decline of browser-based apps



Today we use
the browser
just to keep
deployment
costs low
Alternative of “smart-client” applications
costs too much to deploy for most scenarios
So we put up with sub-standard, nonresponsive user interfaces
.NET changes the economics of
deployment


Simple deployment model – copy and run
Allows programs to run from
•
•
•
•

Local computer
Shared drive on a network
Removable media (e.g. CD-ROM)
An Internet server
Fine-grained security
• Security policies determine exactly what
privileges code has, based on its origin and
other pieces of evidence about the code
Internet Deployment of Windows
Forms
Client with
Web Server
.NET Runtime
Form1
Windows
Forms App.
HTTP
Assembly
Cache
Web
Server
Forms contained in
separate DLLs
Form2
Deployment directory
on web server
Smart clients become practical again

This new generation is sometimes referred
to as “distributed smart client architecture”
Common Programming Model in .NET

For Microsoft (pre .NET), you needed
multiple languages and technologies
• Visual Basic, ASP, C++, DHTML, XML, etc.

.NET languages can be used for all types of
programming
Internet
Mobile
Wireless


Forms-based
Component development
System development
Developers capable of doing a broader
range of tasks
No need to change languages for different
types of development
Simpler Programming Model in
.NET





XML can be accessed as normal data
Web developers use far less HTML/DHTML
Less SQL development – better data
access tools
.NET Framework Classes handle
infrastructural details
.NET applications have roughly half the
amount of code as applications written
with previous Microsoft tools
The effects of .NET






Breaking the “single-organization”
model for software systems
Decline of browser-based applications
Simplified development via a
common programming model
Much faster creation of Internet
applications
Integration of mobile/wireless
technologies
Interoperability with existing systems
Faster development of Internet
applications


Drag and drop development of web pages
Smart “server controls” act like visual
controls on a form
• Manage their own state
• Render their visual appearance in HTML
• Support multiple browsers

Infrastructure built in
• Security
• Caching
• Storing information from page to page
Mobile and wireless technologies

Two approaches
• Web pages for wireless devices (phones, PDAs)
• Software that runs on mobile devices (PDAs,
tablet PCs)

Advantages to each approach
• Web pages have broad reach, practically zero
deployment costs, but cannot take advantage
of local intelligence or store info locally
• Software on device is limited to certain devices
and must be copied to device, but can store
locally and have smart UI
.NET has support for both types of
mobile development


Mobile Internet Toolkit used to write pages for
wireless devices
• Drag and drop development
• One page supports multiple devices, using
HTML or WML as necessary
.NET Compact Framework for mobile devices
such as PDAs
• Subset of complete .NET Framework
• Can access Web Services for data
• Smart UI with Windows Forms subset
Interoperability with existing
software


You can’t just throw away everything you
have now
Older COM software can be used inside
.NET through interoperability
• Engine for interop built into the CLR
• Good performance

.NET software can expose a COM interface
• Allows systems to be replaced piece-by-piece
.NET versus Java



The main competitor to .NET is Java
Java is a strong, mature technology for
server applications
Java weaknesses vs. .NET
• Behind on Web Services
• No significant competition for distributed smart
client architectures
• More expensive
• Only one language
• Not as interoperable with older technologies

Some of these will disadvantages will be
reduced in time – others will not
Summary

These changes brought by .NET will
drive new business needs and
arrangements
• Communication with partners
• New business models for providing data
and services on the web
• Competitive advantages




New, smarter systems…
with greater reach…
and more connectivity…
developed faster
Summary (continued)

These changes will affect many
aspects of software development
• Wider reach and higher connectivity
allow new architectures
• Deployment options drive new choices
for common applications
• Changes in best practices
• System definition and design
• Makeup of development teams
• Professional development and training
Questions?
Billy Hollis
Next Version Systems, LLC
[email protected]
(615) 333-6555
• Strategic and
architectural consulting
in .NET
• Focus on commercial
software development
• In-depth training in
.NET
Presenter - Billy Hollis
[email protected]