Sunteți pe pagina 1din 37

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

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 tiinific Prof.univ.dr. Gabriela Mircea

Absolvent Saftoiu Mihai

Timisoara 2011

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

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

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

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 construcia unei aplicaii cu baze de date distribuite pe un server. . Lucrarea este nsoit de o aplicaie realizat sub NetBeans , aplicaie ce constituie exemplul analizat n lucrare. .

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

Capitolul 1. Servers
1.1 Introducere n tehnologia informaiei, un server este un program de aplicaie care furnizeaz servicii altor aplicaii (numite aplicaii client), aflate pe acelai calculator sau pe calculatoare diferite. De obicei, aplicaia server ateapt conexiuni din partea aplicaiilor client. Se mai numete server i calculatorul pe care ruleaz una sau mai multe asemenea aplicaii. Deseori soluia pentru mari aplicaii cu muli utilizatori se bazeaz tocmai pe arhitectura client-server, care const din cel puin 2 aplicaii (i deseori cel puin 2 computere). Serverele au aprut n paralel cu reelele de calculatoare. Reelele permit calculatoarelor s comunice unul cu celalalt, iar cu ct reeaua este mai mare apare nevoia ca un calculator s ia rolul de server care s deserveasc alte calculatoare (acestea interacionnd eventual direct cu utilizatorii umani), care i asum la rndul lor rolul de client. i dup apariia serverelor reelele s-au dezvoltat i au crescut mai departe; n schimb minicomputerele care erau mai eficiente dect cele personale dar mai puin eficiente dect mainframe-urile au disprut sau au fost "absorbite" de unele din aceste servere (au preluat rolul de server). Apariia reelelor cu calculatoare personale, a Internetului i rspndirea utilizatorilor acestor servicii au dat un impuls puternic dezvoltrii serverelor.

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

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 aplicaie pe computer, uneori chiar un computer ntreg, care opereaz continuu n reeaua sa i ateapt solicitri din partea altor calculatoare din reea. Serverele pot fi folosite simultan i pentru alte scopuri, dar cnd nevoile o cer, ele pot fi rezervate exclusiv pentru funcia de server. De exemplu, un calculator se poate folosi ntr-un birou simultan pentru dou scopuri, ca staie de lucru i ca server pentru celelalte calculatoare din birou. Cuvntul server provine din cuvntul englez to serve a servi: calculatorul server poate n principiu deservi ntreaga reea de calculatoare clieni, pentru a asigura accesul la toat paleta de forme de conectare i servicii. Deseori unul i acelai computer poate juca ambele roluri, i de server, i de client, n acelai timp. Numele de server este un alt termen pentru Host computer computer gazd, spre deosebire de alte elemente "inteligente" din reea cum ar fi routerele i switch-urile. n zilele noastre serverele se aseamn fizic cu celelalte calculatoare uzuale, dei configuraia hardware este deseori optimizat pentru funcionarea lor ca servere. Multe componente de hardware sunt identice cu cele ce le gsim ntr-un calculator personal. Totui serverele ruleaz sisteme de operare i programe specializate care sunt foarte diferite fa de cele folosite pe calculatoare personale i staiile de lucru. Serverele nu trebuiesc confundate cu calculatoarele de tip mainframe, care centralizeaz informaii i proceseaz activitile firmelor mari. Un mainframe poate n principiu s funcioneze simultan i ca server, sau chiar ca mai multe servere virtuale, pe lng toate celelalte activiti. Multe companii mari folosesc ambele tipuri de calculatoare, anume i mainframe, i servere. Acestea din urm sunt de obicei mici, multe i descentralizate.

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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) 7

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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.

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

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. 9

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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 intrun 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

10

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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 11

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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

12

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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 13

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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. 14

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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

15

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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.

16

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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 17

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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 18

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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

19

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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

20

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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.

21

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

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

22

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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 23

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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

24

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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

Site 1 Site 5 Site 2

Retea de comunicatie
Site 4 Site 3

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.

25

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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

26

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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 27

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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.

Utilizatori

Schema extern

Vedere extern

Vedere extern

Vedere extern

Schema conceptual

Vedere conceptual

Schema intern

Vedere intern

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.

28

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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.

Administrator societate

Administrator baza de date

Procesor schema conceptuala a bazei de date

Administrator sistem

Procesor schema interna

Procesor schema externa

Transformare inmagazinare interna/BD interna

Transformare BD/conceptuala interna

Transformare conceptual/BD externa

Programul aplicatie interna

Programul aplicatie externa

Programator sistem/aplicatie

Programator aplicatie

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.

29

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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). 30

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

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: 31

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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 locked 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.

32

Utilizarea Serverelor de Baze de Date in aplicatiile de proces

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, Contabilitateetc.) 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 33

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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 34

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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 35

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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 36

Utilizarea Serverelor de Baze de Date in aplicatiile de proces


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.

37

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