Sunteți pe pagina 1din 13

Capitolul 1.

Cerinţe ale
realizării aplicaţiilor
informatice distribuite

Rezumat: Obiectivul lucrării este identificarea


cerinţelor pentru analiza, dezvoltarea si implementarea
aplicaţiilor informatice distribuite. Sunt prezentate
structuri de aplicaţii informatice distribuite de tipurile
out of the paper şi only adding cu identificarea
cerinţelor de realizare a securităţii, în cadrul derulării
interacţiunilor. Exemplificările vizează tipologii larg
răspândite de aplicaţii distribuite.
1
Cuvinte cheie: sisteme distribuite "out of the paper",
securitate informaticã, dezvoltarea sistemelor
informatice, sisteme "only adding", m-aplicatii.

1.1. Aplicaţii informatice distribuite

În domeniul tehnologiei informaţiei, sistemele


informatice distribuite s-au impus datoritã avantajelor
pe care le oferă utilizatorilor finali. Un sistem distribuit
este o colecţie de programe si procese peste o reţea de
1
Laborator 4
2
echipamente sistemele distribuite procese etc.) sunt
electronice (în care eterogene diferite.
fiecare nod are (neomogene), ale
autonomie localã – căror componente Necesitatea
propriul ceas si (hardware – proiectării unor
propria memorie echipamentele sisteme informatice
internã, iar nodurile, electrice si distribuite este
în ansamblul lor, electronice fizice, motivatã de câteva
sunt transparente software – avantaje specifice.
pentru utilizator în programele de reţea Cele mai importante
ideea realizării si procese care dintre aceste
obiectivului urmărit formează sistemul avantaje sunt:
de sistemul distribuit sunt făcute schimbul de
distribuit), care în diverse limbaje de informaţii –
cooperează în programare, creşterea masivã a
rezolvarea anumitor sistemele de operare cantităţii de
probleme. din nodurile reţelei informaţie si
Un sistem distribuit etc., si componente necesitatea de a
este omogen când conceptuale – schimba rapid
componentele din topologia reţelelor informaţii între
care este construit care intrã în diferitele puncte
(componente alcătuirea sistemului aflate în locuri
hardware si distribuit, modul de geografic depărtate
software) sunt de comunicare, fac necesarã
acelaşi fel. Cel mai sincronizare si conectarea între
adesea, în practicã, coordonare între calculatoare
se întâlnesc autonome;

2
Word for Windows
partajarea resurselor – o organizaţie preferã sã cumpere
mai multe calculatoare mai ieftine si de puteri
rezonabile decât sã cumpere unul singur, mult mai
puternic, dar mult mai scump; în acest mod, devine
necesarã interconectarea acestor calculatoare mai mici
între ele, eventual cu un număr redus de calculatoare
mai puternice ale căror resurse (memorie, putere a
procesorului, periferice de capacităţi mari) sã fie
partajate între acestea; costul măririi capacităţii unei
astfel de reţele este mult mai mic decât în cazul
resurselor conectate la un singur calculator, fie el cât de
puternic;
siguranţa mărită în funcţionare – dacã un sistem de
calcul este format dintr-un singur calculator, defectarea
acestuia face imposibilã utilizarea întregului sistem; la
proiectarea unui sistem distribuit, se tine seama, în
foarte mare măsura, de siguranţa în funcţionare a
acestuia; astfel, căderea unui nod nu perturbã
funcţionarea celorlalte, ci acestea preiau, în multe
3
cazuri, sarcinile celui căzut;
performante mărite – prezenta mai multor procesoare
într-un sistem distribuit face posibilã reducerea
timpului de realizare a unui calcul masiv; acest fapt
este posibil prin împărţirea sarcinilor între diferite
procesoare, colectarea ulterioarã a rezultatelor parţiale
si determinarea rezultatului final; acest procedeu este
cunoscut sub numele de paralelizare a calculului;

3
Laborator 4
specializarea nodurilor – proiectarea unui sistem de
calcul autonom, cu mai multe funcţionalităţi, poate sã
fie foarte dificilã si, din motive practice; aceastã
4
proiectare poate sã fie simplificatã prin împărţirea
sistemului în module, fiecare modul implementând o
parte din funcţionalităţi si comunicând cu alte module.
Dificultatea construirii unor astfel de sisteme apare în
momentul elaborării algoritmilor de prelucrare ce sunt
folosiţi în astfel de sisteme. Algoritmii utilizaţi în
sistemele distribuite (ca de altfel în toate sistemele)
trebuie sã fie corecţi, flexibili si eficienţi. Dezvoltarea
unui algoritm distribuit diferă, esenţial, de dezvoltarea
unui algoritm centralizat datoritã, în principal,
particularităţii sistemelor distribuite – lipsa
cunoştinţelor despre starea globalã, lipsa unui timp
global, nedeterminismul etc.

1.2. Concluzii

Noile tehnici si metode de analizã, proiectare,


programare si testare a sistemelor informatice trebuie
sã dezvolte acele funcţiuni în care imprimarea sã fie
înlocuitã cu succes de toate celelalte modalităţi de
prezentare, conservare si protecţie a informaţiei.
Aplicaţii distribuite "out of the paper" cu un grad

4
Word for Windows
ridicat de securitate al informaţiilor manipulate sunt
redate în [2] si [3].
Într-un context mai general, pentru eliminarea
documentelor imprimate, trebuie sã acţioneze factorii
decizionali din interiorul organizaţiei, fiind motivaţi de
efectele pozitive de antrenare multiplã, pe care le
generează procedurile de folosire exclusivã a
documentelor în format electronic.
Securitatea în cadrul sistemelor distribuite reprezintă
un lucru esenţial, deoarece, prin sisteme distribuite, se
implementează aplicaţii de comerţ electronic, aplicaţii
bancar-financiare si multe alte tipuri de aplicaţii în care
confidenţialitatea, autenticitatea si nerepudierea sunt
absolut necesare.
5
Limitarea curentã a tehnologiei în sistemele distribuite
(chiar si în sistemele dedicate), dar mai ales în Internet,
este paradoxalã. Deşi existã instrumente criptografice
puternice pentru asigurarea confidenţialităţii,
integrităţii, autenticităţii si a nerepudierii atât din
categoria cifrurilor cu chei secrete (simetricã –
Rijndael, Twofish, Blowfish, serpent, RC6, DES,
3DES, IDEA), cât si a cifrurilor cu cheie publicã
(asimetricã – RSA, DSA, El Gammal, KMOV
Scheme), totuşi, răspândirea acestor tehnologii este
obstrucţionatã de forte de piaţă, care fac presiuni
puternice asupra companiilor de a realiza noi si noi
produse, noi si noi alianţe. În aceste condiţii, chiar dacã
algoritmii, protocoalele si mecanismele de securitate

5
Laborator 4
sunt suficient de puternice în teorie, calitatea
standardelor (în practicã) si, mai ales, a
implementărilor (de multe ori, simplificate inadecvat)
fac ca tehnologiile de criptare folosite în sistemele si
6
aplicaţiile distribuite sã aibă unele slăbiciuni
inacceptabile [8]. O altã problemã legatã de piaţă o
reprezintă lipsa unor standarde unanim acceptate,
privitoare la securitatea tranzacţiilor si a comunicaţiilor
în sisteme distribuite (implicit eterogene). Douã
tehnologii, SSL (Security Socket Layer) si S-HTTP
(Secure HTTP), au primit o oarecare acceptare în
ultimii ani când VISA, MasterCard si Microsoft au
intrat în competiţie. Astăzi, divizarea pieţei în
producători si utilizatori de mainframe-uri, PC-uri,
telefoane mobile si PDA-uri, echipamente de
telecomunicaţii, smartcarduri etc., a creat interese
deosebite în elaborarea de standardelor, a condus la
unele practici agresive, în special, la giganţi în
domeniul hardware si software ca IBM, Sun
Microsystems sau Microsoft. În comunitatea PC-urilor
(si nu numai, chiar si în telefonie mobilã), în cadrul
căreia operează majoritatea utilizatorilor, securitatea a
fost si este încă mult ignoratã. Sistemele de securitate
ale acestor tipuri de echipamente electronice au
serioase (si cunoscute) breşe de securitate. Chiar dacã
sistemele de operare ale reţelelor în care sunt conectate
PC-urile au implementate mãsuri sofisticate de

6
Word for Windows
securitate, ele nu înlătura vulnerabilitatea maşinilor
conectate, care induce reţelei o anumitã insecuritate.
Trei lumi "culturale" deosebite, PC-urile, mainframe-
urile si dispozitivele mobile, converg pe Internet si în
dezvoltarea de sistem si aplicaţii distribuite dedicate,
într-un moment în care securitatea tranzacţiilor,
comunicaţiilor si a datelor a crescut în conştiinţa
7
utilizatorilor care cer mãsuri din ce în ce mai eficiente
în acest domeniu.
Istoria sugerează cã, în acest caz, viitorul aparţine unor
standarde deschise, care sã nu fie blocate de drepturi de
proprietate inhibitorii. Ultimii ani au subliniat viitorul
deosebit al unei arhitecturi de securitate deschisã,
intens cercetatã si discutatã la ora actualã, care sã fie
liberã de taxe de licenţa si care sã stea la baza
standardelor de securitate Internet ce vor fi folosite si în
sisteme distribuite si în comerţul electronic.

Capitolul 2 Cerinţe ale


realizării aplicaţiilor web

7
Laborator 4
2.1. Abordări metodologice

Ingineria Web este un domeniu nou al ingineriei


software, care pune accent pe dezvoltarea sistemelor
Web. Deşi utilizarea unor metodologii de proiectare nu
este încă o practică uzuală în domeniul ingineriei Web,
necesitatea unor abordări sistematice ce trebuie
adoptate atunci când se dezvoltă sisteme complexe este
astăzi larg acceptată. Dezvoltarea aplicaţiilor Web are
câteva caracteristici care diferă de dezvoltarea altor
8
tipuri de aplicaţii. Pe de o parte, în procesul de
dezvoltare participă diferite tipuri de actori
(stakeholders): analişti, utilizatori, designeri, experţi în
marketing, multimedia şi securitate etc. Pe de altă
parte, principalele caracteristici ale acestor sisteme sunt
structura de navigare, interfaţa cu utilizatorul şi
capacitatea de personalizare. Structura necesită un ghid
intuitiv pentru a evita ca utilizatorul să se piardă în
spaţiul de navigare. Proiectarea interfeţei cu utilizatorul
trebuie să ia adesea în calcul aspecte multimedia şi de
marketing.

În România, există foarte multă literatură de


specialitate care abordează aspecte ale proiectării
interfeţei cu utilizatorul şi interfeţei grafice a siturilor
Web, dar mai puţină despre metodologiile de proiectare

8
Word for Windows
a acestora. De aceea am considerat necesară o trecere
în revistă a acestor abordări.

În ultimii ani, au fost propuse câteva abordări pentru


dezvoltarea sistemelor Web. Aceste metode oferă
elemente de modelare specifice pentru analiză şi
proiectare, multe dintre ele definesc o notaţie proprie
utilizată pentru reprezentarea grafică a elementelor.
9
Aproape toate propun procese specifice pentru a
sprijini dezvoltarea sistematică sau semi-automată a
aplicaţiilor Web. Escalona şi Koch (2004) arată că doar
câteva dintre metodologiile Web existente (NDT -
Navigational Development Techniques, OOHDM -
Object-Oriented Hypermedi Design Method, UWE -
UML-based Web Engineering, W2000) încep ciclul de
dezvoltare cu o analiză detaliată a cerinţelor. Alte
abordări analizate de autori propun tehnici clasice
pentru analiza cerinţelor Web sau ignora această fază a
procesului de dezvoltare. Analiza cerinţelor este
considerată de toate abordările ingineriei software ca
fiind un pas cheie în dezvoltarea unor sisteme software
de succes. Efortul investit în analiza cerinţelor reduce
în mod considerabil deficientele în fazele ulterioare ale
dezvoltării. Specificarea cerinţelor constă în realizarea
unei descrieri a cerinţelor utilizând diferite tehnici: de
la descrierea textuală informală la specificaţia formală
în limbaje precum limbajul Z. Escalona şi Koch (2004)
au dezvoltat un metamodel comun pentru reprezentarea

9
Laborator 4
conceptelor şi relaţiilor ingineriei cerinţelor Web (Web
requirements engineering (WebRE).

Metodologiile de proiectare a aplicaţiilor Web


disponibile în literatura de specialitate şi care vor fi
prezentate pe scurt în paginile următoare pot fi
clasificate conform părerii lui Distante et al. (2007)
după cum pun accent pe "ce" se cere să facă aplicaţia
(proiectare conceptuală în domeniul problemei) sau pe
10
"cum" poate satisface aplicaţia cerinţele şi cum poate
implementa ceea "ce" se cere să facă aplicaţia
(proiectarea logică în domeniul soluţiilor). UWA-
Ubiquitous Web Application, OOHDM, OOWS -
Object-Oriented Web Solution şi OO-H - Object-
Oriented Hypermedia Method se încadrează în prima
categorie, în timp ce UWE şi WebML - Web Modeling
Language pot fi considerate ca fiind metodologii
hibride, deoarece acoperă atât proiectarea conceptuală
cât şi proiectarea logică.

Metodologiile de proiectare conceptuală fac abstracţie


de detaliile de implementare şi oferă o privire de
ansamblu asupra sistemului, din punctul de vedere al
utilizatorilor. Modelarea conceptuală este punctul de
plecare pentru implementarea sistemelor complexe.
Totuşi, distanţa mare între modelul conceptual al unei
aplicaţii Web şi implementarea sa face ca utilizarea
proiectării conceptuale să fie insuficientă pentru

10
Word for Windows
dezvoltarea unei aplicaţii Web. Dacă nu există niveluri
de proiectare intermediară pentru translatarea
specificaţiilor conceptuale în proiectarea implementării,
atunci activităţile de implementare a unei aplicaţii Web
pot să aibă loc independent de proiectarea conceptuală,
ceea ce ar conduce la o risipire a efortului. Tendinţa
unor cunoscute metodologii de proiectare este de a se
dezvolta spre abordări integrate, care să acopere întreg
ciclul de viaţă al aplicaţiilor Web. Printre metodologiile
11
care urmează această direcţie se număra OO-H,
OOWS, UWE şi OOHDM.

2.2 Concluzii

Metodologia PRO-INCLUSIV face o distincţie clară


între proiectare (care nu conţine detalii de
implementare) şi implementare, care ia în considerare
limbajul de implementare folosit, gruparea în pagini,
folosirea meniurilor, legaturile statice şi dinamice.
Distincţia este similară cu distincţia făcută în
proiectarea bazelor de date între schema conceptuală şi
schema logică (de exemplu, schema relaţională).
Metodologia Pro-Inclusiv propune următoarele faze de
dezvoltare a aplicaţiilor Web: Specificarea cerinţelor;
Modelarea informaţiilor; Proiectarea navigării;
11
Laborator 4
Proiectarea prezentării; Implementarea; Testarea şi
evaluarea; Întreţinerea şi dezvoltarea.

Fiecare dintre aceste faze conţine mai mulţi paşi, unii


obligatorii, alţii necesari doar pentru aplicaţiile foarte
complexe. Aplicarea metodologiei este exemplificată
pe o aplicaţie web destinată persoanelor în vârstă şi cu
dizabilităţi. In cadrul acestei etape este prezentată
structura funcţională (arhitectura) a aplicaţiei, structura
de date şi soluţia de implementare.

12
Bibliografie
Schneier, B.: Applied Cryptography, second edition,
Editura John Wiley & Sons, 1996.
Ivan, I:, P. Pocatilu, C. Toma, Al. Leau: M-
applications: e3-com. În: Informaticã Economicã Nr.
3(19)/2001, Bucuresti, 2001.
Ivan, I., P. Pocatilu, M. Popa, C. Toma: Semnãtura
electronicã si securitatea datelor în comertul electronic.
În: Informaticã Economicã Nr. 3/2002, Bucuresti,
2002.
Ivan, I., P. Pocatilu, M. Popa, C. Toma, L. Breda:
Fiabilitatea m-aplicatiilor bazate pe tranzactii. În:
Revista Românã de Informaticã si Automaticã, vol. 13,
Nr. 2, Bucuresti, 2003.
Tanenbaum, A.S.: Distribuited Operating Systems,
Editura Prentice Hall, New York, 1995.

12
Word for Windoes
Patriciu, V.V.: Criptografia si securitatea retelelor de
calculatoare cu aplicatii în C si Pascal, Editura Tehnicã,
Bucuresti, 1994.
Patriciu, V.V., I. Bica, M. Ene-Pietroseanu: Securitatea
Informaticã în UNIX si Internet, Editura Tehnicã,
Bucuresti, 1998. 13
Patriciu, V.V., I. Bica, M. Ene-Pietroseanu, C. Vãduva:
Securitatea comertului electronic, Editura BIC ALL,
Bucuresti, 2001. 14

13
14
Laborator 4

S-ar putea să vă placă și