+ All Categories
Home > Documents > 65425827-licenta-Saftoiu

65425827-licenta-Saftoiu

Date post: 24-Oct-2015
Category:
Upload: jayme-howard
View: 25 times
Download: 1 times
Share this document with a friend
Description:
65425827-licenta-Saftoiu
37
Utilizarea Serverelor de Baze de Date in aplicatiile de proces 1 UNIVERSITATEA DE VEST DIN TIMISOARA FACULTATEA DE ECONOMIE SI DE ADMINISTRARE A AFACERILOR SPECIALIZAREA:INFORMATICA ECONOMICA Utilizarea Serverelor de Baze de Date in Aplicatiile de Proces Coordonator ştiinţific Absolvent Prof.univ.dr. Gabriela Mircea Saftoiu Mihai Timisoara 2011
Transcript
Page 1: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

1

UNIVERSITATEA DE VEST DIN TIMISOARA FACULTATEA DE ECONOMIE SI DE ADMINISTRARE A AFACERILOR SPECIALIZAREA:INFORMATICA ECONOMICA

Utilizarea Serverelor de Baze de Date

in Aplicatiile de Proces

Coordonator ştiinţific Absolvent

Prof.univ.dr. Gabriela Mircea Saftoiu Mihai

Timisoara

2011

Page 2: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

2

Page 3: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

3

Cuprins

Capitolul 1 Servers………………………………………………….. 1.1 Introducere……………………………………………….

1.2 Descriere……………………………………...................

1.3 Tipuri de Server………………………………………….

1.4 Conceptul Client/Server…………………………………

1.5 Componentele Client/Server………………………………

1.5.1 Rolul Clientului…………………………………….

1.5.2Serviciile Clientului…………………………………

1.5.3Rolul Server-ului……………………………………..

1.6 Configuratii Client/Server…………………………………

Capitolul 2 Bazele de date …………………………………………. 2.1 SQL …………………………………………………………..

2.2 Baze de Date Relationale………………………………………..……….

2.3Baze de Date Distribuite……………………………………………

2.3.1 Avantajele si Dezavantajele B.D.D………………………………..

2.4 Arhitectura SGBD-urilor……………………………………………….

2.4.1 Standardizarea SGBD…………………………………………….

2.4.2 Modele arhitecturale pentru SQBD………………………………..

Capitolul 3 Dezvoltarea unei aplicatii de proces 3.1 Necesitatea de dezvoltare a unei aplicatii ………………………………

3.2 Unelte de programare in retea …………………………………………….

3.3 Interfata cu Utilizatorul …………………………………………………..

Referinte Bibliografice

Anexă

Page 4: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

4

Introducere

În prezenta lucrare: "Utilizarea Serverelor de Baze de Date in Aplicatiile de Proces" , se

realizează într-o primă parte o prezentare a evolutiei dezvoltarii tehnologiei client/server iar în a

doua parte se descrie pe un exemplu concret construcţia unei aplicaţii cu baze de date distribuite

pe un server.

. Lucrarea este însoţită de o aplicaţie realizată sub NetBeans , aplicaţie ce constituie exemplul

analizat în lucrare.

.

Page 5: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

5

Capitolul 1. Servers

1.1 Introducere

În tehnologia informaţiei, un server este un program de aplicaţie care furnizează servicii

altor aplicaţii (numite aplicaţii client), aflate pe acelaşi calculator sau pe calculatoare diferite. De

obicei, aplicaţia server aşteaptă conexiuni din partea aplicaţiilor client. Se mai numeşte server şi

calculatorul pe care rulează una sau mai multe asemenea aplicaţii. Deseori soluţia pentru mari

aplicaţii cu mulţi utilizatori se bazează tocmai pe arhitectura client-server, care constă din cel

puţin 2 aplicaţii (şi deseori cel puţin 2 computere).

Serverele au apărut în paralel cu reţelele de calculatoare. Reţelele permit calculatoarelor să

comunice unul cu celalalt, iar cu cât reţeaua este mai mare apare nevoia ca un calculator să ia

rolul de server care să deservească alte calculatoare (acestea interacţionând eventual direct cu

utilizatorii umani), care îşi asumă la rândul lor rolul de client.

Şi după apariţia serverelor reţelele s-au dezvoltat şi au crescut mai departe; în schimb

minicomputerele – care erau mai eficiente decât cele personale dar mai puţin eficiente decât

mainframe-urile – au dispărut sau au fost "absorbite" de unele din aceste servere (au preluat rolul

de server).

Apariţia reţelelor cu calculatoare personale, a Internetului şi răspândirea utilizatorilor

acestor servicii au dat un impuls puternic dezvoltării serverelor.

Page 6: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

6

1.2 Descriere

Serverele ocupă un loc important în tehnologia informaticii, la fel ca şi minicomputerele

în trecut, care însă au fost înlocuite. Un server este o aplicaţie pe computer, uneori chiar un

computer întreg, care operează continuu în reţeaua sa şi aşteaptă solicitări din partea altor

calculatoare din reţea. Serverele pot fi folosite simultan şi pentru alte scopuri, dar când nevoile o

cer, ele pot fi rezervate exclusiv pentru funcţia de server. De exemplu, un calculator se poate

folosi într-un birou simultan pentru două scopuri, ca staţie de lucru şi ca server pentru celelalte

calculatoare din birou. Cuvântul server provine din cuvântul englez to serve – a servi:

calculatorul server poate în principiu deservi întreaga reţea de calculatoare clienţi, pentru a

asigura accesul la toată paleta de forme de conectare şi servicii. Deseori unul şi acelaşi computer

poate juca ambele roluri, şi de server, şi de client, în acelaşi timp. Numele de server este un alt

termen pentru Host computer – computer gazdă, spre deosebire de alte elemente "inteligente" din

reţea cum ar fi routerele şi switch-urile.

În zilele noastre serverele se aseamănă fizic cu celelalte calculatoare uzuale, deşi

configuraţia hardware este deseori optimizată pentru funcţionarea lor ca servere. Multe

componente de hardware sunt identice cu cele ce le găsim într-un calculator personal. Totuşi

serverele rulează sisteme de operare şi programe specializate care sunt foarte diferite faţă de cele

folosite pe calculatoare personale şi staţiile de lucru.

Serverele nu trebuiesc confundate cu calculatoarele de tip mainframe, care centralizează

informaţii şi procesează activităţile firmelor mari. Un mainframe poate în principiu să

funcţioneze simultan şi ca server, sau chiar ca mai multe servere virtuale, pe lângă toate celelalte

activităţi. Multe companii mari folosesc ambele tipuri de calculatoare, anume şi mainframe, şi

servere. Acestea din urmă sunt de obicei mici, multe şi descentralizate.

Page 7: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

7

1.3 Tipuri de servere

Se intalnesc foarte multe tipuri de servere. Cele mai multe aplicatii client/server sunt aplicatii

care se inscri in jurul unei baze de date. Cele mai importante tipuri de server sunt, serverele :

de baze de date

fisiere

de calcul

de interogare

O caracteristica majora a majoritatii serverelor este ca ele ruleaza pe sisteme de operare

multitasking. In caz contrar partea de multitasking trebuie sa fie asigurata de aplicatia server

pentru a permite mai multor utilizatori simultani.

Cateva din avantajele folosirii aplicatiilor client server:

Este un concept care permite statiilor sa fie atat server cat si clienti (in acelasi

timp) si sa combine aceste avantaje,

Este foarte flexibil si deschis in special cand se foloseste cu baze de date ce

folosesc stocarea unor proceduri de lucru,

Este foarte sigur permitand sa se foloseasca nivele de acces diferite intre statia

