•
•
!
!
#
"
!
$
%
& '
(
)*
+ ,/
.#
"
.#
0( '
"
1
2
.#
DB
Fat client
DB server
!!
)*
+ 3- 0
On update
trigger
" !!
!
"
.#(
Client
Application Server
Web Server
Client
Client
DB
Server
"
#
4
"
&
+ 5-
)*
2
)
-
.#
)
-
#
$$
6
.#
/
!/
6
)
7
-
!/ )
)
8
/
!
!
6)
- $
$
!
!/
$ "
"
6 9
+ :-
6 )*
Recordset
Età
Nome
Binding
Int eta : variabile Java
%
" %
;
/
/
.
,
!
(
Cognome
Punti
.
3
=
5
=
'
3<
'
)
-
$
:
=
!
>
+
=
)
?
(
-
0
&
$
,
+
%
$
>
1
4
6
$
/
(
&
6
6
"
)
' "
/
(
'$
%
(
(
&
"
$
Codice scritto con ling. di
programmazione ad alto livello
con codice sql
Codice scritto con ling di
programmazione ad alto livello
…………………….
…………………….
…………………….
…………………….
Precompilatore
Codice sql
Chiamate a librerie
Sql-CLI
…………………….
…………………….
…………………….
…………………….
Codice sql
Chiamate a librerie
Sql-CLI
…………………….
…………………….
…………………….
…………………….
…………………….
…………………….
Java
Librerie
Sql-CLI
Sql
interface
Database
%
@
()
A
2
@8B80 !/ A
9
"
7
7
0
@
,
-
& *+
($
)
.(
C
-
$
"
>
A
&
+ , /
.#!
. !
/
2
9
.#0
$
!
(0
( )!
*)
!
.#0
+,
.#;!
.#0
.#;!
.#0
>
(
=
Codice scritto con ling. di
programmazione ad alto livello
con utilizzo di librerie CLI - ODBC
Sql
interface
Chiamate a librierie
CLI - ODBC
DBMS 1
Chiamate a librierie
CLI - ODBC
Sql
interface
DBMS 2
(
7
0
C
/
.#0
+
0
+
+
!
.#0
$
.#;!
!
.#;!
@
A /
2
.#;!
.#0
/
- '$
%
$
C
=
!" # $%& ' "()
,
. /0,
. /0,
!" &' ' "()
1
/
*%+&
*%+&
3 5 :
0
!" '
"()
2) +)
3+)
4
0,
.
6
=
;
6
9
'
./
0
;
!/
D
.#
Module Language
…
…
f()
…
…
..
return
..
..
Classe
(se si trattava di
Module
Language per
Java) oppure file
oggetto (in caso
di C)
compilatore
-
+
.
!
!
!
.
5+'2"
% 6
78
&(5
() 9"
"(&$2($
; 5( % 6
<
'
949
D)+
"
=
;
: 9
7
>
?
=
@
=
@
>
86
B
=
>>
A =
=
6
6
B
C
<
'2)
==8
? !" *(* @
4 B
%&*
4
E()
4
%&*
4
F = '(*
%& )* %&*+ % 6
E("2 ?4
$ )@
;()? A@
$ )@
A,
7
B @ 4
@ 4
@ 4
E
6
)
-
F =A
).#;!)
&
'
)
G'
6
5
?
-
@
@
=A,
&
!
&
.#;! )*
+ F- 4
2
#
&
.C$
&
6
Ruoli
Servizi
Componenti
LDAP
Componente 1
user1
utente
DB
Componente 2
user2
Componente 3
Ruoli-funzionalità
funzionalità
gestione degli errori
.
(
!
Qui si mette la sicurezza
applicativa di 2° livello
0
!
1
4
&
!
9
=
'
G $
'#
/
?A,
'
1
0 >
=
! +
C
)
-
7
/
2
&
$
.
0
$
D
=
>
'
=
?HI
#
>
$
!'
%$
5
G
=
!
G
@
G
,
7 A,
!
5D'
5D'
%$
%$
'
8D
8
5
5
G
,
G
,
.
for(int index; index < qualcosa; index++){
.
>
%
= J0A,
>
. = J0A,
>
J
?5D'
%$
?5D'
5
%$
8D
5
@
8
@
?A,
K
)
)
,
'
(
!-
& *)
+
&
,
.#!
6 )
/
GH$ )
H
$
-
C$
C
2
H$
@
A 9
"
;
C$
9
C$
/
H$
2
20 righe
T a b e lla 3
30 righe
T a b e lla 2
100 righe
T a b e lla 1
T a b e lla d e n o rm a liz z a ta
100 x 20 x 30
0
.
@
A
E
$
C$
$
H$
0
C$
9
9
C$
C$
"