.NET Microsoft.Net Framework



Hasonló dokumentumok
A.NET keretrendszer (.NET Framework) három alapvetõ összetevõbõl áll:

Osztott alkalmazások fejlesztési technológiái Áttekintés

Programozás 2., I. kötet Az objektumorientált paradigma alapjai

eseményvezérelt megoldások Vizuális programozás 5. előadás

Ingrid Signo Felhasználói kézikönyv. Pénztári használatra

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Bonobo: A GNOME CORBA alapú komponens-megoldása Unixokra

Vizuális és eseményvezérelt programozás BMF NIK

Webszolgáltatások kommunikációs overhead-jének becslése

.NET (Dot-NET) #1 (Bevezetés)

Vizuális, eseményvezérelt programozás X. V 1.0

1.1 Szakdolgozat témája A Program célja A használt technológiák ismertetése A program megtervezése...

Workflow és Petri hálók. Workflow fogalma

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

TANÚSÍTVÁNY. tanúsítja, hogy a Polysys Kft. által kifejlesztett és forgalmazott

Welcome3 Bele pteto rendszer

BBS-INFO Kiadó

Széchenyi István Szakképző Iskola

Hálózatkezelés: Távoli elérés szolgáltatások - PPP kapcsolatok

IBM Business Monitor 7. változat 5. alváltozat. IBM Business Monitor telepítési kézikönyv

Adatbázisok és adattárházak az információs rendszerek adatkezelői

Models are not right or wrong; they are more or less useful.

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Ismerjük meg a Monót!

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

IBM Data Server ügyfelek telepítése

FELHASZNÁLÓI ÚTMUTATÓ

Komponens modellek. 3. Előadás (első fele)

INFORMATIKA HELYI TANTERV

Access 2010 Űrlapok és adatelérés

Bevezetés, platformok. Léczfalvy Ádám

A.NET Framework és programozása C# nyelven. Kedd I104

Irinyi József Általános Iskola 4274 Hosszúpályi Szabadság tér HELYI TANTERV Informatika 4. osztály 2013

Objektumorientált programozás C# nyelven

Tisztelt Érdeklıdı, Olvasó!

Tarantella Secure Global Desktop Enterprise Edition

OEP Betegéletút lekérdezés háziorvosok és vénytörténet lekérdezés patikák számára. API dokumentáció. verzió: 2.01

Önálló laboratórium beszámoló

HIDASNÉMETI KÖZSÉG ÖNKORMÁNYZATA POLGÁRMESTERI HIVATALÁNAK SZERVEZETFEJLESZTÉSE. Informatikai tanulmány

Book Template Title. Author Last Name, Author First Name

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

Java felhasználói felület

12/2007. (IV. 25.) ÖTM rendelet. a tűzesetek vizsgálatára vonatkozó szabályokról

Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István Viczián István

ÓBUDAI EGYETEM Neumann János Informatikai Kar Informatikai Rendszerek Intézet Témavezető: Bringye Zsolt

Hivatkozás hagyományos és elektronikus forrásokra

INFORMATIKA 1-4. évfolyam

E-ÉPÍTÉSI NAPLÓ KÉZIKÖNYV

Informatikai Tesztek Katalógus

VB C++ C# JScript J# Common Language Specification. ADO.NET and XML. Base Class Library. Common Language Runtime. Operating System

II. év. Adatbázisok és számítógépek programozása

Bánsághi Anna

NetIQ imanager Telepítési útmutató január

INFORMATIKAI ALAPISMERETEK

Szakmai program 2015

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Webes képgaléria tervezése és implementációja

A HunPLUS-os AutoCAD Architecture 2010 teljesítményfokozása

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

5. modul - Adatbázis-kezelés

Dr. Pétery Kristóf: AutoCAD LT 2002 Blokkok, Xrefek

2. Követelmény, projekt, funkcionalitás

libgdx alapok, első alkalmazás

Mi az a Scribus? SCRIBUS. Mi az a Scribus? Milyen platformon érhet el? Hasonló feladatra használható programok. Mire használhatjuk a Scribust?

BBS-INFO Kiadó, 2013.

IT TERMÉKEK TANÚSÍTÁSA

Virtualizációs Technológiák Bevezetés Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák

DB2 Connect Personal Edition telepítése és beállítása

Tartalom. Történeti áttekintés. Történeti áttekintés Architektúra DCOM vs CORBA. Szoftvertechnológia

Történeti áttekintés

