licenta saftoiu

Upload: mihai-saftoiu

Post on 07-Apr-2018

242 views

Category:

Documents


2 download

TRANSCRIPT

  • 8/4/2019 licenta Saftoiu

    1/37

    Utilizarea Serverelor de Baze de Date in aplicatiile de proces

    1

    UNIVERSITATEA DE VEST DIN TIMISOARAFACULTATEA DE ECONOMIE

    SI DE ADMINISTRARE A AFACERILORSPECIALIZAREA:INFORMATICA ECONOMICA

    Utilizarea Serverelor de Baze de Date

    in Aplicatiile de Proces

    Coordonator tiinific Absolvent

    Prof.univ.dr. Gabriela Mircea Saftoiu Mihai

    Timisoara2011

  • 8/4/2019 licenta Saftoiu

    2/37

    Utilizarea Serverelor de Baze de Date in aplicatiile de proces

    2

  • 8/4/2019 licenta Saftoiu

    3/37

    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/Server1.5 Componentele Client/Server

    1.5.1 Rolul Clientului.1.5.2Serviciile Clientului1.5.3Rolul Server-ului..

    1.6 Configuratii Client/ServerCapitolul 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 proces3.1 Necesitatea de dezvoltare a unei aplicatii

    3.2 Unelte de programare in retea . 3.3 Interfata cu Utilizatorul ..

    Referinte Bibliografice

    Anex

  • 8/4/2019 licenta Saftoiu

    4/37

    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" , serealizeaz ntr-o prim parte o prezentare a evolutiei dezvoltarii tehnologiei client/server iar n adoua parte se descrie pe un exemplu concret construcia unei aplicaii cu baze de date distribuitepe un server.. Lucrarea este nsoit de o aplicaie realizat sub NetBeans , aplicaie ce constituie exemplulanalizat n lucrare..

  • 8/4/2019 licenta Saftoiu

    5/37

    Utilizarea Serverelor de Baze de Date in aplicatiile de proces

    5

    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 calculatorsau 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-urileau disprut sau au fost "absorbite" de unele din aceste se rvere (au preluat rolul

    de server).

    Apariia reelelor cu calculatoare personale, a Internetului i rspndirea utilizatorilor

    acestor servicii au dat un impuls puternic dezvoltrii serverelor.

  • 8/4/2019 licenta Saftoiu

    6/37

    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 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 computercomputer 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. Totuiserverele 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.

  • 8/4/2019 licenta Saftoiu

    7/37

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

  • 8/4/2019 licenta Saftoiu

    8/37

    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.

  • 8/4/2019 licenta Saftoiu

    9/37

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

  • 8/4/2019 licenta Saftoiu

    10/37

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

  • 8/4/2019 licenta Saftoiu

    11/37

    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, imagineapoate 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

  • 8/4/2019 licenta Saftoiu

    12/37

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

  • 8/4/2019 licenta Saftoiu

    13/37

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

  • 8/4/2019 licenta Saftoiu

    14/37

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

  • 8/4/2019 licenta Saftoiu

    15/37

    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

  • 8/4/2019 licenta Saftoiu

    16/37

    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.

  • 8/4/2019 licenta Saftoiu

    17/37

    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

  • 8/4/2019 licenta Saftoiu

    18/37

    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

  • 8/4/2019 licenta Saftoiu

    19/37

    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

  • 8/4/2019 licenta Saftoiu

    20/37

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

  • 8/4/2019 licenta Saftoiu

    21/37

    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.

  • 8/4/2019 licenta Saftoiu

    22/37

    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 dedate 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 dinserverele 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

  • 8/4/2019 licenta Saftoiu

    23/37

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

  • 8/4/2019 licenta Saftoiu

    24/37

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

  • 8/4/2019 licenta Saftoiu

    25/37

    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 3Site 4

    Site 5

    Retea decomunicatie

  • 8/4/2019 licenta Saftoiu

    26/37

    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

  • 8/4/2019 licenta Saftoiu

    27/37

    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 ArhitecturaANSI/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

  • 8/4/2019 licenta Saftoiu

    28/37

    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

    externVedere

    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.

  • 8/4/2019 licenta Saftoiu

    29/37

    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.

    Administratorsocietate

    Procesor schemaconceptuala abazei de date

    Administratorsistem

    Administratorbaza de date

    Procesorschemainterna

    Procesorschemaexterna

    TransformareBD/conceptuala

    interna

    Transformareconceptual/BD

    externa

    Transformareinmagazinare

    interna/BD interna

    Programul

    aplicatieinterna

    Programul

    aplicatieexterna

    Programatorsistem/aplicatie

    Programatoraplicatie

  • 8/4/2019 licenta Saftoiu

    30/37

    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. autonomieintegrare stransa, distributiepeer-to-peer, omogen) si (A2, D2,

    H1) (autonomietotal izolata, distributiepeer-to-peer, eterogena).

  • 8/4/2019 licenta Saftoiu

    31/37

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

  • 8/4/2019 licenta Saftoiu

    32/37

    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.

  • 8/4/2019 licenta Saftoiu

    33/37

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

  • 8/4/2019 licenta Saftoiu

    34/37

    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 , maimulte 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

    http://www.biap.com/iconixhttp://www.biap.com/iconix
  • 8/4/2019 licenta Saftoiu

    35/37

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

    http://www.intersolv.com/http://www.cs8000.com/http://www.cornut.fr/http://www.cornut.fr/http://www.cs8000.com/http://www.intersolv.com/
  • 8/4/2019 licenta Saftoiu

    36/37

    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

  • 8/4/2019 licenta Saftoiu

    37/37

    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.