client si locul de unde acesta citeste sau cere date. Nu se face un acces direct al

datelor ci serverul este cel care are drepturi de citire scriere asupra bazei de date

critice, urmand ca rezultatele aplicarii cererii trimise de client si aplicate bazei de

date sa fie trimise catre client.

Modificarea partii de server nu necesita intotdeauna modificarea partii de client (mai ales

atunci cand se folosesc comenzi lansate din consola – exemplu fiind si programul client/server

atasat).

Se foloseste puterea de calcul sau interogare a serverului care se presupune ca este o masina

puternica(de regula cu un SO multiprocesor), pentru client nefiind necesare decat niste terminale

sau PC-uri modeste care primesc deja un raspuns de cantitate mica.

Permite lucrul “on-line” pe aceeasi structura de date a mai multor clienti simultan.

Permite scaderea importantei ca si risc a defectarii oricarui client, pentru ca aplicatia

server poate functiona mai departe fara acesta(sau fara unul din ei)

Page 8: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

8

La proiectarea unei aplicatii client/server trebuie sa se tina seama ca cele doua parti sa aiba

unul sau mai multe din procesele urmatoare:

Clientul

asigura o interfata cu utilizatorul

interpretarea comenzilor

intrare de date

validare de date

corectare erori

Serverul:

raspunde cererilor clientului

poate deservi mai multi clienti simultan

asigura functionalitati diverse pt. Diferite operatii

permite “record-locking”

gestioneaza resursele

In figura se poate vedea cum serverul poate asigura raspunsuri catre mai multi

clienti(aplicatii client) care au solicitat anumite task-uri.

Page 9: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

9

1.4 CONCEPTUL CLIENT/SERVER

Client/Server inseamna multe lucruri pentru multi oameni. De obicei perceptia generala este

ca aplicatia are o portiune client, ce ruleaza pe un calculator local, in speta un PC, si o parte de

server care ruleaza pe o statie UNIX sau un mainframe. De obicei aplicatiile client server sunt

orientate pe baze de date insa sunt si aplicatii care ofera anumite servicii cum sunt:

server WEB

servere email

servere RAS

servere DNS, KCC, si majoritatea serviciilor de pe server.

Servere FTP, NIS etc

1.5 COMPONENTELE CLIENT/SERVER

Clientul in modelul client/server este statia de lucru. Acceasi statie de lucru daca este

folosita in comun de mai multi utilizatori in acelasi timp devine server.

1.5.1 Rolul clientului

In modelul client/server, clientul joaca rolul de consumator al serviciilor provenite de la

un server. Modelul face o separare clara intre functiunile bazate pe ideea de servere care

furnizeaza servicii ca urmare a cererilor din partea clientilor.

Facilitati cum sunt DDE, OLE sau CORBA permit o foarte usoara comunicare intre un

server si un client prin traditionala “cut and paste”.

O statie client foloseste un SO local pentru a acoperi atat serviciile de baza cat si interfata

cu sistemul de operare de retea.

1.5.2 Serviciile clientului

Request for service

Statiile client emit cereri pentru un server arondat. Cand acest server este de fapt acelasi

procesor sau este un procesor de informatie de retea, formatul cererii este acelasi. NOS software

adauga specificatii speciale in cererea trimisa de solicitant.

Page 10: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

10

Comunicarea interproces (IPC) este termenul generic folosit pentru a descrie comunicatiile

intre procesele ce ruleaza. In modelul client/server, aceste procese pot fi pe acelasi computer, in

aceeasi retea sau distante in Internet.

Cel mai intalnit serviciu furnizat de NOS este redirectarea. Acest serviciu intercepteaza

cererile sistemului de operare si le redirecteaza catre serverul sistemului de operare. In acest fel,

cererile catre directoarele discului, fisierele, imprimantele , porturile serale sunt interceptate de

catre software-ul de redirectare(peste LAN) catre locatia corecta a serverului. Este posibil pentru

unele servicii sa fie furnizate de catre client.

Apeluri de proceduri distante

Aceste proceduri permit standardizarea unor proceduri prin care programatorii trebuie sa

scrie procedurile astfel incat procedurile distante sa fie recunoscute si interpretate corect.

Fax/Print Services

NOS permite clientului generarea de cereri cand printerul este ocupat. Acestea sunt

redirectate de catre NOS redirector si controlate de catre serverul de printare. Clientii pot vedea

status-ul cozii de printare in orice moment. Multe servere de printare notifica clientul cand

cererea de printate a fost terminata . Serviciile de fax sunt disponibile in aceeasi maniera ca si

print serverele, cu aceeasi interfata si notificare.

Servicii de ferestre

O statie client poate avea la un moment dat mai multe ferestre deschise la un moment dat.

Capabilitatea de a activa, muta, mari sau ascunde o fereastra este permisa de catre serviciul de

control a ferestrelor al sistemului de operare client. Aceste servicii sunt esentiale intr-o

implementare client/server, pentru ca acestea interactioneaza cu serviciul de mesaje anuntand

utilizatorul asupra diferitelor evenimente.

Servicii de pornire “remote”

Anumite aplicatii opereaza foarte bine pe clienti fara a avea un disk local de stocare date;

terminale X sunt exemplele concludente. Statiile client trebuie sa asigure suficient software intr-

un EPROM pentru a permite programului de boot care sa activeze acele interfete ce permit

incarcarea sistemului din alte medii decat cele locale.

Alte servicii la distanta

Page 11: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

11

Aplicatiile pot fi invocate de pe un client sau a fi executate pe un server la distanta.

Procesul de Backup este cel mai intalnit exemplu.

Servicii utilitare

Sistemele de operare permit functiuni locale cum sunt: copiere, lipire, editare, comparare.

Servicii de mesaje

Servicii de baze de date

Schimb de date dinamic

DDE este o facilitate a sistemelor Windows si OS/2 care permite utilizatorilor sa trimita

date intre aplicatii de la diferiti furnizori prin suportul unor functii API. De exemplu un chart

poate fi legat de o baza de date pentru a permite ultimele grafice atunci cand datele se modifica.

Crearea de obiecte legate sau incluse (OLE)

OLE este o extensie a DDE care permite utilizatorilor ca obiectele sa fie create de catre

aplicatii care “nu stiu” cum sa utilizeze acel obiect. Aceasta de fapt va fi o referinta care va folosi

componentele ce stiu sa manipuleze aceste date. De exemplu, un document creat cu un procesor

de texte poate include o imagine creata cu un packet grafic. Imaginea poate fi convertita intr-o

imagine grafica interna folosita de acest procesor de texte cum ar fi WPG. Cu OLE, imaginea

poate fi inclusa in forma sa originala in document. Cand imaginea este selectata, atunci packetul

care a realizat acea imagine preia controlul manipularii imaginii. Activarea software-ului este

total transparenta utilizatorilor .

CORBA

CORBA( Common Object Request Broker Arhitecture) este o specificatie de la

OMG(Object Management Group), un consortiu ce vinde sisteme UNIX. OLE accentueaza

impartirea de resurse intre aplicatii pe un singur desktop, insa CORBA adreseaza aceste

transferuri intre platforme si cum aceste obiecte se pot muta prin retea. CORBA permite

clientilor sistemului Windows sau Unix sa imparta obiecte. Un procesor de text care opereaza pe

un desktop poate include imagini generate pe o platforma Unix.

1.5.3 Rolul Serverul

Page 12: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

12

Serverul este un computer multiuser. Nu exista specificatii speciale care sa faca dintr-un

computer obisnuit un server. Platforma hardware trebuie sa fie selectata pe baza cerintelor si