DIÁKIGAZOLVÁNY. Felhasználói dokumentáció verzió 3.7. Budapest, 2015.

HP ProtectTools Felhasználói útmutató

Integrált ügyviteli rendszer: Kettős könyvelés modul

Informatikai biztonság, IT infrastruktúra

Szoftveripar és üzleti modellek

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

Novell Nterprise Branch Office: a távoli iroda felügyeletének leegyszerűsítése

OBJEKTUMORIENTÁLT TERVEZÉS ESETTANULMÁNYOK. 2.1 A feladat

TÁJÉKOZTATÓ A BERLITZ NYELVISKOLA ONLINE NYELVTANFOLYAMAIRÓL

Felhasználóbarát kliensszoftver

INFORMATIKA OKTATÁS ISKOLÁNKBAN

Tanúsítási jelentés. Hung-TJ

DNS hamisítás szerepe, működése, védekezés. Benda Szabolcs G-5S5A Peller Nándor G-5i10 Sőregi Gábor G-5S5A

DIGITÁLIS TANÚSÍTVÁNY HASZNÁLATA A REGIONAL BOOKING PLATFORMON

Prototípus, termék-, technológia- és szolgáltatásfejlesztés GINOP

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Felhaszna ló i ú tmútató

IBM Tivoli Endpoint Manager

Hatóságok csatlakozása az ÉTDR-hez

tanúsítja, hogy a Kopint-Datorg Részvénytársaság által kifejlesztett és forgalmazott MultiSigno Standard aláíró alkalmazás komponens 1.

Haladó DBMS Radványi, Tibor

Az informatika alapjai. 10. elıadás. Operációs rendszer

10193/12 KH/md DG E2

Crawler.NET: Elosztott webrobotok koordinálása és vezérlése

Az IBM WebSphere Multichannel Bank Transformation Toolkit V7.1 felgyorsítja a többcsatornás alkalmazásfejlesztést

Adatbázis-elérés: dbexpress, helyi adatok és egyéb lehetõségek A dbexpress könyvtár A Borland Database Engine...

Rendszerfelügyelet Logikai partíciók

Kimagasló termelékenység és funkcionalitás, igény szerint színesben is

I. fejezet Hello Világ! Programozás tankönyv. II. Fejezet. Helló Világ! avagy a Miért?-ek elkezdődnek

Átírás:

1.oldal.NET Microsoft.Net Framework Előadás jegyzet Előadó: Pócza Krisztián ELTE,2008.NET Framework alapjai Hasznos tudnivalók A jegyzet Pócza Krisztián.NET Framework és Programozása I. című előadása alapján készült A tárgy honlapja : http://avalon.inf.elte.hu/edu/net/default.aspx E-mail: kpocza at kpocza dot net A tárgy honlapján további hasznos információk, példaprogramok, stb található. Ajánlott irodalom: 1. Albert István (szerk.), A.NET Framework és programozása, ISBN 9639131628, Szak. Kiadó Kft., 2004 2. Bradley L. Jones, C# mesteri szinten 21 nap alatt, ISBN 9639301736, Kiskapu Kft., 2004 3. Nyékyné Dr. Gaizler Judit (szerk.), Programozási nyelvek, ISBN 9639301469, Kiskapu Kft., 2003 Bevezetés Fejlődés 1985-1993: A Windows kezdetei verzióiban a nem volt eszköz a komponens alapú fejlesztés támogatására. (a komponens egy olyan bináris (lefordított) szoftver egység, amely által megvalósított funkció jól definiált formában, a komponens interfészén keresztül érhetõ el) A Windows API segítségével lehetett fejleszteni alkalmazásokat. Windows 3.0-as verziójában jelent meg az OLE (Object Linking and Embedding) a programok között szoftverkomponensek megosztására. Ez volt a COM elődje. 1993 COM (Component Object Moldel) bármely programozási nyelvből elérhető interface. Komponens orientált. Szabványos hívásokkal teszi lehetővé a komponens alapú fejlesztést. 1999 DNA (Windows Distributed internet Architecture) Web alkalmazásokra használták. Nem nagyon terjedt el. (ASP- COM üzleti logika SQL server) 2000 Elosztott rendszerek igénye miatt létrejött a COM+ Ez szerepkör alapú biztonsági modell (role based security). Csoportok és felhasználók különböző szerepkörökbe rendelhetők. Alkalmazás, componens, osztály, függvény szinten szabályozható hozzáférés. Elosztott tranzakció-kezelés. Bármely két nyelv tudjon kommunikálni! Költséges és bonyolult a COM implementációja. 2002.NET Framework 1

