Web services support across the Microsoft platform Web services support across the Microsoft platform
T
o
o
l
s
T
o
o
l
s
ClientsClients
ServicesServices
ServersServers
E
x
p
e
r
i
e
n
c
e
s
E
x
p
e
r
i
e
n
c
e
s
&
S
o
l
u
t
i
o
n
s
&
S
o
l
u
t
i
o
n
s
Windows API
.NET Framework
Consistent API availability regardless of
language and programming model
ASP
Stateless,
code embedded
in HTML pages
MFC/ATL
Subclassing,
Power and
Expressiveness
VB Object
Model
RAD,
Composition and
Delegation
Windows Operating SystemWindows Operating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO .NET and XMLADO .NET and XML
ASP .NETASP .NET
Web Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindows
FormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# J#J# ……
V
i
s
u
a
l
S
t
u
d
i
o
.
N
E
T
V
i
s
u
a
l
S
t
u
d
i
o
.
N
E
T
Manages running code
◦Threading, Memory management
◦Eliminates memory management drudgery
◦Kills entire classes of bugs (e.g., memory corruption, ref
counting)
◦Auto-versioning, no more DLL Hell
◦Scalability, performance, reliability all improve
Fine-grained evidence-based security
◦Code access + Role-based
◦Integrated with underlying OS
◦Security model ensures safety
No-touch deployment
◦XCOPY, no registry required
Object remoting with SOAP
Class Loader
IL to Native
Compilers
Code
Manager
Garbage
Collector
Security Engine Debug Engine
Type Checker Exception Manager
Thread Support COM Marshaler
Base Class Library Support
Spans all programming languages
◦Enables cross language inheritance and debugging
◦Integrates well with tools
Object-oriented and consistent
◦Increases developer productivity by reducing the
number of APIs to learn
Common type system built-in
Extensible
◦Makes it easy to add or modify framework features
Secure
◦Allows creation of secure applications
System & Runtime Functions
Windows & Web Development
Web Services
Data Access & XML Services
Networking & IO
Enterprise Services (COM+ & MSMQ)
Directory & Security Services
Diagnostics, Perf-Mon, Debug
And many more…
11
Source CodeSource Code
C++, C#, VB or C++, C#, VB or
any .NET any .NET
languagelanguage
csc.exe or vbc.execsc.exe or vbc.exe
CompilerCompiler
AssemblyAssembly
DLL or EXEDLL or EXE
VBVB
Source Source
codecode
CompilerCompiler
C++C++C#C#
CompilerCompilerCompilerCompiler
Operating System ServicesOperating System Services
Common Language RuntimeCommon Language Runtime
JIT CompilerJIT Compiler
Native CodeNative Code
ManagedManaged
codecode
AssemblyAssembly
IL CodeIL Code
AssemblyAssembly
IL CodeIL Code
AssemblyAssembly
IL CodeIL Code
Role-based Security
◦What the user is allowed to do within the application
◦.NET Roles = Windows Active Directory
®
groups
Code Access Security
◦What the code is allowed to do on this machine
◦Evidence Based (Policies, Permissions, Evidence)
Cryptography Built In to .NET FX
Evolution, not revolution, of language used by
developers worldwide
Builds on existing technology while adding power
◦True OOP
◦Multithreading
◦NT Services
◦Web Services
The fastest way to build scalable applications for
industry
C# is the first “component oriented” language in
the C/C++ family
Component concepts are first class:
◦Properties, methods, events
◦Design-time and run-time attributes
◦Integrated documentation using XML
Enables one-stop programming
◦No header files, IDL, etc.
◦C++ heritage – simplification with no
unnecessary sacrifices
Native support for XML Web services
Fully integrated with Visual Studio .NET
development environment
Full access to the .NET Framework
◦ASP.NET, ADO.NET, Windows Forms
◦Integration with >20 other languages
Protection of existing investments
◦Use java language syntax on .NET
◦Move applications and skills forward
Better ANSI/ISO conformance
Enable seamless, incremental use
of .NET Framework
Enhanced ATL Servers
Improved ATL and MFC Clients
Enhanced STL
Web Form – Next Generation ASP Page
Win Form – Next Generation Win32 App
Web Services – Key to Interoperability
Others –
◦Server Objects
◦Console Applications
◦Window Services
◦Mobile Clients
◦Many more…
Server-side Web Forms and Web Services
components separate code from content
◦Developer productivity increases
◦Tools easily use ASP.NET
◦Any programming language: full VB, JScript, C++,
COBOL, Perl, etc.
◦40% to 70% reduction in lines of code
Compiled
No-touch deployment system
Intelligent state management
Backwards compatible with ASP
Controls sense client and adapt output: HTML,
DHTML, WML
A Component That Uses XML & HTTP To Define
and Deliver A Service
◦Global reach
◦Based on open set of standards
◦Reuse across platforms
◦Works with any operating system, programming language,
or network
◦Expose legacy code
Different systems can actually talk
XML
◦Universal data format
◦Standards-based integration
◦User-customizable
HTTP
◦Ubiquitous protocol
◦Universally understood
Expose functionality as service
◦No need to learn XML, SOAP, or WSDL
◦Interface is automatically generated
◦Seamless deployment
Reuse existing Web Services
◦VS.NET generates the plumbing
◦Full IntelliSense support
Build and consume with any VS language
Built-in Support for Developing and Consuming
Web Services
◦Based entirely on open standards
◦Automatically generates WSDL
◦Automatically provides test page
◦Attribute based – No heavy coding needed
Public Function HelloWorld() as String
return “Hello World”
End Function
[WebMethod]T ols
WSDLTCi
oCentSC
rivCSc
Web
Service
ObjectECxc
p &C
Test
Page
Compiler
Rich, powerful client UI
◦Control anchoring, visual inheritance
◦Shared across all .NET languages
◦No-touch deployment
Secure
◦Semi-trusted browser component
◦Fully-trusted local application
Full Web Service integration
Evolutionary
◦Existing Skills Migrate Smoothly
◦Interoperates with Existing Applications
◦Extension of WinDNA Architecture
Revolutionary
◦Common Language Runtime
◦Deployment / Versioning (Ends DLL Hell)
◦Web Services & XML Integration
◦Evidence Base Code Access Security
Developers can use any .NET Language
The .NET Framework provides a foundation of
classes for developers to build a wide variety of
applications
Source code is compiled to MSIL within an
Assembly
Assembles contain rich meta data and are the
primary units of deployment
MSIL is compiled to native code and executed by
the Common Language Runtime