Platforms and Tools For Web Services and Mobile Applications
Platforms and Tools For Web Services and Mobile Applications
Introduction to .Net
Bent Thomsen
Aalborg University
3rd and 4th of June 2004
Microsoft .NET
Web services support across the Microsoft platform
Clients
Experiences
& Solutions
Tools
Services
Servers
A Unified Programming Model
Consistent API availability regardless of
language and programming model
.NET Framework
RAD, Subclassing, Stateless,
Composition and Power and code embedded
Delegation Expressiveness in HTML pages
VB Object
Model MFC/ATL ASP
Windows API
Visual Studio .NET and the
.NET Framework
VB C++ C# J# …
Class Loader
Framework Classes
• 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
.Net Framework Classes
Unified and Comprehensive API
• 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…
.Net Framework Classes
System.Web (ASP .NET) System.WinForms
Services UI Design ComponentModel
Description HTMLControls
Discovery WebControls
Protocols System.Drawing
Caching Security Drawing2D Printing
Configuration SessionState Imaging Text
System
Collections IO Security Runtime
Configuration Net ServiceProcess InteropServices
Diagnostics Reflection Text Remoting
Globalization Resources Threading Serialization
Referencing the Framework
.Net Assemblies
Compilation
Compiler
csc.exe or vbc.exe
C++, C#, VB or DLL or EXE
any .NET
language
11
.Net Execution Model
Common Language Runtime
Source VB C# C++
code
Compiler Compiler Compiler
JIT Compiler
Native Code
• XML
– Universal data format
– Standards-based integration
– User-customizable
• HTTP
– Ubiquitous protocol
– Universally understood
VS.NET and Web Services
• 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
Software as a Service
Visual Studio .Net and the Net Framework
[WebMethod]
WSDL
WSDL
Public Function HelloWorld() as String
Compiler Web
Web
return “Hello World” Test
Test Service
Service
End Function Page
Page Object
Object
Windows Forms
• 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
.NET (R)Evolutionary
• 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
5 Key Points to Remember…
• 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