Aplicatie Intranet Pentru Scolile Preuniversitare

APLICAȚIE INTRANET PENTRU ȘCOLILE PREUNIVERSITARE

Cuprins

Cuprins

Capitolul I

Introducere

1.1 Scopul lucrării

1.2 Descrierea aplicației

1.3 Descrierea tehnologiilor folosite

Capitolul II

Terminologie

2.1 Intranetul

2.1.1 Avantaje

2.1.2 Dezavantaje

2.2 Planificarea și crearea unui intranet

2.3 Internetul

2.4 Istoria Internetului

2.5 Protocoalele TCP/IP

2.6 Protocolul HTTP

2.7 Limbajul HTML

Capitolul III

Tehnologii Microsoft folosite

3.1 IIS (Internet Information Services)

3.2 Microsoft .NET

3.2.1 Microsoft .NET Framework

3.3 Medii de programare vizuală

3.4 Privire de ansamblu asupra ASP .NET

3.4.1 Pagina și controalele Framework

3.4.2 Compilatorul ASP .NET

3.4.3 Infrastructura securității

3.4.4 Facilități de administrare a stării

3.4.5 Configurarea ASP .NET

3.4.6 Monitorizarea erorilor și a performanței

3.4.7 Suport pentru testare

3.4.8 Framework pentru servicii web bazate pe XML

Capitolul IV

Descrierea aplicației

4.1 Aspecte importante pentru proiectare

4.2 Strategii de securitate și configurare

4.2.1 Securitatea unei aplicații

4.2.2 Web Site Administration Tool

4.2.3 ASP .NET Poperty Page din IIS

4.3 Pagini Master

4.3.1 Crearea unei pagini master

4.3.2 Crearea paginilor conținut

4.4 Administrarea știrilor și articolelor

4.5 Baza de date

Capitolul V

Concluzii

Bibliografie

Capitolul I

Introducere

În lucrarea de față se va urmării dezvoltarea aplicațiilor educaționale specifice școlilor preuniversitare, o privire de ansamblu asupra a tot ceea ce implică software educațional și a modalitaților de folosire ale acestuia. În acest sens, va fii necesară prezența calculatoarelor și a tehnologiei informației în școlile preuniversitare, licee și școli generale, în inspectoratele școlare, iar ulterior va fii necesară o comunicare între aceste unități, comunicare care funcționează după anumite standarde de comunicare.

1.1 Scopul lucrării

Scopul principal al lucrării de față este crearea unui produs software care sa ducă la simplificarea activităților în cadrul unităților de învățământ preuniversitare, în speță școli generale și licee. Piața produselor software de acest gen este destul de saracă, neexistând o gama variata de astfel de produse din care cadrele didactice sau administrația școlilor să poată alege varianta cea mai convenabilă. Aplicația de față a fost realizată la cerința cadrelor didactice și a elevilor, încercând să se găsească o soluție la nevoile cele mai acute ale acestora. În continuare, pentru simplitatea exprimării, vom da celor care au solicitat acest produs software denumirea generică de client.

Proiectul software a fost realizat la cerința clientului, iar implementarea acestuia a urmărit cu strictețe anumiți pași standard de dezvoltare. În primul rând s-au elaborat specificațiile împreună cu clientul și s-a convenit asupra perioadei de timp necesare, apoi s-a proiectat structura bazei de date, iar cu acceptul clientului s-a început implementarea pachetului de programe, urmând ca acesta să fie informat de starea proiectului prin mai multe prezentări intermediare. În cele din urmă s-a ajuns în faza de testare și de acceptanță de către client a primei versiuni a aplicației, urmând ca în continuare să se asigure mentenanța aplicației și, la cererea clientului, să se îmbunătățească și sa se adauge noi funcționalități, rezultând astfel noi versiuni. Vom denumi în continuare unitățile de învățământ Scoală, iar proiectul software, aplicația ce urmează a fi prezentată se va numi AIpS, acronimul de la Aplicație Intranet pentru Școala.

Scopul secundar al lucrării de față este studierea modalităților de dezvolatare a unei aplicații web, folosind tehnologiile existente pe piață la ora actuală și studierea facilităților oferite de aceste tehnologii, astfel încât în final să rezulte un produs complex, care să îndeplinească cu succes rolul de intranet pentru unitățile de învățământ preuniversitar.

Combinând tehnologia Web cu aplicațiile realizate pe sistemul de operare Microsoft Windows s-a creat un produs destul de complex din punct de vedere al proiectării și implementării software. De asemenea s-a pus accentul pe respectarea anumitor termeni din ingineria programării: modularitate, eficiență, fiabilitate, consistență și perceptibilitate.

1.2 Descrierea aplicației

AIpS este o platformă completă de gestiune a conținutului tuturor datelor și documentelor necesare într-o unitate de învățământ și de asemenea de instruire asistată de calculator. Aplicația este un sistem integrat de predare, învățare și gestiune a conținutului, bazat pe principii educaționale moderne.

AIpS oferă suport pentru predare și învățare, pentru testare și evaluare, pentru administrarea conținutului și monitorizarea procesului de învățământ. Aplicația oferă posibilitatea de a stoca materiale pe care ulterior profesorul sa le folosească în procesul de învățare, atât învățare coordonată de către acesta, cât și învațare independentă, testare și evaluare sau creativitate și relaxare. Profesorul poate integra în aplicație orice fel de material pe care îl considera folositor pentru desfășurarea optimă a procesului de învățare.

În dezvoltarea sistemului AIpS, am fost sprijinit în permanență de pedagogi cu experiență pentru ca sistemul să își atingă scopul pe care îl urmărește:

să sprijine procesul de predare/învățare prin mijloace informatice moderne, punând la dispoziția dascălilor un instrument complementar

să faciliteze procesul de învățare

să stimuleze cretivitatea și competiția, dar și lucrul în echipă

să utilizeze softurile de simulare ca substitut pentru materialele și instrumentele didactice scumpe sau greu de procurat.

să țină evidența tuturor documentelor și activităților din scoală, ușurând atât munca profesorilor cât și a personalului administrativ

Caracteristici generale:

Interfață prietenoasă, adaptabilă, diferențiată în funcție de tipul de utilizator, grupurile din care face parte și drepturile de acces.

Rolurile, grupurile, utilizatorii și drepturile de acces asociate sunt ușor de administrat

Ușor de instalat și de administrat

AIpS este o soluție completă de eLearning oferind facilități de gestionare și prezentare de diverse tipuri de conținut educațional precum materiale interactive tip multimedia, ghiduri interactive, exerciții, simulări, jocuri educaționale și multe altele. Sistemul poate acumula o bază de cunoștințe electronică, cu funcții de gestionare și administrare de conținut educațional, adaptabilă, configurabilă, indexabilă.

Pe lângă conținutul educațional, aplicația stochează într-o bază de date informațiile necesare legate de profesorii și elevii școlii. Aceste informații sunt ușor de căutat și pe baza lor se pot tipări foarte ușor documente (adeverințe, foi matricole, diplome). De, asemenea evaluarea, evidența notelor, a absențelor, a situației școlare, este pastrată întro aplicație de tip catalog școlar, foarte ușor de folosit de către profesori. Această aplicație va permite în mod facil vizualizarea sitației școlare a unui elev și, la final de semestru, încheierea automată a acestei situații și întocmirea de rapoarte la nivel de clasă si la nivel de școală.

Aplicația oferă spre vizualizare orarul școlii și păstrează în permanență conectați, atât elevii cât și profesorii, cu activitățile desfășurate în școală și noutățile legate de aceste activități, printr-o secțiune de știri.

1.3 Descrierea tehnologiilor folosite

În momentu de față există o multitudine de tehnologii ce permit crearea de aplicații web, așa cum este și AIpS, chiar dacă este o aplicație web ce momentan va fi folosită doar local, pe viitor, după o dezvoltare corespunzătoare, aplicația putând fi folosită și pe internet.

