You are on page 1of 19

ima

ima

SOLERI

SOLERI

Architectures C/S Java :

Les nouvelles technologies

de JDBC CORBA

Sommaire

Caractristiques

Le langage Java
n Les APIs Java
n Client/Serveur
n Architectures 2-Tiers
n Architectures 3-Tiers

n
n
n

Objet
Interprt (Portable)
Modulaire (*.class, JavaBeans)
Distribu
l

Modle de distribution de composants logiciels


(applets)
Intgration simple aux architectures objets
distribus

ima

ima

SOLERI

SOLERI

Java EveryWhere

Sommaire
Le langage Java
n Les APIs Java
n Client/Serveur
n Architectures 2-Tiers
n Architectures 3-Tiers
n

ima
SOLERI

4154 1445 5454 1545


IMA JavaCard

SOLERI ima

ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 1

Interface / Implmentation

Un langage interfaces
2D, 3D,
Chiffrement

Interface
(Standard)

Annuaires
LDAP
Langage Objet
(CORE API)

JDBC
(Accs SGBDR)

Implmentation

Tlphonie

(propritaire)
ima

ima

SOLERI

SOLERI

Inclusion dans le JDK

Sommaire
Le langage Java
n Les APIs Java
n Client/Serveur
n Architectures 2-Tiers
n Architectures 3-Tiers
n

JDBC inclus dans


le JDK 1.1
Langage Objet
(CORE API)
JDBC
(Accs SGBDR)
ima

ima

SOLERI

SOLERI

Rponse du serveur WEB


1

Lancement de lapplet

?
Serveur
WEB

Navigateur
WEB

SOLERI ima

Serveur
WEB

Navigateur
WEB

Applet
ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 2

Architectures Client/Serveur

Connexion de lapplet

Navigateur
WEB

C / S

SGBD

ima

ima

SOLERI

SOLERI

Le client

Le client
GUI

Connexion au
serveur

distribu !
(Applet)
Connexion au
serveur

ima

ima

SOLERI

SOLERI

Intermdiaire technique

Le serveur
UNIX + SGBDR
NT+ SGBDR

Mainframe
DB2, VSAM,...

SOLERI ima

Facilitateur
Technique
(passerelle)

Serveur

intermdiaire
(ORB +
applicatifs)

ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 3

Architectures Client/Serveur

Sommaire
Le langage Java
n Les APIs Java
n Client/Serveur
n Architectures 2-Tiers
n Architectures 3-Tiers
n

C / S
ima

ima

SOLERI

SOLERI

Architectures Client/Serveur

Architectures Client/Serveur

C /S C/ S
ima

ima

SOLERI

SOLERI

Architecture

Sommaire
Le langage Java
n Les APIs Java
n Client/Serveur
n Architectures 2-Tiers
n Architectures 3-Tiers
n

/
SOLERI ima

SGBD

ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 4

Architectures Client/Serveur

Clients

C / S

Clients
PC
+
Navigateur

ima

ima

SOLERI

SOLERI

Serveur applicatif

Serveur de donnes

Serveur
Interm.
Middleware
Objet

Serveur
de
donnes

Serveur
Interm.

SGBDR,
Mainframe,...

Persistance
ima

ima

SOLERI

SOLERI

ima

Architectures 3-Tiers

SOLERI

Accs aux donnes :


JDBC et les SGBDR
SGBD

ima
SOLERI

SOLERI ima

SGBD

Java de JDBC CORBA

page 5

Mars 1996 : JDK 1.0


(Solaris, Windows 95 et NT)

Sommaire
LAPI JDBC
n Principe de fonctionnement
n JDBC et scurit Java
n Les drivers JDBC
n Accs aux donnes en C/S

Une premire livraison avec


un compilateur
une machine virtuelle d'excution

n
n

De nombreux AGL annoncs


Les principaux navigateurs internet
intgrent Java
Spcifications initiales de JDBC

ima

ima

SOLERI

SOLERI

API JDBC

Que fait JDBC ?

JDBC est une API pour serveur


SQL
n Bas sur le standard X/Open SAG
CLI (Call Level Interface)
n Comme toutes les API de serveurs
SQL
n Comme ODBC...

JDBC permet :
l

la connexion au SGBD
la dfinition puis lenvoi dordres SQL au
serveur
la rcupration (et la lecture) des rsultats.

JDBC est une interface de bas


