Microsoft .NET
A Wikipédiából, a szabad lexikonból.
.NET keretrendszer |
|
---|---|
Fejlesztő: | Microsoft |
Legfrissebb stabil kiadás | 3.0 / 2006. november 6. |
Operációs rendszer: | Windows |
Kategória | keretrendszer |
Licenc: | zárt |
Weboldal | www.microsoft.com/net |
A Microsoft .NET szoftverek olyan összesége, amely segít összekapcsolni az információt, az embereket, a számítógéprendszereket és a hardvereszközöket. Részeit képzik a kliensek (például Windows XP, Windows CE, Microsoft Office XP), a szerverek (például Microsoft Windows Server 2003, Microsoft SQL Server, Microsoft BizTalk Server) és a fejlesztői eszközök (például a Microsoft Visual Studio .NET 2003).
A Microsoft által készített .NET keretrendszer (a .NET Framework) egy gyors alkalmazásfejlesztést (RAD), platformfüggetlenséget és hálózati átlátszóságot támogató szoftverfejlesztői platform. A .NET a Microsoft stratégiai kezdeményezése a kiszolgálóoldali és asztali fejlesztésekhez a következő évtizedre. A .NET keretrendszer több olyan technológiát is tartalmaz, amelyet az internetes és intranetes alkalmazások gyors fejlesztésére terveztek.
A .NET több új funkciót és eszközt vezetett be az API-ba. Ezen újítások képessé teszik a fejlesztők számára Windowsos és webes alkalamazások, valamint komponensek és szolgáltatások (webszolgáltatás) fejlesztését. A .NET új objektum-orientált API-t tesz elérhetővé. A .NET keretrendszert elég általánosnak tervezték, hogy több különböző magas szintű nyelvet legyen képes fordítani.
Több szempontból a .NET keretrendszer a Sun Java Virtual Machine (JVM) evolúciós továbbfejlesztése.
Több fejlesztői segédeszköz áll rendelkezésre kifejezetten a .NET platformon történő fejlesztéshez. A legfontosabb példa a Visual Studio .NET, a Microsoft által nyújtott integrált fejlesztő környezet (IDE).
Tartalomjegyzék |
[szerkesztés] Története
Néhány .NET technológia eredetileg a Microsoft Java verziójának fejlesztése során jött létre. Amikor 1998-ban a Microsoft elhatározta, hogy nem használja tovább a Sun Java technológiáját, a már létező Microsoft J++ (Java++) terméket a .NET projekt alapjaként használták. A .NET CLR kódja egyesek szerint a Colusa Software OmniVM termékéből származik, amit a Microsoft 1996. március 12-én vásárolt meg.
A .NET mint szoftverplatform 2002-ben vált elérhetővé.
[szerkesztés] Vállalati infrastruktúra
A .NET egy platformfüggetlen szoftverfejlesztői környezetet biztosít sok beépített funkcióval, mint például az internet-kezelés integrációja és a biztonságot fokozó képességek. Ez teljes mértékben a szoftverkomponenseken és a komponens-orientált programozási paradigmán alapszik. Így teljes mértékben képes átvenni a Component Object Model (COM) helyét a fejlesztés során.
A .NET Keretrendszer két legfontosabb komponense a Common Language Infrastructure (CLI) és a Common Language Runtime (CLR). A CLI a futtató környezetet definiáló specifikációk egy halmaza, mely magában foglalja a közös típusrendszert (Common Type System, CTS), az alapvető osztálykönyvtárakat, valamint a gépfüggetlen köztes kódot, a Common Intermediate Language (CIL)-t, amit korábban Microsoft Intermediate Language (MSIL) néven emlegettek.
A CLR a CLI követelményeinek megfelelő kódfutattó platformot nyújt. Mielőtt a CIL kódot végre lehet hajtani, le kell fordítani natív gépi kódra. Ezt a műveletet jellemzően futásidejű fordítással (JIT) hajtják végre.
Ha egy nyelvi megvalósítás CIL-t állít elő, azt már kezelheti a CLR, és együttműködhet bármely más .NET nyelv által előállított adattal vagy kóddal. A CLR-t úgy tervezték, hogy az operációs rendszertől is független legyen.
A .NET két alapvető biztonsági mechanizmussal rendelkezik:
- Szerep-alapú biztonság (Role Based Security) – a felhasználó rendszerben betöltött szerepén és jogain alapuló biztonsági mechanizmus
- Kóderedet-alapú biztonság (Code Access Security) – képes meghatározni, hogy a kód mit tehet, a meghívott kód mit tehet, valamint képes egyértelműen azonosítani a kódot
A .NET rendelkezik beépített webszolgáltatás-támogatással. Alapesetben a SOAP protokollt támogatja.
[szerkesztés] Szabványosítás
A Microsoft benyújtotta a .NET specifikáció egy részét az ECMA-hoz és az ISO-hoz szabványosításra. Ez kockázatot jelentett számukra, de támogatja a szabványkövető megvalósításokat.
[szerkesztés] .NET vs J2EE
A CLI, a CIL és a C# nagy hasonlóságot mutat a Sun JVM-jéhez és a Sun Java-jához képest, ezért erős versenyben állnak egymással. Mindkettő egy saját köztes bájtkódot használ, amit a Microsoft CIL-nek (korábban MSIL) hív. A .NET bájtkódot futásidejű fordításra tervezték, míg a Javát eredetileg interpretálásra. A .NET jelenleg csak Windows platformon érhető el teljes valójában, míg a Java több platformon is teljesen rendelkezésre áll. Azonban a folyamatban levő megvalósítások, mint a Mono vagy a Rotor lehetővé teszik a .NET programok futtatását a Unix-típusú operációs rendszereken is, például Linuxon, FreeBSD-n és Mac OS X-en. A Sun terméke, a J2EE, azonos funkciókat biztosít az olyan Microsoft technológiákhoz, mint a COM+ és az MSMQ, melyek erősen integráltak a Windows operációs rendszerbe. A .NET ezeket a technológiákat absztrakt módon teszi elérhetővé.
[szerkesztés] .NET vs COM
A Microsoft által korábban támogatott komponens alapú modell a COM volt (aminek része volt az MTS az elosztott tranzakciók támogatására), később pedig a COM+ lett. Bár a .NET be tudja csomagolni a COM komponenseket és fordítva – amit a Microsoft Runtime Callable Wrapper-nek (RCW) és COM Callable Wrapper-nek (CCW) hív –, a Microsoft egyértelműen jelezte, hogy a .NET mint szoftver komponens architektúra le fogja cserélni a COM-ot. A Microsoft reményei szerint a Win32 platformra fejlesztők elkezdik használni a .NET-et a COM helyett, és a jelenlegi szolgáltatásokat absztrakt interfészeken keresztül érik el (pl. a tranzakciókban résztvevő .NET komponensek jelenleg COM+-t használnak).
[szerkesztés] .NET nyelvek
A CLI-t úgy tervezték, hogy bármilyen objektum-orientált programozási nyelvet támogasson, megosztva egy közös objektum modellt és egy nagy, közös osztálykönyvtárat. A .NET jelenleg több mint 40 programozási nyelvet támogat, melyek többsége ingyenes (a kereskedők fejlesztői környezeteket árulnak).
Sok nyelvet jelentősen hangoltak, hogy illeszkedjen a .NET Keretrendszerbe. A gyártók ezt kihasználva gyakran egyéb nyelvi funkciókat is módosítottak.
[szerkesztés] Beépített nyelvek
- C#, a Sun Java nyelvéhez hasonló objektum-orientált nyelv
- JScript .NET, Microsoft JScript nyelvének fordított verziója
- J#, a Java és a J++ programozók átmeneti nyelve a .NET keretrendszer felé
- Managed C++, a C++ egy változata a .NET platformra
- Visual Basic .NET, a klasszikus Visual Basic egy továbbfejlesztett, objektum-orientált, többszálas verziója
[szerkesztés] Külső forrásból elérhető nyelvek (válogatás)
- APL
- Boo
- COBOL
- Component Pascal
- Delphi 8 and Delphi 2005
- Eiffel
- F#
- Forth
- FORTRAN
- IKVM, Java
- Lisp
- Mercury
- Mondrian
- Nemerle
- Oberon
- Perl
- IronPython
- RPG
- Smalltalk
[szerkesztés] ASP.NET és ADO.NET
- ASP.NET a klasszikus Active Server Pages (ASP) webprogramozási technológia továbbfejlesztése. Megvalósítja a .NET követelményeket, .NET osztálykönyvtárral rendelkezik, de önmagában nem egy nyelv, hanem bármely .NET-et támogató nyelven lehet használni.
- ADO.NET az ActiveX Data Objects (ADO) továbbfejlesztett verziója, mely támogatja a .NET keretrendszert.
[szerkesztés] Alternatív megvalósítások
Míg a Microsoft .NET Keretrendszer a .NET technológiák megvalósításának zászlóshajója, léteznek más megvalósítások is.
- A Microsoft Rotor, vagy hivatalos nevén Shared Source Common Language Infrastructure egy shared source (megosztott forráskódú) licencű megvalósítása a .NET keretrendszernek. Microsoft Windows XP-n, FreeBSD-n és Mac OS X-en fut.
- A Mono egy nyílt forráskódú megvalósítása a .NET futtató környezetnek és a fejlesztői könyvtáraknak. A Mono-t a Ximian (a Novell, Inc. része) és a nyílt forráskódú fejlesztői közösség fejleszti. Gyorsan fejlődik, támogatja az ASP.NET-et, az ADO.NET-et és fejlődik a Windows Forms könyvtárak támogatása is. Tartalmaz egy C# fordítót és egy Visual Basic .NET béta előtti állapotú fordítót is. A Mono új könyvtárak és technológiák fejlesztését is magában foglalja:
-
- Gtk# – .NET burkoló a Gtk+ GUI készlet számára
- XSP – C# nyelven írt webkiszolgáló ASP.NET támogatással
- MonoDevelop – a SharpDevelop egy átültetett (portolt) változata, egy GPL-ed integrált fejlesztői környezet a .NET, a Gtk# és a Mono számára
- Novell.Directory.Ldap osztály könyvtárak – Egy ingyenes .NET Lightweight Directory Access Protocol (LDAP) implementáció
- SerialPortNet – egy soros portot kezelő könyvtár .NET és Mono platformra .NET 2.0 specifikáció támogatással
- DotGNU Portable.NET kevésbé fejlett, mint a Mono, mivel a Portable.NET-et nem a Microsoft fejlesztői keretrendszerét használva hozták létre.