Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

1..NET Arkitektur. 2 Nordjyllands Erhvervakademi - 2009 Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework.

Lignende præsentationer


Præsentationer af emnet: "1..NET Arkitektur. 2 Nordjyllands Erhvervakademi - 2009 Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework."— Præsentationens transcript:

1 1..NET Arkitektur

2 2 Nordjyllands Erhvervakademi - 2009 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 3 Nordjyllands Erhvervakademi - 2009 Del 1 CLR-baseret eksekvering…

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

5 5 Nordjyllands Erhvervakademi - 2009.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 6 Nordjyllands Erhvervakademi - 2009.NET er “platformsuafhængigt” Kompilerede.NET applikationer kører på alle supporterede platforme: APP.exe ? Win64Win32 ( XP,2K,98) WinCE

7 7 Nordjyllands Erhvervakademi - 2009 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 8 Nordjyllands Erhvervakademi - 2009 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

9 9 Nordjyllands Erhvervakademi - 2009 Del 2 Applikationsdesign…

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

11 11 Nordjyllands Erhvervakademi - 2009 Fysisk design Hvor placeres tiers fysisk? –Der findes en række forskellige designs… De mest almindelige er: –lokalt –remote –web app –web service

12 12 Nordjyllands Erhvervakademi - 2009 (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

13 13 Nordjyllands Erhvervakademi - 2009 (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

14 14 Nordjyllands Erhvervakademi - 2009 (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

15 15 Nordjyllands Erhvervakademi - 2009 (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

16 16 Nordjyllands Erhvervakademi - 2009 Del 3 Komponent-baseret udvikling…

17 17 Nordjyllands Erhvervakademi - 2009 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

18 18 Nordjyllands Erhvervakademi - 2009 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

19 19 Nordjyllands Erhvervakademi - 2009 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

20 20 Nordjyllands Erhvervakademi - 2009 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…

21 21 Nordjyllands Erhvervakademi - 2009 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…

22 22 Nordjyllands Erhvervakademi - 2009 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

23 23 Nordjyllands Erhvervakademi - 2009 Referencer Web sites: –http://msdn.microsoft.com/nethttp://msdn.microsoft.com/net –http://www.gotdotnet.com/http://www.gotdotnet.com/

24 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).”

25 25 Nordjyllands Erhvervakademi - 2009.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

26 26 Nordjyllands Erhvervakademi - 2009.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

27 27 Nordjyllands Erhvervakademi - 2009 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!

28 28 Nordjyllands Erhvervakademi - 2009 Referencer Web sites: –http://msdn.microsoft.comhttp://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


Download ppt "1..NET Arkitektur. 2 Nordjyllands Erhvervakademi - 2009 Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework."

Lignende præsentationer


Annoncer fra Google