Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

.NET Framework.NET Framework Gaál László rendszermérnök Microsoft Magyarország.

Hasonló előadás


Az előadások a következő témára: ".NET Framework.NET Framework Gaál László rendszermérnök Microsoft Magyarország."— Előadás másolata:

1 .NET Framework.NET Framework Gaál László rendszermérnök Microsoft Magyarország

2 Mi az a.NET? Marketing brand  Minden olyan termék, ami a.NET elképzelés megvalósítását szolgálja

3 Mi az a.NET? Technológiai készlet  XML webszolgáltatások, mint alapkoncepció .NET Framework  Visual Studio.NET .NET My Services .NET Enterprise kiszolgálók  Windows.NET Server  stb.

4 Mi az a.NET? Technológiai készlet  XML webszolgáltatások, mint alapkoncepció .NET Framework  Visual Studio.NET .NET My Services .NET Enterprise kiszolgálók  Windows.NET Server  stb.

5 ügyfelek Webszolgáltatások Kapcsolatteremtés  A szolgáltatásban részt vevő rendszerek összekapcsolása (HTTP) 2. beszállító vállalat készlet-nyilvántartás rendelés-feldolgozás 1. beszállító 3. beszállító

6 ügyfelek Webszolgáltatások A kívánt szolgáltatás megkeresése  A képességek, a megrendelés, az igénybevétel és a fizetés módjának lekérdezése (WSDL és UDDI) 2. beszállító vállalat készlet-nyilvántartás 3. beszállító rendelés-feldolgozás 1. beszállító online„szaknévsor”

7 ügyfelek 2. beszállító vállalat készlet-nyilvántartás 3. beszállító rendelés-feldolgozás 1. beszállító online„szaknévsor” Webszolgáltatások Adattovábbítás  A szükséges adatok eljuttatása a résztvevő rendszerekhez (XML)

8 ügyfelek 2. beszállító vállalat készlet-nyilvántartás 3. beszállító rendelés-feldolgozás 1. beszállító online„szaknévsor” Webszolgáltatások Tranzakciók végrehajtása  A kívánt műveletek elvégzése, a tranzakciók összehangolása (SOAP)

9 Egy lehetséges platform Kiszolgálók Webszolgáltatások Felhasználói szolgáltatások Eszközök

10 Mi az a.NET? Technológiai készlet  XML webszolgáltatások, mint alapkoncepció .NET Framework  Visual Studio.NET .NET My Services .NET Enterprise kiszolgálók  Windows.NET Server  stb.

11 Framework, nyelvek és eszközök Alaposztályok Common Language Specification Common Language Runtime Adatok és XML VBC++C# Visual Studio.NET Webszolgáltatások JScript… Felhasználói felület

12 Alaposztályok Common Language Specification Common Language Runtime Adatok és XML VBC++C# Visual Studio.NET JScript… Webszolgáltatások Felhasználói felület Framework, nyelvek és eszközök

13 Common Language Runtime tervezési szempontok  Egyszerűbb alkalmazásfejlesztés  Robusztus és biztonságos futtató környezet  Több programnyelv támogatása  Egyszerűbb telepítés és üzemeltetés  Common Type System  Common Language Specification

14 A.NET fejlődése A COM előtt az alkalmazások el voltak szigetelve egymástól (max. file-csere, vagy socket) Alkalmazá s Kód és adatstruktúrá k

15 A.NET fejlődése A COM biztosítja az objektumok kommunikációját, de magunknak kell kialakítani a közös nevezőt.

16 A.NET fejlődése A.NET Framework és a CLR segítségével a komponensek közös alapra épülnek (direkt kommunikáció)

17 IMyInterface Programozás COM-alapon IDL IConnectionPoint IConnectionPointContainer Proxy-objektumok Threading modellek IDispatchEx Object context Registry API CoCreateInstance IUnknown IDispatch IProvideClassInfo ITypeInfo IErrorInfo

18 A CLR modellje IMyInterface Távoli hívások Hívási és biztonsági kontextus Objektumok élettartama Memóriakezelés Kivételkezelés Hangsúly a funkción, nem a bedrótozáson

19 Egyszerűsített fejlesztés Haladunk a korral  Elimináljuk a háztartási teendőket  Regisztrálás  GUID-ok .IDL leírások  HRESULT  IUnknown  AddRef/Release  CoCreateInstance ”new” operator önleíró alkalmazások hierarchikus névterek egységes OM, metadata kivételkezelés nyelvi szinten mindenki egy ős-objektumból garbage collector