2.oldal Microsoft válasza a Java-ra. Ez egy fejlesztői platform. Egy virtuális gép segítségével teszi lehetővé a különböző nyelveken írt pogramok komponens alapú fejlesztésést. A COM is megmaradt, és a.net korlátozottan kompatibilis vele, de a szerepét átvette a komponens alapú fejlesztésben..net Framework verziók: 2002..NET 1 2003..NET 1.1 2005..NET 2 (ezt fogjuk megnézni) 2006..NET 3 2007..NET 3.5 A.NET előnyei Széles körű felhasználási lehetőség. -Microsoftos platformon (Windows) mindenhol használható: UI, Adatbázis, Szerver-kliens, mobil eszköz, elosztott A különböző programozási nyelveket egyazon fejlesztő környezetben lehet használni. A viruális gép lefordítja a kódokat egy köztes nyelvre,ez a : Common Intermediate Language (több mint 24 programozási nyelvet támogat) Az osztálykönyvtár nagy része szabványos, de a WinFormot, ASP.NET-t nem szabványosították csak Windowson fut úgyis. ASP.NET 2.0 által generált kód szabványos XHTML. SOAP a webszervizek szabványa: Különböző platformokon futó rendszer egy szabványos interfacen keresztül összekacsoljuk, kérésválasz levelek. Elosztott rendszerek SOAP protokollon kommunikálnak, ha ezt egy webszerver köpi ki, akkor webszervizekkel kommunikál. Pl Java, apache hasonló. Lehet integrálni rendszereket különböző platformon. Ingyenes Implementációk A ppt-ből 7.dia. Mivel szabványos, ezért leimplementálták többen is a nyílt forráskód miatt több platformra: Mono: spanyolul majom. A Mono fut Unix, Linux, Solaris, Mac OS X, Windows. Vannak problémák. Rotor: Kutatási ill oktatási célú. Nyílt forráskódja nagyrészt megegyezik a.net FW forráskódjával. Dotgnu Platform Architektúra Az alap a CLS (Common Language Specifications) szabvány, megadja a szolgáltatások formátumát, hogyan kell ábrázolni, továbbítani, függvényt meghívni, memóriát kezelni, kivétel kezelés, láthatóságok.. CLR (Common Language Runtime):.NET szíve, ez a.net legfontosabb része Ez az alap, a szoftverfejlesztő plattform, ami lehetővé teszi a fejlesztést és a futtatást, a különböző nyelveken, illetve elérhetővé teszi a különböző technológiákat. 2

3.oldal BCL (Base Class Library ): minden nyelven elérhető alapszolgáltatásokat nyújt, főleg IO műveletekhez (file kezelés, képernyő kezelés, XML dokumentum kezelés, adatbázis kezelés) ADO.NET első sorban adatbázis elérést és XML tárolási módok Megjelenítési réteg: Win Forms és ASP.NET webes alkalmazások, webservice Futtatókörnyezet (CLR) Több programnyelv támogatása Microsoft Intermediate Language: köztes nyelvre fordít, nincs gépi kód, bárhol lefordul később. CLS (nyelv -> IL -> JIT) Just in time compilation, során készül el a natív kód. CTS (value, ref, GC) Alapvető típus rendszer, milyen típusaink lehetnek? Érték és referencia. Ez a két nagy csoport. Érték: Stacken tárolódik, ha értékadás történik két objektum közt, akkor lemásolódnak (Két referencia közt csak pointer szerűen mutat.) Referencia: New lefoglal memóriában (heap) területet. A heap pointer növelésével, egyszerűen. Felszabadítást automatikusan a keretrendszer végzi: Gerbage Collektor (GC) végzi. GC: Kijelöli melyiket kell felszabadítani, majd felszabadítja és tömörít. Kijelölésnél egy gráfot rajzol az objektumokból. Osztály, tag változó, stb.-ből a behúzott vonalak meghatározásával megjelöli miket használ, amiket nem használ az a felesleges. A nem használt elemek eltávolítása után a memóriát az elaprózódás miatt tömöríti. A objektumok generációt beszámozza. Tömörítés után átszámozza: 0, 1, 2. Pl: lokális változók függvényből kilépés után természetesen felszabadíthatóak. Ezek referencia típusra működnek csak! Small objektum heapen (kb) 20 KB-nál kisseb referencia típusú objektumon működik. (A nagyobb objektumokat nem érdemes mozgatni. Normál algoritmus működik).net FrameWork szolgáltatások Ld. Későbbiekben. Nagyjából erről lesz szó a félévben. Intermedaite Language -. NET assembly Műveletek a Stacken Pl: tölts be egy integert, allokálj memóriát, hozz létre tömböt, végez el valamit, töltsd be az osztálynak a mezőjét (stackre), a változó értéke legyen valami: (stackről)(assembly nyelv szerű) Fordítás: Ezt natív gépi kódra fordul le. (Intermedaite Language) A JIT (Just In Time) compilation függvényenként fut le amikor, ha még az éppen végrehajtani kívánt függvényt nem fordítottunk le natív kódra. JIT közben próbál optimalizálni is. Lehet hogy.net-ben valami gyorsabb mint C++ ahol Class A; először létrejön és kilépéskor a destruktor fut, míg a.net-ben a GC gyűjti majd be. Assembly (szerelvény) =Hasonló bármelyik Windows-os.exe-hez vagy.dll-hez. De benne.net IL kód+meta adatok vannak. Metaadat leírja, hogy milyen típusok, függvények, tagváltozók, osztályok vannak az assemblyben. Milyen külső típusokra hivatkoztam külső assemblikből. 3

