44 0 410KB
Tehnologia .NET
Tehnologia .NET, dezvoltata de gigantul Microsoft, se bazeaza pe asa numitul “.NET Framework”, care este o platforma de calcul care simplifica dezvoltarea aplicatiilor in mediul puternic distribuit al Internetului. .NET este un cadru (Framework) de dezvoltare software unitara care permite realizarea, distribuirea si rularea aplicatiilor-desktop Windows si aplicatiilor WEB Acest .NET Framework este conceput astfel incat sa satisfaca urmatoarele obiective:
Sa ofere un mediu consistent de programare, obiect-orientat, indiferent daca codul obiectului este stocat si executat local, executat local dar distribuit pe Internet, sau executat la distanta. Sa ofere un mediu de executie a codului care sa minimizeze desfasurarea software-ului si conflictele de versiune. Sa ofere un mediu de executie a codului care sa garanteze executia sigura a codului, incluzand codul creat de dezvoltatori (third-party) necunoscuti sau necertificati. Sa ofere un mediu de executie a codului care sa elimine problemele de performanta ale mediilor scripted sau interpreted. Sa faca experienta dezvoltatorului consistenta in cazul variatelor tipuri de aplicatii, cum ar fi aplicatiile de tip Windows-based si aplicatiile de tip Web-based. Sa construiasca toate comunicatiile pe standarde industriale care sa asigure faptul ca codul bazat pe .NET Framework poate fi integrat in orice alt cod.
Platforma .Net este mult mai mult decat un nou limbaj , software development kit (SDK), sau chiar un sistem de operare. Ofera servicii noi foarte puternice, un nou format binar independent de procesor, noi limbaje, extensii pentru limbaje vechi si lista continua. Folosirea eficienta a acestor noi unelte si aplicatii, nu este posibila cunoastere buna a platforma ce va da viata aplicatiilor. Premiza din spatele platformei .NET este ca lumea calculatoarelor se schimba de la un calculator conectat la servere prin retele de genul Internetului, la un calculator unde toate felurile de device-uri inteligente, calculatoare si servicii, lucreaza impreuna pentru a oferi o experienta mai bogata utilizatorului. Platforma .NET este raspunsul acestor provocari pe care schimbarea le va aduce programatorilor. Tehnologia .NET pune laolalta mai multe tehnologii (ASP, XML, OOP, SOAP, WDSL, UDDI) si limbaje de programare (VB, C++, C#, J#) asigurand totodata atat portabilitatea codului compilat intre diferite calculatoare cu sistem Windows, cat si reutilizarea codului in programe, indiferent de limbajul de programare utilizat. Pentru a dezvolta aplicatii pe platforma .NET este bine sa avem 3 componente esentiale:
un set de limbaje (C#, Visual Basic .NET, J#, Managed C++, Smalltalk, Perl, Fortran, Cobol, Lisp, Pascal etc) un set de medii de dezvoltare (Visual Studio .NET, Visio)
si o biblioteca de clase pentru crearea serviciilor Web, aplicatiilor Web si aplicatiilor desktop Windows.
Cand dezvoltam aplicatii .NET, putem utiliza:
Servere specializate - un set de servere Enterprise .NET (din familia SQL Server 2000, Exchange 2000 etc), care pun la dispozitie functii de stocare a bazelor de date, email, aplicatii B2B (Bussiness to Bussiness – comert electronic intre partenerii unei afaceri). Servicii Web (in special comerciale), utile in aplicatii care necesita identificarea utilizatorilor (de exemplu, .NET Passport - un mod de autentificare folosind un singur nume si o parola pentru toate ste-urile vizitate) Servicii incluse pentru dispozitive non-PC (Pocket PC Phone Edition, Smartphone, Tablet PC, Smart Display, XBox, set-top boxes, etc.)
Platforma .NET este formata din mai multe componente, care pot fi grupate in trei categorii de baza:
.NET Framework – o aplicatie complet noua pentru dezvoltarea platformelor. Produse .NET – diverse aplicatii Microsoft bazate pe .NET Framework, incluzand noi versiuni de Exchange si SQL Server, XML – toate integrate in platforma .NET. Servicii .NET – mai multe servicii .NET, asigurate de Microsoft pentru folosire in dezvoltarea aplicatiilor ce merg pe .NET Framework. Foarte importante si de amintit sunt serviciile Web (Web Services).
Componenta .NET Framework sta la baza tehnologiei .NET, este ultima interfata intre aplicatiile .NET si sistemul de operare si actualmente contine:
\
Limbajele C#, VB.NET, C++ si J#. Pentru a fi integrate in platforma .NET toate aceste limbaje respecta niste specificatii OOP numite Common Type System (CTS). Ele au ca elemente de baza: clase, interfete, delegari, tipuri valoare si referinta, iar ca mecanisme: mostenire, polimorfism si tratarea exceptiilor. Platforma comuna de executare a programelor numita Common Language Runtime (CLR), utilizata de toate cele 4 limbaje. CTS face parte din CLR. Este un mediu de executie care se ocupa de alocarea memoriei, captarea erorilor si interactiunea cu serviciile sistemului de operare. Ansamblul de biblioteci necesare în realizarea aplicatiilor desktop sau Web numit Framework Class Library (FCL).
Arhitectura .NET Framework
Componenta .NET Framework este formata din compilatoare, biblioteci si alte executabile utile în rularea aplicatiilor .NET. Fisierele corespunzatoare se afla, in general, in directorul C:\WINDOWS\Microsoft. NET\Framework\V2.0…. (corespunzator versiunii instalate). Avantajele oferite de catre .NET Framework includ cicluri mai rapide de dezvoltare (refolosirea codurilor, mai putine surprize de programare, suport pentru mai multe limbaje de programare), mai putine bug-uri legate de tipul datelor datorita securitatii integrale, scurgere de memorie redusa datorita Garbage Collector-ului si, in general, aplicatii sigure.
Common Language Runtime Common Language Runtime (CLR) este responsabil pentru servicii run-time cum sunt integrarea de limbaje, intarirea securitatii si managementul memoriei, proceselor si firelor de executie. In plus, CLR are un rol in timpul de dezvoltare cand trasaturi cum ar fi managementul ciclului de viata, numirea tipurilor, tratarea exceptiilor intre limbaje si legarea dinamica reduc cantitatea de cod pe care dezvoltatorul trebuie sa o scrie pentru a transforma “business logic” intr-o componenta reutilizabila. CLR-ul (common language runtime), este fundatia .NET Framework. Va puteti gandi la runtime ca la un agent care administreaza codul in momentul executiei, oferind servicii de baza precum managementul memoriei, managementul thread-urilor, si servicii de lucru la distanta, in timp ce promulga siguranta tipurilor si alte forme de acuratete a codului, care asigura securitate si robustete. De fapt, conceptual de management al codului este un principiu fundamental al runtime-ului. Codul care vizeaza runtime-ul este cunoscut ca managed code iar codul care nu vizeaza runtime-ul este cunoscut ca unmanaged code.
Biblioteca de clase Biblioteca de clase, cealalta componenta principala a Framework-ului .NET, este o colectie cuprinzatoare, obiect-orientata, de tipuri reutilizabile care poate fi folosita pentru dezvoltarea variatelor aplicatii, pornind de la aplicatiile traditionale in linie de comanda sau cu interfata grafica (GUI – Graphical User Interface), pana la aplicatii bazate pe ultimele inovatii oferite de ASP.NET, inovatii precum Web Forms sau XML Web services. Clasele de baza ofera functionalitati standard, cum ar fi intrare/iesire, manipularea stringurilor, managementul securitatii, comunicatie in retea, managementul firelor de executie, managementul de text si diferite trasaturi legate de design-ul interfetei utilizatorului. Clasele ADO.NET ofera dezvoltatorilor posibilitatea sa interactioneze cu date in format XML, accesate prin interfete OLE DB, ODBC, Oracle si SQL Server. Clasele XML ofera posibilitatea manipularii, cautarii si translatarilor XML. Clasele ASP.NET suporta dezvoltarea aplicatiilor Web si a serviciilor Web. Clasele Windows Forms suporta dezvoltarea de aplicatii de tip desktop-based smart client. Impreuna, bibliotecile de clase ofera o interfata comuna si consistenta de dezvoltare pentru toate limbajele suportate de .NET Framework.
Compilarea programelor Un program scris intr-unul dintre limbajele .NET conform Common Language Specification (CLS) este compilat in Microsoft Intermediate Language (MSIL sau IL). Codul astfel obtinut are extensia exe, dar nu este direct executabil, ci respecta formatul unic MSIL. CLR include o masina virtuala asemanatoare cu o masina Java, ce executa instructiunile IL rezultate in urma compilarii. Masina foloseste un compilator special JIT (Just In Time). Compilatorul JIT analizeaza codul IL corespunzator apelului unei metode si produce codul masina adecvat si eficient. El recunoaste secventele de cod pentru care s-a obtinut deja codul masina adecvat permitand reutilizarea acestuia fara recompilare, ceea ce face ca, pe parcursul rularii, aplicatiile .NET sa fie din ce in ce mai rapide. Faptul ca programul IL produs de diferitele limbaje este foarte asemanator are ca rezultat interoperabilitatea intre aceste limbaje. Astfel, clasele si obiectele create intr-un limbaj specific .NET pot fi utilizate cu succes in altul. In plus, CLR se ocupa de gestionarea automata a memoriei (un mecanism implementat in platforma .NET fiind acela de eliberare automata a zonelor de memorie asociate unor date devenite inutile – Garbage Collection). Ca un element de portabilitate, trebuie spus ca .NET Framework este implementarea unui standard numit Common Language Infrastructure, ceea ce permite rularea aplicatiilor .NET, în afara de Windows, si pe unele tipuri de Unix, Linux, Solaris, Mac OS X si alte sisteme de operare.
Dezvoltarea rapida Posibilitatea de a folosi unul dintre multiplele limbaje ale .NET Framework ofera dezvoltatorilor posibilitatea de a folosi limbajul de programare care este cel mai indicat pentru un anumit task si sa combine limbajele in cadrul aceleiasi aplicatii. Componente scrise in diferite limbaje pot functiona transparent intre ele, fara a fi necesara munca suplimentara din partea dezvoltatorului. .NET Framework a fost anuntat ca suporta peste 20 de limbaje de programare comerciale si academice. Design-ul de "racordare" libera bazat pe componente al .NET Framework minimizeaza cantitatea de cod pe care dezvoltatorii trebuie sa o rescrie si maximizeaza potentialul de reutilizare al codului. De ce am alege .NET? In primul rand pentru ca ne ofera instrumente pe care le putem folosi si in alte programe, ofera acces usor la baze de date, permite realizarea desenelor sau a altor elemente grafice. Spatiul de nume System.Windows.Forms contine instrumente (controale) ce permit implementarea elementelor interfetei grafice cu utilizatorul. Folosind aceste controale, puteti proiecta si dezvolta rapid si interactiv, elementele interfetei grafice. Tot .NET va ofera clase care efectueaza majoritatea sarcinilor uzuale cu care se confrunta programele si care plictisesc si fura timpul programatorilor, reducand astfel timpul necesar dezvoltarii aplicatiilor.
Bibliografie
1. Richard Grimes, Dezvoltarea aplicatiilor cu Visual Studio .NET, Editura Teora, 2002 2. Julian Templeman, Andy Olsen, Visual C++ .NET, Editura Teora, 2003 3. Adrian Nita, Oradea Maria Nita, Oradea Nicolae Olaroiu, Rodica Pintea, Cristina Sichim, Bacău Daniela Tarasa, Introducere in .Net Framework, 2008