niveau (de mme niveau que CLI)

ima

ima

SOLERI

SOLERI

Sommaire

JDBC, DriverManager et Driver


Application
Java

LAPI JDBC
n Principe de fonctionnement
n JDBC et scurit Java
n Les drivers JDBC
n Accs aux donnes en C/S
n

Applet
Java

JDBC DriverManager
driver A

Oracle

SOLERI ima

ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 6

DriverManager et Driver
Application
Java

DriverManager et Driver

Applet
Java

Application
Java

JDBC DriverManager

Applet
Java

JDBC DriverManager

driver A

driver A

GESTIONNAIRE DE
COMMUNICATION

ORGANISATEUR
Enregistre les drivers
Fournit les connexions
lapplication

Oracle

ima

ima

SOLERI

SOLERI

DriverManager et Driver
Application
Java

Sommaire

Applet
Java

LAPI JDBC
n Principe de fonctionnement
n JDBC et scurit Java
n Les drivers JDBC
n Accs aux donnes en C/S
n

JDBC DriverManager
driver A

driver B

Oracle

Sybase
ima

ima

SOLERI

SOLERI

Squence dinitialisation
MV Java

Implmente un protocole
de communication pour
accder au SGBD

Oracle

Squence dinitialisation
MV Java

SOLERI ima

driver B

ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 7

Deux cas !

Squence dinitialisation

n Une

MV Java

seule machine

Driver et programme sur la mme machine

n Deux

driver B

Sybase
l

Communication Client/Serveur

ima

ima

SOLERI

SOLERI

Cas 1 : Une seule machine


MV Java

machines

Cas 2 : Deux machines (C/S)


MV Java

(navigateur)

1
Applet
Java

Application
Java

driver B

ima

ima

SOLERI

SOLERI

Lancement de lapplet

Rponse du serveur WEB


1

?
Navigateur
WEB

Serveur
WEB

Navigateur
WEB

SandBox

Applet

SOLERI ima

driver B

ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 8

Modle SandBox

Contraintes de scurit

Une applet ne doit pas :


Du point de vue dune machine
virtuelle Java donne, toute classe
Java charge au travers du rseau
devra tre contrle dans le cadre
du modle SandBox !

Lcharger de code natif


(dpendant du systme)
Laccder aux ressources du
poste client (disque dur,
imprimantes,...)
Lse connecter un hte diffrent
de celui duquel elle provient
ima

ima

SOLERI

SOLERI

Relaxer la scurit

Sommaire

Depuis le JDK 1.1

Signature lectronique des applets

LAPI JDBC
n Principe de fonctionnement
n JDBC et scurit Java
n Les drivers JDBC
n Accs aux donnes en C/S
n

Dfinition dapplets trusted et untrusted

Certificats internationaux sur Internet

Mise en place de serveurs de certificats


dans le cadre dun Intranet
ima

ima

SOLERI

SOLERI

Type I : pont JDBC-ODBC


Application Java

JDBC
bridge JDBC-ODBC

ODBC

Type I : pont JDBC-ODBC


Application Java

Implmentation
de JDBC
Appels natifs
ODBC

bridge JDBC-ODBC

driver ODBC-SGBD

driver ODBC-SGBD
Interface client SGBD

SOLERI ima

ODBC

Interface client SGBD

Interface du SGBD

JDBC

Accs au SGBD
via ODBC

Interface du SGBD

Implmentation
de JDBC
Appels natifs
ODBC

Accs au SGBD
via ODBC

ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 9

Type I : pont JDBC-ODBC

Type I : pont JDBC-ODBC


Applet
Java

JDBC

Classes JAVA
0100101
0011011
0110011

Code Natif
ODBC

ima

ima

SOLERI

SOLERI

Type I : pont JDBC-ODBC


n

Type I : pont JDBC-ODBC

Applet Java
excute dans un
navigateur Web

n
n

0100101
0011011
0110011

Interdiction de
charger du code Natif
(modle SandBox)

n
n
n

JDBC
driver de type II

Interface API Client

Bridge JDBC-ODBC dIntersolv livr


en standard avec le JDK 1.1
Offre logicielle ODBC tendue
Interdit aux applets Java
ODBC = Microsoft = Windows
ODBC is slow !

ima

ima

SOLERI

SOLERI

Type II : pont JDBC-API SGBD


Application Java

Applet Java
excute dans
un navigateur
Web

