Új SZAK könyv a .NET Framework programozásáról

2 / 3 oldal
Mintha a Microsoft minap tartott utolsó tavaszi fejlesztői szemináriumának a tiszteletére készült volna, megjelent a SZAK standján a Microsoft szoftver architektúra közeli és távoli jövőjét alapjaiban meghatározó .NET keretrendszer programozását tárgyaló könyv, a Budapest Műszaki Egyetem szoftverfejlesztő kutatóiskolájában alkotó szerzők jóvoltából. A könyvre nyugodtan mondható, hogy hézagpótló, és nemcsak a vaskos kötet 900 oldala jelzi a kiemelkedően magas színvonalú tartalmat.


A könyv két fő részre osztott. Az első témakör, „A korszerű program”, míg a második a „Programozási technikák” címet kapta. Mivel a szerzők nem akartak külön kezdő és haladó kötetet írni a témáról, szerkesztési módszerekkel igyekeznek segíteni a kétféle olvasói tábor eligazodását a műben, nagyon ügyesen! A mélyebb részeket a lapok szélén elhelyezett feltűnő csíkok jelzik, amit a tartalomjegyzékek is jeleznek. A vonatkozó könyvrészek hagyományos összekapcsolására használatos utalások mutatják a részletesebb kifejtés helyét. Egyes témákról több helyen is olvashatunk, hogy ne kelljen folyton ugrálni az oldalak közt. Hasznosak az alfejezetenkénti külön tartalomjegyzékek is a gyorsabb tájékozódáshoz. A fő fejezeteknek rövid és hosszabb, a témát jobban kifejező címe is van. A szürke árnyalattal kiemelt mintakódok megtalálhatók a mellékelt CD-n.

Bevezető: az OLE/COM-tól a .NET-ig

A bevezetés gyorsan áttekinti a Microsoft (OLE/COM, DNA, COM+) és más (Java) program fejlesztési technológiák koncepcióit, majd megállapítja, hogy a .NET Framework megalkotásával „Végre teljes a kép”. A mobil eszközöktől a nagyvállalati alkalmazásokig egyazon koncepció szerint folyhat a fejlesztés. Foglalkozik a versenyző technológiák pillanatnyi helyzetével, és rámutat, mit old meg a fejlesztők számára hasznosabban a .NET Framework. Alfejezetben külön összefoglalásra kerülnek a.NET sarkalatos koncepciói, a felügyelt és nem felügyelt kódok közti különbségek elemzése, valamint a Common Language Runtime (CLR) közbenső nyelvi rendszer (ami a Java bájtkódhoz hasonló, de a végrehajtása jóval inkább hatékony az Intel hardvereken) bemutatása.

[A cikkíró, a recenziójában, hozzáfűzi a könyv bevezetőjében írottakhoz a saját élettapasztalatát is, mert a bevezetésben szereplő, egyébként koncepciózus, információkat érdemesnek találja ütköztetni és kiegészíteni a saját tapasztalataival. Egyes itt leírt információk ezért a könyvben nem találhatók meg.]

A Microsoftnál az újrafelhasználható komponens technológia még a Windows3 korszakban elkezdődött az Object Linking and Embedding (OLE) beágyazási technológia megszületésével (Bill Gates nem engedte a rajzoló programot újra megírni a fejlesztőknek az Excel grafikon rajzoló funkciójában). Az igazi tárgyorientált korszakot azonban csak a Windows NT Component Object Model (COM) és a Visual fejlesztő eszközök megjelenése hozta meg a Windows világ fejlesztőinek. Amikor a Microsoft kapott egy gellert a világháló irányában, arra is adott egy új technológiát, Active Server Pages (ASP) script nyelven írt weblapok formájában. Ezek a Java dinamikáját hozták meg az ablakos világban.

Mindegyik hátterében natív, DLL kódok húzódnak meg, ami sajnos csak tovább növelte a Windows operációs rendszerek ősátkának, a DLL pokolnak a problémáit. Ezeket ugyanis minden fejlesztő igyekezett a maga igényei szerint megpiszkálni, az inkompatibilitások miatt a kékhalálok eszkalációját okozva. Ugyanakkor a COM és az ASP nem oldott meg mindent, a sok egyedileg megjegyzendő dolog a fejlesztést rendkívül nehézzé tette.

A továbblépés először a világhálós megoldások koncepciózusabb kezelésének az irányában haladt a Distributed iNternet Architecture (DNA) koncepció kidolgozásával, amit a Microsoft Transaction Server (MTS) és a Microsoft Message Queue Server (MMQS) támogatott. Közben javult a használatát megkönnyítő Visual Stúdió fejlesztő rendszer teljesítménye is.

