Microsoft's .NET Strategy

advertisement
Introduction to Microsoft.NET
Tom Servaes
for BCS Belgium Section
March 18th, 2002
Goals of this Presentation
 Understand
where .NET fits in the
computing market place
 .NET
and the New Economy
 Provide
an overview of this massive
technology called Microsoft.NET
 .NET
is more than Web Services
 Educated
guess on the .NET Strategy
for Microsoft
Why .NET? Why Now?
Where Have We Been?
 DOS
 One
application at a time
 No sharing between apps (re-entry)
 Lack of standards
 Windows
 Multiple
apps
 Cut&Paste, Drag&Drop, ...
 OS services for ISVs: Print, Clipboard, ...
Application Evolution
Through The Decades

1970s: 3270, tty
(Server centric)


1990s: HTML
(Server centric)
1980s: resource
sharing (Client
centric)
Difference In Money

Web Adoption




Phase 1: Portals (& presence)
Phase 2: Simple transactions (& revenue)
... then came XML ...
Phase 3: Digital Economy & Profit
Building the Business Internet
 Web
today

One site at a time

Re-enter information

No reliable services

No standard way of
creating, using,
integrating
 .NET
Integrated web
experience
 Interoperation
between
applications;
platforms,
businesses
 Services to rely on:
 Identity,
Authentication,
Calendar, ...
 Internet based
standards

.NET Developer Momentum
 Strong
early adoption
 250
000 Visual Studio .NET Beta 1
 500 000 .NET Framework SDK
 Beta
2 (Oct 2001)
 Shipped
 Official
to more than 1 million developers
Release Candidates
 February
2002 (MSDN Customers)
 May 2002 (estimate general public)
What Is Microsoft.Net?
Framework, Languages, Tools
VB
C++
C#
JScript
…
Common Language Specification
Windows
Forms
ADO.NET and XML
Base Class Library
Common Language Runtime
Operating System
Visual Studio.NET
ASP.NET
Web Forms Web Services
Mobile Internet Toolkit
.NET Design Goals





Unifies programming models
Dramatically simplifies development
Provides robust execution
environment
Supports multiple programming
languages
Natively supports XML Web Services
The .NET Evolution
Applicatio
n
Code and data
structures
Before COM, applications were
completely separate entities
with little or no integration
The .NET Evolution
COM provides a way for
components to integrate.
However, each
component must provide
the “plumbing” and
objects cannot directly
interact.
The .NET Evolution
With the .NET Framework
common language runtime,
components are built on a
common substrate. No
“plumbing” is needed and
objects can directly interact
What Is A Web Service?
A web service is: programmable logic accessible via
standard Web protocols
XML
Web
Service
XML
Web
Service
XML
Web
Service
Web
Service
Client
“Building Block
Services”
Web Service Infrastructure
Open
Internet
Protocols
Web
Service
A programmable application
component accessible via standard
Web protocols

Provide a Directory of Services on the
Internet

Web Services are defined in terms of the
formats and ordering of messages

Web Services consumers can send and
receive messages using XML

Built using open Internet protocols
UDDI
Universal Description,
Design, and Integration
WSDL
Web Services
Description Language
SOAP
XML & HTTP
.NET at 50,000 Feet
Visual Studio .NET
.NET Framework
Microsoft
Application Services
“HailStorm”
Services
Communication Protocols
XML, SOAP, HTTP, HTML
Easy to use, visual designers
for drag-and-drop development
Common infrastructure for
loosely-coupled objects
Common infrastructure for
high performance applications
Set of user-centric XML
Web Services
Open Internet standards
.NET at 50,000 Feet
Visual Studio .NET
.NET Framework
Microsoft
Application Services
“HailStorm”
Services
Communication Protocols
XML, SOAP, HTTP, HTML
Easy to use, visual designers
for drag-and-drop development
Common infrastructure for
loosely-coupled objects
Common infrastructure for
high performance applications
Set of user-centric XML
Web Services
Open Internet standards
Visual Studio.NET
One tool for all languages

Increased developer productivity



Powerful design tools



Easier to write code
Easier to share knowledge
Windows Forms, Web Forms
XML and component designers
Simplify server-based development


RAD for the server
End-to-end debugging
Visual Studio.NET
Development Platform



6 million Visual Studio developers
worldwide
Industry-leading developer tools
Languages built-in and plug-in



Visual Basic, Visual C++, Visual C#
COBOL, Fortran, Perl, Eiffel, Java, more
Tools built-in and plug-in