0100101
0011011
0110011

(ex : DLL)

Applet
Java

Type II : pont JDBC-API SGBD

Implmentation
de JDBC
Appels natifs
un driver natif

Meilleures performances quavec le


bridge JDBC-ODBC

Interdit aux applets Java


Dpendant du systme
dexploitation

API Client (Driver natif)

Interface du SGBD

SOLERI ima

Accs au SGBD
via son API
propritaire

ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 10

Type III : driver JDBC-Net


Application Java

JDBC
driver de type III

Middleware JDBC
Interface client SGBD / ODBC

Interface du SGBD

Type III : architecture C/S


CLIENT

Implmentation
de JDBC
Communication
via un protocole
propritaire
(vendor specific)

SERVEUR(s)
Middleware
JDBC
TCP/IP

Accs au SGBD via


ODBC ou via son
interface Native

Sparer le
serveur
WEB du SGBD

ima

SGBD
ima

SOLERI

Type III : architecture C/S


n
n

SOLERI

Type IV : driver Natifs pur Java

Utilisable par les applets Java


Souplesse et indpendance vis vis
du SGBD
Rcupration de lexistant

Application Java

JDBC
driver de type IV

Middleware dpendant du
systme dexploitation (sauf si
crit en Java)

Interface du SGBD

Accs au SGBD
via son API
propritaire

ima

ima

SOLERI

SOLERI

Type IV : driver Natifs pur Java

Sommaire
LAPI JDBC
n Principe de fonctionnement
n JDBC et scurit Java
n Les drivers JDBC
n Accs aux donnes en C/S
n

Utilisable par les applets Java

Peu de drivers disponibles


(uniquement sur les versions les
plus rcentes des SGBD
concerns)

SOLERI ima

Implmentation
de JDBC
Driver 100%
Java

ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 11

Serveur de donnes

Architecture 2-Tiers

2t

SGBD

C/ S
Le client accde directement
aux donnes

ima
SOLERI

Drivers de type III et IV


2t

Architecture 3-Tiers
C/

3t

Le client envoie des requtes SQL


au serveur
n Tous les traitements sur le client
n

n FAT-CLIENT

C/ S

La serveur applicatif accde directement


aux donnes

ima
SOLERI

Architecture 3-Tiers

Architectures 3-Tiers

C/ S

C / S

Le serveur applicatif accde au


SGBD
n Aucune contrainte de scurit (tous
les drivers JDBC conviennent)
n Le client (applet) se connecte au
serveur applicatif
n

La client accde au serveur applicatif


via un protocole dobjets distribus

SOLERI ima

ima

SOLERI

3t

3t

ima
SOLERI

ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 12

ima

Sommaire

SOLERI

3 systmes
n Objets distribus ?
n Invocation distance
n l
ORB
n RMI
n DCOM
n CORBA
n

Objets distribus :
CORBA, RMI, DCOM et Java

ima
SOLERI

1 langage = 3 systmes
n

3 solutions :
l

Sommaire
3 systmes
n Objets distribus ?
n Invocation distance
n l
ORB
n RMI
n DCOM
n CORBA
n

RMI (Remote Method Invocation)


DCOM (Distributed Component Object
Model)
CORBA (Common Object Request Broker
Architecture)

3 lobbies (SUN, OMG et Microsoft)


ima

ima

SOLERI

SOLERI

Une instance de lobjet

Manipulation de lobjet

NOM :

Albert

NOM :

Albert

SOLDE :

5000

SOLDE :

5000

debite (float montant)

debite (float montant)


credite (float montant)

SOLERI ima

objet.credite(200);
affiche(objet.NOM);

credite (float montant)


ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 13

Rsultat

Objet local
Client

NOM :

Albert

SOLDE :

5200

Albert

Nom : Albert

5000

debite (float montant)


credite (float montant)
ima

ima

SOLERI

SOLERI

Une application distribue


Client

Une application distribue


Serveur

Interface locale

Objet rel

Albert

Albert

Rseau

5000

ima

ima

SOLERI

SOLERI

Sommaire

Invocation de mthodes

3 systmes
n Objets distribus ?
n Invocation distance
n l
ORB
n RMI
n DCOM
n CORBA
n

SOLERI ima

5000

credite(200)

Albert

Rseau

5000

ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 14

Marshalling

Une application distribue


objet serveur mis jour

Albert

Rseau