Mindez a DLL poklot azonban nem oldotta meg. Ennek az architekturális szintű kiküszöbölése a Windows 2000 korszakban kezdődött, amely hozzákezdett a DLL-ek és meghajtó szoftverek (driverek) változatainak a keményebb kezeléséhez, jelentősen növelve a kernel szilárdságát. Más fontos architekturális javítások is születtek, részben a kernelszilárdság további növelésére (a kernel módban futó részek racionalizálásával), részben a biztonságtechnika javításával (Kerberos hitelesítés, IIS6). Ezek megalapozták újabb, koncepcionálisan egységesebb kezelési módok bevezetését. Az XP technológiák kapcsán bevezetett dinamikus installáció, és a DLL verzionálás tökéletesítése tette a kernel oldali részeket igazán hatékonnyá, ami a szerver oldalra is átkerült a Windows Server 2003-as termékcsaládban.

A .NET Framework gyökerei még a COM+ kiterjesztés első megfogalmazásáig visszanyúlnak. Később azonban csak jóval soványabb COM+ került ki a fejlesztők kezébe, a kimaradtak pedig tovább izmosodtak a Microsoft barlangjában, először .NET DNA 2000-ként felbukkanva. Ebből keletkezett vagy három éve a .NET Framework integrált tárgyorientált platform koncepció, amely mind a hálózati, mind a lokális alkalmazásokat teljesen egységesen igyekszik kezelni egy közös komponens modell segítségével. Ehhez igazították aztán a Visual Stúdió fejlesztő eszközeit, amit egy új fejlesztő nyelv, a C# bevezetésével is megtámogattak. Nagyjából itt tartunk, legföljebb azóta még a Windows Server 2003-mal egyidejűleg megjelent a .NET Framework 1.1-es változata, amit a Visual Studio.NET támogat, tetszőleges nyelvű fejlesztés lehetővé tételével, támaszkodva a CLR közös nyelvi fordítási platformra (ami a UNIX-ok ősi koncepciója volt, még a 70-es években, hisz minden UNIX fordító Assembly nyelvre fordított, bár a C és a Fortran/Pascal hívási vermek ellenkező tárolási iránya okozott némi kalamajkát!).

A bevezetőből kiderül, hogy a Java és a .NET technológia egymástól folyton tanulva versenyez egymással a szakma kegyeiért. A Java a szélesebb platformtámogatást mondja az előnyének, a .NET pedig a hatékonyabb (natív) végrehajtást. Egyébként ilyenkor jellemzően szekértáborok alakulnak, bigott hívőkkel. Kevés az esély a másik táborhoz ragadtak átcsábítására. A .NET eddig a megfelelő magyar nyelvű irodalom hiányától is szenvedhetett, amit most ez a könyv alaposan bepótolhat. Különösen, ha oktatási segédkönyvként bevonul a hallgatói laborokba is, ahol majd objektív mérésekkel lehet elemezni az egyes technológiák teljesítményét.

A cikkíró megjegyzi, hogy a könyvben az árakról nem eshet szó, mert az egy statikus állapotnál leragadna, de a Java megoldások teljes bekerülési mutatói egyáltalán nem igazolják az olcsóbb árszínvonalat, hiába reklámozza magát a Java tábor ezzel a paraméterrel is (az, egyelőre, ingyen adott Java eszközökre hivatkozva, de újabban a Sun mintha országonkénti licencdíjak szedését emlegetné, amióta jogászai lerázták a Microsoft konkurenciát a nyakáról!). A Java, jelenleg, alapvetően a több támogatott platformmal tud többet nyújtani (viszont a .NET is megjelent a UNIX-okon, a ROTOR szabad szoftver terjesztésével). Ezen, az esetleg mellé adott, látszólag olcsó Linux operációs rendszer sem tud változtatni (az operációs rendszer egyébként manapság a teljes rendszerárnak jó, ha 5 százalékát teszi ki!). A további szoftverek (IBM, Lotus, Tivoli, Oracle, CAI stb.) ugyanis tipikusan méregdrágábbak, mint a nagy szériák miatt nem annyira drága, hasonló funkcionalitású Microsoft termékek. Nem beszélve arról, hogy egyes MS fejlesztési eszközök az operációs rendszerben ingyen benne vannak. Minden konfigurációnál egyedileg kell eldönteni, milyen irányban érdemes fejleszteni, Javával, vagy .NET-tel. A pillalantnyi árszínvonal nem biztos, hogy jó tanácsadó, a funkcionalitás a fontos. A könyvben írottak, persze, csak a szakmai kivitelezéshez tudnak segítséget nyújtani, de ahhoz nagyon.

A bevezetés röviden összefoglalja még a .NET osztálykönyvtárait és a CLR közös nyelv következményeit, valamint a menedzselt kóddal a fejlesztők kezébe adott lehetőségek jelentőségét. A menedzselhető kódok gyökeresen új teret nyithatnak a stabilabb alkalmazói rendszerek építésének. De ez csak egyik fontos paraméter, ami miatt a .NET forradalmian új korszakot jelent a szoftvertechnológiában. A legfontosabb a lokális (.EXE/DLL) és globális (webszolgáltatási) alkalmazások egységes kezelési lehetősége, valamint a fejlesztő eszközök végtelen rugalmassága, részben a használható több nyelv, részben az új XML (eXtensible Markup Language - bővíthető leíró nyelvi) hálózati technológia miatt.
 
 
 

Belépés

 

 

Regisztráció