Aplicațiile web sunt acelea care asigură funcționalitatea de pe un server către mașini client prin intermediul Internetului, în speță a protpocolului http (după cum spuneam, într-o primă instanță, aplicația nu va putea fi accesibilă din exterior, prin intermediul internetului, ci va funcționa local și va putea fi accesată doar din rețeaua de calculatoare a școlii. Aplicațiile web compun răspunsuri la niște cereri către resurse aflate pe server. Aceste resurse pot fi: codul executabil care rulează pe server, Form-urile web, paginile HTML, imagini, fișiere multi-media.

Aplicația a fost dezvoltată folosind ASP .NET 4.0. ASP .NET este o componenta a .NET Framework care este folosită pentru a crea aplicații web. ASP .NET nu este singura tehnologie care permite acest lucru, însă ea se integrează foarte bine cu celelalte tehnologii Microsoft.

Ce se folosește:

Microsoft Internet Information Services (IIS) este serverul de aplicații web al Microsoft. El este o componentă a Windows XP: Add/Remove Programs -> Add/Remove Windows Components.

Visual Studio .NET 2005 este un mediu integrat de dezvoltare, care cuprinde inclusiv unelte de design al Form-urilor web, unelte de debug si deployment.

Colecția de namespaces System.Web. Acestea sunt parte integrantă a .NET Framework și include clase predefinite care se ocupă de chestiuni specifice aplicațiilor web.

Controalele HTML și server sunt componente ale interfeței cu utilizatorul care sunt folosite pentru a afișa respectiv colecta informații către / dinspre utilizatori.

Limbajul de programare C#.

ADO.NET – sunt clase predefinite care se ocupă de managementul datelor – accesul la date in baze de date ODBC si Microsoft SQL Server.

XML este un acronim ce provine de la “Extensible Markup Language”. Este o inițiativă a World Wide Web Consortium (W3C) care permite ca informația și serviciile să fie codate folosind o structură și o semantică ce pot fi înțelese atât de calculatoare cât și de om. Formatul este de tip text, simplu și foarte flexibil.

Formatul RSS este folosit pentru a afișa știrile. RSS este un format care aparține familiei “web feed”, ceea ce înseamnă că este un format bazat pe XML, care conține o secvență de noduri cu conținut informațional scurt, folosit mai ales pentru a publica pe web scurte știri sau informări. RSS este acronimul de la Really Simple Syndication. Formatul XML permite asocierea cu un fișier de tip xsd (fiind un limbaj bazat pe reguli) care să formateze informația astfel încât afișarea să fie într-o formă potrivită unei pagini web.

Folosind toate aceste tehnologii și nu numai, a fost creată aplicație prezentată în lucrarea de față.

Capitolul II

Terminologie

AIpS, în forma în care este prezentată în lucrarea de față, este, după cum rezultă chiar din numele aplicației, un intranet.

2.1 Intranetul

Intranetul este o rețea privată de calculatoare, care folosește protocoalele Internet și posibil sistemul public de telecomunicații, pentru a pune la dispoziția angajaților, printr-o modalitate securizată, o parte din informațiile organizației sau a operațiilor care se desfășoară în cadrul ei. Uneori termenul se referă la servicliul cel mai vizibil, și anume pagina web internă. Aceleași concepte și tehnologii care sunt valabile pentru Internet, cum ar fii clienți și servere rulând folosind suita de protocoale Internet sunt folosite și pentru a construi un intranet, de exemplu HTTP, FTP și email sunt cele mai frecvent folosite. Pe scurt, intranetul poate să fie definit ca și o versiune privată a internetului, o versiune limitată doar în cadrul unei organizații. În cazul lucrării de față organizația în cauză este o școală preuniversitară.

Un alt termen legat de intranet este cel de extranet. După cum spuneam, intranetul poate să fie accesat doar de oamenii care fac parte dintr-o organizație, pe când extranetul poate să fie accesat și de clienți, cei care se ocupă de aprovizionare, sau orice alte persoane autorizate. În cazul de față o transformare a AIpS într-un extranet ar putea permite accesul părinților, eventual al persoanelor de la cantina școlii, a celor care se ocupă de activități sportive extrașcolare. Acest termen poate să fie luat în calcul într-o versiune următoare a programului.

2.1.1 Avantajibil sistemul public de telecomunicații, pentru a pune la dispoziția angajaților, printr-o modalitate securizată, o parte din informațiile organizației sau a operațiilor care se desfășoară în cadrul ei. Uneori termenul se referă la servicliul cel mai vizibil, și anume pagina web internă. Aceleași concepte și tehnologii care sunt valabile pentru Internet, cum ar fii clienți și servere rulând folosind suita de protocoale Internet sunt folosite și pentru a construi un intranet, de exemplu HTTP, FTP și email sunt cele mai frecvent folosite. Pe scurt, intranetul poate să fie definit ca și o versiune privată a internetului, o versiune limitată doar în cadrul unei organizații. În cazul lucrării de față organizația în cauză este o școală preuniversitară.

Un alt termen legat de intranet este cel de extranet. După cum spuneam, intranetul poate să fie accesat doar de oamenii care fac parte dintr-o organizație, pe când extranetul poate să fie accesat și de clienți, cei care se ocupă de aprovizionare, sau orice alte persoane autorizate. În cazul de față o transformare a AIpS într-un extranet ar putea permite accesul părinților, eventual al persoanelor de la cantina școlii, a celor care se ocupă de activități sportive extrașcolare. Acest termen poate să fie luat în calcul într-o versiune următoare a programului.

2.1.1 Avantaje

Printre avantajele folosirii unei aplicații intranet amintim:

Productivitatea muncii: intranetul poate să ajute elevii, profesorii și personalul administrativ dintr-o școală să gasească și să vizualizeze foarte ușor o informație sau o aplicație relevantă rolului și resposabilității pe care fiecare o are în cadrul organizației. Folosind o interfață web prietenoasă, utilizatorii pot să acceseze date ținute în orice fel de baze de date pe care școala dorește să le pună la dispoziție și, ușor și repede, respectând protocolul de securitate, de oriunde, permitându-le să își realizeze obiectivele în cel mai scurt timp și având siguranță ca informația accesată este cea corectă.

Timpul: o cantitate mult mai mare de informație poate fii pusă la dispoziție într-o manieră structurată, care poate să fie accesată în orice moment de cine are nevoie de acea informație la un moment dat.

Comunicarea: intranetul poate să fie un instrument puternic de comunicare în cadrul unei organizații, atât pe orizontală cât și pe verticală.

Actualizarea: orice document poate să fie actualizat și informația pe care o accesează un utilizator este cu siguranță cea corectă (bineînteles, cu condița ca persoanele ablitate să se ocupe în permanență de actualizarea informației ce se găsesște pe intranet).

Suport pentru alte aplicații: în cazul de față o astfel de aplicație o reprezintă catalogul de note.

2.1.2 Dezavantaje

Folosirea unei aplicații intranet poate să aibe și anumite dezavantaje:

Publicarea informațiilor trebuie controlată, pentru a asigura faptul ca numai informațiile corecte și potrivite sunt publicate pe intranet.

Trebuie asigurată o politică de securitate bine definită, astfel încât să nu existe griji asupra accesării intranetului și să nu fie permis abuzul utilizatorilor asupra intranetului.

2.2 Planificarea și crearea unui intranet

Cele mai multe organizații alocă resurse considerabile în planificarea și implementarea intranetului propriu, fiind de o importanță strategică pentru succesul organizației. Unele planuri vor lua în considerare cu siguranță câteva dintre următoarele afirmații:

Ce speră organizația să realizeze în urma implementării intrnetului?

Ce persoană (sau departament) va deține controlul asupra tehnologiei și implemetării?

Cum și când va fi implementat noul sistem?

Cum se va implementa securitatea intranetului?

Care sunt constrângerile și cum se va ține cont de ele?

Toate acestea se vor lua în considerare pe lângă deciziile ce trebuie luate în legătură cu partea de hardware și de software, modalități de folosire și facilități oferite.

Implemetarea propriu-zisă va include mai mulți pași, inclusiv următorii:

Punerea în funcțiune a unui server web care să aibe harware-ul și software-ul corespunzător rolului pe care urmează sa-l îndeplinească.

Accesarea serverului web folosind o rețea de tip TCP/IP.

Instalarea programelor pentru utilizatori pe toate calculatoarele necesare.

Crearea efectivă a paginilor ce urmează să conțină informația.

Numeroase organizații au înregistrat un real succes în urma implementării și folosirii unui intranet. Spre exemplu: Cisco Systems, Ford Motor Co, Universitatea Națională Australiană și exemplele pot fii nenumărate.

2.3 Internetul

În paragraful anterior s-a menționat faptul ca intranetul este o versiune privată a Internetului și s-a descris termenul de intranet. Scopul acestui paragraf este definirea termenului de Internet.

Internetul este o rețea de rețele de calculatoare, publică, întinsă în întreaga lume, care transmit date prin comutare de pachete, folosind Internet Protocol (IP). Este o rețea de rețele, alcatuită din milioane de calculatoare personale, din mediul academic, de afaceri, guvernamental, care oferă o gamă extraordinar de largă de informații, prin pagini web interconectate și documente aflate pe World Wide Web și servicii: email, online chat, transfer de fișiere.

Ceea ce este de precizat este faptul că termenii Internet și Web nu sunt sinonimi. Internetul este o colecție de rețele de calculatoare interconectate prin fire de cupru, fibră optică, conexiuni wireless etc. Web-ul este o colecție de documente și resurse interconectate prin hyperlinks și URLs. World Wide Web este accesibil via Internet, cum sunt, de altfel și multe servicii amintite mai sus.

2.4 Istoria Internetului

Internetul s-a născut la mijlocul anilor 60 în forma ARPAnet (Advanced Research Projects Agency Net) – o rețea între mai multe computere din unele instituții americane, ce lucrau pentru ARPA, un departament de cercetare din cadrul Pentagonului. ARPA a fost pus în funcțiune ca reacție la succesul sovietic al lansării satelitului Sputnik în spațiu în 1957. Unul din obiectivele ARPAnet era crearea unei rețele, care să nu fie distrusă datorită atacurilor asupra sistemului. Războiul Rece fiind la apogeu, scenariul unui dezastru era considerat fie lansarea unei bombe fie un atac nuclear.

De aici a rezultat un proiect de rețea, unde rețeaua însăși era permanent în pericol de atac. În consecință:- doar un minimum de informații era cerut de la computerele client în rețea – oricând transmisia de date întâlnea un obstacol, sau una dintre adrese era de negăsit, se găsea o altă cale către adresa căutată.

Toate acestea au fost codificate într-un protocol care reglementa transmisia de date pe Internet. În forma sa finală, acesta era TCP/IP (Transmission Control Protocol / Internet protocol), care este și acum baza Internetului. TCP/IP face posibil ca modele diferite de calculatoare, de exemplu IBM compatibile sau Mac's, folosind sisteme diferite de operare, cum ar fi UNIX, Windows, MacOS etc. să se "înțeleagă" unele cu altele. În acest fel, Internetul era și este cu adevărat o platformă-independentă.

Internet-ul "civil" a început ca o rețea de patru computere între Universitățile din Utah, Santa Barbara și Los Angeles și Institutul de Cercetare din Stanford. În curând, cercetători din alte instituții de stat au devenit interesați. Deoarece folosirea computerelor era costisitoare, ei au văzut imediat avantajele folosirii în comun a unei rețele.

La sfârșitul anilor 60 și începutul anilor 70, când Internetul număra în jur de 50 de computere, s-au dezvoltat primele dintre servicii, folosite încă și azi pentru transferul informației:- File Transfer Protocol pentru trimiterea și regăsirea fișierelor – Telnet pentru accesarea și folosirea bazelor de date, a bibliotecilor și a cataloagelor din toată lumea – E-Mail pentru trimiterea mesajelor personale.

Internetul era în mod categoric în ascendență. Cu noi grupuri de utilizatori care se alăturau, în următoarea decadă, Internetul a crescut la o rețea de 200 de computere. Partea militară era organizată într-o rețea separată, Milnet.

În același timp, au apărut alte rețele, mai ales în sectorul academic. Importantă printre acestea era (și este) USENET sau Users' Network, care a început în 1979, când câteva UNIX-computere au fost conectate împreună.

USENET. În sute de grupuri de discuții despre orice subiect imaginabil, oamenii făceau schimb de noutăți și imagini, în ciuda distanțelor și a hotarelor. Alte rețele s-au dezvoltat de-a lungul USENETului. Toate formau baza unui spațiu de comunicație radical democratic. De exemplu, înaintea unei noi discuții pe care grupul o începea, comunității Netului i se cerea un vot de accept. Grupurile de discuții joacă încă un rol mare pe Internet. Există mii și zeci de mii în întreg Internetul.

Altă moștenire a USENET este "Netiquette", sau regulile de comportament pe Internet.

10 ani după ce USENET își începuse dezvoltarea, Internetul a crescut la 80.000 de computere. A început să fie un factor de luat în considerare în politică. Și curând, expresia "Information SuperHighway" (autostrada informației) a devenit uzuală. În această metaforă, Internetul era văzut ca o importantă infrastructură pentru transportul unor bunuri vitale – informațiile.

În anii 80 și începutul anilor 90, când Internetul era folosit doar de un număr mic de cercetători, arată mult diferit față de prezent. Principalele aplicații erau atunci poșta electronică și grupurile de discuții (Newsgroups) plus diverse rutine de căutare și mecanisme de transfer al fișierelor. Aceasta era o lume UNIX, în care toate comunicațiile existau doar ca text sau numere, și liniile de comandă trebuiau memorate și tipărite.

Când poșta electronică, dar mai ales programele de căutare și de transfer al fișierelor au trebuit să facă față unor cerințe mai complexe, s-au dezvoltat noi navigatoare. Software-ul pentru fiecare trebuia să fie obținut și configurat separat. Folosirea fiecăruia trebuia să fie învățată.

Pe scurt: datorită metalimbajului foarte dificil, folosirea Internetului în acea perioadă era restrânsă la un mic grup de oameni din universități și institute de cercetare.

Marea schimbare a început în 1989, când Tim Berners Lee de la CERN (Centrul European pentru Fizica Nucleara) din Geneva a pus bazele în 1989 dezvoltării primului prototip al World Wide Web (WWW sau 3W). Ca de obicei în istoria Internetului, scopul inițial al WWW-ului era destul de limitat.

Era destinat să fie o platformă internă de comunicații pentru cercetătorii din întreaga lume care lucrau pentru CERN. Sarcina principală era să asigure un sistem care să facă legătura între varietatea de platforme ale diverselor calculatoare.

Soluția de bază era ideea de a face legătura între documente via "hipertext". Hipertext înseamnă, a marca șirurile de text sau alte obiecte și de a le lega cu alte obiecte, care ar putea fi din punct de vedere fizic la mare distanță de obiectul original. Când legătura este selectată, cineva poate "sări" la documentul legat. În acest fel este posibil de a lega un număr nelimitat de documente între ele într-o structură web ne-ierarhică. Pentru a putea deosebi aceste documente și pentru a le regăsi, fiecare are o adresă unică. Aceasta este Unique Resource Locator (URL). URL-urile constau într-un protocol de transmitere (în cazul WWW-ului acesta este Hypertext Transfer Protocol – http), urmat de www (în cele mai multe cazuri) și de domeniu (de exemplu numele serverului și numele paginii).

Prima versiune a programelor pentru a naviga pe www, așa numitele "browsere" urmau încă tradiția originală a Internetului – erau numai text. De aceea, sistemul a rămas, în principiu, neprietenos cu utilizatorii. În septembrie 1992 nu existau mai mult de 20 de servere web în întreaga lume.

Schimbarea radicală s-a produs când NCSA (National Center for Supercomputing Applications) din SUA a scos "Mosaic" – Browser în 1993, care era bazat pe o interfață grafică (Windows). Enorma creștere a web-ului a început virtual, dintr-o dată: În iunie 1993, 130 servere Web erau înregistrate, în 1994 erau deja 11.576 servere.

Dar web-ul nu a făcut doar să se dezvolte. De asemenea, posibilitățile de a prezenta datele au crescut dramatic. Curând au apărut poze și animații pe situri web, urmate de sunete . Doar un mic pas mai era necesar pentru a aduce cataloage, directoare și formulare de comandă pe situri web. Astfel, câțiva ani mai târziu s-a născut E-Commerce.

2.5 Protocoalele TCP/IP

Protocolul IP asigură livrarea pachetelor numai dacă în funcționarea rețelelor nu apar erori.

Dacă un mesaj este prea lung, IP cere fragmentarea lui în mai multe pachete.

Transmiterea pachetelor IP se face între calculatoare gazdă și nu direct între programele de aplicație.

Din aceste motive, protocolul IP este completat cu un altul, numit TCP (Transmission Control Protocol), care face fragmentarea și asigură transmiterea corectă a mesajelor între utilizatori.

Pachetele unui mesaj sunt numerotate, putându-se verifica primirea lor în forma în care au fost transmise și reconstituirea mesajelor lungi, formate din mai multe pachete.

Protocoale utilizate în suita TCP/IP

Protocolul IP

Începând cu 1982, cel mai utilizat protocol Internet a fost IPv4

Din 1995, IETF (Internet Engineering Task Force), care dezvoltă protocoale standard pentru Internet, a emis o specificație pentru noua generație de IP, numită IPng sau IPv6.

Datele sunt trimise sub forma unor blocuri de caractere, numite datagrame sau pachete.

Fiecare pachet este prefațat de un mic ansamblu de octeți, numit header (antet), urmat de datele propriu-zise ce formează conținutul pachetului.

După sosire la destinație, datele transmise sub forma unor pachete distincte sunt reasamblate în unități logice de tip fișier, mesaj.

Internetul comută pachetele pe diferite rute de la sursă la destinație, numindu-se rețea cu comutare de pachete.

Structura unui pachet IP

0 4 8 16 19 31

Câmpurile unui antet pentru IPv4 sunt:

Versiune (4 biți): Indică numărul versiunii. Valoarea este 4.

Lungime (4 biți): Specifică lungimea antetului. Valoarea minimă este 5, pentru o lungime a antetului de minim 20 de octeți.

Tip serviciu (8 biți): Specifică rutele IP în termenii de prioritate a pachetelor.

Lungimea totală (16 biți): Specifică lungimea totală a pachetului IP, în octeți.

Identificare (16 biți): Împreună cu adresa sursei, adresa destinației și cu protocolul utilizatorului, identifică un pachet într-un mod unic.

Indicatori (3 biți): Indică dacă un pachet este fragmentat sau nu.

Offset fragment (13 biți): Indică cui îi aparține pachetul fragmentat.

Timp viață (8 biți): Specifică cât timp (în secunde) rămâne un pachet în Internet.

Protocol (8 biți): Indică protocolul de la nivelul imediat superior care primește datele.

Sumă control antet (16 biți): Este un cod de detectare a erorilor aplicat numai antetului. Acesta se calculează și se verifică la fiecare rută.

Adresa IP sursă (32 biți): Specifică adresa sursă a IP.

Adresa IP destinație (32 biți): Specifică adresa destinație a IP.

Opțiuni (variabil): Specifică opțiunile emițătorului: eticheta de securitate, căile de rutare.

Nefolosiți (variabil): Utilizați pentru a se asigura că un antet este un multiplu de 32 de biți în lungime.

2.6 Protocolul HTTP

Protocolul web (HTTP) a fost formulat in 1990 și standardizat in 1996 într-o primă versiune (HTTP 1.0), astăzi fiind îin uz veriunea 1.1. Ulterior acesta a fost completat cu alte standarde pentru a face față noilor cerințe impuse de creșterea Internetului.
  Protocolul HTTP în versiunea 1.1 (curentă) a fost elaborat în 1997 de un grup de specialiști din cadrul companiei DEC (Digital Equipment Cormporation) și a MIT (Massatchusets Intitute of Technology) și a fost înregistarată de Network Working Group sub codul RFC 2068.

Protocolul HTTP este un protocol de nivel aplicație pentru sisteme distribuite, colaborative și hipermedia, folosit în sistemul global WWW începând cu 1990. Protocolul folosește referințe de tipul Uniform Resource Identifier (URI) pentru locații sub forma URL sau nume (URN) pentru accesarea resurselor, mesajele fiind transmise într-un format similar mesajelor e-mail definit de standardul MIME (Multipurpose Internet Mail Extensions). Totodata HTTP este suport de comunicație și pentru alte protocoale Internet (SMTP, NNTP, FTP etc.).

HTTP este un protocol de tip cerere / răspuns. Un client trimite o cerere către server ce constă dintr-o cerere propriu-zisă, un URI și o versiune de protocol, care este urmată de un mesaj codificat MIME conținând parametrii cererii, ai clientului și un posibil conținut. Serverul răspunde cu o serie de informații conținând versiunea protocolului, codul operației (succes sau eroare), urmate de un mesaj codificat MIME ce conține informații legate de server, metainformații și, posibil, conținut.

Majoritatea comunicațiilor HTTP sunt inițiate de un agent și constă într-o cerere aplicată unei resurse pe un anumit server. Cazul cel mai simplu îl reprezintă o singură conexiune între agent și server.

O situație mai complicată survine în momentul în care în lanțul cerere / răspuns intervin mai mulți intermediari (proxy, porți, tuneluri). Un proxy este un agent retransmițător, preluând cererile, rescriindu-le o parte din mesaj și trasmițându-le mai departe către server. O poartă (gateway) este un agent de preluare, acționând ca un strat între unul sau mai multe servere și, dacă este necesar, traducând cererea într-un alt protocol. Tunelul este folosit pentru transportul mesajelor nemodificate printr-un alt intermediar (de exemplu un firewall). Fără a intra în amănunte putem spune că, în cazul intermediarilor, nu este obligatorie transmiterea mesajelor între client și server, o parte din ele putând fi oferite de intermediar datorită stocării lor anterioare (cache).

În mod obișnuit HTTP are loc peste conexiuni TCP/IP. Portul implicit este TCP 80, dar și alte porturi pot fi folosite. Cu toate acestea HTTP-ul nu este dependent de TCP/IP, el presupunând doar existența unei conexiuni, ca urmare orice protocol ce asigură aceste cerințe poate fi folosit.

Cel mai important și vizibil element al protocolului HTTP il reprezintă URL-urile (Uniform Resource Locators). Standardizate prin RFC 1738 în Decembrie 1994, el definește regulile de alcătuire a unei astfel de resurse utilizabilă la localizarea și accesarea informațiilor.

Sintaxa unui URL este alcătuită din litere mici (a-z), cifre (0-9) și o serie de caractere speciale ("-", "_", "." etc.) O altă serie de caractere sunt rezervate. Restul caracterelor pot fi transmise prin codare, care se realizeaza prin prefixarea cu simbolul "%" a codului hexazecimal corespunzatorului codului ASCII.

URL-ul are în forma lui generală utilizată în HTTP sintaxa următoare:

<protocol>://<user>:<password>@<host>:<port>/<url-path>

Acestea semnifică:

protocol – protocolul folosit, în mod obișnuit http. Uzual se folosesc ftp, mailto, gopher, news, nntp, telnet și file. 

utilizator și parolă – pentru o eventuală autentificare. Lipsa lor presupune o conectare anonimă;  

host – numele serverului conform protocolului numelui de domeniu (DNS)

port – portul TCP folosit. Lipsa lui implică folosirea porturilor implicite pentru protocoalele respective (in cazul HTTP 80);

url-path – pentru serviciile ce oferă acces la o structură de fișiere organizată arborescent (cum este și WWW).

2.7 Limbajul HTML

HTML (HyperText Markup Language), limbajul de marcare a informației, este "lingua franca" pentru publicarea informației în format hipertext pe Internet. Pentru păstrarea și dezvoltarea standardului a fost inființat W3 Consortium, care începand cu prima versiune din 1992 a oferit noi modele și direcții de dezvoltare pentru o mai bună și rapidă utilizare a informației (și nu in ultimul rând mai spectaculoasă). Cea mai suportată, în acest moment, este versiunea HTML 3.2, in ciuda faptului că există bine fundamentată specificația HTML 4.1 și alte limbaje, mai orientate către informații și baze de date (XML).
  Conform standardului internațional ISO 8879, HTML este un SGML (Standard Generalized Markup Language). Ca atare, documentele ce sunt conforme cu specificația HTML 3.2 respectă sintaxa unei aplicații SGML, fiind definite ca o combinație de declarații SGML și definiții de tipuri de documente (document type definition – DTD).
 

Structura unui document HTML este următoarea:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<HTML>

<HEAD>

<TITLE>Titlul paginii</TITLE>

… alte elemente de început

</HEAD>

<BODY>

… corpul documentului

</BODY>

</HTML>
 

Specificația permite lipsa diverselor tag-uri, inclusiv <head> sau <body>, definind ca versiune minimă a unui document HTML structura

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<TITLE>Titlul documentului</TITLE>

Toate aceste tehnoligii s-au dezvoltat împreună cu dezvoltarea internetului și pe parcursul timpului au apărut tehnologii noi, care au transformat și revoluționat această industrie.

Capitolul III

Tehnologii Microsoft folosite

În continuare voi discuta despre aportul adus de Microsoft în dezvolarea internetului și posibilitățile puse la dispoziție pentru a crea pagini web și a dezvolta aplicații unitare, cu funcționalitate complexă și securitate sporită. Accentul va fi pus pe ASP .NET 4.0, mediul de dezvoltare al aplicației lucrării de față.

3.1 IIS (Internet Information Services)

Înainte de a discuta despre ASP .NET este necesar să fie introdus în discuție suportul acestei aplicații, este vorba de Internet Information Services, IIS, un server web care face parte din generația următoare de servere, disponibil în toate versiunile de Microsoft Windows Server 2008. Acesta introduce multe noi facilități care ajută la creșterea siguranței, facilităților de management, scalabilității și securității infrastructurii aplicațiilor web. IIS 6.0 este o componentă cheie a platformei de aplicații Microsoft Windows Server 2008, un set integrat de servicii și unelte care permit dezvoltarea și instalarea de site-uri web de mare performanță, aplicații web și servicii web. Beneficiile utilizării IIS 6.0 sunt creșterea duratei de viață a web site-ului și a aplicațiilor, scaderea costurilor de administrare, consolidarea sereverului (reducerea personalului care să se ocupe de mentenanța site-ului, inclusiv reducerea costurilor) și, bineînțeles, o creștere semnificativă în infrastructura securității web.

Site-urile web și codul aplicațiilor este într-o continuă creștere a complexității. Site-urile dinamice și aplicațiiloe pot conține imperfecțiuni de cod care să conducă la ocuparea inutilă a memoriei sau care să cauzeze erori de felul violărilor de acces. De aceea un server web trebuie să fie un manager activ în timpul execuției aplicației și să detecteze automat erorile generate de aplicație, generând un răspuns adecvat. Când apare o eroare de aplicație, serverul trebuie să fie tolerabil la erori, însemnând că trebuie efectiv să restarteze o aplcație care generează erori, în timp ce continuă să înregistreze într-o coadă de așteptare solicitările pentru aplicație, fără a întrerupe accesul utilizatorilor.

IIS este o tehnologie integrată în serverul de aplicații Microsoft Windows 2008, împreună cu următoarele tehnologii: Microsoft .NET Framework, ASP .NET, ASP, UDDI Services, COM+, Microsoft Message Queuing. Pentru a îndeplini rolul de server de aplicații, aceste tehnologii sunt combinate într-o manieră coezivă, dând posibiliatea programatorilor și administratorilor de aplicații web abilitatea de a găzdui aplicații dinamice, cum ar fii aplicații cu baze de date ASP .NET, fără a fii nevoie de instalarea nici unui software suplimentar pe server.

3.2 Microsoft .NET

Următoare întrebare care apare este: Ce este Microsoft .NET?

Microsoft .NET este un software care conectează informații, oameni, sisteme și dispozitive. Unește clienți, servere și unelte de dezvolatare și are în componența sa următoarele:

.NET Framework, folosit pentru dezvolatarea și rularea de diverse programe, inclzând aplicații web, aplicații client inteligente, servicii web, componente care facilitează integrarea prin împărțirea datelor și a funcționalității chiar in cadrul unei rețele, folosind protocoale standard și independente de platformă cum XML, SOAP, HTTP.

Unelete de dezvolatare, cum ar fii Microsoft Visual Studio, care pune la dispoziție un mediu de dezvoltare integrat pentru maximizarea productivității programatorilor cu .NET Framework.

Un set de servere, icluzând Microsoft Windows Server 2008, Microsoft SQL Server, Microsoft BizTalk Server, care integrează, rulează, operează și asigură managementul serviciilor și aplicațiilor web.

Software client, cum ar fii Windows XP, Windows CE, Microsoft Office XP, care ajută programatorii să ofere utilizatorilor aplicații captivante pe o gamă largă de dispozitive și produse deja existente pe piață.

3.2.1 Microsoft .NET Framework

Ce este .NET Framework?

.NET Framework este o componentă Windows integrată pentru construirea și rularea aplicațiilor software și serviciilor web care fac parte din următoarea generație. .NET Framework:

Suportă peste 20 de limbaje de programare diferite.

Se ocupă de verticalizarea necesară în dezvoltarea software, dând posibilitatea programatorilor să se concetreze asupra codului esențial, logic, nucleul aplicației.

Face mai ușoara ca niciodată dezvoltarea, instalarea, administrarea, securizarea, aplicațiilor robuste și de mare performanță.

.NET Framework este compus din „Common Language Runtime” (CLR) și un set unificat de librării de clase.

CLR este responsabil pentru serviciile din cadrul execuției, cum ar fii integrarea limbajului, constrângerilor legate de securitate, managementul memoriei, proceselor și firelor de execuție. Mai mult, CLR are următoarele roluri în timpul dezvoltării, oferind facilități cum ar fii managementul pe durata de viață a aplicației, nume sugestive ale coponentelor, tratarea excepțiilor, legături dinamice. Toate acestea reduc timpul necesar unui programator pentru a scrie cod și îi dau acestuia posibilitatea să se concentreze asupra nucleului logic al aplicației și crearea componentelor care mai apoi să poată fii reutilizabile.

Librăriile de clase

Clasele de bază pun la dispoziție funcționalități standard cu ar fii operații de intrare/ieșire, manipularea șirurilor de caractere, managementul securității, comunicarea în cadrul rețelelor, managementul firelor de execuție, al textului, facilități de creare facilă a interfețelor cu utilizatorii.

Clasele ADO .NET ajută programatorii să interacționeze cu bazele de date prin intermeniul XML-ului spre interfețe OLE DB, ODBC, Oracle, SQL Server. De asemenea există clase folosite la manipularea fișierelor de timp XML. Clasele de tip ASP .NET permit dezvoltarea aplicațiilor și serviciilor web. Clasele Windows Forms permit crearea de aplicații descktop inteligente.

Împreună, librăriile de clase oferă o interfață comună, consistentă pentru dezvoltarea aplicaților, compatibilă cu toate limbajele de programare compatibile cu .NET Framework:

Avantajele .NET Framework-ului:

Avantajele principale ale folosirii .NET Framework-ului sunt micșorarea timpului de dezvoltare a unei aplicații și îmbunătățirea performanțelor unor operații.

Compatibiliatatea cu mai multe limbaje de programare a .NET Frameworkului oferă programatorilor posibilitatea să folosească limbajul de programare care este cel mai potrivit pentru operația care trebuie executată și chiar să combine mai multe limbaje de programare în cadrul aceleiași aplicații. Componentele scrise în limbaje diferite pot să folosească funcționalitățile în mod transparent, fără nici un efort suplimentar din partea programatorului. Utilizarea .NET Framework minimalizează cantitatea de cod pe care programatorul trebuie să îl rescrie și maximizează potențialul codului pentru refolosire.

Folosirea .NET Framework-ului îmbunătățește performanțele aplicațiilor web tipice. Compania Middleware, fondatorii J2EE, au oraganizat o suită de teste pentru aplicații care folosesc .NET Framework sau J2EE și s-au constatant performanțe mult mai bune pentru .NET Framework pentru găzduirea de aplicații web, servicii web tranzacții distribuite. De asemena performanțele au fost mai bune și față de folosrea anteriorului Active Server Pages (ASP), datorită tehnologiei „just-in-time” (JIT) legate de compilare și „caching”, precum se arată în graficele de mai jos:

Din graficele prezentate se remarcă performanțele obținute utilizând .NET Framework.

3.3 Medii de programare vizuală

Alegerea mediului de programare pentru aplicații, a fost relativ simplă. Pentru a realiza un program bazat pe dialogul continuu cu utilizatorul direct, trebuie ca programul să fie realizat cu o interfață prietenoasă, apropiată de utilizator. Pentru aceasta a fost necesar un limbaj care să se bazeze pe ferestre de dialog, deci vizual. Microsoft Visual Studio .Net 2005 este un astfel de mediu, care îndeplinește toate cerințele pentru realizarea acestei aplicații. Odată mediul stabilit, proiectarea interfețelor a rămas una din principalele probleme.

Proiectarea interfețelor utilizator este un subiect care preocupă tot mai mult dezvoltatorii de software. În mod normal se pune întrebarea de ce. Unde și pentru cine merită să desfășurăm un efort în plus pentru ca interfețele să apară într-un anumit fel ?

În cazul aplicațiilor care implică un grup mare și divers (ca vârstă, pregătire, suport cultural) de utilizatori este mai ușor ca, în cazul aplicațiilor, imaginile de pe ecran să fie asemănătoare cu cele prezentate de sistemele de operare (gen Windows X de la Microsoft) cu icoane și meniuri drop-down din care utilizatorul poate alege, folosind ierarhia acestora, opțiunea potrivită scopurilor sale.

În schimb, în cazul aplicațiilor pentru un grup specializat de utilizatori, de exemplu profesori, cu o anumită pregătire profesională și culturală nevoia de interfețe potrivite și centrate pe utilizator (sau client) este stringentă.

Pornind de la profesori, concluzia duce la o generalizare, și anume pentru orice grup profesional sau cu o anumită caracteristică mai restrânsă de preocupări este nevoie de o particularizare a interfețelor aplicațiilor. Utilizarea unei aplicații specializate trebuie să asigure un profit celui care o folosește, deci să îi facă munca mai eficientă, mai ușoară și să rezulte și într-un beneficiu financiar prin scăderea costurilor în activitatea pe care o desfășoară.

Un alt factor important de care trebuie ținut cont în realizarea unei interfețe centrate pe client îl reprezintă plăcerea lucrului înfăptuit, asigurând astfel o viață mai bună, mai frumoasă, mai relaxată. Interfața potrivită face ca aplicația să fie ușor de utilizat și învățarea funcțiilor sale trebuie să se apropie de « natural« și să poată fi realizată în timp scurt, fără să fie nevoie ca utilizatorul să comute pe alt gen de abordare decât cel pe care îl posedă prin cultură și pregătire profesională.

Ambele direcții amintite anterior țin de structura umană și e normal să ținem cont de amândouă atunci când justificăm de ce s-a ajuns la o preocupare deosebită pentru realizarea interfețelor centrate pe utilizator.

Aceleași motivații determină și dezvoltatorii de software de aplicații centrate pe client să se preocupe mai mult în domeniul proiectării interfețelor acestor aplicații.

Mediul de lucru pentru aplicațiile web, la fel și cel pentru aplicațiile Windows este foarte primitor, având înglobat toată gama de opțiuni pentru o programare optimă. Pentru aplicația de față, funcționalitatea din spatele paginilor a fost implementată scriindu-se cod C#.

3.4 Privire de ansamblu asupra ASP .NET

ASP .NET este un model de dezvoltare web unificat, care include serviciile necesare pentru construirea unei aplicații web, scriind un minim de linii de cod. Nucleul ASP .NET este însă o colecție de clase .NET care lucrează împreună pentru a soluționa solicitări HTTP. Unele din aceste clase sunt definite în „system assemblies”, ca și parte integrantă a librăriilor de clase de bază, care sunt instalate în momentul pornirii .NET Framework-ului. Alte clase se pot găsi în „global assembly cache (GAC)” , iar alte clase pot fii încărcate din „local assemblies”, care se află în directorul virtula asociat aplicației. Toate aceste clase sunt încărcate într-un domeniu al aplicației în cadrul procesului de execuție ASP .NET și interacționează pentru a genera un răspuns la o anumită solicitare după cum este ilustrat în figura următoare:

ASP .NET este parte integrantă din .NET Framework, iar în momentul în care se scriu aplicații în ASP .NET există acces la clasele din .NET Framework. De asemenea este valabilă afirmația că se poate folosi orice limbaj de programare compatibil cu CLR. Aceste limbaje dau posibilitatea ca dezvoltând aplicații folosind ASP .NET, să se păstreze toate avantajele CLR, și anume siguranța tipurilor, moștenirea ș.a.m.d.

ASP .NET include:

O pagină și controale Framework

Compilatorul ASP .NET

Infrastructura securității

Facilități de administrare a stării

Configurarea aplicației

Monitorizarea erorilor și a performanței

Suport pentru testare

Framework pentru servicii web bazate pe XML

Mediu de găzduire extensibil și administrarea aplicației

Mediu de proiectare extensibil

3.4.1 Pagina și controalele Framework

Pagina și controalele Framework ASP .NET sunt un framework programabil să ruleze pe un server web, pentru a produce și interpreta dinamic pagini web ASP .NET. Paginile web ASP .NET pot fi solicitate din orice program de vizualizare a paginilor web sau dispozitiv client, ASP .NET interpretând codul HTML către programul de vizualizare solicitant. Ca și o regulă, se poate folosi aceeași pagină pentru mai multe programe, pentru că ASP .NET face interpretarea corectă pentru programul care face solicitarea paginei respective. De asemenea o pagină poate fi construită având ca și scop rularea cu un program de vizualizare anume, cum ar fii Internet Explorer, și beneficiind de toate avantajele oferite de acest program. ASP .NET suportă controale pentru dispozitive mobile ce se pot conecta la Internet, cum ar fii telefoane mobile, mini calculatoare și dispozitive PDA.

Programara paginilor web ASP .NET se face folosind în întregime programarea orientată pe obiecte. În cadrul paginilor web ASP .NET se pot folosi controale HTML, folosind metodele, proprietățile și evenimentele acestora. Pentru o pagină ASP .NET Frameworkul îndepărtează detaliile de implementare ale separării dintre client și serverul inerent prin prezentarea unui model unificat pentru răspunderea la evenimentele clientului în codul care rulează pe server. Frameworkul de asemenea menține automat starea unei pagini și controalele de pe pagina respectivă pe parcursul derulării ciclului de viață al pagini respective.

De asemenea paginile și controalele framework ASP .NET permit încapsularea funcționalității în interfața cu utilizatorul în controale reutilizabile, ușor de folosit. Un control scris o dată poate să fie folosit pe mai mult pagini.

O altă facilitate oferită de paginile și controalele framework ASP .NET este aceea că oferă posibiliatea de a controla aspectul general al paginilor, folosind teme și skinuri. Se pot defini teme și skinuri care mai apoi să fie aplicate la nivel de pagină sau chiar la nivel de control.

Pe lângă teme, se mai pot defini pagini master, folosite pentru a crește consistența aspectului paginilor din aplicație. O singură pagină master definește aspectul și comportamentul standard dorit pentru toate paginile sau numai pentru un grup de pagini din aplicație. După crearea paginii master se pot crea paginile cu conținut, care conțin informația specifică ce se dorește a fii afișată. Când utilizatorii solicită pagina cu conținut, aceasta se afișează împreună cu pagina master.

3.4.2 Compilatorul ASP .NET

Tot codul ASP .NET este copilat, ceea ce oferă avataje toate avatajele oferite de compilatoare, dintre care amintim optimizarea performanței, legăturile timpurii. O dată ce codul a fost compilat, CLR compilează în contiunare codul ASP .NET către cod nativ, oferind o creștere a performanței.

ASP .NET include un compilator care va compila toate componentele aplicației, incluzând pagini și controale în limbajd e asamblare, pe care mediul de găzduire ASP .NET le poate folosi pentru a rzspunde solicitărilor utilizatorilor.

3.4.3 Infrastructura securității

Pe lângă facilitățile de securitate oferite de .NET, ASP .NET oferă o structură de securitate avansată, permițând autentificarea și autorizarea accesului utilizatorilor, precum și executarea celorlalte sarcini legate de securitate. Utilizatorii pot fii autentificați ffolosind autentificarea Windows oferită de IIS, sau se poate folosi o autentificare proprie, având o bază de date cu utilizatorii, folosind authenticarea formelor ASP .NET și membrii ASP .NET. Pe lângă această autentificare, se poate autoriza accesul către folosirea naumitor facilități și afișarea anumitor informații numaid e către utilizatorii care aparțin unui anumit grup Windows sau folosind sistemul de roluri oferit de ASP .NET, având o bază de date cu roluri. Aceste scheme se pot ușor indepărta, adauga, înlocui, în funcție de nevoile aplicației.

ASP .NET rulează întotdeauna cu o identitate Windows, ca urmare aplicația se poate securiza folosind capacitățile Windows cum ar fii NTFS Access Control List și permisiuni la accesul bazelor de date.

3.4.4 Facilități de administrare a stării

ASP .NET oferă facilități intrinseci de administrare a stării care permit stocarea informației între solicitări succesive de pagini, cum ar fii informații legate de client, informații necesare tuturor paginilor. Se pot salva și controla informații specifice aplicației, specifice sesiunii, specifice paginii, specifice utilizatorului autentificat în momentul respectiv sau informații definite de programator. Aceste informații pot fii independente de orice control de pe pagină.

ASP .NET oferă facilități de stare distribuite, care permit administrarea informațiilor de stare de-a lungul existenței mai multor instanțe ale aplicației, aflate pe unul sau pe mai multe calculatoare.

3.4.5 Configurarea ASP .NET

Aplicațiile ASP .NET folosesc un sistem de configurare care permite definirea setărilor de configurare pentru serverul web, pentru un site web sau pentru aplicații individuale. Setările de configurare se pot face în momentul în care aplicația ASP .NET este instalată, dar acestea pot fi revizuite, adăugate și modificate oricând în timpul rulării acesteia, cu un imapct minim asupra operațiilor aplicației web și a serverului. Setările de configurare ASP .NET sunt stocate în fișiere de tip XML. Pentru că aceste fișiere XML sunt fișierre text ASCII, este simplu să se facă modificările setărilor de configurare. Schema de configurare se poate extinde astfel încât să îndeplinească necesitățile aplicației.

3.4.6 Monitorizarea erorilor și a performanței

ASP .NET include facilități care permit monitorizarea erorilor și a performanțelor aplicațiilor. Se generează rapoarte despre evenimente cheie care oferă informații despre condițiile în care apar erorile. Aceste evenimente sunt o combinație de caracteristici de monitorizare și diagnosticare și oferă un mare grad de flexibilitate legat de ceea ce este înregistrat în așa numitul jurnal de erori și mai ales despre cum se fac înregistrările în acest jurnal.

ASP .NET suportă două grupuri de monitoare de performanță accesibile unei aplicații:

Grupul de monitoare a sistemului de performanță ASP .NET

Grupul de monitoare a performanței aplicației ASP .NET

3.4.7 Suport pentru testare

ASP .NET are avantajul că oferă posibilitatea de testare în timpul execuției și de asemenea există infrastructura pentru testarea aplicațiilor scrise în mai multe limbaje de programare sau care rulează pe mai multe calculatoare. Se pot testa atât obiectele administrate cât și cele neadministrate, precum și toate limbajele compatibile cu CLR și limbajele script.

3.4.8 Framework pentru servicii web bazate pe XML

ASP .NET suportă servicii web bazate pe XML. Un astfel de serviciu este o componentă care conține funcționalități ce permit aplicațiilor să schimbe informații sisteme firewall, folosind standarde ca HTTP și XML. Aceste segrvicii nu sunt legate de o tehnologie particulară unei componente sau unei convenții de apelare a obiectelor. Ca și rezultat, programele scrise în orice limbaj de programare, folosind orice model de componente și rulând pe orice sistem de operare pot accesa aceste servicii web bazate pe XML.

Mediu de găzduire extensibil și administrarea aplicației

ASP .NET include un mediu extensibil de găzduire care controlează ciclul de viață al unei aplicații de când un utilizator accesează prima oară o ressursă, cum ar fii o pagină și până când aplicația este închisă. În timp ce ASP .NET se bazează pe un server web, IIS, ca și gazdă pentru aplicație, de asemenea ASP .NET oferă chiar o mare parte din funcționalitatea de găzduire. Această arhitectură a ASP .NET permite să se răspundă la evenimentele aplicației și să se creeze module și funcții de tratare HTTP personalizate.

Mediu de proiectare extensibil

ASP .NET oferă suport pentru crearea de controale web care să fie folosite în cadrul unui mediu care să permită design vizual cum este Visual Studio.

Capitolul IV

Descrierea aplicației

4.1 Aspecte importante pentru proiectare

Pentru a garanta succesul unui proiect este indicat să se studieze diferite proiecte deja apărute pe piață pentru a vedea care a fost succesul pe care l-au înregistrat și mai ales ce anume le-a asigurat succesul sau eșecul. Ceea ce trebuie urmărit ca un proiect să înregistreze un succes este ca el sa exceleze la anumite capitole, și anume:

Managementul configurărilor: Setările de configurare permit administratorilor să schimbe comportamentul unei aplicații fără să recompileze codul sursă. Aplicațiile de obicei sunt mutate de pe un server pe altul, numele de domeniu se schimbă, adresele IP sunt modificate. Aplicațiile configurabile sunt foarte ușor adaptate la aceste schimbări și costurile de mentenanță sunt semnificativ reduse.

Managementul excepțiilor: Excepțiile sunt o parte inevitabilă in procesul de dezvoltare, iar aplicațiile ar trebui să trateze excepțiile astfel încât credibiliatea aplicației în fața utilizatorilor să nu fie afectată. O soluție este înregistrarea excepțiilor într-un fișier special astfel încât să ajute la identificarea ariilor cu problemă și să permită utilizatorilor să soluționeze aceste aspecte fără să fie nevoie să se apeleze la ajutorul dezvoltatorului. Această soluție reprezintă un real avantaj.

Aspectul vizual: Percepția utilizatorilor poate fii controlată prin acordarea atenției necesare detaliilor grafice astfel încât aspectul site-ului să fie unul consistent. Deseori se întâmplă ca utilizatorii să judece o aplicație după aspectul acesteia, chiar înainte de a-i testa funcționalitatea. Acest lucru poate să fie folosit în avantajul programatorului, oferind aplicației un aspect consistent, simplu, plăcut ochiului. De asemenea se poate permite utilizatorului sa-și personalizeze aspectul aplicației pentru a asigura faptul ca i se potrivește intocmai propriilor nevoi și preferințe.

Afișarea de mesaje informative: Pentru utilizatori afișarea mesajelor informative, legate de statusul acțiunilor lor, este imperativ necesară astfel încât aceștia să fie mere bine informați asupra pașilor pe care i-au făcut sau urmează sa-i facă. Dacă o acțiune a utilizatorului eșuează, acesta trebuie informat pentru a nu trece la o altă pagină, urmarea fiind pierderea unor date importante. De asemenea, dacă o acțiune reușește, userul trebuie informat, pentru a nu încerca să repete operațiunea și să înregistreze duplicate în baza de date. Utilizatorii informați pot lua mai ușor decizii logice, care ajută la prevenirea apariției erorilor neprevăzute din cauză utilizării ilogice și neadecvate a aplicației.

Controale reutilizabile: Alocarea de timp la începutul proiectului pentru a identifica și construi componente care mai apoi să fie folosite pe tot parcursul procesului de dezvoltare poate să ducă la o economie semnificativă de timp. De asemenea mentenanța și eventualele modificări vor fi făcute mai ușor, deoarece modificările se vor face într-un singur loc.

Managementul utilizatorilor și securitatea: aplicațiile din sectorul de afaceri și organizațional adesea lucrează cu informații vitale pentru buna funcționalitate a organizației respective și protejarea informațiilor respective împotriva accesului neautorizat este imperativ necesară. Aplicațiile ar trebui să implementeze toate avantajele oferite de diverse mecanisme de securitate din Windows, IIS, ASP .NET pentru a se asigura faptul ca utilizatorii sunt autentificați și autorizați corespunzător, pentru a evita scurgerea informațiilor confidențiale datorită erorilor.

Modalități de căutare: Pe măsură ce cantitatea datelor dintr-o aplicație crește, de asemenea crește și nevoia de a căuta și a afișa efectiv o anumită informație. Aplicațiile cu unelte de căutare bine construite fac mai ușoară localizarea și afișarea unei anumie informații, crescând buna funcționare a aplicației ca întreg.

De asemenea, o altă concluzie rezultată din analiza diferitelor proiecte este aceea că rezultatele excepționale nu sunt urmarea unui efort haotic, ci a unei bune planificări, urmate de acțiuni concentrate pe îndeplinirea obiectivelor planificate. Este general cunoscut faptul ca planificarea unei activități înainte de a o începe, duce la îndeplinirea acesteia într-o manieră mult mai simplă, dar, din anumite motive, când programatorii sunt împovărați fie de restricții financiare, fie de termene de predare foarte scurte, deseori se trece peste faza de design, în speranța că în momentul în care se începe codarea designul se va face pe masură ce se scrie și cod. Această soluție nu este recomandată pentru că eforturile concetrate în faza de design ajută la crearea unei infrastructuri solide pe care să se construiască restul aplicației.

În momentul în care există o strategie de configurare, aplicația va inlude încă de la început toate configurările necesare. Dacă este definită o strategie de management al excepțiilor, aplicația va trata excepțiile corespunzător. Dacă aplicația are o interfață vizuală cu un bun design, va arată într-o manieră profesională. Dacă sunt prevăzute mesaje cu informații, sistemul de comunicare al aplicației va fi mai eficient. Cu alte cuvinte, o infrastructură bine construită conduce la construcția unei bune aplicații.

4.2 Strategii de securitate și configurare

Când un programator primește un proiect nou, apare tentația începerii imediate a scrierii codului, fără să se acorde o atenție deosebită modalității de soluționare a configurabilității. Programatorii care nu au adoptat o strategie de configurare sunt predispuși să folosească referințe codate către resurse de genul servere, baze de date, adrese IP, locații de fișiere, toate având tendința să fie schimbate în timp. Acest mod de codare face aplicația extrem de dificil și costisitor de menținut.

Pentru a nu avea un cost de mentenață covârșitor, practici adecvate de configurare sunt esențiale. Din păcate constrângeri financiare sau legate de termene limită adesea îi conving pe programatori să înceapă imediat operația de codare, fără să acorde ateție consecințelor pe termen lung. Dacă de la început este programat eficient timpul și bugetul, astefl încât problemele legate de configurare să fie soluționate, atunci timpul total necesar dezvoltării proiectului va fi redus.

În această secțiune se vor prezenta tehnici care să ajute la implementarea unei strategii de configurare de înaltă calitate:

Unelte de configurare din .NET 4.0: unelte disponibile pentru crearea și menținerea setărilor de configurare într-o aplicație web. Folosind aceste unelte se simplifică sarcina configurării unei aplicații și se evită editarea manuală a fișierului web.config.

Configurarea de bază: este subliniată modalitatea de a evita codarea referințelor setărilor aplicației și șirurilor de caractere de conectare folosind secțiunile <appSettings> și <connectionStrings> din Web.config și obiectele de administrare a configurării din .NET Framework.

Clase de configurare puternice: Ilustrează cum să se consolideze setările de configurare într-o singură clasă,astfel încât acele setări să fie ușor de administrat dintr-o singură locație.

Setări de configurare definite de utilizator: cum se construiesc componente configurabile de către utilizator prin implementarea secțiunii de configurare a componentelor.

Salvarea setărilor de configurare în baze de date: salvarea setărilor simple sau a obiectelor de configuare complexe în baze de date.

4.2.1 Securitatea unei aplicații

Securitatea datelor este foarte importantă, mai ales în mediul de afaceri. Un studiu arată că în momentul în care o companie suferă o pierdere a datelor confidențiale (planuri de afacere, informații legate de producție, liste de clienți), iar acestea ajung în mâinile competitorilor, numai 6% dintre aceste companii supraviețuiesc. 43% își inchid porțile imediat după incident și nu mai redeschid afacerea, iar 51% ajung la faliment în maxim 2 ani. Protejarea informațiilor într-o afacere de pierderi sau furt este o necesitate absolută, dacă se dorește ca afacerea să funcționeze.

În acest capitol se va discuta despre următoarele aspecte:

Concepte de bază despre securitate

Privire de ansamblu asupra arhitecturii securității în ASP .NET

Criptara informațiilor de configurare

Criptarea datelor aplicației.

Securitatea în ASP .NET începe încă de la nivelul sistemului de operare. IIS, ASP .NET, sistemul de fișiere, serviciile, bazele de date au diferite sisteme de securitate, dar majoritatea folosesc componente comune. În continuare ne propunem să definim anumiți termeni care apar atunci când se discută despre securitate și care pot fi destul de confunzi dacă nu se cunoaște adevărata lor semnificație:

Autentififcare vs. Autorizare

Este o diferență subtilă, dar notabilă între autentificare și autorizare. Autentificarea este cea care verifică de fapt dacă un utilizator este cine pretinde că este. Autorizarea verifcă dacă un utilizator are permisiunea să acceseze o anumită resursă sau să efectueze o anumită operație. Autentificarea apare înainte de autorizare și este responsabilă ca sistemul să știe cine face o anumită solicitare. Dacă un utilizator nu poate să fie autentificat, atunci utilizatorul este considerat anonim.

Autorizarea apare după autentificare pentru că sitemul trebuie să știe cine face o anumită solicitare, înainte să determine dacă solicitare poate să fie sau nu autorizată. Dacă autorizarea eșuează, utilizatorul nu are acces la resursa solicitată. În funcție de cum este construită aplicația web, acestuia i se poate afișa o pagină cu eroarea HTTP 403 (neautorizat) sau printr-o redirectare spre pagina de autentificare sau o pagină care să conțină mesajul acces refuzat.

Privire de ansamblu asupra arhitecturii securității în ASP .NET

Pentru determinarea unei strategii de securitate potrivite pentru o aplicația este necesar să fie cunoscute aspecte de bază despre cum lucrează și iși comunică informații de securitate de la una la alta diferite componente asociate cu ASP .NET. În această secțiune vom prezenta conexiunile legate de securitate dintre browser, IIS, ASP .NET și diferite resurse cum ar fii sisteme de fișiere, baze de date, servicii. De asemenea vom discuta despre diferite mecanisme interne de securitate din ASP .NET. În figura următoare este prezentată conexiunea dintre diferite sisteme:

Browserul începe tot procesul prin transmiterea unei solicitări către IIS, pentru o resursă administrată de ASP .NET. Inițial solicitarea conține doar URL-ul resursei solicitate și diverse antete HTTP. Nu este trimisă nici un fel de informație de identificare la început deorece browserele încearcă să se conecteze anonim la resurse, atunci când este posibil. Deoarece solicitarea este transmisă prin TCP/IP, IIS cunoaște anumite informații legate de rețea despre browser, cum ar fii adresa IP.

Autorizarea IIS bazată pe adresa IP sau domeniu

IIS are capacitatea de a permite sau de a refuza solicitări bazate pe adresa IP sau domeniul de unde este inițiată solicitarea. Browserul trimite o solicitare folosind protocolul TCP/IP, așadar IIS are acces automat la adresa IP și domeniul fiecărei solicitări. IIS generează eroarea 403 – acces refuzat ori de câte ori primește o solicitare de la un domeniu sau o adresă IP restricționată, nepermițând accesul utilizatorilor la informațiile de pe server.

Restricțiile bazate pe adrese IP și nume de domenii se pot folosi în câteva modalități. Să presupunem că este vorba de o aplicație internă pentru un anumit departament sau grup de lucru. Se pot folosi adresele IP pentru a restricționa tutor accesul la aplicația respectivă, cu excepția unui subset de adrese IP aparținând celor care au nevoie de aplicația respectivă.

Restricțiile pe baza adreselor IP nu permit accesarea unor informații sau aplicații decât de pe calculatoarele cu adresele IP care au acces, chiar daca se folosește un cont valid. Pentru a putea accesa o informație autentificarea trebuie făcută de pe un calculatoar cu o adresă IP ce nu este restricționată.

Autentificarea IIS

ASP .NET poate solicita autentificarea unui utilizator înainte ca acesta să acceseze o anumită resursă. Dacă aplicația ASP .NET este configurtă să folosească autentificarea formelor, atunci utilizatorul este redirectat către o pagină de autentificare, unde iși poate introduce credențialele. ASP .NET desconsideră în întregime informația de autentificare IIS. Dacă, spre exemplu, aplicația ASP .NET este configurată să folosească autentificarea Windows, atunci ASP .NET folosește informația de autentificare IIS pentru a determina informațiile legate de utilizator. IIS suportă mai multe tipuri de autentificare: Anonim, Basic, Digest, NTLM, Kerberos.

Setările de autentificare ale IIS sunt independente de configurația ASP .NET. Configurând ASP .NET să folosească autentificare Windows, nu înseamnă că IIS va folosi automat autentificarea Windows și nici dacă ASP .NET folosește autentificarea formelor, nu înseamnă că IIS folosește automat autentificarea anonimă. Aplicația ASP .NET trebuie configurată, modificând fișierul Web.config și, de asemenea, IIS trebuie configurat pentru a folosi tipurile de autentificare potrivite.

Microsoft s-a îndreptat în direcția corectă cu uneletele de configurare lansate pentru ASP .NET 4.0. Cea mai notabilă realizare este o unealtă de administrare bazată pe o aplicație web – Web Site Administration Tool – care ajută la setarea de variabile de securitate și de aplicație și chiar ajută la administrarea utilizatorilor și rolurilor folosind baze de date. De fapt se pot crea tabelele necesare găzduirii acestor date. A doua unealtă este o pagină ce conține proprietăți, disponibilă în IIS, care ajută la efectuarea setărilor comune în fișierele Web.config și Machine.config.

4.2.2 Web Site Administration Tool

Web Site Administration Tool oferă un număr de opțiuni de mentenanță a site-ului, care vor fii accesate pe parcursul ciclului de viață al aplicației. Oferă câteva opțiuni de configurare, deși nu sunt la fel de detaliate ca și ASP .NET IIS Property Page, facilități pe care le vom discuta ulterior. Web Administration Tool se poate deschide din Visual Studio IDE (Integrated Development Enviroment) selectând din meniu Website -> ASP .NET Configuration. În momentul în care se selectează opțiunea din meniu browserul default deschide o fereastră similară cu cea afișată în figura de mai jos. Link-urile și descrierile din mijlocul paginii corespund cu tab-urile navigare din partea de sus a paginii:

Tab-ul Provider (Furnizor)

În momentul în care se dorește configurarea furnizorilor pentru aplicație există două opțiuni. Prima ar fii memorarea sintaxei XML, ansamblurilor, tipurilor și proprietăților asociate cu un furnizor și apoi introducerea manuală a întregii informații în fișierul Web.config. A doua variantă este deschiderea tab-ului Provider care conduce prin instalarea furnizorilor folosind un format pas cu pas, această variantă fiind cu mult mai productivă decât prima.

Un număr de diferite facilități din ASP .NET se bazează pe furnizori:

Membership (calitatea de membru): furnizorul pentru calitatea de membru transmite ASP .NET cum să administreze numele de utilizatori, adresele de email, informații pentru autentificare și posibiliatea de recuperare a parolelor. Controlul pentru Login (autentificare) este unul din multele controale care folosesc facilitățile de membrii pentru a accesa informațiile legate de utilizator și autentificare.

Roles (roluri): furnizorul de roluriajută la menținerea unei liste de roluri pentru aplicația web și o listă cu utilizatorii și rolurile alocate pentru fiecare utilizator.

Profiles (profile): furnizorul de profile transmite ASP .NET cum să stochezeși să extragă informații despre utilizatorii care accesează aplicația web. Obiectul Profile folosește extensiv furnizorul de profile.

Personalization (personalizarea): setările pentru personalizarea Web Part pentru fiecare pagină se salvează de asemenea folosind un furnizor.

Pagina inițială a tabului Provider permite selectarea unui singur furnizor pentru facilitățile ASP .NET care se bazează pe furnizori sau se poate opta pentru selectarea diferiților furnizori pentru facilități individuale. De fapt, ASP .NET este compatibil cu un singur furnizor pentru SQL Server, deci există o limitare la furnizorul SQL Server până când vânzători separați vor pune pe piață produse proprii. De asemenea un programator își poate construi propria implementare a unui furnizor, dar nu acesta este scopul.

Setarea furnizorilor ar trebui făcută înainte de adăugarea de utilizatori și roluri pentru aplicația web, deoarece schimbarea furnizorilor duce la pierderea utilizatorilor, rolurilor și informațiilor despre profile deja înregistrate.

De ce sunt necesari furnizorii?

Cerințele site-urilor web de stocare a datelor sunt foarte variate. Unele aplicații folosesc SQL Server sau Access, în timp ce altele folosesc Oracle, MySQL sau chiar XML. Deorece informașiile legate de utilizator, roluri și profile sunt stocate într-o bază de date, este normal să se folosească baza de date pe care aplicația web o folosește deja pentru a stoca aceste informații. ASP .NET 4.0 are un număr de noi componente care sunt dependente de utilizatori, roluri și profile, deci provocarea este cum să se proiecteze aceste componente astfel încât să fie compatibile cu orice baza de date viitoare sau deja existentă.

Microsoft propune ca soluție la problema bazei de date modelul furnizor. În modelul furnizor se definește funcționalitatea unei componente într-o intefață și apoi se construiesc implementări specifice bazei de date pentru a permite accesul la date. În figura următoare este reprezentat acest concept:

Se observă că în modelul furnizor funcționalitatea este definită într-o interfață și apoi implementată de clasa specifică Provider.

În aplicația AipS nu se folosește decât AspNetSqlProvider, furnizorul standard creat la crearea aplicației în VS.

Tab-ul Security (Securitate)

Majoritatea funcționalității din Web Site Administration Tool se află în tab-ul de securitate. Acest tab permite administrarea de utilizatori, roluri și reguli de acces. Se pot seta toate aceste opțiuni individual sau se poate parcurge varianta pas cu pas de setare. În contiunare va fii descrisă fiecare subsecțiune din tab-ul de securitate:

Utilizatori: în această secțiune se poate seta tipul de autentificare a utlizatorilor aplicației. Dacă este activată autentificare a formelor, atunci se pot căuta, adăuga, edita și șterge utilizatori. De asemenea se poate selecta rolul pe care îl are un anumit utilizator. Dacă este activată autentificarea Windows, atunci administrarea utilizatorilor revine în întregime sistemului de operare, fără a avea posibiliatea de a face modificări din Web Site Administration Tool.

AIpS folosește autentificarea formelor, deoarece vor exista mai mulți utilizatori care vor accesa aplicația și care nu au un calculator propriu. Aplicația va fi accesată din diferitele sălile de clasă în care se desfășoară activități didactice, atât de prfesori, cât și de elevi. În această situație se pot crea utilizatori care să aibe diferite roluri.

Roluri: rolurile se pot activa și dezactiva, în funcție de tipul de autentificare folosită, dar în principal sunt folosite pentru autentificarea formelor. Din momentul în care rolurile au fost activate, se pot adăuga și șterge roluri și se pot administra, atribuind sau ștergând unui utilizator un rol.

În aplicația de față există deocamdată 3 roluri: administratori, profesori și elevi. Pe viitor pot fii create noi roluri pentru aplicație: personal administrativ, inspectori școlari, părinți.

Reguli de acces: de asemenea știute ca și setări de autorizare, sunt folosite pentru a instala o autorizare pentru un director, bazată pe numele utilizatorului sau pe rolul acestuia. Acestea sunt mult simplificate dacă se folosește constructorul pentru reguli de acces, care este o unealtă bazată pe web, care oferă posibilitatea de a adăuga automat noi intrări <authorization> în fișierul Web.config, folosind mouse-ul. Fișierul se poate edita și manual, având forma prezentată mai jos.

Aplicația are create reguli de acces pentru fiecare director. S-a creat câte un fișier web.config pentru directoarele în care a fost necesară crearea de reguli, exemplul pentru directorul Admin fiind următorul:

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v4.0">

<system.web>

<authorization>

<allow roles="Administratori" />

<deny users="*" />

</authorization>

</system.web>

</configuration>

Folosind constructorul de reguli de acces, se poate selecta un director din arborele de directoare ale aplicației și seta restricția de acces potrivită, folosind o interfață grafică. Pe măsură ce noi reguli sunt create, apar automat intrări <authorization> în fișierul Web.config aflat în directorul selectat din arborele de directoare.

De asemenea există posibilitatea de a face aceste setări de securitate urmând modul pas cu pas prin cele trei secțiuni prezentate mai sus, sărind peste pașii indisponibili în funcție de setările făcute anterior.

Tab-ul Application (Aplicație)

Cea mai notabilă facilitate a tab-ului de aplicație este secțiunea setărilor de aplicație. Această opțiune permite adăugarea, editarea și ștergerea de valori din secțiunea <appSettings> din fișierul Web.cofig. De asemenea se pot face setări de SMTP, seta opțiuni de testare și stocare a mesajelor, precum și definirea unei pagini de eroare standard pentru aplicație.

4.2.3 ASP .NET Poperty Page din IIS

O imagine a acestei pagini este prezentată în figura următoare:

Microsoft a anunțat încă de la început că execuția unei aplicații va fii posibilă, idiferent câte versiuni de .NET Framework sunt instalate pe o anumită mașină, aplicația putând folosi versiunea de Framework de care are nevoie. Înainte, configurarea aplicației să folosească diferite versiuni de Framework nu era intuitivă, fiind nevoie să se folosească utilitarul de linie de comandă aspnet_regiis.exe. Aceasta a fost simplificată o dată cu lansarea .NET Framework 4.0. Directoarele pot acum fii configurate folosind ASP .NET Property Page. Pagina de asemenea oferă posibilitatea configurării unor opțiuni legate de aplicație.

Pagina conține o listă cu toate versiunile de .NET Framework instalate pe calculator. Configurarea unui director se face simplu, selectând versiunea dorită din lista afișată. Vizualizând proprietățile unui director virtual configurat să folosească Framework 4.0, este pus la dispoziție un buton de editarea a configurărilor. Acest buton lanseză utilitarul ASP .NET Configuration Settings pentru fișierul Web.config aflat în directorul rădăcină al aplicației web. Acest utilitar are de departe mai multe opțiuni de configurare față de Web Site Administration Tool, dar nu permite administrarea de utilizatori și roluri, crearea de reguli de acces la fel de intuitiv. Este construit mai ales pentru configurări decât pentru mentenanță, ca urmare se folosește Web Tool pentru mentenanța site-ului și Configuration Settings pentru setări mai avansate. În continuare se va face o scurtă prezentare a setărilor de configurare ce pot fii schimbate din taburile utilitarului:

General: permite definirea de setări pentru aplicație și stringuri de conexiune.

Custom Errors: permite definirea de pagini custom pentru coduri status HTTP specifice, sau se poate defini o singura pagina pentru toate codurile status.

Authorization: se pot defini reguli de acces.

Authentication: alegerea tipului de autentificare: autentificare Windows, autentificare a formelor, autentificare pe bază de parolă sau nici o autentificare. Dacă se alege autentificarea formelor, se pot de asemenea specifica parametrii cum a ar fii login URL, numele de cookie, durata unui cookie.

Application: permite personificarea unui utilizator, dacă aplicația necesită acest lucru și de asemenea setarea unor opțiuni pentru pagini și alte setări legate de aplicație.

State Management: permite specificarea modalității de stocare a informațiilor stării sesiunii și dacă se folosesc sau nu cookies, precum și mecanisme de direcționare a utlizatorilor spre obiectul sesiune corespunzător. Dacă se optează pentru StateServer sau SQLServer, este disponibilă o zonă pentru introducerea informațiilor legate stringurile de conexiune.

Advanced: se pot accesa șapte noi tab-uri. Se va selecta care set de configurări avansate se va dori să se vizualizeze.

De asemenea exista un buton care permite configurarea fișierului Machine.config, folosind ASP .NET Configuration Utility.

4.3 Pagini Master

Aspectul contează. Chiar dacă acest lucru place sau nu programatorilor, oamenii hotărăsc cât de mult le place o aplicație și cât de bine cred ei că funcționează, bazându-se pe aspectul vizual. Aplicațiile web care etalează un aspect consistent denotă profesionalismul acesteia și insuflă încredere utilizatorilor că aplicația este bine construită și se pot baza pe ea. Oamenii ajung ușor la concluzia că atenția ce trebuie acordată aspectului vizual este egală cu cea acordată funcționalităților aplicației. Trebuie ținut cont de faptul că oamenii se simt mult mai confortabil când lucrează într-un mediu familiar. Creând locații clare pe pagină pentru anumite elemente ale paginii, utilizatorii vor știi să folosescă aplicația cu ușurință, chiar și atunci când vor naviga pe pagini cu care nu sunt familiarizați, având confortul că vor știi mereu cum să-și găsească informația pe pagină.

Pe lângă suportul oferit pentru CSS (Cascading Style Sheet), moștenit de la HTML, ASP .NET 1.x nu are nici o facilitate care să ajute la menținerea unui aspect consistent al aplicației. ASP .NET 4.0 remediază acest neajuns prin introducerea paginilor Master, a temelor și control skin-urilor. Paginile Master, o facilitate necesară și anticipată, permite definirea și menținerea aspectului paginilor dintr-un singur fișier. Temele permit aplicarea asupra aplicației a diferite CSS și control skin-uri. Control skins permit aplicarea de proprietăți specificelor controale de pe pagină, pe parcursul întregii aplicații. În acest subcapitol va demonstra cum se pot folosi paginile master pentru crearea de șabloane pentru pagini.

Figura următoare explică procedeul prin care se crează o pagină, folosind pagini master:

Paginile master sunt de departe cea mai populară facilitate a ASP .NET 4.0.

Aplicația AIpS justifică nevoia unei pagini master, pentru ca modificările ce trebuie făcute pentru păstrarea consistenței aspectului aplicației să fie făcute într-un singur loc. Paginile master permit controlarea aspectului și comportamentului mai multor pagini din aplicație dintr-o singură locație. Pe o pagină master se definește aspectul de bază, folosind controale HTML și ASP și se scrie codul care să descrie comportamentul.

Construirea unei pagini master, este, în mare parte, la fel ca și construirea oricărei pagini ASP. Diferența notabilă este faptul că pe o pagină master se pot adăuga controale ContentPlaceHolder, care definește o regiune în care se va afișa conținutul pentru pagina master. Aceasta este singura locație unde conținutul diferă de la pagină la pagină, iar în aceste controale sunt puse de fapt alte pagini ASP.

4.3.1 Crearea unei pagini master

Adăugarea unei pagini master la aplicație se face prin click dreapta pe proiectul web in Solution Explorer, se selectează Add New Item. Se afișează o fereastră de dialog pentru adăugare de noi fișiere la soluție, care permite alegerea tipului de fișier ce se dorește adăgat. Următoarea figură reprezintă fereastra care apare:

Se selectează Master Page și se introduce numele paginii. Codul care dă comportamentul paginii poate să fie scris în același fișier sau se poate selecta opțiunea Place code in separate file, iar codul va putea fii scris într-un fișier separat. După ce s-au făcut toate aceste precizări se apasă butonul Add și fișierul corespunzător va fii adăugat soluției.

După ce Visual Studio a adăugat pagina master la soluție, aceasta poate fii prelucrată ca și cum ar fii o pagina master normală. Se poate adăga HTML, stiluri, JavaScript și controale web pe pagină și chiar scrierea de cod care să reacționeze la apariția unor evenimente. Dintre controalele specifice pentru conținutul paginii se va alege și ContentPlaceHolder, astefel încât să se insereze pagini cu conținut pe pagina master la locația specificată.

Pagina master a aplicației AIpS are o astfel de pagină astefl încât fiecare pagină să aibe același aspect, același antet, dar conținutul pentru fiecare pagină trebuie să fie diferit, în funcție de opținunile alese din meniul din dreapta. Pagina master arată în felul următor:

Codul sursă (HTML) ce rezultă în urma crearii paginii va fii prezentat în continuare, iar secțiunile ce țin de faptul ca pagina este o pagină master sunt prezentate îngroșat:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>AIpS v1.0</title>

<link href="StyleSheet.css" rel="stylesheet" type="text/css" />

</head>

<td valign="top" style="clip: rect(auto auto auto auto);">

<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">

</asp:ContentPlaceHolder>

</td>

La începutul paginii master se observă că apare directiva <%@ Master %>, care transmite ASP .NET cum să ruleze pagina. Visula Studio generează automat această secțiune. În interiorul codului se observă plasat controlul ContentPlaceHolder, în secțiunea corpului principal, numit ContentPlaceHolder1, care permite crearea conținutului paginii.

La crearea paginii master s-a ales din meniul VS opțiunea Layout -> Insert table. Efectuând această selecție se deschide o fereastră de dialog din care s-a ales opțiunea Template. Alegând această opțiune apar mai multe posibilități de selecție, dintre care s-a ales opțiunea Header, footer, and side. Datorită acestei alegeri, pagina poate să fie organizată frumos, având antet, conținut și subsol.

Antetul conține numele aplicației și numele utilizatorului care este autentificat, în cazul în care există, într-un control de tip LoginName.

Conținutul este împărțit în două secțiuni:

În partea din stânga a fost plasat un control de tip LoginView, care afișează mesajul „Bine ati venit” + numele utilizatorului autentificat, în cazul în care acesta există, iar mesajul pentru situația în care nu este nici un utilizator autentificat este „Nu sunteti autentificat”. De asemenea această secțiune cuprinde un meniu care permite navigarea facilă prin aplicație. Meniu este un control de tip TreeView, care are ca sursă un fișier de tip Web.sitemap. În continuare este prezentat conținutul acestui fișier:

<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNode url="Default.aspx" title="Home" description="" >

<siteMapNode url="Admin/CreareContProfesor.aspx" title="Creaza cont profesor" description="" />

<siteMapNode url="Admin/CreareContElev.aspx" title="Creaza cont elev" description="" />

<siteMapNode url="Admin/ManageAccounts.aspx" title="Administrare conturi" description="" />

<siteMapNode url="Admin/ChangePassword.aspx" title="Schimba parola" description="" />

<siteMapNode url="Admin/AdaugareClasa.aspx" title="Administrare clase" description="" />

<siteMapNode url="Profesori/ChangePassword.aspx" title="Schimba parola" description="" />

<siteMapNode url="Profesori/Materiale.aspx" title="Modifica materiale" description="" />

<siteMapNode url="Profesori/Catalog.aspx" title="Catalog" description="" />

<siteMapNode url="Materiale.aspx" title="Materiale" description="" />

<siteMapNode url="Cautare.aspx" title="Cautare" description="" />

<siteMapNode url="Orar.aspx" title="Orar" description="" />

<siteMapNode url="Admin/AdaugaStire.aspx" title="Adauga stire" description="" />

<siteMapNode url="Profesori/AdaugaStire.aspx" title="Adauga stire" description="" />

</siteMapNode>

</siteMap>

Se observă că fișierul valorile variabilelor url sunt stringuri care au la început rolul utilizatorului care poate accesa pagina respectivă. În cazul în care nu este precizat acest rol, pagina poate fii vizualizată și de către utilizatori neautentificați.

În partea dreaptă a fost plasat controlul ContentPlaceHolder, care afișează paginile conținut.

Subsolul paginii conține textul: Copyright © 2015 AIpS.

4.3.2 Crearea paginilor conținut

În continuare se va prezenta modalitatea de creare a unei pagini conținut.

Orice pagină care folosesște o pagină master este cunoscută sub denumirea de pagină conținut. Pentru adăugarea la aplicație a unei pagini conținut se procedează la fel ca și la adaugarea unei pagini master. În momentul în care este afișată fereastra de dialog prezentată în paragraful anterior, se selectează tipul fișierului ce se dorește adăugat, și anume Web Form. Se urmează în continuare următorii pași:

Se specifică numele fișerului.

Se selectează opțiunea Place code in a separate file option dacă se dorește scrirea codului într-un fișier separate.

Se selectează neapărat opțiunea Select Master Page. Această opțiune specifică faptul că pagina este o pagină conținut și este nevoie să folosească pagina master.

În final se apasă butonul Add.

După ce se apasă butonul Add Visula Studio afișează fereastra de dialog Select a Master Page. Fereastra de dialog ce este afișată este prezentată în figura următoare:

Această fereastră afișează structura de directoare a aplicației și oferă posibilitatea de a allege care pagină master se dorește a fii folosită pentru noua pagină creată. Structura de directoare se află în partea stângă, iar paginile master se află în partea dreaptă. După ce se alege pagina master dorită se apasă OK.

După alegerea paginii, Visula Studio crează o nouă pagină conținut cu directiva <@% Page %> corespunzătoare, care definește pagina master pe care urmează să o folosească pagina conținut. De asemenea se crează automat controale Content care corespund cu contraolele ContentPlaceHolders din pagina master. Controalele Content au o proprietate numită ContentPlaceHolderID, care identifică controlul ContentPlaceHolder de pe pagina master și locația unde trebuie inserat conținutul:

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="AIpS" %>

<asp:Content ID="Content1" runat="server" ContentPlaceHolderID = "ContentPlaceHolder1">

<table style="width: 100%; height: 183px">

<tr>

</tr>

</table>

</asp:Content>

Se observă că pagina nu conține nici unul din etichetele standard <HTML> sau <BODY> care se află în mod normal într-o pagină. În locul lor se află un control Content. Nu se pot specifica nici un fel de controale HTML sau web pe o pagină conținut în afara controlului Content. Se observă de asemnea că valorile ContentPlaceHolderID din controlul Content corespund cu valorile ID-urilor controalelor ContentPlaceHolder din pagina master. Dacă valorile sunt modificate accidental și nu corespund, proiectul se va putea compila în continuare, dar în momemtul rulării, când se accesează o pagină, va fi afișată o excepție.

Toate paginile conținut trebuie să aibe specificată pagina master pe care o folosește, prin directiva <%@ Page %>. Dacă nu se specifică, ASP .NET va afișa eroare în momentul în care se accesează pagini și controale care nu pot fii accesate decât împreuna cu pagina master. Există însă o excepție de la această regulă, și anume definirea unei pagini master default. Acest lucru se poate face editând fișierul Web.config, adăugând un elememn de tip <pages>, așa cum este prezentat în continuare:

<configuration>

<system.web>

<pages theme=”Default”

masterPageFile=”~/AIpS/MasterPage.master” />

</ system.web >

</ configuration >

Când se specifică o pagină master în fișierul Web.config, toate paginile conținut care nu au o pagină master definită în directiva <%@ Page %>, folosesc pagina master din Web.config. Se poate folosi această facilitate pentru a selecta ce pagină master folosește aplicația dintr-o singură locație.

AIpS are mai multe pagini conținut, grupate în funcție de rolurile pe care le au utilizatorii în anumite directoare, astfel:

Paginile ce pot fii acesate doar de administratori se află în directorul numit Admin și sunt organizate ca în figura următoare:

Se observă că directorul conține mai multe pagini. Toate acestea sunt pagini conținut. Denumirile paginilor sunt sugestive, astfel încât se poate intui care sunt opțiunile pe care le poate accesa un administrator, astfel:

Adăugare clasă: pagina poate fii acesată prin selectarea opțiunii Administrare clase din pagina master. Administratorului i se va afișa pagina reprezentată în figura următoare:

Din această pagină se pot adăuga și șterge clase. În lista clase existente sunt afișate toate clasele ce există la un moment dat. Pentru fiecare clasă de asemenea este afișată o listă a materiilor existente, și de asemenea se pot adăuga noi materii pentru clasa respectivă. La adăugarea unei materii se solicită selectarea clasei, a profesorului titular, numele materiei, precum și faptul că materia are sau nu are teză.

După modelul acestei pagini au fost create și celelalte funționalități pe care un administrator le are puse la dispoziție:

Adăgare știre: se solicită subiectul, titlul știrii și conținutul. După ce aceste câmpuri au fost completate se apasă butonul de adăgare și știrea este publicată pe pagina principală.

Schimbare parolă: administratorii iși pot schimba doar propriile parole.

Creare cont elev/profesor: sunt solicitate informații despre elevul/profesorul al cărui cont se dorește a fii creat.

Administrare materiale: se alege din meniu opțiunea Materiale. Administratorii pot adăuga și șterge materialele didactice. Pentru a naviga prin materialele didactice s-a folosit un control numit FileManager.

Administrare conturi: se pot edita informațiile deja existente pentru un anumit cont.

În fișierul web.config din acest director se precizează ca aceste pagini nu pot fii vizualizate decât dacă este autentificat un utilizator cu rolul administratori.

Paginile ce pot fii vizualizate doar de către profesori se află în directorul corespunzător și sunt organizate în felul următor:

Se observă că și profesorii au anumite facilități comune cu administratorii, și anume adăgare știre, schimbare parolă și administrare materiale.

Funcționalitatea specifică contului de profesor este administrarea catalogului. În momentul în care se alege opțiunea catalog apare pagina din figura următoare:

Este necesar ca profesorul să selecteze clasa, elevul și materia pentru care dorește să vizualizeze pagina de catalog. Se folosește controlul CatalogControl pentru a se afișa informațiile din catalog, și anume numele elevului, materia, o listă cu note și o listă cu absențe. Tot folosind acest control este implementată și funcționalitatea, și anume posibilitatea de a pune note, de a pune absențe și de a înregistra nota la teză în cazul în care este vorba de o materie la care este prevazută și susțnerea tezei.

Celelalte pagini conținut, care nu sunt incluse în aceste directoare, ci se află în rădăcină, pot fii vizualizate și de către utilizatorii neautentificați. Aceste funcționalități sunt: navigarea prin materiale, căutarea unui elev sau a unui profesor și vizualizarea orarului.

La alegerea unui document din directoarele cu materiale, documentul se descarcă de pe server pe calculatorul care a făcut solicitarea și după aceea se deschide și se poate vizualiza.

4.4 Administrarea știrilor și articolelor

În acest capitol se vor prezentă modalitățile de dezvoltare a unui modul de administrare de articole și știri online. În ultimii câțiva ani s-a observat o explozie a folosirii formatului RSS (Really Simple Syndication), un format XML simplu, pentru stocarea conținutului, care este pus la dispoziția altor clienți. Idea de bază a RSS este ca site-urile să pună la dispoziție o indexare a știrilor, în formatul unui document XML. Un program client poate să preia acel document XML și să pună la dispoziția utilizatorilor o listă a știrilor și a legăturile care idică spre articolele de interes pentru utilizator.Un document XML de indexare a știrilor de pe un site se numește newsfeed. Un asemenea program de preluare a știrilor se numește news agregator sau feed reeder, deoarece poate să extragă newsfeeds de pe mai multe site-uri și să le prezinte într-o singură listă, cu posibilitatea de a le ordona pe categorii. Deoarece RSS este un standard deschis, există multe aplicații web sau desktop care se pot conecta la orice site pentru a prelua astfel de știri. RSS este foarte agreat de utilizatorii care doresc să fie tot timpul la curent cu ultimele noutăți, iar site-urile de știri își atrag vizitatorii prin menținerea informației întotdeauna actualizată.

Lucrurile care trebuie luate în considerare pentru a construi o asemenea unealtă de administrare a știrilor și articolelor ar fii următoarele:

Crearea unei liste complete a facilităților ce se doresc implementate.

Crearea unei baze de date cu tabelele necesare pentru acest modul.

Crearea unei liste cu proceduri necesarepentru accesul la baza de date și descrierea acestora.

Descrierea administrării interfeței cu utilizatorul, cum ar fii paginile site-ului și controalele ce pot fii reutilizate.

Crearea unei strategii de securitate în secțiunea de administrare și de pagini care sunt restricționate accesului în lipsa unei autentificări.

După crearea strategiei de implementare a modulului, facilitățile ce pot fii puse la dispoziție pentru ca un astfel de modul să fie un succes, ar putea fii următoarele:

Un articol poate fii adăgat în baza de date în orice moment, cu posibiliatea de a întârzia publicarea până la o dată specificată. În plus, persoana care scrie articolul trebuie să aibe posibilitatea de a preciza o dată de expirare, după care articolul va fii retras automat. Dacă în baza de date nu există înregistrate aceste date, atunci înseamnă că articolul trebuie publicat imediat și să ramână activ pe o perioadă nedeterminată.

Articolele pot avea opțiunea de a fii aproate. Dacă administratorul sau editorul publică un articol, acestea pot fii aprobate automat. Dacă se permite și altor utilizatori să publice articlole, cum ar fii angajați sau utilizatori ai site-ului, conținutul acestor știri ar trebui adugat în baza de date cu opțiunea de „în așteptare”. Administratorii sau editori vor putea controla conținutul articolelor, aplica orice modificări necesare, și, in final, aprobarea articolului pentru publicare în momentul în care are forma și conținutul adecvat.

Sistemul de asemenea trebuie să țină evidența persoanelor care publică un articol. Acest lucru este important pentru a știi dacă un colaborator (o altă persoană care publică articolul în afară de administratori sau editori) este activ, pentru a știi, de asemena, cine este răspunzător pentru un conținut eronat sau cine poate să fie contactat în cazul în care un articol care așteaptă să fie publicat este foarte interesant și sunt necesare detalii suplimentare pentru crearea unui material mai amplu.

Administratorii sau editorii pot avea opțiunea de a decide dacă un articol poate să fie citit de orice vizitator sau numai de către utilizatorii care sunt înregistrați și autentificați.

Pot exista mai multe categorii, dând impresia că articolele sunt organizate în directoare specifice, însă aceste directoare sunt doar virtuale. Fiecare categorie poate să aibe o descriere și o imagine care să fie reprezentativă pentru subiectule prezentate în acea categorie.

Se poate crea o pagină cu integrarea categoriilor disponibile într-un meniu. Fiecare categorie poate să aibe o legătură către o pagină care să conțină titlurile articolelor incluse în acea categorie și o scurtă descriere a articolului, de unde se poate accesa pagina care are întreg conținutul materialului.

Utilizatorii înregistrați pot avea avantajul de a le fii oferite informații despre evenimente care urmează să se întâmple în zona din care este un anumit utilizator, având în vedere că în momentul în care se solicită înregistrarea unui utilizator, în majoritatea se solicită și informații cu privire la adresa de reședință a acestuia. Aceste facilități pot încuraja utilizatorii să ofere informații corecte cu privire la reședința acestora. Aceste informații pot fii folosite ulterior pentru a crea anumite statistici sau pentru dezvoltarea de noi strategii de marketing.

Utilizatorii pot lăsa comentarii sau pune întrebări despre articol, aceste materiale putând fii afișate la sfârșitul articolului, astfel încât toți ceilalți utilizatori să le poată citi și crea discuții pe anumite teme. Acestă facilitate este un real ajutor pentru creșterea traficului site-ului respectiv. Aceată tehnică este asemănătoare cu cea folosite pe bloguri. O altă modalitate de a permite utilizatorilor să-și exprime părerea despre un anumit articol este aceea de a da o anmită notă articolului, în funcție de aprecierea personală a fiecărui cititor.

Modulul poate număra de câte ori este citit un anumit articol. Această informație de asemenea poate să fie afișată utilizatorului, pe lângă titlu, numele autorului, data publicării sau orice altă informație este considerată a fii necesară. Dar marele avantaj al acestei facilități îl au administratorii și editorii pentru a afla care materiale sunt interesante pentru cititori, permițând administratorilor să investească energie, bani și timp pentru a adăuga noi materiale legate de acele subiecte.

Conținutul trebuie să fie disponibil ca și feed RSS astfel încât utilizatorii să poată folosi un feed agregator pentru a prelua conținutul.

Ar fii indicat ca partea care se ocupă cu administrarea și vizualizarea articolelor să fie integrată în site.

Având o asemenea listă cu funcționalități este foarte ușor de proiectat baza de date ce urmează a fii folosită pentru că deja se știe ce informații sunt necesare pentru a implementa funcționalitățile specificate.

Aplicația are un modul simplu de administrare a articolelor: Fiecare articol are un subiect, un titlu și un conținut. Articolele se afișează grupat, în funcție de subiectul fiecăruia. La fiecare articol de asemenea se afișează data când a fost publicat și utilizatorul care a făcut publicarea.

4.5 Baza de date

După cum spuneam anterior în lucrare, ASP .NET 4.0 oferă posibilitatea de a se defini roluri și utilizatori. Aceste informații sunt stocate implicit de către ASP .NET într-o bază de date SQL Server 2005.

Pe lângă aceste date în aplicație se mai folosește o bază de date Access, pentru a stoca informațiile suplimentare necesare. Structura tabelelor acestei baze de date este prezentată în figura următoare:

Această bază de date poate se accesează folosind următoarea clasă:

using System;

using System.Data;

using System.Data.OleDb;

public class DataAccess

{

private static OleDbConnection conn;

private static string CONNECTION_STRING = null;

//in constructor se defineste calea catre baza de date prin

stringul de conexiune

//care este definit in web.config

static DataAccess()

{

System.Configuration.AppSettingsReader apsr = new System.Configuration.AppSettingsReader();

CONNECTION_STRING = (string)apsr.GetValue("Database", typeof(string));

conn = new OleDbConnection(CONNECTION_STRING);

}

//metoda ce returneaza un obiect data set, primind comanda sub forma

de string

public static DataSet GetData(string commandString)

{

DataSet ds = new DataSet();

conn.Open();

try

{

// foloseste OleDbAdapter si OleDbCommand pentru a returna

un DataSet

OleDbDataAdapter daGet = new OleDbDataAdapter(commandString, conn);

daGet.Fill(ds);

}

finally

{

conn.Close();

}

return ds;

}

//pe baza unei comenzi string primite, se face o modoficare in

tabela

public static bool ModifyData(string commandString)

{

OleDbCommand com = new OleDbCommand(commandString, conn);

conn.Open();

try

{

// foloseste un OleDbCommand (ExecuteNonQuery) pentru a

executa comanda

com.ExecuteNonQuery();

}

catch (OleDbException e)

{

string s = e.ToString();

return false;

}

finally

{

conn.Close();

}

return true;

}

}

În continuare vom exemplifica apelarea funcțiilor din clasa DataAccess cu diferite stringuri de comandă:

Adaugare profesor:

public bool AddProf(string userName, string nume, string prenume, string adresa, string email)

{

String s = "INSERT INTO Profesori (UserName, Nume, Prenume, Adresa, Email) VALUES ('" + userName + "', '" + nume + "', '" + prenume + "', '" + adresa + "', '" + email + "')";

return DataAccess.ModifyData(s);

}

Adaugare elev:

public bool AddElev(string clasa, string nr, string volum, string nume, string prenume, string adresa, string userName)

{

// adauga elevul in tabela

String s = "INSERT INTO Elevi (ClasaID, Nr, Vol, Nume, Prenume, Adresa, UserName) VALUES (" + clasa + ", " + nr + ", '" + volum + "', '" + nume + "', '" + prenume + "', '" + adresa + "', '" + userName + "')";

return DataAccess.ModifyData(s);

}

O altă modalitate de accesare a tabelelor din această bază de date este folosind obiecte de felul List, DropDownList etc., la care se poate configura la fiecare o sursă a datelor prin opțiunea Choose a Data Source. În cazul nostru se va alege tipul bazei de date, care este Access, se va stabili locația acesteia și se va construi interogarea acesteia.

În figura anterioară este selectat o înregistrare din tabela profesori, după numele utilizatorului care este salvat anterior într-un Label.

În baza de date Access prezentată apar și informații care momentan nu sunt folosite, dar sunt necesare pentru o dezvoltare ulterioară a aplicației.

Capitolul V

Concluzii

Această aplicație este necesară în toate școlile de astăzi, pentru a ușura munca profesorilor atât pe partea didactică, cât și pe partea administrativă, pentru a ușura, diversifica și îmbunătăți procesul de învățare și, de ce nu, pentru a putea exista o legătură între toate datele sistemului de învățământ, pornind de la ministerul învățământului, inspectoratele școlare, unități de învățământ, profesori, elevi și inclusiv părinți. Pentru a putea fi posibil acest lucru bineînțeles ca este necesar ca toate unitățile să fie dotate cu echipamente IT și acces la internet. În momentul de față acest lucru nu se întămplă în toate unitățile de învățământ, dar au existat și în continuare există proiecte care să faciliciteze această tehnologizare și cu siguranță acest lucru va fi posibil într-un viitor apropiat.

O altă concluzie la care s-a ajuns pe parcursul dezvoltării acestei aplicații este că dezvoltarea tehnologiilor de dezvoltare web a avut un ritm amețitor, crescând în complexitate funcționalitățile ce sunt puse la dipoziție, dar ușurând utilizarea acestora.

Privind în anassamblu dezvoltarea site-urilor web folosind tehnologia Microsoft, se poate spune că Microsoft a revoluționat dezvoltarea aplicațiilor web încă de la prima apariție a ASP .NET, crescând productivitatea programatorilor la un asemenea nivel care nu a mai fost atins cu nici o altă tehnologie. Programatorii care au lucrat deopotrivă cu Java, Perl, PHP, Cold Fusion și chiar ASP 5.0, din propria experiență, au putut afirma în unanimitate ca dezvoltarea proiectelor folosind ASP .NET durează mai puțin, sunt mai ușor de asigurat mentenanța, reutilizarea codului este simplificată, iar din punct de vedere financiar, un proiect realizat cu ASP .NET este mai profitabil decât dacă ar fii dezvoltat folosind o altă tehnologie. Și aceste lucruri se întâmplau încă de la prima lansare. ASP .NET 4.0 are un număr de facilități incluse care continuă să îl situeze pe locul întâi în domeniul tehnologiilor de dezvoltare web. Dar funcționalitatea nu are sens dacă nu este aplicată corect, iar scopul lucrării de față este de a prezenta cum se aplică ASP .NET pentru a rezolva probleme apărute în aplicațiile reale, în special AIpS.

Bibliografie

Damon Armstrong, Apress, 2005 – Pro ASP .NET 2.0 WebSite Programing

Marko Bellinaso, Wrox Press, 2006 – ASP .NET WebSite Programing: Problem – Design – Solution

James McCaffrey, Syncfusion Inc, 2014, – Machine Learning Using C# Succintly

Nick Harrison, Syncfusion Inc, 2015 – ASP. NET MVC Succintly

Larry O’Brien & Bruce Eckel, Pretice Hall – Thinking in C#

-,O’Reilly Media, 2006, – MySQL Reference Manual

Microsoft Developer Network – MSDN Library for Visual Studio .NET 2005

http://www.microsoft.com

http://www.wikipedia.org

Bibliografie

Damon Armstrong, Apress, 2005 – Pro ASP .NET 2.0 WebSite Programing

Marko Bellinaso, Wrox Press, 2006 – ASP .NET WebSite Programing: Problem – Design – Solution

James McCaffrey, Syncfusion Inc, 2014, – Machine Learning Using C# Succintly

Nick Harrison, Syncfusion Inc, 2015 – ASP. NET MVC Succintly

Larry O’Brien & Bruce Eckel, Pretice Hall – Thinking in C#

-,O’Reilly Media, 2006, – MySQL Reference Manual

Microsoft Developer Network – MSDN Library for Visual Studio .NET 2005

http://www.microsoft.com

http://www.wikipedia.org

Similar Posts

  • Codarea Turbo

    Codarea turbo CAPITOLUL 1 ABSTRACT TURBO codurile reprezinta schema de codare prin care ne putem apropia cel mai mult de limita Shannon. Interleaver-ul folosit in TURBO coduri joaca un rol crucial in performanta acestora. Este important deci ca TURBO codurile sa aibe interlevere cu o structura foarte buna. In aceasta lucrare analizam performantele TURBO codurilor…

  • Realizarea Unui Catalog Online

    CUPRINS Introducere 4 I Descrierea problemei economice 5 1.1 Prezentarea Colegiului National “Elena Cuza” 5 1.1.1 Istoricul 5 1.1.2 Obiectivele Colegiului 5 1.1.3 Profesorii colegiului 6 1.2 Compartimentele și activitățile liceului 7 1.3 Prezentarea activității care va fi informatizată 9 1.3.1 Catalogul Online 10 1.3.2 Avantaje utilizarii catalogului online: 11 II Tehnologi Informatice Utilizate 12…

  • . Comertul Electronic In Noua Societate Informationala

    Introducere……………………………………………………………….….…3 Probleme………………………………………………………………..….4 Scop………………………………………………………………..….…..4 Restricții.…………………………………………………………..………5 Comerțul electronic. Aspecte generale…………………………………………6 Evoluția comerțului electronic………………………….…………………6 Ce este comerțul electronic…………………………………………..……9 Principalele avantaje ale comerțului electronic……………………..……14 Bariere împotriva comerțului electronic………………………………….18 Clasificarea afacerilor on-line……………………………………………19 Modelul Paul Timmers……….…………………………………..20 Modelul Michael Rappa…………………………………………..25 Elementele comerțului electronic…………………………………………….31 Componentele unei afaceri on-line………………………..…………….31 Produsul…………………………………………………………..31 Magazinul on-line…………………………………………………33 Sistemul de procesare și efectuare a plăților……..……………….38 Sistemul de transport si onorare…

  • . Sistem Informatic Pentru Contabilitate Financiara

    Cap. I. ÎNTREPRINDEREA – LOCUL ȘI ROLUL INFORMAȚIONAL I.1. Dezvoltarea tehnicii de calcul și creșterea nevoii de informații Noi toți trăim în prezent sentimentul unei urgențe, deoarece revoluția tehnologică care ne înconjoară și tehnologia societății informaționale ce a pătruns deja în multe activități, fac parte din viața noastră cotidiană. Însă, o dezvoltare autentică a unei…

  • Magazin Online de Carti

    Introducere Această lucrare prezintă dezvoltarea unei aplicații web de vânzări online de cărți, fiind bazată pe platforma opencart. Am ales să implementez un magazin online de cărti, deoarece după parerea mea cititul este unul dintre cele mai frumoase hobby-uri pe care o persoană le poate avea, fiind urmat de o serie de avantaje. Multe studii…