4.oldal Ildasm példa: Pl: Típus a MetaInfóknál: A Double: System.Double ami Token ID, ToSting metódus látható. Stloc.0 (store) string típusnak adja stacken keresztül, betölti, Managed kód Egyedi azonosítója(strong Name) van az Assemblyknek. Név, verzió, nyelv (kultúra), kulcs ezek a tulajdonságok egyértelművé teszik és majd megmondhatjuk melyiket akarjuk a mi projektünkben alkalmazni. A fordító meg tudja különböztetni az erős név alapján is az assablyket. Ez egyfajta biztonságot is ad. A kulcs az RSA algoritmushoz hasonló titkos. A windows.dll fájlok most már a Windows/WinSxS könyvtárba kerülnek Az assambly fájlokat Global Assambly Cache-be találjuk meg a Windows/Assambly/GAC könyvtárakban. Rendszer szintűek - csak erős névvel (Strong Name). Segéd program van hozzá a pl: a c:\windows\microsoft.net\framework\v1.1.4322\ alatt a gacutil.exe Ezzel kilistázhatjuk őket. Két fajta van: MSIL Microsoft Intermediate Language X86 natív kódu, gyorsabb (NGEN programmal lehet konvertálni) Fontos hogy a rendszer először nem a programunk mellet kezdi az assamblyket keresi, hanem a GAC-ban. Erre figyelni kell. BCL (Base Class Library) osztálykönyvtár Hol lakik : c:\windows\microsoft.net\framework\ CLS (integráció zökkenőmentes) Ha a nyelv megfelel ennek, akkor akkor elérik típus könyvtárt. Library-ben objektum orientált módon az osztályok névterekben vannak elhelyezve. Fontos: System könyvtár pl System.IO, System.Web stb.net 2.0 verzió Base Class. Van parancssoros fordítók is: C# fordító: csc.exe, J# fordító: jsc.exe Stb. MSBuild.exe Visual Studio Solution-t (.sln) tud fordítani. De build folyamat is vezérelhető vele Ngen.exe.Net-es assemblykből másik dll-t generál, amiben natív kód vannak. A fontos rendszerkomponenseket telepítéskor lefordítja az installer.. GAC könyvtár (Global Assembly Cache): először itt keresi a dll-eket aztán az aktuális könyvtárban. Később bővebben. Kiterjeszthetőek: Származtatni, specializálni, testreszabható műveletek írni Támogatott Nyelvek.NET 2.0 24 nyelvet támogatott kezdetben (a cél jóval több) Például: C# az elsődleges nyelv, J# java szintaktikából.net es kódot fordít, VB.Net Stb. 4

5.oldal.NET Framework alapjai... 1 Fejlődés... 1 A.NET előnyei... 2 Implementációk... 2 Platform Architektúra... 2 Futtatókörnyezet (CLR)... 3.NET FrameWork szolgáltatások... 3 Intermedaite Language -. NET assembly... 3 BCL (Base Class Library) osztálykönyvtár... 4 Támogatott Nyelvek... 4 5