economiei. Serverele , pentru aplicatiile client/server lucreaza cel mai bine cand ele sunt

configurate cu un sistem de operare care suporta partajarea memoriei, isolarea aplicatiilor, si

multitasking.

Serverul asigura controlul asupra resurselor partajate. Aplicatiile de pe un server trebuie sa

fie izolate unele de altele pentru ca in cazul unei erori una sa nu o poata strica pe cealalta.

Serverele ofera servicii de aplicatii, fisiere, tiparire, fax, imagine, comunicare, securitate, si

controlul retelei. Acestea vor fi descrise in cele ce urmeaza.

Este foarte important de a intelege serverul ca si concept nu ca si o implementare fizica.

Serviciile client si serverel pot fi oferite de catre acelasi sistem fizic. Aria retelelor se muta la

retelele peer (ce pot comunica liber), oferind posibilitatea ca orice “device” sa poata juca atat rol

de client cat si de server.

Serverele de aplicatii

Ofera suportul pentru clienti de a accesa informatii. In modelul client/server aceste

servicii pot fi oferite pentru o intreaga organizatie sau doar pentru o parte a acesteia invocata prin

IPC (Interprocess Control) . De exemplu, un sistem de salarii poate pastra datele despre angajati

pe un server, salariile pe un alt server, iar calculele sa se execute pe un al treilea server. Aceste

servere pot rula sisteme de operare diferite si pot fi situate la distanta mare unul de altul.

Aplicatia client invoca aceste servicii fara a considera aceste tehnologii sau de a sti de diferentele

fizice geografice intre aceste servere.

Serverele de fisiere

Ofera accesul catre fisierele sale discret catre clienti pe baza politicii de securitate

elaborata de administratorii serverului. Exemple de file servere sunt low-end: Novell NetWare,

OS/2 sau Windows NT. Clasa de mijloc o ocupa serverele UNIX cu acees via NFS. Ultimul

nivel este oferit de mainframe-uri. Servicii de fisiere Serviciile de fisiere se ocupa cu accesul la

directoarele si fisierele localizate in zona de stocare a serverului. Aceste servicii sunt posibile

prin procesul redirectare existent in sistemul de operare de pe statia client.

Server de calcul

Page 13: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

13

Sunt servere pe care se executa diverse calcule complexe . Acestea au configuratii

speciale hardware, multiprocesor. Un exemplu sunt realizarea de programe in domeniul grafic

3D unde sunt simulate miscari complexe cu numar foarte mare de obiecte, rezolutii foarte mari.

Serverele de baze de date

Sunt controlate de catre motoare ca si Sybase, IBM, Ingres, Informix,sau Oracle.

Serverul de fisiere ofera spatiul initial, iar baza de date aloca spatiul pentru tabelele proprii in

spatiul alocat de file server.

Aceste masini sunt responsabile pentru a oferi servicii specializate necesare de catre

produsele de backup, erori software, sau spatiu insuficient.

Primele tipuri de baze de date erau servere de fisiere cu o interfata diferita. Produse ca

dBase, Clipper, FoxPro si Paradox executa motorul de baza de date in principiu pe masina client

si foloseste serviciile de fisiere pentru accesul la inregistrari si pentru a obtine controlul spatiului

liber.

Alte motoare de baze de date client/server cum sunt Sybase, IBM Database Manager,

Ingres, Oracle si Informix aduc nou posibilitatea de a executa cereri SQL emise de la o statie de

lucru. Serviciile de fisiere sunt inca folosite pentru a aloca spatiul si servicii de directoare, dar

toate celelalte servicii sunt oferite de catre serverul de baze de date.

Dr. Codd a emis 13 reguli care trebuiesc respectate de catre un motor de baza de date

pentru a fi compatibil. Iata cateva din standardele la cate trebuie sa se alinieze:

ANSI SQL si IBM DB2

O varietate de aplicatii de nivel inalt

C si COBOL SQL precompilers

Suport pentru: Netware, OS/2, Windows NT, Mac, UNIX

Suport pentru SO client: DOS, Windows, Mac, Unix

Cateva din capabilitatile unei daze de date pentru a asigura o performanta buna este:

Utilitare pentru optimizarea performantei

Anulare tranzactii dinamice

“Roll-back”, “Roll-forward”

Recuperare fisiere auditare

Detectare erori si recuperare

Page 14: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

14

Unelte de reparare

Suport pentru baze de date “mirrored”

Control pentru baze de date distribuite la distanta

Mentenanta pentru acuratete si duplicare fisiere audit.

Intr-o implementare client/server, baza de date trebuie sa ruleze pe server. De aceea

motorul bazei de date trebuie sa suporte cereri SQL de la client si sa le execute total pe server,

returnand apoi raspunsul celui care a trimis cererea.

Servicii de fax/print/imagine

Imprimantele de inalta calitate, statiile care genereaza faxuri, si plotterele sunt candidati

naturali pentru a sustine un server de resurse. Serverul poate accepta intrari de la mai multi

clienti, forma coada in functie de prioritatea cererii si rezolvarea ei cand dispozituvul este

disponibil.

Serverele de tiparire ofera suport pentru clienti de a primi documente, aranja pentru

tiparire, prioritizare a lor. Un server de tiparire eficient va suporta si include modul cum se va

comporta in cazul unor probleme fizice de imprimata, notificari client, etc.

Serverele de fax asigura un serviciu similar cu cel de tiparire. In plus, serverele de fax, pot

crea cozi de intrare si de iesire pentru o distibutie ulterioara in cazul unor probleme de conexiune

sau de aglomerare. Pentru ca faxurile sunt transmise folosind grupa de compresie III sau grupa

IV , serverele de fax trebuie sa fie capabile de a comprima sau decomprima in timp real

documente pentru a le putea tipari, trimite sau afisa. Acest lucru este posibil printr-o cartela

atasata faxului.

Serverele de comunicatie

Asigura un serviciu de comunicare in retele WAN(wide area network). Acest suport

include un subset al IBM SNA, protocoale asincrone, X25,ISDN, TCP/IP, OSI.

Serverele de securitate

asigura restrictii de acces pentru software si date accesibile de pe server. Comunicarea este

controlata de catre cserverul de comunicare. Folosirea unor nume de utilizator si a unei parole

reprezinta minimul de securitate.

Cererea de procesare.

Page 15: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

15

Sunt cereri pe care le lanseaza un client catre NOS rezident catre masina client. Aceste

cereri sunt impachetate intr-un RPC si trimisa catre nivelul aplicatie al stivei protocolului client.

Aceasta cerere este primita de catre nivelul aplicatie.

1.6 Configuratii “client-server”

La inceput nu a fost nici un fel de aplicatii client-server. Un terminal simplu(dumb) era

legat direct de un computer gazda folosint o linie seriala RS232. Terminalul avea doar o tastatura

si un ecran. Ecranul avea capabilitatea de a afisa caractere , cursorul se putea adresa, insa setul de

caractere se afla in ROM. Toate aplicatiile rulau pe un singur host.

Tipul “Two-tier” Client Server

Page 16: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

16

Prima generatie de aplicatii client server a fost implementata in doua parti logice. Acesta

avea si doua parti logice de asemenea. Aplicatia ra formata din doua module diferite care ruleaza

pe calculatoare diferite.

Cantitatea de informatii vehiculata intre client si

server determina tipul server-ului “thin” sau “fat”. Modelul “thin” ( subtire) inseamna ca

aplicatia client nu are o marime mare si nu ocupa foarte mult din resursele gazdei sale,

interactiunea cu utilizatorul se face printr-un GUI. Aplicatiile client” thin” sunt foarte indicate

pe calculatoare mai vechi (486, 386) care nu au o putere mare de calcul sau de alta

