Proiect Biometrie
Proiect Biometrie
FACULTATEA DE INFORMATICĂ
Departamentul de Tehnologii ale Informației și Comunicațiilor
PROIECT DE FINAL DE CARIERĂ ÎN INGINERIE TEHNICĂ ÎN
INFORMATICĂ DE GESTIUNE
Părinț ilor mei, familiei, prietenilor ș i colegilor de facultate pentru că fără ei nimic
ar fi posibil.
Tuturor celor care mi-au oferit ajutorul lor dezinteresat pe forumurile de Internet
consultati.
Resumen
Cuvinte cheie
3
Sistem de gestionare a amprentelor Indice
dactilare în format digital
INDICE
1. INTRODUCERE 6
[Link] ARTEI
[Link]
4.1. Modelare 36
4.2. Limbaje ș i instrumente 53
4.3. Proiectare ș i dezvoltare 74
6. CONCLUZII 113
4
Sistem de gestionare a amprentei Indice
dactilare în format digital
BIBLIOGRAFIE 129
5
Introducere
1. INTRODUCCIÓN
Trebuie avut în vedere că o mare parte din sistemele de autentificare actuale sunt
bazate exclusiv pe utilizarea unui card personal ș i, sau, un PIN, cu ale sale
probleme de securitate consecvente.
6
Introducere
ü Posibilăvariabilitateîntimpamodeluluideidentificat(afonii,
cataruri în voce, utilizarea ochelarilor/mustăț ii/bererii pe faț ă, etc.).
7
Introducere
ü Proiectareaș idezvoltareasistemuluidegestionare.
ü Integrareaunuialgoritmdeautentificarepebazaamprenteifurnizate.
ü Validareasistemului.
8
Domeniul aplicației
În prezent, unul dintre cerinț ele fundamentale ale sistemelor informatice este
mecanismele de securitate care trebuie să includă cel puț in un sistem care să permită
identificarea entităț ilor (elemente active ale sistemului, în general utilizatori) care
intenț ionează să acceseze obiectele (elemente pasive, cum ar fi fiș ierele sau capacitatea de
cómputo), prin procese atât de simple precum o parolă sau atât de complexe
ca un dispozitiv de analiză a patternurilor retiniene.
Cu toate acestea, ceea ce face de obicei utilizatorul este să-ș i introducă identitatea (un
număr, un nume de utilizator, etc.) în plus faț ă de a-ș i arăta retinele în faț a cititorului. În
9
Domeniul aplicației
problema unei populaț ii potenț ial foarte ridicate pentru un grup de utilizatori mai
reducereagrupuluideutilizatoriaisistemuluicarenecesităautentificare.
Metodele de autentificare sunt de obicei împărț ite în trei mari categorii, în funcț ie de
de ceea ce folosesc pentru verificarea identităț ii: (a) ceva ce utilizatorul ș tie, (b)
ceva ce acesta posedă ș i (c) o caracteristică fizică a utilizatorului sau un act involuntar
această ultimă categorie este cunoscută sub denumirea de autentificare
biometrică.
În plus faț ă de aceste caracteristici, există una care nu este tehnică, ci umană, dar poate că
mai important: un sistem de autentificare trebuie să fie acceptat de utilizatori, care
vor fi în cele din urmă cei care îl vor folosi. De exemplu, să ne imaginăm un potenț ial
sistem de identificare pentru accesarea resurselor Universităț ii, constând
pe un dispozitiv care ar fi capabil să efectueze o analiză de sânge unui utilizator ș i astfel
10
Domeniul aplicației
verifică dacă este cine spune că este; cu siguranț ă ar fi ieftin ș i foarte fiabil, dar
nimeni nu ar accepta să dea puț in sânge de fiecare dată când ar dori să-ș i consulte emailul.
11
Domeniul aplicației
În mod evident, aici agentul recunoaș terii o are uș or pentru că este o persoană, dar în
modelul aplicabil reț elelor de comunicaț ii agentul trebuie să fie un dispozitiv care,
bazându-se pe caracteristicile subiectului de identificat, gestiona ț i accesul la un
resursă determinată.
Procesul general de autentificare urmează câț iva paș i comuni tuturor modelurilor
de autentificare biometrica: capturarea sau citirea datelor pe care utilizatorul le valideaza
prezentă, extragerea anumitor caracteristici din e ș antion (de exemplu,
minu ț ii ale unei amprente digitale), compararea acestor caracteristici cu
înregistrate într-o bază de date, ș i decizia dacă utilizatorul este valid sau nu.
12
Domeniul aplicației
Obținedrae
model
BadleD
Preproc. Extracț ie
Achzțideie
dela de
date
Persoană Semnal Caracteristici
Autentificator
Incógnită Decizie
Am
gtloirde
Recunoaș tere
13
Domeniul aplicației
Pentru a determina performanț ele unui sistem biometric, se utilizează adesea rata de
rata de succes (Success Rate, SR) care răspunde unei combina ț ii a celor două factori
anterioare
Prin urmare, trebuie stabilit un parametru sau un prag care să permită egalizarea celor doi factori.
14
Domeniul aplicației
Tipic, amprenta digital a unui individ a fost un model destul de bun pentru
determinarea identităț ii sale în mod inconfundabil, deoarece este acceptat că două degete
niciodată nu au amprente similare, nici măcar între Gemeni sau între degete de la aceeaș i
persoană. Prin urmare, pare evident că urmele s-ar transforma mai devreme sau mai târziu într-un
model de autentificare biometric: de la secolul trecut până în zilele noastre se
se efectuează cu succes clasificări sistematice ale amprentelor digitale în
contextul poliț ienesc, iar utilizarea acestor modele a fost unul dintre primele care s-au stabilit
Când un utilizator doreș te să se autentifice în faț a sistemului, îș i plasează degetul într-o zonă
15
Domeniul aplicației
Aceste două caracteristici sunt definitivate în mod unic în funcț ie de localizarea lor
(coordonatele x, y în raport cu sistemul de coordonate central al imaginii) ș i de a sa
orientare(unghi)
16
Domeniul aplicației
Este dovedit că două degete nu pot avea niciodată mai mult de opt mărun ț iș uri
comune, iar fiecare are cel puț in între 30 ș i 40 dintre acestea. În figura 3 este prezentat
o imagine a unei amprente digitale cu minuț iile sale. Dacă comparaț ia dintre
poziț iile relative ale minutelor citite cu cele stocate în baza de date sunt
corectă, se permite accesul utilizatorului, fiind refuzat evident în caz contrar.
17
Starea Arte
3. Starea artei
A pune degetul pe un scanner, a vorbi printr-un microfon sau a privi de aproape o cameră
poate fi suficient pentru a trece controlul de securitate ș i a accesa o instalaț ie sau
sistem informatic. Tehnologia biometrică a depă ș it laboratoarele de
espionaj, loca ț ii militare ș i guvernamentale pentru a- ș i extinde aplica ț iile la
piaț a de afaceri ș i de consum.
Aeroporturile din San Francisco ș i New York utilizează sisteme care recunosc
geometria a mâinii angajaț ilor. Acelaș i sistem este folosit în aeroport
israelian de Tel Aviv pentru pasagerii frecvenț i ai companiilor aeriene El Al. În
Heathrow (Londra) se desfă ș oară o experien ț ă cu 2.000 de pasageri
nord-americanii de la companiile aeriene British Airways ș i Virgin Atlantic (trebuie să fie
18
Stadiul Arte
Guvernul Statelor Unite a ieș it din grupul de 60 de companii ș i agenț ii pentru a-ș i crea
tehnologia sa. Departamentul de Apărare dispune de o organizaț ie ș i un
laborator de biometrică, unde testează utilitatea celor peste 600 de produse
existente pe pia ț ă. Departamentul de Energie dezvoltă un scanner
holografic care va analiza, prin intermediul undelor radio ș i în trei dimensiuni, la
pasageri pentru a verifica dacă ascund arme.
Experț ii consideră că pentru a nu încălca intimitatea, una dintre cele mai bune
opț iunile sunt utilizarea sistemelor hibride care stochează datele biometrice pe carduri
infrastructuri inteligente ș i infrastructuri de cheie publică. În acest fel, se evită ca
informa ț ia se află în baze de date. În prezent, sunt în studiu
sistemecareanalizeazămirosuluman,venelemâiniisauformadeamerge.
19
Starea Arte
Acest sistem funcț ionează pe bază de ultrasunete, ceea ce evită defecț ele care până acum s-au
producau cu citirea optică din cauza murdăriei pe piele sau pe dispozitivul de scanare.
Compania valicense specializată în tehnologii de securitate Mundiscan
Sistemele Electronice au prezentat recent primul sistem infailibil de
identificareprinamprentădigitalăbazatăpeultrasunete.
Această ultimă tehnologie provoca probleme din cauza dificultăț ilor de citire, dacă
pielea sau dispozitivul de scanare erau murdare, lucru care provoca
în consecinț ă, o respingere pe piaț ă. Mundiscan Electronic Systems este
singura companie care, prin utilizarea ultrasunetelor, a reuș it să depăș ească acest lucru
problema impunând un metod de identificare infailibil. Tehnologia este
aplicabil la controalele clădirilor care necesită un nivel înalt de securitate, cum ar fi
aeroporturi, bănci, sedii guvernamentale, companii private, facilită ț i
militarisauînchisori.
20
Starea artei
Studiul se bazează pe obț inerea unei amprente artificiale care să înș ele sistemele de
autentificare. Profesorul Matsumoto arată cum să ob ț ii artificial o
amprentacarepoateservicaoriginală.
Afaceoamprentăartificialădirectdintr-oamprentăreală:
ü Cum se face o matriț ă: Puneț i plasticul în apă caldă pentru a-l îmbuna.
presionează degetul împotriva lui, obț inând amprenta.
21
Starea artei
Dedo de gelatina a provocat un avans în rândul unor producători ș i pentru alț ii,
mai prevăzători, le-a confirmat ceva ce putea să se întâmple.
În orice caz, toț i aceș tia continuă zilnic să efectueze teste de alt tip de posibile.
vulnerabilită ț i pentru a crea o evolu ț ie ș i o apropiere asintotică de punct
limite de securitate de 100%.
22
Starea artei
Autentificarea înseamnă a verifica dacă un individ este cine spune că este. Algoritmul de
autentificarea care este utilizată în prezentul proiect este formată din două blocuri: în
în primul rând se extrag detaliile caracteristice ale amprentei „actuale” a utilizatorului
ceea ce se va autentifica (algoritmul de extragere a minutelor) ș i, în al doilea rând, se
compară aceste minuscule caracteristici ale amprentelor tale cu minusculele stocate
în baza de date sub formă de „ș ablon” (algoritm de comparare a minutelor).
Una dintre cele mai importante sarcini într-un sistem de recunoaș tere a amprentelor este
extracț ia detaliilor dintr-o imagine capturată a unei amprente. Din cauza
imperfecț iuni ale imaginii obț inute, în unele cazuri algoritmul de extragere
se pot omite unele detalii, iar în altele pot fi adăugate detalii false. Cele
imperfec ț iunile imaginii pot genera de asemenea erori în determinarea
coordonatele fiecărei minute ș i orientarea lor relativă în imagine.
23
Starea artei
Obiectivul acestei etape este de a diminua intervalul de variaț ie a nuanț elor de gri între văi ș i
24
Starea artei
Datorită faptului că imaginea conț ine „zgomot” de fond, algoritmul poate genera
minucias în afara zonei ocupate de amprenta. Pentru a evita această problemă, se
selectează zona de imagine, definită de toate blocurile de 16x16, în care
există o variaț ie mare a nivelului de griuri în direcț ia normală a crestelor
existente (câmpul de orientare normal al crestelor a fost calculat
25
Starea artei
Pentru a decide dacă un pixel aparț ine sau nu unei creste date, este necesar să filtrăm
imaginea amprentei cu două măș ti adaptabile, ambele capabile să crească
nivel de griș în direcț ia normală a crestei. Orientarea măș tii se
adaptează fiecare bloc de 16x16 pixeli, în func ț ie de unghiurile ob ț inute din
câmp de orientare realiniate ale figurii 5(b).
Ș i dacă nivelul de gri al unui pixel depăș eș te un prag în cele două imagini filtrate, se
consideră că pixelul aparț ine crestei; altfel se atribuie unui vale,
producând o imagine binară a amprentei. Dimensiunile măș tii sunt
LxLș i sunt definite prin ecuaț iile date în (1) ș i (2).
26
Starea actuală a artei
ì 1 æu-u
-ç
0 ö2
÷
h(u,v)=
ï
í ×e è d ø
, si :u0=E[(vc-v )ctg(q ) +uc]
1 2Pd
ï 0 , în alt caz
î
ì 1 æv-v
-ç 0 ö
÷
2
h(u,v)=
ï
í 2Pd
×e è d ø
, si :v0 =E[uc(-u tgq+v
) c(] )
2
ï 0 în alt caz
î
u,vÎ L[,1 ]
unde se află coordonatele unui pixel în mască; (uc, v ) este centrul dec la
masca;q, este unghiul de orientare a crestei în fiecare bloc al imaginii, yd,
este un parametru pentru a ajusta funcț ia mascare la lăț imea crestei. Figura 7(a)
arată imaginea filtrată cu una dintre măș tile „spaț iale”. Figura 7(b)
reprezintă imaginea binară obț inută după aplicarea unui prag, producând
borduri de creste netede.
27
Starea artei
unde p[u,v], este rezultatul profilării imaginii; f[u,v], este imaginea binară;
fH[u,v] y fL[u,v] sunt, respectiv, imaginile de frecvenț ă înaltă ș i frecvenț ă joasă; ș i
un factor(l>0), care determină gradul de profilare. În figura 8(a) se arată
rezultatul amprentei după aplicarea primului filtru. Se poate aplica un
filtru nou pentru eliminarea crestelor false cauzate de petele din imagine. În acest
se utilizează o mască „spaț ială” capabilă să îș i adapteze orientarea localmente la
orientarea crestei.
28
Starea artei
[Link] Simplificare
29
Starea artei
Odată ce procesul de extragere a detaliilor a fost finalizat, planifica conț ine între
70 ș i 80 de minucii. În figura 10 se arată modelul de minucii obț inut
suprapuspesteimagineaamprenteinormalizate:
30
Stadiul artei
Prin împerechere se determină dacă două amprente sunt de la acelaș i deget sau nu. Cele două
caracteristicile folosite în potrivirea amprentelor sunt capetele ș i
bifurcaț iilecrestelor (minuț ii).
ü Orientaredefinităcaorientarealocalăacresteiasociate.
ü Tipuldeminuț ia,carepoatefifinalulcresteibifurcării.
ü Lacrestaasociada.
P= ((x ,y ,q
1
P
1
P
1
P
) ,..., (x
T P
M,yMP,qMP )T
)
ș i numind Q setul de N detalii din imaginea de „intrare” (cea care va fi
comparăcuimagineaș ablon)avem:
31
Starea Artei
Q= ((x 1 ,y1Întrebare),q,...,
Întrebare T
1
Q
(Nxer,qNabÎe,yrNQtnÎ )
T
)
Pentru fiecare nimiceu(1££iM)yQ(1£j£N)
j în setul de măruntisuri
imaginea de "intrare" ș i a ș ablonului, denotăm rotate[i][j] ca unghiul de
rotación entre la imagen de “entrada” y la plantilla, tomando P y Q como el puntoeu j
Si Peuy Qjnu sunt de acelaș i tip, se atribuie 400 la rotate[i][j]. Pe de altă parte
denotăm prin R ș i r creș terile care aparț in detaliilor P ș i Q. Se eu j
compara R cu r pentru a obț ine diferenț ele dintre aceste două creste conform cu
ecuaț iaurmătoare:
1 L
Lå
Diff_dist= eu=0
R(deu)-r(deu)
32
Starea artei
1 L
R( a eu) -r(aeu )
Lå
Diff_ang= eu= 0
SiDiff_distes mai mare decât Tdodiff_anges mai mare decât To , se pune rotatează[i][j]a
400. În alt mod, calculăm rotate[i][j] ca:
ær euö çç
æ
(xi- x r ) + (x
2
eu-yr ) 2 ö
÷
ç ÷ æy -yrö ÷
ç
ç eeu÷ =tan
-1
çç eu r ÷ ÷+roti [eu][ j ]÷
çqeu÷ ç è xeu-x ø ÷
è ø ç qeu- q r ÷
ç ÷
è ø
33
Starea artei
s
Peu
= ((r ,e ,q ) ,..., (r ,e ,q ) )
1
p
1
p
1
p T
M
p p
M M
p T
( r ,e = ,q ) ,..., (r ,e ,q ) )
Întrebare Î sÎntrebare
1 eu 1 1
QT
N
Întrebare Q
N
QT
N
34
Starea artei
35
4. Metodologie
4.1 Modelare
În primul rând, se face o analiză a problemei, utilizatorilor, cerinț elor funcț ionale,
etc. Pentru aceasta, vom folosi Limbajul Uniuni de Modelare („Unified Modeling
Limbaj”, UML de acum înainte) deoarece constituie un standard utilizat pe scară largă
în dezvoltarea software-ului.
Având în vedere că acesta va fi limbajul pe care îl vom folosi pentru a modela noastră
aplica ț ie, vom face o scurtă introducere ș i vom eviden ț ia principalele sale
caracteristici:
36
Limbaj Unificat de Modelare
UML este un standard pentru a scrie 'planuri' de software. UML poate fi utilizat
pentru a vizualiza, specifica ș i documenta artefactele unui sistem care implică
o cantitate mare de software.
Este un limbaj foarte expresiv, care acoperă toate perspectivele necesare pentru a dezvolta
ș iapoiadesfăș uraastfeldesisteme.
37
Limbajul Unificat de Modelare
Vocabularul ș i regulile unei limbi precum UML indică cum să creezi ș i să citeș ti.
modele bine formate, dar nu spun ce modele trebuie create nici când se
ar trebui să creeze. Aceasta este sarcina procesului de dezvoltare a software-ului.
fiecare simbol în notaț ia UML are o semnificaț ie bine definită. În acest fel,
un dezvoltator poate scrie un model în UML, iar alt dezvoltator, sau chiar
o altă unealtă, poate interpreta acest model fără ambiguitate.
38
Limbaj Unificat de Modelare
UML acoperă toată documentaț ia arhitecturii unui sistem ș i toate cele ale sale
detalii. UML oferă, de asemenea, un limbaj pentru a exprima cerinț e ș i teste.
În cele din urmă, UML oferă un limbaj pentru a modela activită ț ile de
planificarea proiectelor ș igestionarea versiunilor.
39
Actori ai sistemului
Utilizator Administrator
ActorAdministrator: Este este responsabil cu menț inerea datelor din baza de date.
Munca sa constă în a face înregistrări, ș tergeri ș i modificări ale utilizatorilor în baza de date
date. Toată munca sa va putea fi realizată prin intermediul web-ului, după autentificare
biometrică, de care se ocupă serverul.
Actor utilizator: Reprezintă persoana care trimite imaginea amprentei sale astfel
cum datele referitoare la ea, prin intermediul web-ului, pentru a face parte din
bază de date. De asemenea, are posibilitatea de a se autentifica pentru a verifica că
amprenta ș i datele au fost incorporate în baza de date.
40
Cazuri de utilizare
Al t a _ a d m i n
<<include>>
<<uses>>
<<include>> <<uses>>
Modificare Visualizare
Gestión
Ad m i n i s t r a t o r
(d e la A c t o r e s)
<<include>> <<uses>>
<<uses>>
Baja
Autent_admin
41
Cazuri de utilizare
Cazul „Gestionare” este cel mai general, reprezintă interacț iunea administratorului cu
sistemul, atunci când realizează sarcinile de administrare. Foloseș te, de asemenea, cazul de
uso“Autenti_admin.”,carevaautentificaadministratorul.
Este vorba de a schimba câmpul Alta din 'F' în 'T', adică din False în True. De acest
un utilizator cu câmpul Alta la 'T' va fi înregistrat în baza de date,
în timp ce unul care îl are pe 'F', se va afla în aș teptare.
Cazul de utilizare „Baja” va ș terge un utilizator din baza de date, atât datele
personale precum datele amprentelor trimise. În acest ultim punct se
vor elimina fizic imaginile amprentelor, precum ș i ș abloanele generate
începând de la acestea.
42
Cazuri de utilizare
Prin urmare, acest proces se va desfăș ura pentru înregistrări, eliminări ș i modificări în scopul
ca administratorul să ș tie în orice moment ce face. Astfel, mai întâi se
to ț i utilizatorii vor fi vizualiza ț i ș i, odată ce unul este selectat, i se va arăta
informaț ii complete referitoare la acesta, pentru a confirma operaț iunea care este la
punct de realizare.
43
Casos de uso
Alta_nuevo_usu
Al t a _ u s u a r i o
folosi
Al t a _ e x i s t e n t e _ u s u
Ușor
( de la Actrițe )
generar_plantilla
Au t e n t i c a r
Cazul de utilizare „Înregistrare” realizat de utilizatori prin intermediul web-ului se specializează în două:
în primul rând sunt utilizatorii care solicită pentru prima dată înregistrarea în baza noastră de date
44
Cazuri de utilizare
45
Limbaje și Unelte
În dezvoltarea acestei baze de date vom folosi o abordare entitate-relaț ie, pentru
ulterior, converti ț i modelul rezultat într-un model rela ț ional, care va fi
implementat direct în sistemul de gestionare a bazei de date ales.
Înprimulrând,vomrealizaoanalizăacerinț elorsistemuluinostru.
46
Limbaje și Instrumente
47
Limbaje și Unelte
Persona id_persona
Direcț ie
CP Nume Nume
Plantilla
Provincia
Ț ară 1
email id_huella
http N
mână
Amprentă
deget
plantă
48
Limbaje și Unele
EntitateAdministrator
Atributos:
ID_ADMINISTRADOR [Link]ă.
NOMBRE NumeleAdministratorului.
Ș ablon Șablongeneratdinamprentă.
EntitateAmprentă
Imaginedigitalizatăaamprenteitrimisedeunutilizator.
Atribute:
ID_HUELLA Clavăprincipalăaamprentei
ID_USUARIO Identificadordelusuarioalquepertenecelahuella.
MÂNA Mâna căreia îi aparț ine amprenta.
DEDO Dedo la cărui aparț ine amprenta.
Ș ABLON Șablonulcareseobț inedinimagine
Cheieprincipală:ID_HUELLA
49
Limbaje și Instrumente
Entitate Utilizator
Persoana care ne trimite amprenta/ampe în format digital ș i care vor face parte din
de baza noastră de date.
Atributos:
ID_USUARIO [Link]ă.
NOMBRE Nombre del Usuario.
DIRECCIÓN Adresa unde locuieș te utilizatorul, va fi un ș ir de
text
C.P. Cod Poș talal locului de reș edinț ăal utilizatorului.
LOCALIDAD Localitatea de rezidenț ăa utilizatorului.
PROVINCIA Provinciaderezidenț ăautilizatorului.
Ț ARĂ Țara de reș edinț ă a utilizatorului.
EMAIL Dirección correo del usuario.
WEB Paginawebautilizatorului.
ClavePrincipal:ID_USUARIO
Clavăalternativă:NUME
50
Limbaje și Unelte
TabelaAdministratori
TabelaUtilizatori
51
Limbaje și Instrumente
Cheieprincipală:ID_UTILIZATOR
Cheiealternativă:NUME
Dependencias Funcionales
3º Forma Normal
TabelaUrme
Cheieprincipală:ID_AMPRENTĂ
Cheie străină: UTILIZATOR referinț ă ID_UTILIZATOR în tabela Utilizatori.
3º Forma Normal
52
Limbaje și Instrumente
<HTML>...<HTML>
Documente
HTML
53
Limbaje și Unelte
54
Limbaje și Instrumente
Figura16ilustreazăfluxulprocesului.
Programa CGI
Bază
de date
CGI-urile generează în mod normal un nou proces pentru fiecare cerere HTTP. Aceasta
reprezintă o problemă atunci când traficul este rar, dar provoacă suprasarcină când
niveluldetraficcreș te.Înaceastăsituaț ie,CGI-urilenusepotrivesccunevoilenoastre.
nevoile.
A avut loc o îmbunătăț ire semnificativă odată cu apariț ia, în 1997, a API-ului Servlet.
Java, care a fost urmat rapid de APIJSP (acronim pentru Java Server Pages,
Java Pages pe server). Această tehnologie aduce tot poten ț ialul Java la
server Web, cu conectivitate la baza de date, acces la muncă în reț ea, operaț iuni
de subprocessuri ș i, mai ales, un model de proces diferit.
55
Limbaje și Instrumente
Servleturile ș i paginile JSP operează dintr-un singur exemplar sau instan ț ă care
rămâne în memorie ș i utilizează multiple subprocese pentru a răspunde la diferite
cereri în paralel. Figura 17 ilustrează utilizarea acesteia
tehnologie.
Motoare deservite
Servicii J2EE
Altele
Baza servicii
de date
56
Limbaje și Unelte
57
Limbaje și Instrumente
Pentru utilizarea API-ului cititorului avem mai multe posibilităț i: una este utilizarea API-ului
C/C++ care vine cu documentaț ia dispozitivului de amprente digitale
disponibile ș i care ne-ar conduce la utilizarea tehnologiei CGI de partea
server; cealaltă posibilitate de care dispunem este utilizarea Java profitând de
clase Java (wrapper-e Java) care ne vin cu mediul de dezvoltare pentru
programator.
Utilizarea CGI ne-ar duce la utilizarea tehnologiei Microsoft ASP (Active Server
Paginile) pentru generarea dinamică a paginilor, ș i toate acestea lucrând sub
Server Microsoft (IIS). Pe de altă parte, utilizarea Java ca limbaj de server
ne-ar duce să folosim JSP (Java Server Pages) pentru generarea dinamică a
pagini; putând alege o serie de servere care func ț ionează ca
containere de servlets: JRun, Tomcat, etc.
ü Securitate
58
Limbaje și Instrumente
ü CoreAPI
ü Standarde deschise
59
Limbaje și Unelte
ü Distribuitș idinamic
ü Orientată pe obiecte
ü Multitasking
60
Limbaje și Unelte
Aplicaț iile multitasking pot utiliza mai multe fire de execuț ie simultan în timpul
execuț ie. Aceste thread-uri comunică între ele, astfel încât să poată coopera
între ei părea, din fa ț a utilizatorului, că programul o face
executând un singur fir, dar mai repede decât cu aplica ț iile
monotarea.
61
Limbaje și Unelte
ü Performanț ă
ü Simplicitate
ü Sesiuni http
62
Limbaje și unelte
ü Comunicare
ü Securitate
O pagină Java pe server, sau "Java Server Pages" (JSP), este un ghid pentru o
pagină Web care utilizează cod Java pentru a genera un document HTML
dinamic. Paginiile JSP se execută într-un component al serverului
cunoscut sub numele de container JSP, care le traduce în servleturi Java echivalente.
Din acest motiv, servlet-urile ș i paginile JSP sunt strâns legate.
se poate face cu o tehnologie, este, în mare măsură, de asemenea posibil cu cealaltă;
deș i fiecare are capacităț ile sale proprii. Cum sunt servletele, paginile JSP
au toate avantajele servletelor, dar au ș i avantaje proprii:
ü Cum sunt în spaț iul comun al documentelor serverului Web, vă rugăm să vă adresaț i
aeleestemaiuș ordecâtateadresaservletelor.
63
Limbaje și Unelte
64
Limbaje și Unelte
4.2.3 Instrumente
Este unul dintre cele mai bune servere web utilizate pe reț eaua Internet de ceva timp.
mult timp, singura competiț ie este un server de Microsoft, IIS.
ce server este unul dintre cele mai mari triumfuri ale software-ului liber.
65
Limbaje și Unelte
ü Performanț ă înaltă.
Pentru a face ca serverul nostru web să fie un server sigur, este convenabil
utilizaț itehnologiaSSL(SecureSocketLayer)pecareodetaliemmaijos:
implementareaestesimplă.
66
Limbaje și Instrumente
ü Cifrul de date
ü Autentificarea serverelor
ü Integritatea mesajelor
ü Autenticareclient
67
Limbaje și Unelte
SSL poate avea o cheie de sesiune de 40 de biț i sau de 128 de biț i, această cheie este
generată în fiecare tranzacț ie. Lungimea cheii va face mai greu de spart
cifrat. Majoritatea browserelor suportă o cheie de 40 de biț i pentru sesiuni
SSL, în timp ce ultimele versiuni suportă chei de sesiune de 128 de biț i.
Funcț iilesunt:
ü Verificareaidentităț ii
ü Menț inereasecurităț ii
ü Facilitatea de utilizare
În ciuda marii siguranț e pe care trebuie să o aibă, serviciul trebuie să fie uș or.
usopentruclienț ifărămaritraumecarepotprovocaconfuzii.
Vom utiliza Apache ca server pentru pagini web statice ș i îl vom lega cu
Tomcat, lucrând ca un container de servlets. Astfel eliberăm de
soport Tomcat, pe care îl utilizăm doar atunci când avem cu adevărat nevoie de putere
de Java, ș i vom folosi Apache pentru restul, profitând de robustea sa.
68
Limbi și Instrumente
AmdecisutilizareaTomcatdinurmătoarelemotive:
ü VomfolosiJSPpentrugenerareadinamicăapaginilor.
JspSmartUpload este un pachet de clase Java, care ne va permite să transferăm fiș iere.
a serverul nostru. În cazul nostru, vom utiliza acest modul pentru ca utilizatorii
Ceicaredoresc,sănetransfereimaginiledigitalizatealeamprentelorlor.
69
Limbaje și Instrumente
ü Simpluș iComplet
ü Gestionareaformularelormixte
70
Limbaje și Instrumente
Pentru a găzdui baza noastră de date avem o cantitate mare de sisteme de gestionare
de baze de date. Amestecând diferitele caracteristici ale fiecăruia, în cele din urmă
am ales utilizarea MySQL.
O caracteristică importantă este că consumă foarte puț ine resurse, atât de CPU
cum ar fi memoria. Au fost sacrificate unele caracteristici esenț iale în sisteme mai
"serios" cu acest scop
Avantaje
ü Utilităț ideadministrare(backup,recuperareerori,etc).
71
Limbaje și instrumente
Interfaț ăJDBC
72
Limbaje și Instrumente
Analizândtoateacesteopț iuni,amdecissăfolosimurmătoarele
tehnologii în dezvoltarea acestui proiect:
ü GenerareadinamicădepaginicuJSPpeserverulTomcat.
73
Design și Implementare
4.3.1 Implementare
Terminal
del
Administrator
Server
Calculator
al utilizatorului
de la
aplicaț ie
Lector de
urme
Server
Web
Bază
de
Datos
74
Design și Implementare
4.3.2 Gestionare
ClasesJava Clases
jspSmartUpload
Clases
Auxiliare
ClasesDominio ClasesInterfaz
Clases Clases
Amprenta digitală mySql-connector
75
Proiectare și Implementare
Acest pachet reprezintă clasele native din Java. Printre ele se află
inclus în pachetele standard: [Link]., [Link]., [Link]., [Link]., etc.
Acest pachet conț ine clasele dezvoltate pentru a facilita aplicaț ia. La
figura 21 arată aceste clase.
ID sunt o persoană
Superclase
generică de
Claseparalistar Clasepara
orice clasă de
timagen elcontenidode mostră arto dos los
dominio
labasede datosreferentesa
(din punct de vedere logic)
datos unui său
id_imagen
recoger
Clasequenos
facilitaelmanejodel
valordeloscampos
delosformularios
76
Proiectare și Implementare
tElemento
ID
Persona
timagen
(din punct de vedere logic) (d e l P u n c t d e V e d e r e L o g i c)
sunt o persoană
id_imagen
Huella
(dePerspectivaLogical)
Administrator Usuario
id_usu
( din punct de vedere logic ) ( din punct de vedere logic ) mano
conectare nombre dedo
parolă direcț ie plantilla
c.p.
77
Design și Implementare
Acest pachet conț ine clasele specifice interfeț ei aplicaț iei, sunt clase care
sunt folosite pentru a arăta ș i a captura informaț ii referitoare la clasele domeniului. În
cazul aplicaț iei noastre se referă la pagini, atât html cât ș i jsp. Figura 23
aratădiagramadeclaseainterfetei.
Index
autenti_admin
78
Design și Implementare
PAGINI ADMINISTRATOR
Opț iuneÎnaltAdministrator
ad_alta:Esta clase representa la página en la que se muestran los usuarios que estén
în baza de date, aș teptând să fie daț i în vileag, pentru ca administratorul să decidă
cine doreș te să se înregistreze.
Opț iunedescădereadministrator
ad_borrar:Lista los usuarios dados de alta, para que el administrador decida a quien
vrea să renunț e.
Opț iuneaModificareAdministrator
PAGINAS USUARIO
Opț iuneÎnregistrareutilizatornou
Usu_alta: Afișați formularul pe care trebuie să-l completeze utilizatorul nou care dorește să treacă
a face parte din baza noastră de date, atât cu câmpuri pentru datele personale
ca să ne trimită fiș ierelecu imaginile.
79
Proiectare și Implementare
Opț iuneadeatrimiteamprenteUtilizatorexistent
Usu_huellas: În caz că este gândit pentru acel utilizator care a solicitat deja să treacă la formă
OpciónAutenticarUsuario
80
Design și Implementare
[Link] ClasesjspSmartUpload
SmartUpload
Încărcare Inteligentă ()
getFiles()
getRequest()
obțineDateBinare()
getSize()
Cerere
setareListaFisierePermise()
setContentDisposition()
getParameter()
setDeniedFilesList()
getNumeParametrul()
setDenyPhysicalpath()
g e t P a r a m e t e r Va l u e s ( )
seteazăDimensiuneaMaximăARundefișier()
s e t e a z ă D i m e n s i u n e a M a x i m ă To t a l ă A L F i ș i e r u l u i ( )
downloadField()
downloadFile()
salvează()
încărcare()
uploadlnFile() Fișier
f i l e To F i e l d ( )
getBinaryData()
getContentDisp()
getContentString()
Fișiere
g e t C o n t e n t Ty p e ( )
getFieldName()
getCount() getFieldExt()
getFile() obțineNumeFișier()
getSize() getfilePathName()
getSize()
g e t S u b Ty p e M I M E ( )
g e t Ty p e M I M E ( )
sunt lipsă ()
salveazăCa()
81
Design și Implementare
Aceste clase se conectează la gestionarul de baze de date din paginile jsp ș i beans.A
această clasă apar ț ine de exemplu clasei [Link] care permite crearea unei
instanț a driver-ului care ne va conecta cu mysql. Alte clase, de asemenea, importante
son:[Link],ResultSet, etc.
[Link]. ClasesFingerprint
Aceaste clase aparț ine API-ului Java care permite accesul atât la cititorul de amprente,
cum ar funcț iile proprii ale clasei Fpr, care facilitează autentificarea ș i
generareaunuiș ablondintr-oimagineauneiamprente.
82
Design și Implementare
DiagramadeSecvenț ă:AutentificareAdministrator
Interfață A p l i c a t i e Administrator
Administrator
Intrare
Pedirdatos
Identificare
A accepta
Pedirdedo
Ponerdedo
autenticar()
83
Design și Implementare
DiagramadeColaborare:AutentificareAdministrator
Intrare
4:Identificare 2:
A accepta 6:
Interfață Aplicație
3:Introduceredatos
Administrator 9:
7a:ue
tncita)r(
8:
Administrator
84
Design și Implementare
DiagramadeSecvenț ă:Vizualizare
Interfață Aplicație
Administrator
Pulsare
Listarusuarios
Selcatiț ziu
a
lio
tr
Așaifțziau
lotir
Așfiaiț dae
tel
85
Proiectare și Implementare
DiagramadeColaborare:Vizualizare
Tarea
4:Selectarerusuario
Interfață
7:Mostrardatos
( Administrator )
3: 2:Listarusuarios
6: 5:Mostrarusuario
Aplicație
86
Proiectare și Implementare
DiagramadeSecvenț ă:ÎnregistrareAdministrator
Puslaarta
l
zoa
ilo
rL
slta
iu
rtit
Seelccoinaursuao
ri
Așaifțziau
lotiu
rl
Afișați datee
l
Confirma
OK
aa
tl_admni)(
87
Design și Implementare
DiagramadeColaborare:AltaAdministrare
1:Alta
4:Seleccionarusuario
9:OK
Interfață
7:șfiaț dae
A t
: (Administ rador) 8:Confirmar
2:Listarusuarios
5:șaiferzia
A u
lo
itr
3:
10:
6:
13:
12:
U s u a r i o Aplicație
11a:ta
l)(
88
Proiectare și Implementare
DiagramadeSecvenț ă:Ștergere
PulsarBaja
Listarusuarios
Seleccionarusuario
izașța
A o
ifu
trlu
it
Mostrardatos
Confirmar
OK
baa
j)(
șterge( )
Șetrgeamprena
t
89
Proiectare și Implementare
2:Listarusuarios
Baja 5:Mostrarusuario
Selecționare rusă 10:
9:OK
I n t e r f a z a A p l i c a c i e
7:Mostrardatos 3:
(A d m i n i s t r a t o r)8 : C o n f i r m a r 6:
15:
11:baja()
12:
14:
13:borrar()
Borrarhuella
H u e l l a
Administrator
90
Proiectare și Implementare
DiagramadeSecvenț ă:Modificare
Pulsarmodif.
Listarusuarios
Seleccionarusuario
Mostrarusuario
Mostrardatos
Modificareadatelor
Confirmare
OK
acu
tazila)r(
91
Design și Implementare
1:Modfi
4
S:elcatiț ziua
litor
8M
: odcifădae
tel
10O
:K
Interfață
7A
: fșiează dae
t
(Administrator) 9
C
:onrm
if are
2
Lsz:ia
tu
a
lio
tri
3: 5:șaiferzia
A u
lo
itr
6: 11 :
14:
13:
Ușor Aplicație
12a
:ctuazila()
92
Design și Implementare
Diagramadesecvenț ă:Creareutilizatornou
Utilizator
Puslaara
tl
Așfiaiț o
frmualrul
n
o
rItdudcaeitl
Acceptă
aa
tl_usu)(
alta()
Aa
tlmprenă
t
93
Proiectare și Implementare
DiagramadeColaborare:Utilizatornou
Pulsaralta
4:[Link] 2:Mostrarformulario
A accepta 6:
I n t e r f a z Aplicație
(U s u a r i o) 3:
11:
10: 7 :Al t a u s u a r i o
8:
Crearhuella
9a:a
tl)(
H u e l l a
Ușor
94
Proiectare și Implementare
Diagramadesecvenț ă:Înregistrareutilizatorexistent
A p l i c a t i e Ușor H u e l l a
Ușor
Pusla
A
ertxlsia
t.t
Mostrarformulario
n
o
rItducee
radae
otlr
A accepta
ata
l)(
altahuella
95
Design și Implementare
DiagramadeColaborare:Utilizatorexistent
Pulsaralta
[Link] 2:Mostrarformulario
5 :Ac e p t a r 6:
Interfață A p l i c a t i e
3:
(U s u a r i o) 9:
8:
Crearhuella
7a:ta
l)(
H u e l l a
96
Proiectare și Implementare
Diagramasecvenț ă:AutentificareUtilizator
Puslarue
tcin
a
fite
r
Sociă
tld
iae
t
nIo
rtducee
ra
daetolr
OK
Pedirdedo
Ponerdedo
Autentificare
97
Proiectare și Implementare
Diagramadecolaborare:Autentificare
Puslaraue
tncitar
n
4
Iro
t:ducereadae
tolr C
2:ee
re
d
re
daet
5:OK A
c6e:e
d
regeutl
8:Ponerdedo 9:
Interfață Aplicație
3:
( U s u a r i o ) 7:
12:
11 : 1A
0:ucetiafne
irt
:Usuario
98
Proiectare și Implementare
4.3.3 Visualización
În această secț iune vor fi prezentate funcț iile ș i interfaț a aplicaț iei luând în considerare
fiecare dintre ecranele acesteia.
Pagina principală
99
Design și Implementare
100
Design și Implementare
101
Proiectare și Implementare
Autentificare utilizator
102
Design și Implementare
După obț inerea datelor solicitate pe ecranul din figura 39, se iniț iază procesul
de autentificare. Dacă autentificarea are succes, se afiș ează imaginea degetului
utilizator, precum ș i diverse date referitoare la aceasta: calitatea imaginii, dimensiunea,
103
Proiectare și Implementare
Autenticar Administrador
104
Design și Implementare
Administrator Superior
105
Proiectare și Implementare
106
Proiectare și Implementare
Baja Administrator
107
Design și Implementare
108
Proiectare și Implementare
Modifica Administrator
Pe această pagină se pot modifica datele personale ale unui utilizator înregistrat.
la baza de date, la apăsarea opț iunii de modificare de către administrator. În
Înprimulrând,sevizualizeazăopaginăcuutilizatoriiînregistraț i(figura49).
109
Design și Implementare
110
Validare
5. Validarea sistemului
Învalidareasistemuluinostrufolosimobazădedatecareconț ine50
imágenes de huellas dactilares, pertenecientes a 5 personas distintas de las que
vom avea o imagine pentru fiecare deget.
Fiecare imagine din baza de date este comparată cu propriul său ș ablon ș i cu celelalte.
49 ș abloane. Dacă compararea unei amprente cu un ș ablon al aceleaș i degete
rezultatul este de succes, se consideră o autentificare corectă, în caz contrar, suntem
ante un fals respingere. Dacă se obț ine o autentificare corectă comparând o
huellacuunaaltacarenuaparț ineaceluiaș ideget,neaflămînfaț aaceeacesenumeș te
o acceptare falsă.
Vomfolosivalorileprocentuluideautentificareș iprocentuluiderespingere
ca parametrii pentru estimarea fiabilităț iisistemului. Denotând la
numărul de respingeri false, ca număr respins, număr corect
autentificări corecte ș i numărul_fals al numărului de acceptări false
obț inem procentajul de autentificare ș i procentajul de respingere de la următoarea
forma
num_correctas
porcentaje de autenticación= 100
numărul corect + numărul fals
num_rechazadas
porcentaje de rechazo= 100
50
111
Validare
%Autentificare % Rechazo
Utilizator 1 99.9 % 13,32 %
Utilizator 2 99.88 % 12.82 %
Utilizator 3 99,65 % 12,13 %
Utilizator 4 99,45 % 13,72 %
Utilizator 5 98,94% 10,41 %
112
Concluzii
6. Concluzii
În concret, pentru dezvoltarea acestui proiect, s-a achiziț ionat un cititor de amprente.
digitale cu mai puț in de 200 $.
113
Manual de Administrator
Manual de Administrator
V1.0
Instalare
Bază de date
Instalarea MySQL
Primul pas este să obț ii o copie a unei distribuț ii MySQL.. Pentru dezvoltare
pentruprezentulproiects-autilizatceamairecentăversiunedisponibilăMySQL-3.23.49.
114
Manual de Administrator
‘ mysql – help’ arată toate op ț iunile care pot fi transmise lui mysql în cadrul
pornire.
În cele mai recente versiuni de MySQL, se poate crea un fiș ier 'C:\[Link]' care
configurează toate opț iunile implicite pentru serverul MySQL. Copiază fiș ierul
'\mysql\[Link]' ș i 'C:\[Link]' trebuie editate pentru a se adapta la configuraț ie.
Specificaț i toate „cărț ile” cu '/' în loc de '". Dacă se utilizează '", trebuie să
specifica de două ori, deoarece '\' este caracterul de evadare în MySQL.
115
Manual de Administrator
executând, mysqld-nt nu poate fi oprit folosind Mysqladmin, din utilitarul SMC sau
prin intermediul comenzii NET STOPmysql.
După ce a fost instalat corect MySQL, va trebui să adăugăm baza noastră de date pentru ca
poate fi utilizată de aplicaț ie. În mod concret, este vorba despre un director numit
basca se află în directorul data în locaț ia de instalare a MySQL:
D:\mysql\date\baza
Această bază de date conț ine cele trei tabele de care are nevoie aplicaț ia noastră pentru a-ș i
funcionamiento:usuarios,huellas,administradores.
Server Apache
Instalare Apache
116
Manual de Administrator
Pentruaporni,opriș ireporniserverul,vomtastaurmătoarele:
Vom folosi opț iunea de repornire pentru a avea efect orice modificare realizată în
fiș ierele de configurare Apache, fără a fi necesară oprirea ș i reluarea
serverul.
Pentru a testa că serverul nostru func ț ionează, vom scrie în browser-ul nostru
[Link] i vom verifica că ne afiș ează pagina de bun venit
de Apache. Parametrul port va fi implicit 8080, putând fi modificat în
fiș [Link].
Instalare SSL
În primul rând, trebuie să avem modulele mod_sslyOpenSSL, pe care le putem obț ine în
sitio[Link]
117
Manual de Administrator
Portul 443
Ascultă 80
Ascultă 443
NumeServer [Link]
Pentru a verifica că portul 443 funcț ionează corect, trebuie să scriem în nostru
navegator[Link]
118
Manual de Administrator
SSLMutex sem
SSLRandomSeed startup builtin
SSLSessionCache niciunul
SSLLog logs/[Link]
SSLLogLevel informaț ii
<VirtualHost [Link]>
SSLEngine Activat
SSLCertificateFile conf/ssl/[Link]
SSLCertificateKeyFile conf/ssl/[Link]
</VirtualHost>
119
Manual de Administrator
Server Tomcat
Instalare Tomcat
După instalarea acestui software pe computerul nostru, trebuie să obț inem fiș ierul binar
de versiune potrivită dejakarta-tomcat<versiune>. În proiect se utilizează
jakarta-tomcat3.3.1.
JAVA_HOME - d:\jdk
TOMCAT_HOME - d:\jakarta-tomcat
120
Manual de Administrator
Următorul pas este să indicăm aplicaț iei noastre locul unde am instalat
Tomcat, pentru asta vom adăuga contextul în fiș ierul nostru [Link], care se
găseș te în directorul WEB-INF al aplicaț iei noastre.
Aplicaț ia foloseș te directorul unde avem instalat Tomcat, din acest motiv
introducând o variabilă care să indice acest directoriu, obț inând o aplicaț ie
independentdeloculundeseinstalează.
121
Manual de Administrator
<context-param>
<param-name>directorio</param-name>
<param-value>D:/<dir_tomcat>t/webapps/proyecto/upload/
</param-value>
</context-param>
122
Manual de Administrator
Din noul fiș ier trebuie să eliminăm toate referinț ele la JServMounty ș i să le schimbăm cu
JkMount (nu se pot amesteca JServymod_jk). De asemenea, la începutul fiș ierului
trebuiesăpunemurmătoarelelinii:
include c:\<dir_tomcat>\conf\[Link]
cefolosimmod_jk.dll(cevasimilarcumod_jk.dllînfuncț iune).
Trebuie să avem în vedere că Tomcat trebuie să fie întotdeauna pornit înainte de Apache, ș i dacă
În continuare se descrie ceea ce conț ine fiecare director din aplicaț ia noastră:
Directorul Raiz
Conț ine paginile .html ale aplicaț iei noastre, printre care se află pagina
deinicio.
123
Manual de Administrator
Director JSP
Aș a cum sugerează ș i numele său, conț ine paginile .jsp, care împreună cu paginile
.htmlformeazăinterfaț aaplicaț ieinoastre.
Director de Resurse
Aici se păstrează fiș ierele (imagini, butoane, iconiț e etc.) care vor fi folosite în
paginialeaplicaț iei.
DirectoriiÎncărcare
Aici este locul unde se transferă imaginile amprentelor utilizatorilor. În plus
menț ineț i ș abloanele generate de aplicaț ie pe baza imaginilor de amprente
digitalizate.
DirectorAdmin
Acesta este un subdirectoriu al Uploady în care vom păstra ș ablonurile de
administratoricareauprivilegiipentruagestionaaplicaț ia.
Directoriu WEB-INF
Aici este fiș ierul descriptor de desfăș urare [Link], care este utilizat pentru configurare
losservletsy alte resurse care fac parte din aplicaț ia web.
În plus, include două subdirectoare, ellibyclasses:
Directoriolib
Conț ine fiș ierele .jar. Clasele din orice fiș ier .jar care se află în
acest director este pus automat la dispoziț ia încărcătorului de clase fără
trebuie să fie enumerate explicit în calea claselor.
Aici este locul unde vom plasa bibliotecile de clase pentru accesul la cititorul de amprente
([Link]) ș i clasele care ne vor permite să accesăm MySQL din paginile
([Link]).
124
Manual de Administrator
Directorioclaselor
Acest director conț ine servlets ș i alte clase. Aici se pot găsi pachetele
ce utilizat în aplicaț ie, în cazul nostru pachetuljspSmartUpload(com) ș i
claseledezvoltatepentruamodelaaplicaț ia:utilizator,amprentăș iadministrator.
JspSmartUpload
Pentru a putea folosi acest pachet în paginile JSP ale aplicaț iei noastre, va trebui
ce să localizezi în directorul aplicaț iei. În concret, structura directorului
deTomcatnos indică că trebuie să-l situăm în directorulWEB-INF\classe.
Lector de amprente
125
Manual de Administrator
API-ul Java care este utilizat în aplicaț ia noastră se află în fiș ierul jar '[Link]',
ce nu fiul mai multce un ansamblul de cursuri împachetate
126
Comenzi de creare a tabelelor
În cazul utilizării unui sistem de gestionare a bazelor de date relaț ionale, la comenzile
de crea ț ie se va trebui să se alăture comenzile de autorizări ș i vizualizări
pertinente, care vor fi specifice mediului de lucru.
Tabela Administratori
CREAȚITABELAADMINISTRATORI
(
ID_ADMINISTRADOR INTEGER PRIMARY KEY,
NUME VARCHAR(15) NOT NULL
PLANTILLAVARCHAR(15) NOT NULL
);
127
Comenzi de creare a tabelelor
Tabel Utilizatori
CREAȚITABELULUTILIZATORI
(
ID_UTILIZATOR INTEGER CHEIE PRIMARĂ,
NUME VARCHAR(50) NOT NULL,
DIRECCION VARCHAR(50),
CP ÎNTEGER
LOCALITATE VARCHAR(20)
PAIS VARCHAR(15),
ALTĂ CHAR(1)
);
Tabla Urme
CREAȚITABELULHUELLAS
(
ID_HUELLAINTEGER PRIMARYKEY,
MANO CHAR(1) NOT NULL,
DEDO CHAR(1) NOT NULL,
PLANTILLAVARCHAR(15) NOT NULL,
Id_usuario INTEGER,
CONSTRÂNGERE CHEIE EXTERNĂ (Id_usuario) REFERINTE
USUARI(ID_UTILIZATOR) LA Ș TERGERE CASCADĂ,
);
128
Bibliografie
Bibliografie
[2] Phil Hanna. “JSP. Manual de referinț ă”. McGraw-Hill, Madrid, 2002.
[4] Rich Bowen & Ken Coar, ServidorApache al Descubierto. Pearson Educación,
S.A. Madrid, 2000.
[5] Lemay, Laura, “Învăț ând HTML4 pentru web într-o săptămână”. Prentice Hall,
Mexic, 1998.
[7] Graham Hamilton, Rick Cattell, Maydene Fisher, „Acces la baza de date JDBC cu
Java - Un tutorial ș i referinț ă annotată”. Addison-Wesley, Massachusetts,
1997.
Agustín Froure Quintas, “Java Server Pages – Manual de utilizare ș i tutorial”. RA-
MA, Madrid, 2002
129
Bibliografía
130
Direcții web
Direcț ii web
[Link] web
[Link] în Spaniolă
MySQL
[Link] iere
[Link]
[Link] iadeBiometricăInformaticăSpaniolă
[Link]
Comunitatea de Biometrie
131
Indice de Figuri
Indicele figurilor
132
Indice de Figuri
133
Indice de Tabele
Índice de Tablas
Tabela 1. Candidaț i pentru Entitate ș i Relaț ie ....................................................... 47
Tabela 2. Procentajul de autentificare ș i procentajul de respingere ...................... 110
134