.Net Tech Basics
Click here to load reader
Transcript of .Net Tech Basics
![Page 1: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/1.jpg)
An Overviewof the .NET Technology
Hanspeter Mössenböck
![Page 2: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/2.jpg)
2
What is .NET?
A new software platform for the desktop and the Web
operating system (Windows, Linux, Unix, ...)
unmanagedapplications
![Page 3: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/3.jpg)
3
What is .NET?
A new software platform for the desktop and the Web
operating system (Windows, Linux, Unix, ...)
unmanagedapplications managed applications
class library
Common Language Runtime
Common LanguageRuntime
interoperability, security, garbage collection, versioning, ...
class library GUI, collections, threads, network, reflection, XML, ...
![Page 4: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/4.jpg)
4
What is .NET?
A new software platform for the desktop and the Web
operating system (Windows, Linux, Unix, ...)
unmanagedapplications managed applications web applications
class library
Common Language RuntimeWeb server (IIS)
ASP.NET
Web Forms Web Services
ASP.NET,Web Forms
Web GUI (object-oriented, event-based, browser-independent)
Web Services distributed services over RPC (SOAP, HTTP)
![Page 5: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/5.jpg)
5
What is .NET?
A framework and more ...
operating system (Windows, Linux, Unix, ...)
unmanagedapplications managed applications Web applications
class library
Common Language RuntimeWeb server (IIS)
ASP.NET
Web Forms Web Services
.NET Framework + tools (Visual Studio .NET, ildasm, gacutil, ...)+ servers (SQL server, BizTalk server, Exchange server, ...)+ services (My Services, Passport service, ...)
![Page 6: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/6.jpg)
6
Goals of .NET
To unify desktop and Web programmingSo far
Desktop programming
object-orientedcompiled (C/C++, Fortran, ...)class library
Web programming
ASP (not object-oriented)interpreted (VBScript, Javascript, PHP, ...)special library
![Page 7: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/7.jpg)
7
Goals of .NET
To unify desktop and Web programmingSo far
Desktop programming
object-orientedcompiled (C/C++, Fortran, ...)class library
Web programming
ASP (not object-oriented)interpreted (VBScript, Javascript, PHP, ...)special library
Under .NET
Desktop and Web programming
object-oriented (ASP.NET)compiled (C#, C++, VB.NET, Fortran, ...)uniform class library
![Page 8: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/8.jpg)
8
Goals of .NET
Interoperability between programming languages
So far- millions of lines of code in C++, Fortran, Visual Basic, ... - very limited interoperability
![Page 9: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/9.jpg)
9
Goals of .NET
Interoperability between programming languages
So far- millions of lines of code in C++, Fortran, Visual Basic, ... - very limited interoperability
Under .NET- binary compatibility between more than 20 languages (C#, C++, VB.NET, Java, Eiffel, Fortran, Cobol, ML, Haskell, Pascal, Oberon, Perl, Python, ...)Class in VB.NET
class B : A {public string s;public void Bar() {...}
}
Subclass in C#class Client feature
obj: B;...create obj;obj.Bar;...
end
Used in EiffelPublic Class A
Public x As IntegerPublic Sub Foo() ...
End Class
![Page 10: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/10.jpg)
10
Goals of .NET
Web Services: distributed applications on the Internet
Usage of the Internet so far- Email - Web browsers (show information for human users)
![Page 11: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/11.jpg)
11
Goals of .NET
Web Services: distributed applications on the Internet
Usage of the Internet so far- Email - Web browsers (show information for human users)
Under .NET: B2B applications without a Web browser
travel office airline
hotel "Sunny Island"
hotel chainhotel "Blue Moon"bank
Based on simple standards- HTTP- SOAP (XML)- Remote Procedure Calls
![Page 12: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/12.jpg)
12
Goals of .NET
Simpler dynamic Web pages
So far- ASP (mixture of HTML and VBScript or Javascript)
![Page 13: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/13.jpg)
13
Goals of .NET
Simpler dynamic Web pages
So far- ASP (mixture of HTML and VBScript or Javascript)
Under .NET- ASP.NET (clear separation of HTML and script code)
object-orientedevent-basedinteractively composable (RAD)custom GUI elements possibleefficient (compiled server code)state managementauthorisation / authentification...
![Page 14: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/14.jpg)
14
Goals .NET
More quality and convenience
- Security
- Side by side execution
- Zero-impact installation
- Different clients
public key signaturescode-based access rights
end of "DLL hell"versioning
no Registry entries necessaryclean deinstallation
PCs, mobiles, embedded systems
![Page 15: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/15.jpg)
15
InteroperabilityC#
C# C++ VB ...
compiler compiler compiler compiler
if (a > b) max = a; else max = b;
IL_0004: ldloc.0IL_0005: ldloc.1IL_0006: ble.s IL_000cIL_0008: ldloc.0IL_0009: stloc.2IL_000a: br.s IL_000eIL_000c: ldloc.1IL_000d: stloc.2
CIL
CIL code(+ metadata)
loader
mov ebx,[-4]mov edx,[-8]cmp ebx,edxjle 17mov ebx,[-4]mov [-12],ebx...
Intel codeverifyer
JIT compiler
machine code
![Page 16: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/16.jpg)
16
Assemblies
metadata
CIL code for A
CIL code for B
CIL code for C
manifest
class A { ... }class B { ... }
Prog.cs
class C { ... } Assemblies are the smallest units for• deployment• versioning• loading
Lib.cs
csc Prog.cs,Lib.cs
Prog.exe
version numberpublic keyinterface description- classes- methods- fields- parameters- types- ...
allows:- dynamic loading- version checking- reflection
loader
![Page 17: .Net Tech Basics](https://reader037.fdocuments.us/reader037/viewer/2022100323/55296c274a795972158b470f/html5/thumbnails/17.jpg)
17
Literature
Web- www.microsoft.com/net/- msdn.microsoft.com/net/- www.gotdotnet.com- www.devhood.com- www.go-mono.com- dotnet.jku.at
Books- Beer, Birngruber, Mössenböck, Wöß: Die .NET-Technologie. dpunkt.verlag, 2003- Albahari, Drayton, Merrill: C# Essentials, O'Reilly, 2001- Robinson et al.: Professional C#, Wrox Press, 2001- Richter: Applied Microsoft .NET Framework Programming, Microsoft Press, 2002- Watkins et al.: Programming in the .NET Environment, Addison Wesley, 2002- Box: Essential .NET, Addison Wesley, 2002