natura(comparativ cu cerintele de astazi).

Nivelul mediu (middleware) Aplicatia client la aceste tipuri de aplicatii are la baza

folosirea unor interfete via API. Cele mai intalnite “middleware” sunt foarte generale si se pot

folosi pentru aproape orice tip de aplicatie. Exemple de “middleware”:

TCP/IP

DCE

NetBIOS

Named pipes

LAN Manager

Dezvoltari specifice de “middleware” sunt un nivel deasupra celor de ordin general.

Exemple sunt: ODBC pentru servere baze de date, SNMP pentru servere de email, SSL pentru

WEB.

Page 17: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

17

Tipul “Three-Tier” Client/Server

Este implementarea care se poate separa in mai mult de doua parti logice.

Schematic aceasta este reprezentata grafic in modelul urmator:

1.7 Metode de dezvoltare a sistemelor client/server

Scopul unei asa zise tehnologii este de a descrie un proces prin care o tehnologie poate fi

aplicata pentru ca sa poate fi atinse obiectivele propuse. Metodologia trebuie sa descrie procesele

implicate de-a lungul intregii vieti al sistemului.

Iata cateva din pasii din metodologia SILC:

Planificarea sistemului

Initializarea planificarii

Culegere de date

Identificarea situatiei curente

Descrierea sistemelor existente

Definire specificatii

Analiza aplicatii si arhitectura de date

Page 18: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

18

Analiza performante tehnice

Pregatire plan de implementare

Pornire proiect

Cerere

Definire relatii in LRP

Initializare proiect

Pregatite faza a doua

Definire arhitectura

Strangere de date

Extindere specificatii la urmatorul nivel

Solutii alternative conceptuale

Dezvoltarea arhitecturii propuse

Selectare produse specifice

Analiza

Strangere date

Dezvoltarea unui model al noii aplicatii de sistem

Definire informatii si specificatii

Pregatire design extern

Proiectare

Post implementare

Suport

1.8 Avantaje ale tehnologiei client/server

Organizatiile doresc sa beneficieze de avantajele costului scazut ale mediilor prietenoase ale

statiilor de lucru. Este de asemenea o nevoie puternica si o dorinta de a capitaliza investitiile

Page 19: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

19

existente. Astfel, retelele companiilor sunt puse in asa fel incat sa conecteze statiile de lucru catre

diferite servere..

Tehnologia client/server aduce ca beneficiu utilizarea celor mai eficiente interfete utilizator,

stocare date, conectivitate si servicii de aplicatie. Produsele client/server sunt instalate in

interiorul organizatiei prezente dar nu sunt efectiv folosite. Modelul client/server furnizeaza

mijloace tehnologice in vederea utilizarii investitiilor anterioare in concordanta cu optiunile

tehnologiei actuale. Este un declin dramatic in ceea ce priveste costul componentelor tehnologiei

client/server. Organizatiile folosesc aceasta tehnologie ca o oportunitate pentru a furniza solutii

afacerii. Competitia intre servicii si calitate pe piata maresc si mai mult nevoia de a profita de

beneficiile disponibile de la aplicatiile construite pe modelul client/server.

Tehnologia client/server in cele mai bune implementari ale sale muta captarea de date si

procesarea de informatii direct catre utilizatorul expert - adica utilizatorul cu abilitatea de a

raspunde erorilor de date, si utilizatorul cu abilitatea de a folosi informatiile facute disponibile.

Sistemele cele mai importante sunt implicate direct in procesul executarii afacerilor, si sunt

fortate sa arate valoric acest lucru.

Modelul tehnologiei client/server furnizeaza mijloace de integrare a aplicatii cu

productivitate ridicata pentru un angajat anume sau un manager cu nevoi de a procesa date

pentru a satisface cerintele de procesare a informatiilor in cadrul companiei.

Imbunatatirea partajarii datelor

Datele care sunt colectate ca parte a procesului uzual de lucru si stocate pe un server sunt

disponibile imediat tuturor utilizatorilor autorizati. Folosirea limbajului SQL pentru a defini si a

manipula date furnizeaza suportul pentru accesul deschis tuturor clientilor ce proceseaza

informatie. SQL ofera tuturor utilizatorilor autorizati accesul la informatie printr-o imagine care

este specifica nevoilor lor. Serviciile de retea transparente arata ca aceleasi date sunt disponibile

cu acelasi nivel pentru toti utilizatorii desemnati.

Servicii integrate

In modelul client/server , toate informatiile pe care clientul este indreptatit sa le utilizeze

sunt disponibile pe statia sa. Nu este necesara schimbarea in modul terminal sau logarea la alt

Page 20: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

20

procesor pentru accesarea de informatii. Toate procesele si informatiile autorizate sunt direct

disponibile pentru interfata statiei sale.

Resurse partajate pe platforme diverse

Modelul client/server furnizeaza oportunitati de a realiza adevarate sisteme deschise.

Aplicatiile pot fi create si implementate fara a tine cont de platforma sau caracteristici tehnice ale

software-ului. De aceea utilizatorii pot obtine servicii sau acces transparent la servicii furnizate

de baze de date, sau servere de aplicatii. Sistemele de operare si plaltformele hardware sunt

independente de aplicatii si de uneltele folosite pentru dezvoltarea plicatiei respective.

Conducere centralizata

Primul pas in a oferi o administrare eficienta a unei retele LAN este de a stabili

standardele pentru hardware, software, retele, instalari, dezvoltari si codificari. Aceste standarde

folosite impreuna cu alte produse de marca (IBM, HP, AT&T ) permit o vedere de ansamblu a

retelei LAN.

Revolutia tehnologica

Este foarte important de realizat o vedere de ansamblu asupra tehnologiei in timpul vietii

unui sistem. Arhitectura pe care un sistem este construit trebuie sa fie capabila sa suporte toti

utilizatorii de-a lungul intregii sale vieti. Organizatii largi au luat in calcul pentru aplicatiile lor o

folosinta intre 5 si 10 ani. Multe sisteme sunt construite cu o vedere asupra a numai ce exista

astazi, insa ei sunt gata sa renunte la sistemele invechite odata cu schimbarile ce apar in

arhitectura, schimbari la care nu s-ar fi putut adapta cu sistemele vechi.

Comparatii intre intrari / iesiri

Majoritatea sistemelor au nevoie de informatii citite si apoi salvate. Folosirea modelului

client/server aduce ca avantaj utilizarea puterii de procesare a serverului, clientul preluind numai

rezultatul cererii emis catre server. Serverul este de obicei o masina foarte rapida (atit pentru

accese de citire cit si de calcule, dar si pentru trimiterea datelor catre clienti ). Clientii folosesc

puterea serverului simultan rezultind o incarcare mica a statiilor client comparativ cu serverul.

Stocare de date

Page 21: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

21

Cea mai mare revolutie tehnologica care a afecta industria de computere a fost cauzata de

necesarul de crestere a capacitatii de stocare disponibila pentru aplicatie. Memoria RAM este

folosita pentru executia programelor si pentru a stoca date temporar sau permanent.

Utilizatorii au intrat in era utilizarii memoriilor mari si ieftine ducind la eficientizarea

aplicatiilor care aveau nevoie de memorie suplimentara.

Interfata grafica de proiectare ( utilizare )

Interfetele grafice utilizator( GUI ) au nevoie de o mare cantitate de memorie RAM

pentru a pastra imaginiile de pe ecran, listele, textul de ajutor, caile de navigatie. Deoarece GUI

permite procesarea aleatoare in locul traditionalei procesari secventiale, toate posibilele procese

