Arhitectura unei aplicaţii realizată în C#



În prinicpiu arhitectura aplicaţiilor este pe următoarele trei nivele:
1. Baza de date
Serverul SQL. Acest nivel include logica aplicaţiei (răspunde la interogările aplicaţiei, face prelucrări masive, etc.)
2. Serverul de aplicaţie.
Asigură legătura între nivelul 3 (clientul) şi nivelul 1 (serverul SQL) şi realizează diverse prelucrări de date.
3. Interfaţa cu utilizatorul
Graphical User Interface - este clientul aplicaţiei, numit "thin client", deoarece înglobează foarte puţină logică a aplicaţiei şi se limitează doar la validări şi nişte prelucrări minimale.
Fiecare din aceste nivele ale aplicaţiei pot rula pe sisteme hard separate. Cea mai comună configuraţie este ca baza de date şi serverul de aplicaţie să fie pe acelaşi server.

1. Baza de date folosită - Microsoft SQL Server - este un produs robust de la Microsoft, care asigura o capacitate de stocare extensibila, securitatea datelor, instrumente de analiza si management a datelor, multiple posibilitati de accesare / import / export a datelor, în diferite formate, respectiv integrare cu alte surse de date.



2. Serverul de aplicaţie - este nivelul la care se realizează majoritatea prelucrărilor de date.
3. Programul client - este interfaţa prin care utilizatorul interacţionează cu aplicaţia. La acest nivel se fac foarte puţine prelucrări de date, în majoritate doar validări de date. Interfaţa este perfect integrată cu mediul Windows, bogată în opţiuni, permiţand flexibilitate în utilizare.
Tehnologiile folosite la nivelul serverului de aplicaţie şi la nivelul clientului sunt: ADO.Net, C# pentru partea de logica a aplicaţiei.

Avantajul arhitecturii pe trei nivele, faţă de o arhitectura client - server, este că majoritatea procesărilor se fac pe serverul de aplicaţie şi pe baza de date, nu pe calculatorul client şi pe baza de date. Aceasta permite o scalabilitate mult mai bună a aplicaţiei în condiţiile unui volum de tranzacţii în creştere. Este necesară doar adăugarea de servere suplimentare pentru creşterea capacitatii de procesare.

Utilizarea MS SQL Server 2000 ca şi server de baze de date asigură:
. prelucrări rapide pe volum mare de date
. securitate sporită a datelor
. implementarea unor modele generale ale fenomenului economic ale căror detalii sunt configurabile de către utilizator
. instrumente de analiză şi suport decizional (OLAP, Data Mining)
. preluarea datelor din aplicaţiile existente şi exportul datelor în diferite formate (Excel, PDF, XML, text, etc.)

Tehnologiile .NET (ADO.NET) şi limbajul C# permit:
. crearea unui sistem modern, cu interfaţă ergonomică şi intuitivă
. dezvoltarea de module flexibile, uşor de adaptat la cerinţele particulare ale clienţilor şi la modificările legislative
. extinderea funcţionalităţilor aplicaţiei
. înglobarea automată a noilor versiuni ale aplicaţiei
. tabele adaptabile de către utilizator (prin funcţiunea Drag & Drop putând fi rearanjate coloanele şi se pot insera coloane noi)
. funcţiune de gestiune a erorilor / bug-uri, apelabilă printr-o combinaţie de taste
. rearanjarea ordinii tab-urilor în fereastra de lucru
. sistem de gestiune a utilizatorilor, cu acordarea drepturilor de acces şi utilizare sub formă de listă-arbore
. browser integrat pentru fişiere Excel, Word sau pagini HTML



Componentele ADO.NET oferă:
. folosirea seturilor de date locale şi actualizarea ulterioară a bazei de date (reducând astfel traficul în reţea şi mărind viteza de execuţie)
. accesul la date prin intermediul procedurilor stocate (garantând o viteză şi acurateţe a stocării, actualizării şi furnizării informaţiilor)