20 Egyszerűbb fejlesztés  Minden objektum-orientált  Mindenhol használható osztályok és öröklődés  Nyelvek között is!  Az egyszerű típusok is osztályok  automatikus konverzióval (boxing, unboxing)  Zökkenőmentes integráció  Minden.NET osztály használható COM objektumként – a Framework támogatja  COM objektumokat is.NET osztályokként importálhatunk – kétirányú átjárhatóság

21 Common Language Runtime Class Loader IL  Natív fordítók Code Manager Garbage Collector Security EngineDebug EngineType CheckerException ManagerThread SupportCOM Marshaler Base Class Library Support

22 Robusztus és biztonságos Menedzselt kód  Menedzselt kód: verifikált  Kötelező metainformációk  Az IL kód szigorú típusellenőrzésnek vethető alá  Megszűnnek népszerű hibaforrások  veszélyes típusváltások (type cast)  inicializálatlan változók  tömbből kilógó indexek  Kivételkezelés  Nyelvi szinten definiált hibakezelés (nem BOOL vagy HRESULT)  Sokkal használhatóbb hibajelzés  Integrálódik a Windows strukturált kivételkezelésével is (SEH)

23 Robusztus és biztonságos Menedzselt adatok  Menedzselt adat: élettartam-felügyelet  Minden.NET objektumot a GC takarít el (garbage collector – a szemetes)  Nincs elfelejtett pointer, cirkuláris hivatkozásokat is megfejti  Modern GC algoritmusok (mark & compact)  Önhangoló

24 Végrehajtási modell VBC#...JScript IL Natív kód Standard JIT Compiler Natív kód Common Language Runtime Kódgenerálás telepítéskor