logice precum si codul de control GUI asociat imaginii trebuie sa fie disponibil in RAM pentru a

furniza raspunsurile adecvate.

Page 22: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

22

Capitolul 2. BAZE DE DATE

2.1 SQL

Aplicatiile client/server functioneaza in doua moduri. Acestea pot functtiona ca si suport

pentru o aplicatie deja existenta – sau acestea pot furniza intrari de date, pastrare date, sau

raportare pentru un numar de clienti si servere. In celalalt caz, folosirea – sau chiar existenta –

unei masini gazda este total mascata pentru dezvoltator prin folosirea diverselor limbaje de

comunicare (exemplu limbajul SQL).

SQL este o definitie standard si un limbaj de acces. Acest standard permite multor

vanzatori care produc la ora actuala aplicatii de daze de date, motoare care sa manipuleze aceste

date ca si tabele SQL. Aproape toate uneltele de dezvoltare permit o compatibilitate cu bazele de

date accesate prin SQL. Serviciile de retea permit o conectivitate intre un client local si servere

distante. Cu cateva produse de baze de date, cum sunt Ingres Star, un utilizator poate defini o

vedere consolidata a datelor care in mod fizic distribuita intre platforme diverse.

Dezvoltatorii de sisteme au gasit un punct in care acest amestec neomogen va fi un atribut al

dezvoltarii de motoare de baze de date din ce in ce mai puternice fara a fi dependente de

platforma.

Serviciile pentru baze de date oferite ca raspuns al unei cereri SQL poate fi oferit de unul din

serverele de baze de date: Oracle, Ingres, Sybase, care ruleaza pe platforme Windows NT, OS/2,

Unix, sau Solaris. Mediul de dezvoltare (SDE) si uneltele trebuie sa implementeze o interfata cu

producatorul bazei de date si cu produsele care exista in sistemul de operare. Dezvoltatorul nu

trebuie sa stie ce motor sau ce sistem de operare ruleaza. Daca SDE nu anuleaza dreptul

Page 23: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

23

dezvoltatorului de a folosi acces direct in baza de date, atunci entuziasmul acestuia se va dovedi

prin evitarea folosirrii unor optiuni ale vanzatorului bazei de date.

Modelul client/server asigura capabilitatea de a face cereri pe loc de informatie. Ca rezultat,

optimizarea suportului pentru SQL dinamic in cazul bazelor de date distribuite este vital pentru

succesul noii generatii de aplicatii client/server. Prima generatie implementeaza aspectele

procesului afacerii. A doua generatie introduce cereri locale ca urmare a exerientei castigate in

interiorul informatiilor deja existente.

Prin folosirea SQL pentru accesul la date, utilizatorii pot accesa informatii din baza de

date de oriunde din retea. De pe PC-urile locale , serverul local, sau de oriunde din reteaua

WAN, accesul la date fiind oferit dezvoltatorului si utilizatorului prin aceeasi cerere. Singura

diferenta ar fi performanta diferita daca banda alocata este insuficienta. Datele mai pot fi

accesate si din memoria RAM, de pe un disc magnetic optic, prin aceleasi cereri SQL. Tabelele

logice pot fi accesate fara a cunoaste ordinea coloanelor. Numeroase tabele pot fi “alaturate”

pentru a obtine un nou tabel logic folosit de aplicatie in acelasi fel, fara a tine cont de forma lui

fizica.

Folosirea unor tipuri noi de date, cum ar fi obiectele binare foarte largi ( BLOB ) permit

altor tipuri de informatii cum ar fi imagini, video si audio sa fie stocate si accesate folosind

aceleasi cerei SQL pentru aceesul la date.

Dezvoltatorii au astazi o foarte mare independenta. Datele sunt accesate prin SQL fara a

fi nevoie de a cunoaste hardware, sisteme de operare sau locatia fizica care furnizeaza datele.

Retelele permit accese ale aplicatiilor si cerereri SQL prin RPC. Retelele pot fi bazate pe OSI

(Open Systems Interconnect ), TCPIP, SNA ( System Network Architecture) dar nu va fi nevoie

de schimbare a codului scris. Dezvoltatorul unei solutii se loveste de standarde de proces fara a

considera platforma fizica. Limbaje de dezvoltare ca: COBOL, C pot functiona pe platforme

foarte diverse.

2.2 Baze de date relationale

O alta schimbare dramatica in domeniul software este zona bazelor de date. Sistemele de

fisiere traditionale si tehnologia bazelor de date de bazeaza pe localizarea referintelor pentru o

buna performanta a accesului. Localizarea referintelor implica ca toate datele necesare sa

Page 24: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

24

satisfaca o cerere sunt stocate fizic unele linga altele. In orice caz, mediile de astazi au nevoie de

accese multiple ale inregistrarilor provenite din tabele diferite si locuri diferite. Performanta se

poate obtine in aceste medii cind baza de date foloseste chei de extragere organizate in liste de

cautare. Acccesul fizic la baza de date este limitat numai la selectarea inregistrarilor care satisfac

criteriul de cautare.

Tehnologia bazelor de date relationale, folosind SQL imbina aceste lucruri cu succes.

Cererea de cautare poate fi evaluata aplicand-o indexilor care identifica campurile ce satisfac

criteriul de cautare. Numai aceste inregistrari sunt citite si extrase din baza de date fizica.

2.3 Baze de date distribuite

Putem defini o baza de date distribuita ca pe o colectie de baze de date corelate logic si

distribuite pe o retea de calculatoare. Un sistem distribuit de gestionare a bazelor de date este

definit ca un sistem software care permite gestionarea bazelor de date distribuite si face

distribuirea transparenta pentru utilizatori. Sunt doi termeni importanti in aceasta definitie:

corelate logic si distribuite intr-o retea de calculatoare.

Un sistem de baze de date distribuite (SBDD) nu este numai “o colectie de fisiere” care

pot fi stocate individual la fiecare nod al unei retele de calculatoare. Pentru a forma un SBDD,

fisierele trebuie sa fie corelate logic, sa existe o anumita structura intre ele si sa fie accesate prin

intermediul unei interfete comune. Un SBDD nu este un sistem in care, in ciuda existentei unei

retele, baza de date se afla pe un singur nod al retelei. In acest caz, problemele de gestionare a

bazelor de date nu sunt diferite de cele din mediul centralizat. Baza de date este gestionata

central de un calculator si toate cererile sunt trimise catre acel calculator. Deci existenta unei

retele nu implica un mediu distribuit. Datele trebuie sa fie distribuite pe mai multe noduri ale

unei retele.

Baza de date distribuita are caracter virtual. Componentele sale sunt stocate pe baze de

date distincte, aflate pe noduri distincte ale unei retele. Fiecare nod este un sistem de baze de

date, avand propriile baze de date, utilizatori proprii si SGBD local. Sistemul distribuit poate fi

Page 25: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

25

vazut ca o asociere intre SGBD-ul local si o componenta noua in fiecare nod. El furnizeaza

functiile necesare pentru asociere.

Figura 1.1 Mediul SBDD

2.3.1 Avantajele si dezavantajele bazelor de date distribuite

Avantaje :

Autonomie locala. Utilizatorii unei baze de date ce se afla pe o anumita statie din retea au

controlul local al datelor, datorita organizarii descentralizate. Datele locale se pastreaza local,

unde apartin logic, în majoritatea cazurilor procesarea lor executandu-se în nodul în care sunt

stocate,

Imbunatatirea performantei. Prin executia in paralel a mai multor sarcini, pe statii

diferite, se pot reduce conflictele de acces la date si se poate imbunatati atat viteza de executie a

operatiilor asupra bazelor de date cat si viteza accesului la informatiile stocate.