Rational, more
.NET at 50,000 Feet
Visual Studio .NET
.NET Framework
Microsoft
Application Services
“HailStorm”
Services
Communication Protocols
XML, SOAP, HTTP, HTML
Easy to use, visual designers
for drag-and-drop development
Common infrastructure for
loosely-coupled objects
Common infrastructure for
high performance applications
Set of user-centric XML
Web Services
Open Internet standards
Microsoft .NET Framework
Open Platform and Architecture
VB
C++
C#
JScript
…
Common Language Specification
Windows Forms
Web Services
Web Forms
.NET Framework Base Class Lib.
ADO.NET
XML
Security
Etc.
Common Language Runtime
Windows
COM+ Services
Visual Studio.NET
ASP.NET
Microsoft .NET Framework
Open Platform and Architecture
VB
C++
C#
JScript
…
Common Language Specification
Windows Forms
Web Services
Web Forms
.NET Framework Base Class Lib.
ADO.NET
XML
Security
Etc.
Common Language Runtime
Windows
COM+ Services
Visual Studio.NET
ASP.NET
Common Language Runtime
Base Class Library Support
Thread Support
COM Marshaller
Type Checker
Exception Manager
Security Engine
Debug Engine
IL to Native
Compilers
Code
Manager
Class Loader
Garbage
Collector
Common Language Runtime


Runtime Environment For .NET Applications
Provides common type system



Manages running code




Value types (integer, float, user defined, etc)
All types derive from system.object
Verifies type safety
Provides garbage collection, error handling,
reference counting, memory management, etc.
Code access security for semi-trusted code
Provides access to system resources

Native API, COM interop, etc.
.NET Application Structure
Assembly
Manifest
Module
…
Module
Metadata
MSIL
Type
Type
Type
Fields
Properties
Members
Unit of deployment
ID, security, dependencies,
resources, keys, Etc.
Executable
Type Information
Platform independent IL
Data
Data + code
Behavior
Compilation and Execution
Compilation
Source
Code
Language
Compiler
Native
Code
JIT
Compiler
Execution
Code
MSIL
Metadata
Before installation or
the first time each
method is called
Simplified Development
 Object
Oriented to the core
 Classes
and inheritance fully supported
 Even across languages!
 Seamless
integration
 Any
.NET class can be used as a COM
class with zero extra work
 COM classes can be imported as .NET
classes
 .NET
classes utilise COM+ services
 Transactions,
Object pooling, etc…
Simplified Deployment

No registration required



Zero-impact install


Code is completely self-describing
Simply copy components to application
directory
Installing one app will not affect another
Side-by-side execution

Multiple component versions can co-exist
Microsoft .NET Framework
Open Platform and Architecture
VB
C++
C#
JScript
…
Common Language Specification
Windows Forms
Web Services
Web Forms
.NET Framework Base Class Lib.
ADO.NET
XML
Security
Etc.
Common Language Runtime
Windows
COM+ Services
Visual Studio.NET
ASP.NET
.NET Framework Namespace
System.Web
Services
Description
UI
HtmlControls
Discovery
WebControls
System.WinForms
Design
Protocols
ComponentModel
System.Drawing
Caching
Security
Drawing2D
Printing
Configuration
SessionState
Imaging
Text
System.Data
System.Xml
ADO
SQL
XSLT
Design
SQLTypes
XPath
Serialization
System
Collections
IO
Security
Configuration
Net
ServiceProcess
Runtime
InteropServices
Diagnostics
Reflection
Text
Remoting
Globalization
Resources
Threading
Serialization
.NET Remoting: Channels

Channels transport messages






Built-in channels: TCP, HTTP
Extensible model: Named Pipes as SDK
sample
Establish endpoint-to-endpoint
communication
Formatters render wire format (Binary,
SOAP, ...)
Proxies map calls to messages
Architecture makes no assumptions
about endpoint architecture
Data and XML
 ADO.NET
DataSet – in-memory buffer of related tables
 Fill from managed providers or XML
 Managed Providers
 Stream-level access to data sources
 Fastest way to get data out of SQL

 System.Xml
Great Standards support
 100% OASIS compliance
 XSLT 1.0, XPath 1.0, XSD 1.0, DOM2
 Great throughput for raw parsing and XSLT
 Pluggable, chainable architecture

A Unified Programming Model
Consistent API availability regardless of
language and programming model
.NET Framework
RAD,
Composition,
Delegation
VB Forms
Subclassing,
Power,
Expressiveness
MFC/ATL
Windows API
Stateless,
Code embedded
in HTML pages
ASP
How Much Simpler?
Windows API
HWND hwndMain = CreateWindowEx(
0, "MainWClass", "Main Window",
WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
(HWND)NULL, (HMENU)NULL, hInstance, NULL);
ShowWindow(hwndMain, SW_SHOWDEFAULT);
UpdateWindow(hwndMain);
.NET Framework
Form form = new Form();
form.Text = "Main Window";
form.Show();
Microsoft .NET Framework
Open Platform and Architecture
VB
C++
C#
JScript
…
Common Language Specification
Windows Forms
Web Services
Web Forms
.NET Framework Base Class Lib.
ADO.NET
XML
Security
Etc.
Common Language Runtime
Windows
COM+ Services
Visual Studio.NET
ASP.NET
Windows Forms