25 Végrehajtási modell  Többfajta fordítási modell  Natív (pl. Managed C++)  MSIL (pl. VB and C#)  Röptében előállított IL (ASP.NET)  Az Intermediate Language nem interpretált  az IL kód telepítéskor vagy futtatáskor fordul gépi kódra

26 Az IL kód továbbfordítása  “Econo” JIT  optimalizálatlan natív kódot generál  eldobható és újragenerálható kód (Edit&Continue)  “Standard” JIT  optimalizáló kódgenerátor  verifikálja az IL kódot  Fordítás telepítéskor  futtatás előtt végrehajtódik  gyorsítja az indulást  a natív kódban verzió-ellenőrzések, vissza tud állni JIT-re, ha problémát fedez fel

27 Biztonság Evidence-based security  Kódhoz kötött jogosultságok  Nem csak a felhasználót azonosítja, hanem a végrehajtott kódot is  Eredet  könyvtár, URL, webhely, zóna, …  Szerző  Authenticode™ aláírás  Támogatja és együttműködik a COM+ szerepkörökkel is Vigyázat: Beta 1-ben még nem teljesen támogatott

28 Biztonság A mai rendszerek csak a felhasználóhoz kötnek jogosultságokat •Csak a felhasználók ellen véd •Rosszindulatú kód ellen nem

29 Biztonság a CLR-ben A CLR biztonsági rendszere a kódra is kiterjeszti az ellenőrzést •Véd a megbízhatatlan kód ellen

30 Kódhoz kötött jogosultság- ellenőrzés  Mint a lánc: a leggyengébb szem határozza meg a jogokat.  Dinamikus jogosultság-ellenőrzés A1 A2 A3 R/W Files semmilyen file-kezelés X Nem fog működni, A2-nek nincs elegendő jogosultsága G3 G2 R/W Files G1

31 Jogosultság-ellenőrzés Assembly A3 Assembly A2 Assembly A1 Assembly A4 Hívási stack (lefele nő) G2 G1 G3 G4 Az A4 assembly-ben egy metódus a P engedélyt kéri P P-t összehasonlítja A4 és összes hívójának jogaival P P P Minden assembly rendelkezik jogokkal (grants – G)

32 Mitől lesznek jogaink? Házirend  Különböző szintű kód-csoportokhoz házirendek tartoznak  a kód is azonosítható, mint egy felhasználó  a csoportokhoz jogosultságok tartoznak  Csoporttagságok  bizonyítékok (evidence)  a csoporthoz tartozó engedélyeket kapja meg a kód Minden kód Kibocsátó: Microsoft Zóna: Internet Helyi intranet Site:XYZ.COM Név: MS.Office MS.MoneySite:localweb P P Kibocsátó : Corp. Admin PPP PPP P

33 Példa  MS.Money a helyi intraneten  Négy csoport tagja (kék)  Engedélyek = P1  P2  P7  P4 All Code Publisher:Microsoft Zóna : InternetZone: Local Intranet Site:XYZ.COM Név : MS.OfficeName:MS.MoneySite:localweb Kibocsátó : Corp. Admin P8P9 P5P3 P6 Minden kód P1 Kibocsátó : Microsoft P2 Név : MS.Money P7 Zóna : Helyi intranet P4

34 Többnyelvű platform  Szabadon választhatunk nyelvet  A.NET platform minden szolgáltatása rendelkezésre áll minden nyelvben  Több nyelven folyhat a fejlesztés  Mindenhol használható eszközök  Debugger, profiler, kód-elemző eszközök – minden nyelvhez használhatóak  Az általános, minőségi szoftverfejlesztés fontos segédeszközei  Ehhez kell a…

35 Metadata  Nyelvfüggetlen típus-információk  A fordítók automatikusan generálják  a kóddal együtt a végrehajtható file-ban  bináris formátumban tárolódik  Szükséges a futtatáshoz (nem opcionális)  Konvertálható XML sémába és COM típustárba (type library) – és viszont

36 Mit tartalmaz a Metadata?  A telepítési egység (assembly) leírását  Azonosítás: név, verzió, nyelv [, nyilvános kulcs]  Exportált típusok  Függőségek  Biztonsági igények a futtatáshoz  Típusok leírása  név, láthatósági szabályok, alaposztályok, implementált felületek  Tagok (metódusok, mezők, tulajdonságok, események, belső típusok)  Egyedi attribútumok  Felhasználó által definiált (szerző megnevezése?)  Fordító által definiált (const)  Framework által definiált (DllImport, Obsolete)

37 Metadata: mire használjuk? Common Language Runtime Metadata (és kód) Debugger Sémagenerátor Profiler Fordítók Proxy-generátor Típus-böngésző Fordító Forráskód XML reprezentáció Serialization Designers Reflection TLB Exporter

38 Egyszerűbb telepítés  Assembly-k (szerelvény?)  A kód elemi egysége telepítés, verziókezelés és biztonsági/jogosultsági szempontból  Hasonlít a DLL-hez, de önleíró a manifest segítségével  Manifest: a metadata hordozója  Mellékhatások nélküli telepítés  Közös vagy privát alkalmazások és komponensek  ezt a szerző határozza meg!  Egymás melletti futtatás  Alkalmazáson / folyamatok belül is futhat egymás mellett több változat

39 ILDASM avagy mi van az assembly-ben?

40 Framework, nyelvek és eszközök Alaposztályok Common Language Specification Common Language Runtime Adat és XML VBC++C# Visual Studio.NET JScript… Webszolgáltatások Felhasználói felület

41 A Framework koncepciója  Webes fogalmakra és megoldásokra épít  Egységes alkalmazásmodell  Egyszerűen használható  Jól modularizált, kiterjeszthető

42 A webes gyakorlatot követi  HTML, XML, SOAP, XSLT, XPath…  direktben támogatja  Internetes, elosztott alkalmazások  nem működik a hagyományos, szorosan csatolt modell  a.NET Framework lazán csatolt, állapotmentes modellt preferál  Az mindenre kihatással van:  alapszolgáltatások, adatelérés, felhasználói felület, aktiváció, programozási modell, stb.

43 A Framework és a webes modell Adat Séma Szolgáltatás Hívás Framework objektumok osztályok metódusok hívások Web XML XSD WSDL SOAP Koncepció az alkalmazásban A Framework biztosítja a kölcsönös leképezést

44 Egységesített modell Windows API.NET Framework Nyelvtől és programozási modelltől független API-készlet ASP Állapotmentes, kód és HTML egy helyen MFC/ATL Leszármaztatás, teljesítmény, kifejező modell VB Forms RAD, építőkockák, delegált modell

45 Egyszerű használni segít, hogy jó és helyes kódot írjunk  Szerveződés  Hierarchikus osztályokba és névterekbe szervezett kód  Egységes, gazdag típusrendszer  Minden objektum, nincs VARIANT, egyfajta string, minden karakteres adat Unicode  Komponens-orientált  A tulajdonságok, metódusok, események, attribútumok nyelvi szinten jelennek meg  Design-time funkcionalitás

46 Moduláris, kiterjeszthető  A Framework nem „fekete doboz”  Bármely.NET osztály kiterjeszthető örökléssel  Nem COM, nem „burkoló komponenst” készítünk, valódi öröklés!  Akár nyelvek között is, forráskód nélkül

47 Alaposztályok AdatkezelésXml Webszolgáltatások Felhasználói felület (WinForm) A.NET Framework

48 System System.DataSystem.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Design ADO SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.WinForms DesignComponentModel A.NET Framework

49 Alapszolgáltatások System Threading Text ServiceProcess Security Resources Reflection Net IO Globalization Diagnostics Configuration Collections Runtime Serialization Remoting InteropServices

50 Adat és XML System.Data System.Xml SQLTypes SQL Design ADO Serialization XPath XSLT

51 Web Form, szolgáltatások System.Web Caching Configuration ServicesUI SessionState HtmlControls WebControls Description Discovery Security Protocols

52 Win Form, szolgáltatások System.Drawing Drawing2D Imaging Printing Text System.WinForms DesignComponentModel

53 Common Language Specification Common Language Runtime VBC++C# Visual Studio.NET JScript… Framework, nyelvek és eszközök Webszolgáltatások Felhasználói felület Alaposztályok Adatok és XML

54 Nyelvek  A.NET platform nyelvfüggetlen  Nincsenek másodrendű nyelvek  A Framework minden szolgáltatása hozzáférhető minden nyelv számára  Minden nyelv egyformn fordul, egyik sem interpretált  Az eddigi tudás tovább használható  Common Language Specification  Consumer: a.NET Framework felhasználója  Extender: a.NET Framework továbbépítője

55 Nyelvek  Perl  Python  COBOL  Haskell  ML  JScript  Ada  APL  Eiffel  Pascal  C  C++  C#  Visual Basic  SmallTalk  Oberon  Scheme  Mercury  Oz  Objective Caml

56 Visual Basic.NET  Egyenrangú nyelv  VBRUN helyett.NET Framework  a.NET Framework minden lehetőségét direktben használhatja  Jelentős nyelvi fejlődés  Osztályok, öröklődés, konstruktorok, stb.  Strukturált kivételkezelés (SEH)  Egyfajta értékadás!  Lehetőség a szigorú típusellenőrzésre  Nincs többé VBSCRIPT az ASP-ben  Lefordított VB.NET kód lesz

57 C++ Managed Extensions  Létező kód átvitele a.NET Framework környezetébe  Még mindig C++  minimális kiterjesztések, az ANSI szellemében  nem vesz el semmit  Továbbra is „Total Control”  natív és menedzselt kód keverése, akár nem szemétgyűjtött adattal is  Lehetővé teszi a fokozatos átállást  Teljes hozzáférés a.NET Framework-höz

58 C#  A C/C++ család első komponens- orientált tagja  Properties, Methods, Events, Attributes, XML documentation  Minden egy helyen, nincs IDL, stb.  ASP+ lapokba is integrálható  Minden objektum  a primitív típusokhoz sem kell varázsolni  A Framework is C#-ben van  többmillió sor tesztelt kód  ECMA szabvány

59 Framework, nyelvek és eszközök Alaposztályok Common Language Specification Common Language Runtime Adatok és XML VBC++C# Visual Studio.NET Webszolgáltatások JScript… Felhasználói felület

60 Forráskód, kipróbálás  A CLR Shared Source implementációja elérhető az MSDN-en (kódneve: Rotor)  Windows source licenc a BME-n 1999 óta  érdeklődni: dr Charaf Hasszán, Automatizálási tsz.  Windows XP, Visual Studio a Campus Agreement-ben

61 Kérdések (és válaszok)  Itt és most        portál és web-áruház ASP.NET alapon

62 © 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

63 TPC-C top ten


Letölteni ppt ".NET Framework.NET Framework Gaál László rendszermérnök Microsoft Magyarország."

Hasonló előadás


Google Hirdetések