Îmbunatatirea sigurantei si disponibilitatii. Daca datele sunt replicate pe mai multe

noduri, indisponibilitatea unuia dintre acestea sau o problema pe retea nu face ca datele sa nu

poata fi accesate.

Site 1

Site 2

Site 3

Site 4

Site 5

Retea de

comunicatie

Page 26: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

26

Economice. Daca bazele de date sunt dispersate geografic si aplicatiile ruleaza în locul în

care sunt si datele, se îmbunatatesc costurile de comunicatie.

Expandabilitatea. Într-un mediu distribuit este mult mai usoara marirea dimensiunilor

bazelor de date.

Partajabilitate. Organizatiile care au operatii distribuite geografic înmagazineaza în mod

normal si datele în aceeasi maniera.

Dezavantaje :

Complexitatea. Problemele din cadrul SBDD sunt mai complexe decat cele centralizate,

ele incluzand problemele distribuite, cat si cele nerezolvate înca în mediul centralizat. Problema

complexitatii este a programatorului si nu a utilizatorului.

Costul. Sistemele distribuite necesita hardware si software aditional, ceea ce mareste

costurile.

Distribuirea controlului. Acest punct, care este în acelasi timp si un avantaj, determina

probleme de sincronizare si coordonare.

Securitate. Este bine cunoscuta dificultatea mentinerii controlului adecvat al securitatii in

retea, deci si in bazele de date distribuite.

Adoptare dificila a tehnologiei. Multe firme au investit din greu în sistemele lor de baze

de date, care nu sunt distribuite. În prezent nu exista instrumente sau tehnologii care sa ajute

utilizatorii sa converteasca bazele de date centralizate în baze de date distribuite.

2.4 Arhitectura sistemelor de gestiune ale bazelor de date distribuite

Arhitectura unui sistem defineste structura acestuia. Adica componentele sistemului sunt

identificate, functia fiecarei componente este specificata si relatiile si interactiunile dintre aceste

componente sunt definite. Aceasta platforma ramane adevarata pentru sistemele de calcul in

general si sistemele software in particular.

2.4.1 Standardizarea SGBDD

Page 27: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

27

Pentru standardizarea SGBDD o sa tinem cont de relatia stransa care exista între

arhitectura unui sistem si modelul de referinta al acelui sistem, care este dezvoltat ca un

precursor al oricarei activitati de standardizare. Modelul de referinta poate fi considerat un model

arhitectural idealizat al acestui sistem. Acesta poate fi definit ca “un cadru de lucru conceptual al

carui scop este sa împarta munca de standardizare în piese gestionabile, si sa arate la un nivel

general cum aceste piese sunt legate între ele”.

Un model de referinta (si totodata arhitectura unui sistem) poate fi descris tinand cont de

trei abordari diferite:

bazat pe componente. Un SGBD este compus din mai multe componente, fiecare

furnizand anumite functionalitati.

bazat pe functionalitati. Diferite clase de utilizatori identifica o serie de

functionalitati pe care sistemul le va furniza pentru fiecare astfel de clasa.

bazat pe date. Punct de vedere fundamental deoarece un SGBD foloseste date.

Toate aceste trei abordari sunt folosite pentru a realiza un model arhitectural. La sfarsitul

anului 1972, Institutul National American de Standarde (ANSI), stabileste un Grup de Studiu

pentru Sistemele de Gestiune a Bazelor de Date condus de un Comitet pentru Standardizarea

Planificarilor si Cerintelor (SPARC). Acest grup avea rolul de a studia fezabilitatea realizarii

unor standarde în acest domeniu. S-a realizat un raport interimar (1975) si un raport final (1977).

Cadrul de lucru arhitectural propus în aceste rapoarte este cunoscut sub numele de “Arhitectura

ANSI/SPARC”.

Tinand cont de abordarile discutate anterior (legate de standardizare), arhitectura

ANSI/SPARC se bazeaza pe organizarea datelor. Foloseste trei vederi ale datelor (vezi Figura

3.4):

vederea externa: este ceea a utilizatorului

vederea interna: este cea a sistemului sau a masinii

vederea conceptuala: este cea a firmei (sau a domeniului modelat)

La cel mai de jos nivel al arhitecturii se afla vederea interna, care este legata de definirea

fizica si organizarea datelor. Localizarea datelor pe diferite periferice de înmagazinare si

mecanismele de acces folosite pentru cautarea si manipularea datelor sunt abordate la acest nivel.

La polul opus se afla vedera externa, care tine de felul in care utilizatorii vad baza de

date. Un punct de vedere al unui utilizator reprezinta portiunea unei baze de date care va fi

Page 28: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

28

accesata de catre respectivul utilizator precum si relatiile care exista între aceste date. O astfel de

vedere poate fi partajata între mai multi utilizatori, colectionarea acestor vederi constituind

schema externa.

Între aceste doua extreme se gaseste schema conceptuala, care este o definitie abstracta a

bazei de date. Aceasta este vederea “lumii reale” a firmei modelate de catre aceasta baza de date.

Vedere

internã

Vedere

conceptualã

Vedere

externã Vedere

externã

Vedere

externã

Schema

internã

Schema

conceptualã

Schema

externã

Utilizatori

Figura 2.1 Arhitectura ANSI/SPARC

Descrierea arhitecturii ANSI/SPARC tinand cont de functionalitatile sale genereaza o

vedere considerabil mai complexa, prezentata in Figura 2.2. Chenarele reprezinta functii de

procesare, iar hexagoanele sunt rolurile administrative. Sagetile indica fluxurile de date,

comenzi, programe si descriere si interfetele sunt reprezentate prin bare de forma “ ”.

Rolurile administrative pot ajuta la definirea unei interpretari functionale a arhitecturii

ANSI/SPARC. Cele trei roluri sunt:

administrator baza de date : responsabil pentru definirea schemei interne

administrator societate:: responsabil pentru definirea schemei conceptuale

administrator aplicatie: persoana cu un punct de interes în utilizarea informatiilor din

cadrul unei societati; responsabil cu promovarea schemelor externe pentru aplicatii.

Page 29: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

29

Aceste roluri pot fi indeplinite de o persoana sau mai multe. Sistemul trebuie sa ofere

suport pentru indeplinirea tuturor rolurilor mai sus mentionate. Pe langa aceste trei clase de

utilizatori definiti prin roluri, mai sunt doua: programatorii de aplicatie si programatorii de

sistem.

Figura 2.2 Schema partiala a modelului arhitectural ANSI/SPARC

2.4.2 Modele arhitecturale pentru SGBD

Se considera modurile in care mai multe baze de date pot fi puse impreuna pentru a fi

gestionate de mai multe sisteme. Se va folosi o clasificare a sistemelor de gestiune tinand cont de

autonomia sistemelor locale, distributia lor si eterogenitatea lor.

Administrator societate

Procesor schema conceptuala a bazei de date

Administrator sistem

Administrator baza de date

Procesor schema interna

Procesor schema externa

Transformare BD/conceptuala

interna

Transformare conceptual/BD

externa

Transformare inmagazinare

interna/BD interna

Programul aplicatie interna

Programul aplicatie externa

Programator sistem/aplicatie

Programator aplicatie

Page 30: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

30

Autonomia se refera la distribuirea controlului, nu a datelor. Indica gradul de independenta

al SGBD-urilor individuale. Autonomia depinde de un numar de factori, cum ar fi schimbul de

informatie intre componentele sistemului sau executarea independenta a tranzactiilor de catre

aceste componente. Tinand cont de autonomie, avem trei alternative de modelare: integrarea

stransa, care poate fi stocata pe mai multe baze de date si in care o imagine a intregii baze de

