Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

1..NET Arkitektur. Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework Class Libraries (FCL). The CLR defines.

Lignende præsentationer


Præsentationer af emnet: "1..NET Arkitektur. Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework Class Libraries (FCL). The CLR defines."— Præsentationens transcript:

1 1..NET Arkitektur

2 Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework Class Libraries (FCL). The CLR defines a common programming model and a standard type system for cross-platform, multi-language development.” CLR-baseret eksekvering Applikationsdesign Komponent-baseret udvikling

3 Del 1 CLR-baseret eksekvering…

4 Inspiration.NET er inspireret af en række elementer….NET OOP JVM GUI Web component-based design n-tier design

5 .NET understøtter en række sprog.NET understøtter VB, C# (C-sharp), C++, J# (Java 1.1), Eiffel, etc. code.vbcode.cscode.cpp... Development Tools app.exe FCL

6 .NET er “platformsuafhængigt” Kompilerede.NET applikationer kører på alle supporterede platforme: APP.exe ? Win64Win32 ( XP,2K,98) WinCE

7 CLR-baseret eksekvering.NET applikationer er ikke stand-alone.exe-programmer APP.exe other FCL components CLR JIT Compiler obj code OS Process Underlying OS and HW Core FCL

8 Java Virtual Machine Execution of Java programs source (xxx.java) compiler CPU bytecode (xxx.class) Interpreter fortolker

9 CLR-baseret eksekvering medfører: Klienter behøver CLR & core FCL for at køre.NET apps tilgængelig via Redistributable.NET Framework 20MB download kører på 98 og derover, NT (sp6a) og derover Runtime er automatisk med Vista Afvejning af design… + managed execution (memory protection, etc.) + portabilitet: generelt assembly-sprog FCL = abstraktionslag mellem app og OS langsommere eksekvering? JIT kompilering er kostbart men JIT-compiler kan udnytte target HW man kan også bruge pre-JIT

10 Del 2 Applikationsdesign…

11 Applikationsdesign Mange applikationer designes med N "tiers" god separation af ansvar muliggør brug af samme back-end tiers til forskellige klienter object Front-end object BusinessPresentationData AccessData

12 Fysisk design Hvor placeres tiers fysisk? Der findes en række forskellige designs… De mest almindelige er: lokalt remote web app web service

13 (1) Loalt design Lokalt medfører at tiers befinder sig på den lokale maskine dog kan data befinde sig på en remote maskine FE obj Fordele? –simpelt at lave! Ulemper? –Svært at deploye & vedligeholde –skal installeres og konfigureres på hver klient

14 (2) Remote design Remote medfører at præsentationen kører på en separat maskine FE obj Fordele? –Lettere at vedligeholde, back-end tiers kan opdateres uden at gøre noget ved klienten –mere sikkert, idet databasen tilgås fra serveren - ikke klienten Ulemper? –Klienter kræver ofte samme OS som server; firewall problematik proprietary protocols Server Client

15 (3) Web app design Web app medfører at præsentationen genereres af en Web server obj Browser ANY platform Web server Fordele? –skalerer til internet, udvider applikationens mulige målgruppe –ingen firewall-problematik (HTTP / port 80 trafik) Ulemper? –browser-baseret klient kan begrænse klientens kvalitet HTML / HTTP Web Page Server

16 (4) Web service design Web services er objekter som er tilgængelige via webteknologier I stedet for HTML, sendes rå data i XML obj custom FE ANY platform Server Web server XML / SOAP obj Fordele? –Åben! muliggør integration af applikationer Ulemper? –En teknologi under udvikling… other APP ANY platform

17 Del 3 Komponent-baseret udvikling…

18 Komponent-baseret udvikling Applikations tier består ofte af mange komponenter/klasser Ex: typisk GUI applikation med lokalt design har 3 komponenter pakket som 1 EXE og 2 DLL Front-end object app.exe business.dll data.dll

19 Assemblies.NET pakker komponenter i såkaldte assemblies 1 assembly = 1 eller flere kompilerede klasser.EXE repræsenterer en assembly med klasser + Main program.DLL repræsenterer en assembly med klasser Development Tools.EXE /.DLL code.vb code.cs assembly

20 CLR-baseret eksekvering revisted Alle assemblies skal være til stede:.EXE other FCL assemblies CLR JIT Compiler obj code OS Process Underlying OS and HW Core FCL assembly.DLL obj code

21 Assembly - hvor placeres de? Hvordan finder CLR de rette assemblies? Indtil videre, er et simpelt svar tilstrækkeligt: DLL-filerne skal ligge i samme katalog som EXE FCL assemblies ligger i GAC CLR kigger først i GAC, derefter i EXE's katalog…

22 GAC? GAC = Global Assembly Cache C:\Windows or C:\WinNT katalog Observations: Stifinder giver et fladt billede af GAC DOS-prompt giver den faktiske repræsentation GAC kan indeholde forskellige versioner af samme assembly Enkelte assemblies er blevet pre-JIT-kompileret ("native image") Hacker-proof vha digitale signaturer…

23 Opsummering.NET arkitekturen er: multi-language cross-platform baseret på CLR, FCL, og JIT teknologi Applikationsdesign er typisk multi-tier Applikationsdesign giver komponentbaseret udvikling.NET komponenter pakkes som assemblies

24 Referencer Web sites: http://msdn.microsoft.com/net http://www.gotdotnet.com/

25 2. Udvikling til.NET Mål “Microsoft.NET development is based on an underlying framework of tools and classes. These tools and classes are known as the Framework SDK (Software Development Kit).”

26 .NET udvikling Der er i øjeblikket 3 muligheder for udvikling af assemblies: 1).NET Framework SDK gratis (100 MB) komplet sæt af command-line tools og dokumentation fås til Windows NT, 2000, XP Pro, Vista, Windows 7 andre platforme? Linux og Mac via Mono projekt www.mono-project.comwww.mono-project.com

27 .NET udvikling 2) Visual Studio.NET kraftfuldt, integreret udviklingsmiljø (IDE) et IDE til det hele: GUI, web-baseret, web service, DLL’er, etc. Dette er hvad 99% af aktørerne bruger $$ 3) gratis IDE’er Express udgaver af Visual Studio Mono WebMatrix, til web-baserede applikationer

28 Opsummering.NET er multi-language Framework SDK baseret på C# og VB.NET mange andre sprog er tilgængelige.NET-udvikling er komponentbaseret hjælpeklasser implementeres i en eller flere DLL’er EXE implementeres ved at bruge hjælpeklasserne if (assembly A bruger en klasse fra assembly B) A skal referere B!

29 Referencer Web sites: http://msdn.microsoft.com Mono: http://www.mono-project.comhttp://www.mono-project.com Gratis IDE’er: http://www.icsharpcode.net/OpenSource/SD/default.asp http://www.mono-project.com http://www.microsoft.com/express God gratis bog: http://www.robmiles.com/c-yellow- book/Rob%20Miles%20CSharp%20Yellow%20Book%2020 11.pdf http://www.robmiles.com/c-yellow- book/Rob%20Miles%20CSharp%20Yellow%20Book%2020 11.pdf


Download ppt "1..NET Arkitektur. Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework Class Libraries (FCL). The CLR defines."

Lignende præsentationer


Annoncer fra Google