Albert

Rseau

5000

5200

credite(200)

ima

ima

SOLERI

SOLERI

Accs aux proprits

Marshalling

affiche(NOM)

Albert

Rseau

Albert

Rseau

5200

5200

getNOM()

ima

ima

SOLERI

SOLERI

Rponse du serveur

Sommaire
3 systmes
n Objets distribus ?
n Invocation distance
n lORB
n RMI
n DCOM
n CORBA

Nom : Albert

Albert

Albert

Rseau

SOLERI ima

5200

ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 15

ORB !

Un middleware : lORB

Interface locale

ORB : Object Request Broker


n Le courtier en objet
n Reoit les requtes
n Renvoie des rfrences d
objets
n Gre la communication entre client
et serveur
n

Objet rel

Albert

Rseau

5000

Object Request Broker

ima

ima

SOLERI

SOLERI

ORB et plus encore

Sommaire

Gre ladressage des objets


(localisation)
n Gre la persistance
n Gre la scurit des communications
n ACTIVATEUR

3 systmes
n Objets distribus ?
n Invocation distance
n l
ORB
n RMI
n DCOM
n CORBA

Instancie les objets distance la demande


ima

ima

SOLERI

SOLERI

Java to Java
n
n

API du JDK 1.1.x


Bas sur la srialisation
l

n
n
n

ORB = MV Java
LORB est inclus dans le JDK
n Trs bas niveau
n Pas d
activateur
n Un registre de nommage (associe
une rfrence une chaine de
caractre)
n

transformation dun objet en une reprsentation


binaire minimale
utilise pour la distribution dobjets et la
persistance

Simple mettre en uvre


Robuste (car simple)
Fonctionnalits limites (-> JDK1.2)

SOLERI ima

ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 16

Protocole et implmentation

Rsum

Implmentation en Java
uniquement
n Protocole = RMI Protocol
n Mode de transfert propritaire
(SUN)
n Mais IIOP pour bientt !

Intgr au JDK 1.1


n Protocole de communication
propritaire au dessus de TCP
(IIOP).
n Simple mettre en uvre
n Robuste et pauvre fonctionnellement
n En volution...

ima

ima

SOLERI

SOLERI

Sommaire

DCOM et Windows

3 systmes
n Objets distribus ?
n Invocation distance
n l
ORB
n RMI
n DCOM
n CORBA

ORB intgr Windows 32bits


depuis NT4.0 (et patch pour
Windows 95)
n Ensemble de modules assez peu
homogne
n Complexe apprhender
n Peu d
outils de bas niveau

ima

ima

SOLERI

SOLERI

Windows to Windows

Rsum

Intressant dans le cas dun rseau


100% pur Windows
n Evolution vers d
autres systmes
n Au c ur de la solution : COM
(OLE, OCX, ActiveX)
n Microsoft Transaction Server

Distributed Component Object Model


n Gr par l
X/Open (????)
n Nombreux langages
dimplmentation

SOLERI ima

C++ (Visual C++), Visual Basic


Produits L4G (PowerBuilder, Delphi,...)

WINDOWS !

ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 17

Sommaire

CORBA 2.0

3 systmes
n Objets distribus ?
n Invocation distance
n l
ORB
n RMI
n DCOM
n CORBA

Instance de normalisation concerte :


OMG
n Object Management Group
n 850 Entreprises actrices dans le
domaine des technologies Objet
n Norme v2 : CORBA 2.0
n Intgration de Java la norme

ima

ima

SOLERI

SOLERI

ORB

IIOP

CORBA
n Activateur (CORBA Daemon)
n Nombreux services (pas tous
implments)

Internet Inter-ORB Protocol


n Permet de faire dialoguer des ORB
de fournisseurs diffrents
n Construit au dessus de TCP/IP
n Implment par la plupart des ORB
du march

Naming Service (Trading)


Event Service
Transaction Service
Security
ima

ima

SOLERI

SOLERI

Rsum

1997, deux publications ima

Common Object Request Broker


Architecture
n Standardis par l
OMG
n Indpendant du langage
n

C, C++, Smalltalk, ADA95, Java

Produits riches
n Bien adapt Java
n IIOP
n

SOLERI ima

ima

ima

SOLERI

SOLERI

Java de JDBC CORBA

page 18

ima
SOLERI

F in

SOLERI ima

Java de JDBC CORBA

page 19

You might also like