date este disponibila oricarui utilizator care vrea sa imparta informatia. Din punctul de vedere al

utilizatorului datele sunt centralizate logic intr-o singura baza de date.

Sistemele semiautonome contin SGBD-uri care pot (si de obicei o fac) opera

independent, dar aleg sa participe intr-o federatie pentru a-si imparti datele locale. Fiecare din

aceste SGBD-uri determina ce parti din baza lor de date pot fi accesate de utilizatorii altor

SGBD-uri. Ele nu sunt sisteme complet autonome pentru ca trebuie modificate pentru a fi

capabile sa schimbe informatia intre ele.

Ultima alternativa o reprezinta izolarea totala, unde sistemele individuale, sunt de sine

statatoare, nestiind de existenta altor SGBD-uri, sau cum sa comunice cu ele. In aceste sisteme,

procesarea tranzactiilor care acceseaza baze de date multiple este dificila deoarece nu exista un

control global al executiei asupra SGBD-urilor individuale.

Distributia se refera la distributia fizica a datelor intre mai multe locatii. Exista mai multe

moduri in care datele au fost distribuite, insa cele mai importante clase pot fi: distributia

client/server si distributia peer-to-peer.

Distributia client/server, devenita destul de populara in ultimii ani, concentreaza

gestionarea datelor la server, in timp ce partea de client se ocupa cu mediul aplicatiei, inclusiv

interfata utilizator. Gestionarea comunicarii este impartita intre server si client. Intr-o retea, se

face diferenta intre masini client si server, iar functionalitatile lor sunt diferite.

In sistemele peer-to-peer nu exista diferenta intre masinile client si server. Fiecare masina

are functionalitatile unui SGBD si poate comunica cu alte masini pentru a executa interogari si

tranzactii.

Eterogenitatea se poate manifesta in multe moduri in sistemele distribuite, de la

eterogenitatea hardware si diferenta intre protocoluri de retea la diferente intre managerii de date.

Se identifica astfel mai multe modele arhitecturale, dintre care cele mai importante sunt

(A0, D2, E0) (e.g. autonomie – integrare stransa, distributie – peer-to-peer, omogen) si (A2, D2,

H1) (autonomie – total izolata, distributie – peer-to-peer, eterogena).

Page 31: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

31

Din cele aproape treizeci de modele arhitecturale posibile obtinute prin combinarea unor

grade diferite de autonomie, distributie si eterogenitate, trei sunt mai importante, ele

reprezentand extreme ale acestor combinatii: sistemele client/server, baze de date distribuite si

sistemele multi-baze de date.

2.5. Cai de imbunatatire a lucrului cu baze de date

Lucru direct pe server

Bazele de date sunt de obicei mutate pe servere pentru a folosi procesoarele acestuia sau

performantele I/O mai ridicate. Alte aplicatii pot fi partajate tot pentru viteza dar si pentru

disponibilitate.

Reducerea timpului total de executie

Prin rularea unor cereri de cautare, sau alte comezi ce folosesc capacitatea de calcul

foarte intens, precum si procedurile stocate duc la reducerea acestui timp de executie.

Folosirea unui client multitasking

O data cu devenirea tot mai sofisticata a statiei client , capabilitatea ca aceasta sa execute

mai multe procese in acelasi timp este din ce in ce mai atractiva. Task-uri independente pot fi

activate pentru a gestiona procesele de comunicatie, cum sunt email, mesaje news, colectarea de

date de la servere remote. Aplicatii cu productivitate cunoscuta ca procesoare de texte si

prezentari grafice pot fi atractive. Multe din aceste aplicatii pot fi legate impreuna pentru a

furniza informatii despre mediul de procesare. Functii ca DDE sau OLE permit includerea de foi

de calcul in documente . Aceste link-uri pot fi active in sensul ca modificari ce se executa in

aceste “obiecte” se vor pastra si “updata” in documentul care le poarta.

Dezvoltatorii pot testa aprecia, crea si verifica programe in paralel.

Reducerea traficului de retea

Reducerea traficului de retea se poate face prin cateva metode bine cunoscute:

Page 32: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

32

Minimizarea cererilor - acestea sunt realizate prin ecrane de prezentare. In modelul

client/server, este posibil de a introduce scaderi de trafic. In vechile baze de date dBAse, FoxPro,

Access sau Paradox, cautarea este un proces pe care il gestioneaza clientul. Toate inregistrarile

sunt trimise clientului care va face si filtrarea necesara. In cazul unor baze de date de mari

dimensiuni acest lucru este dramatic. Inregistrarile care sunt blocate de un client apar ca “lock-

ed” pentru restul clientilor ele neputand fi updatate pana cand proprietarul lor nu va termina

tranzactia. Pentru acest motiv modelul server nu este eficient la un nr. mare de utilizatori.

OLTP(Online Transaction Processing) in modelul client/server are nevoie de trigere si proceduri

stocate. Produse ca Sybase, Ellipse sau Ingres folosesc capacitatile pe care serverele gazda le

ofera.

Folosirea cu grija a resurselor de retea

Folosirea aplicatiilor si a serverelor de baze de date pentru a produce un raspuns pentru

un set necesar manipularii unor date pot reduce dramatic traficul in reteaua respectiva. Nu exista

o valoare adaugata in a muta niste date de pe statia client catre alta zona a retelei. Scaderea

maxima a incarcarii retelei se realizeaza atunci cand datele care vin la client sunt doar cele

necesare in a popula forma respectiva de interogare.

Page 33: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

33

Capitolul 3

3.1 Necesitatea de dezvoltare software specializat de retea

Planificarea strategica, dezvoltarea si suportul pentru aplicatiile software este vitala, uneori

chiar scumpa, si poate duce a enorme beneficii si reduceri de costuri, timp de prezentare pentru

produse noi, customer satisfaction si asa mai departe. Sunt multe oportunitati care infuenteaza si

comprima timpul necesar pentru dezvoltarea unei aplicatii – prin folosirea unei strategii unitare .

Programele “Total Quality Management” cer ca programele sa fie imbunatatite si dezvoltate

continuu. O piata competitiva demonstreaza justa lor valoare.

In practica realizarea unei aplicatii client-server este un lucru care se face destul de usor.

Insa extinderea retelelor locale(LAN) de la cateva calculatoare la un parc de cateva zeci sau chiar

sute de calculatoare pune probleme in accesarea datelor simultane a mai multor utilizatori. Mai

mult utilizatorii pot forma grupuri functionale (de. Ex. Departamente: Tehnic,

Contabilitate…etc.) insa dispunerea lor in cadrul retelei sa fie la distanta: ex. o parte din

colectivul de la Tehnic sa fie in Ploiesti, o parte in Bucuresti si cealalta parte in Constanta. Toti

doresc accesarea datelor ce corespund departamentelor lor.Iata ca programele client trebuie sa

aiba capabilitatea de a se integra si comunica intr-o retea extinsa de la LAN la WAN, prin

legaturi care sunt destul de diferite ca viteza fiabilitate si care pot avea blocaje sau intreruperi.

Aplicatiile trebuie sa stie ce sa faca atunci cand un client a intrerupt legatura (din varii motive)

cand incepuse deja sa valideze anumite inregistrari. De asemenea trebuie sa aiba propriul sistem

de criptare/decriptate (in afara de autentificarile obisnuite) si pastrare a comenzilor intr-un format

care sa permita modificari usoare.

Programatorii de retea trebuie sa cunoasca acele “detalii” ale comunicarii in retea, a

tipurilor de interceptare, sau de atacuri asupra informatiei care circula intre client si server. De

exemplu se stie ca aplicatia telnet trimite toate comenzile catre server in clar (necriptat) , chiar si

