platforms and tools for web services and mobile applications introduction to.net bent thomsen...
TRANSCRIPT
![Page 1: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/1.jpg)
Platforms and tools for Web Services and Mobile Applications
Introduction to .Net
Bent Thomsen
Aalborg University
3rd and 4th of June 2004
![Page 2: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/2.jpg)
Microsoft .NETWeb services support across the Microsoft platform Web services support across the Microsoft platform
To
ols
To
ols
ClientsClients
ServicesServices
ServersServers
Ex
pe
rien
ces
E
xp
erie
nce
s
& S
olu
tion
s&
So
lutio
ns
![Page 3: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/3.jpg)
A Unified Programming Model
Windows API
.NET Framework
Consistent API availability regardless oflanguage and programming model
ASP
Stateless,code embeddedin HTML pages
MFC/ATL
Subclassing,Power and
Expressiveness
VB Object Model
RAD,Composition and
Delegation
![Page 4: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/4.jpg)
Visual Studio .NET and the .NET Framework
Windows Operating SystemWindows Operating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO .NET and XMLADO .NET and XML
ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# J#J# ……V
isua
l Stu
dio
.NE
TV
isua
l Stu
dio
.NE
T
![Page 5: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/5.jpg)
Common Language Runtime• 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
![Page 6: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/6.jpg)
CLR: Internals
Class Loader
IL to NativeCompilers
CodeManager
GarbageCollector
Security Engine Debug Engine
Type Checker Exception Manager
Thread Support COM Marshaler
Base Class Library Support
![Page 7: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/7.jpg)
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
![Page 8: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/8.jpg)
• 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 ClassesUnified and Comprehensive API
![Page 9: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/9.jpg)
System
System.Data (ADO .NET) System.XML
System.Web (ASP .NET)
Globalization
Diagnostics
Configuration
Collections
Resources
Reflection
Net
IO
Threading
Text
ServiceProcess
Security
Design
ADO
SQLTypes
SQL
XPath
XSLT
RuntimeInteropServices
Remoting
Serialization
Serialization
Configuration SessionState
Caching Security
ServicesDescription
Discovery
Protocols
UIHTMLControls
WebControls
System.Drawing
Imaging
Drawing2D
Text
Printing
System.WinForms
Design ComponentModel
.Net Framework Classes
![Page 10: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/10.jpg)
Referencing the Framework
![Page 11: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/11.jpg)
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.exeCompilerCompiler
AssemblyAssembly
DLL or EXEDLL or EXE
.Net AssembliesCompilation
![Page 12: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/12.jpg)
VBVBSource Source codecode
CompilerCompiler
C++C++C#C#
CompilerCompilerCompilerCompiler
Operating System ServicesOperating System Services
Common Language RuntimeCommon Language Runtime
JIT CompilerJIT Compiler
Native CodeNative Code
ManagedManagedcodecode
AssemblyAssemblyIL CodeIL Code
AssemblyAssemblyIL CodeIL Code
AssemblyAssemblyIL CodeIL Code
.Net Execution ModelCommon Language Runtime
![Page 13: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/13.jpg)
.NET Security• 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
![Page 14: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/14.jpg)
Visual Basic .NET• 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
![Page 15: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/15.jpg)
Visual C# .NET Component Oriented Language
• 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
![Page 16: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/16.jpg)
Visual J# .NET• 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
![Page 17: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/17.jpg)
Visual C++ .NETContinue to provide most powerful
and flexible language
• Better ANSI/ISO conformance• Enable seamless, incremental use
of .NET Framework• Enhanced ATL Servers • Improved ATL and MFC Clients• Enhanced STL
![Page 18: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/18.jpg)
.NET Applications• 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…
![Page 19: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/19.jpg)
ASP.NET• 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
![Page 20: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/20.jpg)
What Is an XML Web Service?
• 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
![Page 21: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/21.jpg)
Web ServicesOpen Standards & Protocols
• XML– Universal data format– Standards-based integration– User-customizable
• HTTP– Ubiquitous protocol– Universally understood
![Page 22: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/22.jpg)
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
![Page 23: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/23.jpg)
• 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
Software as a ServiceVisual Studio .Net and the Net Framework
Public Function HelloWorld() as String
return “Hello World”
End Function
[WebMethod]WSDLWSDL
WebServiceObject
WebServiceObject
TestPage
TestPage
Compiler
![Page 24: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/24.jpg)
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
![Page 25: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/25.jpg)
.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
![Page 26: Platforms and tools for Web Services and Mobile Applications Introduction to.Net Bent Thomsen Aalborg University 3rd and 4th of June 2004](https://reader035.vdocument.in/reader035/viewer/2022062421/56649da05503460f94a8c2b3/html5/thumbnails/26.jpg)
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