Framework for rich Windows
applications


Provides advanced features




Combines best of VB Forms, MFC and WFC
Visual forms inheritance, automatic layout
Advanced graphics support – GDI+
Easy access to Win32 ® API
Secure


Code access security prevents harm
No Internet Explorer security dialogs!
Microsoft .NET Framework
Open Platform and Architecture
VB
C++
C#
JScript
…
Common Language Specification
Windows Forms
Web Services
Web Forms
.NET Framework Base Class Lib.
ADO.NET
XML
Security
Etc.
Common Language Runtime
Windows
COM+ Services
Visual Studio.NET
ASP.NET
ASP.NET

Simplifies web page development


Web Forms



Form-based web page development like
VB development
Replace Active Server Pages (ASP)
Similar to VB forms
 Event based
 Server controls
Web Services support
ASP.NET Deployment

“XCOPY” deployment



Supports all web resources




No registration required
No stopping the server
Web pages, web services
Compiled components (DLL)
Configuration files
Applications gracefully migrated to
new versions
.NET at 50,000 Feet
Visual Studio .NET
.NET Framework
Microsoft
Application Services
“HailStorm”
Services
Communication Protocols
XML, SOAP, HTTP, HTML
Easy to use, visual designers
for drag-and-drop development
Common infrastructure for
loosely-coupled objects
Common infrastructure for
high performance applications
Set of user-centric XML
Web Services
Open Internet standards
Microsoft Application Services
Windows 2000

.NET Enterprise Servers

Complete application platform
Message
Services
Component
Services
Directory
Services
Windows
Web
Data
Services Services
Application
Services

Core application services
Base APIs

.NET at 50,000 Feet
Visual Studio .NET
.NET Framework
Microsoft
Application Services
“HailStorm”
Services
Communication Protocols
XML, SOAP, HTTP, HTML
Easy to use, visual designers
for drag-and-drop development
Common infrastructure for
loosely-coupled objects
Common infrastructure for
high performance applications
Set of user-centric XML
Web Services
Open Internet standards
“HailStorm”

Set of user-centric XML Web services





New model for user-centric computing
HailStorm manages, protects user info
Puts users in control of their “stuff”
Delivers on .NET building block services
Creates incredible industry opportunity
HailStorm connects Internet applications,
devices and services – and transforms them
into a user’s personal network – on their
behalf, with their permission
The Long Term
Microsoft.NET Strategy
An Educated Guess
.NET Platform Roadmap
Today
.NET .NET Framework,
Framework & Visual Studio.NET
beta
VS.NET
.NET My
Services
.NET Passport
.NET Alerts
.NET
Enterprise
Servers
.NET Enterprise
Servers
Operating
Systems
Win2000 / XP
- Unified Platform
- XML support
- New UI (XP)
Soon
2003+
.NET Framework,
Visual Studio .NET
n+1
.NET My Services
Test Environment
Other
Production
Services
BizTalk Svr 2002
Commerce Svr 2002 SQL “Yukon”
Windows .NET
“Longhorn”
- .NET Framework
- 64-bit Support
- Services integration
- More services
integration
- Cust feedback
Rational XDE for VS.NET


Value of Visual Modeling as a Best
Practice
Seamless Integration


Leverage Open Tools Platform
Features and capabilities to be taken
advantage of
 Property browser
 Task List
 Tool Box
 Solution Explorer
 Tab Windows
A New Route


Answer to Java and Heterogeneity
Enterprise development





Interoperability
Open tools (VSIP)
Microsoft Consulting Services
Business critical systems
Double-or-quits turnaround
vs. Nth re-branding?
Summary

.NET Framework built for Web Services


Comprehensive class libraries


Simpler, secure, modern, multi-language,
object oriented, distributed, XML built in
Consistent, comprehensive foundation
Interoperability and Business Profit
References

Websites







www.dotnet.be
www.gotdotnet.com
www.microsoft.com/uk/msdn/learning.asp
www.microsoft.com/belux/msdn/devdays2001/
msdn.microsoft.com/theshow/
www.rational.com/microsoft
Books


Blown to Bits – Evans, Wurster – HBS Press © 2000
.NET Framework Essentials – Thai, Lam – O’Reilly © 2001
Download