Page 34: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

34

autentificarea adica introducerea numelui de utilizator si a parolei se face tot in clar, acest lucru

fiind un lucru grav care face ca aceasta comunicatie sa poata fi interceptata.

Prin comunicarea numai a comenzii respective de la client la server si apoi a rezultatului

aplicarii comenzii de la server la client traficul intre cele doua masini este redus la minim.

3.2 Unelte de programare de retea

Astazi sunt disponibile medii de programare cu capabiltati foarte puternice de programare

de retea cum sunt:

Delphi Borland ,

Visual Basic

PowerBuilder

Visual C++

Java.

In continuare sunt prezentate cateva din uneltele cela mai cunoscute de programare de retea:

ICONIX PowerTools, este un pachet de aplicatii ce permit dezvoltarea de aplicatii

structurate, orientate obiect.

Acest software aduce o suita de conceptein dezvoltarea aplicatiilor client/server , mai

multe informatii se pot obtine de la adresa : http://www.biap.com/iconix

Unisys TransIT Open/OLTP este o colectie de unelte de dezvoltare si software de

management care ofera module de procesare tranzactii pentru platformele Windows si Windows

NT dar si pentru platforme UNIX. Se pot dezvolta foarte repede aplicatii distribuite si scalabile

bazate pe standardele existente (X/open si ISO), API de nivel inalt, retele si protocoale. Aceste

aplicatii pot amesteca cu usurinta atribute ale diferitelor platforme, UNIX, Windows putand sa

integreze si sa sincronizeze multe baze de date prezente pe platforme diferite. Acest software de

clasa medie lucreaza foarte bine cu Microsoft sau cu alte aplicatii de dezvoltare si include librarii

pentru : C++, C sau COBOL, plus DLL(Dynamic Link Libraries) pentru Windows NT si

Windows 9x. De asemnenea pentru plaftormele Windows este disponibil OLE “point-and-click).

Pe orice platforma, aceste unelte imbunatatesc accesul la date( exemplu ODBC sa SQL) prin

introducerea capabilitatilor cu procesare de tranzactii. Aplicatiile runtime pot asigura replicari

Page 35: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

35

pentru servere fara ca acest lucru sa duca la probleme pentru aplicatiile client. Adresa de Internet

este: http://www.unisys.com

JAM 7, este un “tool” multiplatforma pentru constructia aplicatiilor distribuite client/server.

Este format dintr-un modul grafic pentru desen, si propriul limbaj script numit JPL, un modul

Visual de Librarii pentru a permite crearea de obiecte complexe care pot fi partajate ca si ecrane

si updatate ca si mostenire. Este format din peste 100 de functii C si diferite alte unelte si

utilitare. Aplicatiile dezvoltate in JAM pot rula in peste 100 de platforme nemodificate

enumerand doar cateva din acestea: DOS, Windows, Motif, OS/2, Macintosh, VAX, Unix. JAM

de asemenea este integrat cu peste 20 de tipuri se servere de baze de date relationale cum sunt:

Oracle, Informix, ODBC, DB/2 si altele.

INTERSOLV este unul din liderii pietei de dezvoltare a aplicatiilor client/server. Solutiile

dezvoltate se bazeaza pe dezvoltari orientate obiect, sisteme deschise si pe “data

warehouse”(baze de date de marimi mari care prin interfete cu diferite platforme pot colecta date

din diferite alte baze de date).

Adresa de Internet este http://www.intersolv.com

CS/8000 este unul din sistemele de dezvoltare care se bazeaza pe implementarea

metodologiilor in programarea client/server, sisteme expert si arhitecturi speciale de aplicatii

client/server.

Cu CS/8000 se poate realiza orice aplicatie client server de orice complexitate. Prin

structura sa, CS/8000 prezinta proiectele de lucru sub o forma organizata, avand totodata marele

avantaj de a genera in mod automat toata documentatia unui proiect.

Adresa de Internet este: http://www.cs8000.com

CI-Link este un puternic program de dezvoltare situat in clasa de mijloc al aplicatiilor de

acest gen, care permite conectari intre baze de date SQL cu baze de date Macintosh. Modulul

Ellipse Query este o modul foarte usor de folosit pe platforma Macintosh si Windows.

Adresa de Internet este : http://www.cornut.fr

MAGNA X este o aplicatie de dezvoltare care a revolutionat soft-urile de acest gen din

1990 pana in prezent. Este o aplicatie OLTP de o complexitate medie, care genereaza aplicatii

client server concentradu-se mai mult pe dezvoltarea partii de aplicatie server. Partea de aplicatie

client poate fi scrisa in orice limbaj incluzand: Power Builder, Visual Basic, Delphi, Java, C sau

Page 36: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

36

C++. Daca este folosit PB sau VB atunci se poate folosi “vrajitorul” integrat care automatizeaza

construirea aplicatiei fara a scrie linii de cod. Sunt suportate platforme de baze de date ca Oracle,

DB/2, Sybase sau Informix.

Dynasty este un adevarat mediu de dezvoltare aplicatii client/server pentru companii.

Aduce o reala solutie deschisa, generand cod C adevarat, nativ functie de platforma destinatie.

Dintre platformele suportate enumeram: Windows /9x/NT, OS/2, Motif, Macintosh.

Sysdeco este produs de firma Systemator , companie scandinava de software. Aplicatia

aduce suport pentru toate etapele de dezvoltare, de la modelarea pana la implementare, testare si

intretinere. De asemenea permite conectarea cu diferite servere de baze de date, pe diferite

platforme. Printr-o interfata puternica si un dialog grafic foarte bine pus la punct, Systemator

aduce un puternic motor de generare prototipuri GUI, facilitand implicarea foarte puternica inca

din primele faze ale proiectului. In modulul model designer se pot construi modele abstracte .

Modulul “data” este baza aplicatiei fiind folosit pentru generarea structurii bazei de date dar si

pentru generarea interfetelor utilizator.

NATSTAR este un mediu de dezvoltare aplicatii client/server care ofera un mediu prietenos

bazat orientat pe obiecte.

3.3 Interfata cu utilizatorul

Aplicatia client gestioneaza interfata cu utilizatorul. Aceasta include afisare ferestre,

mouse,, etc.

Aplicatiile client care permit un limbat bazat pe scripturi, trebuie sa includa si un

interpretor de comenzi. Unii clienti trebuie sa aiba capabilitatea de a interpreta parametri si a

executa proceduri cand butoanele sunt apasate sau hyperlink-uri selectate. Aceasta poate fi

numita interpretare de comenzi.

Intrare de date

Virtual toti clientii trebuie sa aiba un anumit tip de intrare de date. Intrarea de date nu se

refera doar la completarea unor forme, ci la orice fel de date intrate in sistem. Un timp de

procesare este necesar de fiecare data cand este introdusa o data.

Validare de date

Page 37: 65425827-licenta-Saftoiu

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

37

Dupa ce datele sunt introduse intr-o forma, acestea au nevoie de o validare primara.

Validarea poate merge pana la a fi sigur daca niste campuri contin niste date de verificat.

Validarea se refera si la orice alte verificari facute de client.

Online Help(ajutor imediat)

Majoritatea aplicatiilor inlud si posibilitatea de a obtine asistenta imediata pentru anumite

functiuni ale programului

Tratarea erorilor

Sunt multe cazuri in care tratarea erorilor intr-o aplicatie client/server joaca un rol foarte

important. Erorile pot aparea din diverse cause , cele mai frecvente sunt: erori de comunicatie, de

date, de la echipamente sau alte erori care pot aparea si care trebuie tratate ca atare.


Recommended