From: Bouichet Alain <alain.bouichet@insee.fr>
To: java@u-strasbg.fr
Subject: Corba versus EJB
Date sent: Thu, 10 Feb 2000 18:30:36 +0100
Send reply to: java@u-strasbg.fr
J'ai été amené à comparer 3 versions d'un composant écrits en Java et
implémentés dans l'environnement 3 tiers d'Oracle: Oracle Application
server et Oracle 8 installé sur un même serveur NT4 Ce composant est très
simple il lit 2000 lignes d'une table Oracle et renvoie un tableau
contenant ces 2000 lignes à un client Java connecté au serveur via un rl
à 16Mb. Via une seconde méthode (teststring), le composant renvoie une
chaîne de 50 000 caractères. La méthode ouvrir ouvre la session Oracle.
corba: implémentation Corba du composant dans OAS
EJBOAS: implémentation EJB dans OAS
EJB8i: implémentation EJB dans la base 8i
Voici les résultats:
Corba testString 206 ms ouvrir 224 ms lire
1154
EJBOAS testString 306 ms ouvrir 329 ms lire
3567 ms
EJB8i testString 918 ms ouvrir 157 ms lire
3560 ms
En local (client/serveur 2 niveaux)
Local testString 781 ms ouvrir 562 ms lire
1485 ms
Conclusion: Corba semble bien plus performant que les EJB et les EJB dans
la 8i c'est pas encore le top!
Quelqu'un aurait-il déjà fait ce type de comparaisons dans d 'autres
environnements qu'Oracle éventuellement ?
Je suis preneur pour partager ce type d'expériences.
Merci.
From: cedric.beust@beasys.com (Cedric Beust)
To: <java@u-strasbg.fr>
Subject: RE: Corba versus EJB
Date sent: Thu, 10 Feb 2000 09:36:23 -0800
Send reply to: java@u-strasbg.fr
> From: Bouichet Alain [mailto:alain.bouichet@insee.fr]
> Conclusion: Corba semble bien plus performant que les EJB et les EJB
> dans la 8i c'est pas encore le top!
La comparaison n'a pas de sens. CORBA est un medium de transport, EJB un
modele de composants. Ils ne se situent pas au meme niveau et n'offrent
pas les memes services.
Je te suggere de jeter un coup d'oeil a RMI-IIOP, qui va permettre a des
clients non-Java d'acceder a des EJB.
--
Cedric
http://beust.com/cedric
From: "Olivier Richaud" <richaud@cstb.fr>
To: <java@u-strasbg.fr>
Subject: Re: Corba versus EJB
Date sent: Thu, 10 Feb 2000 18:55:16 +0100
Organization: CSTB
Send reply to: java@u-strasbg.fr
Quelques moralite quand on fait des EJB:
1- Il faut faire gaffe aux methodes qui ne modifies pas la base de donnees
sous jacentes. IL faut bien tuner son server d'EJB sinon il va aller
ecrire dans la BD pour un operation read only, ce qui est desastreux.
2- Typiquement les accesseurs, c'est surement pas ce qu'il faut utiliser.
Il faut eviter les appels multiples a des methodes, et regrouper dans une
seule tous les appels si tant est que ce soit possible.
3- Il faut se dire que le mieux en questions pour les performances les
STATELESS beans. Donc, les entity beans, c'est bien mais surement pas tout
le temps.
4- Il faut faire tres tres gaffe aux proprietes transactionnelles des
beans car ca va influer fortement sur les performances. Pas de
transaction, egal meilleures performances mais au prix de risques.
Pour CORBA contre EJB, je suis d'accord avec Cedric. C'est melanger
torchons et serviettes. La question est: ton serveur CORBA faisait-il
usage d'un gestionnaire de transaction et comment faisait-il ses access a
la BD (je parie pour du JDBC, mais bon...)?
La vrai comparaison consiste a comparer RMI a CORBA. Bon, je reste
convaincu que les benchs d'Orfali etait un peu tordu dans son bouquin sur
le client.serveur avec Java/CORBA car il est pro CORBA. Mais ca devrai
etre du emem ordre a la fin, donc y a pas franchement de debat entre RMI
et CORBA.
Olivier Richaud
CSTB
office: +33 4 93 95 67 24
mobile: +33 6 87 52 53 17
www: http://cic.cstb.fr
----- Message d'origine -----
De : Bouichet Alain <alain.bouichet@insee.fr>
À : <java@u-strasbg.fr>
Envoyé : jeudi 10 février 2000 18:30
Objet : Corba versus EJB
> J'ai été amené à comparer 3 versions d'un composant écrits en Java et
> implémentés dans l'environnement 3 tiers d'Oracle: Oracle Application
server
> et Oracle 8 installé sur un même serveur NT4
> Ce composant est très simple il lit 2000 lignes d'une table Oracle et
> renvoie un tableau contenant ces 2000 lignes à un client Java connecté
> au serveur via un rl à 16Mb. Via une seconde méthode (teststring), le
> composant renvoie une chaîne de
50
> 000 caractères.
> La méthode ouvrir ouvre la session Oracle.
>
> corba: implémentation Corba du composant dans OAS
> EJBOAS: implémentation EJB dans OAS
> EJB8i: implémentation EJB dans la base 8i
>
> Voici les résultats:
> Corba testString 206 ms ouvrir 224 ms lire
> 1154
> EJBOAS testString 306 ms ouvrir 329 ms lire
> 3567 ms
> EJB8i testString 918 ms ouvrir 157 ms lire
> 3560 ms
>
> En local (client/serveur 2 niveaux)
> Local testString 781 ms ouvrir 562 ms lire
> 1485 ms
>
>
> Conclusion: Corba semble bien plus performant que les EJB et les EJB
> dans
la
> 8i c'est pas encore le top!
>
> Quelqu'un aurait-il déjà fait ce type de comparaisons dans d 'autres
> environnements qu'Oracle éventuellement ? Je suis preneur pour partager
> ce type d'expériences. Merci.
>
From: Olivier Dedieu <Olivier.Dedieu@inria.fr>
Date sent: Fri, 11 Feb 2000 09:13:26 +0100 (MET)
To: java@u-strasbg.fr
Subject: Re: Corba versus EJB
Send reply to: java@u-strasbg.fr
> La vrai comparaison consiste a comparer RMI a CORBA. Bon, je reste
> convaincu que les benchs d'Orfali etait un peu tordu dans son bouquin
> sur le client.serveur avec Java/CORBA car il est pro CORBA. Mais ca
> devrai etre du emem ordre a la fin, donc y a pas franchement de debat
> entre RMI et CORBA.
On en avait discuter il y a quelque temps des perf de la serialisation et
c'est surement la qu'il y a des ameliorations a faire. Un gars a ecrit
deux papiers sur le sujet et propose une nouvelle implem des RMI. D'apres
ses chiffres, le gain de perf sur un reseau ethernet est assez
impressionnant :
http://wwwipd.ira.uka.de/~hauma/EfficientRMI/
a+
--
---------------------------------------------------------------
Olivier Dedieu - (INRIA - Bull / WebTools - Pharos)
Web: http://www-sor.inria.fr/~dedieu
JavaChannel: http://pharos.inria.fr/Java/
Pharos team: http://webtools.dyade.fr/pharos/
---------------------------------------------------------------
From: Bouichet Alain <alain.bouichet@insee.fr>
To: "'java@u-strasbg.fr'" <java@u-strasbg.fr>
Subject: RE: Corba versus EJB
Date sent: Fri, 11 Feb 2000 09:34:55 +0100
Send reply to: java@u-strasbg.fr
L'implémentation de Corba faite par Oracle qui s'appelle ECO (Enterprise
Corba Object) est bien plus qu'un médium de transport (pour moi c'est
IIOP) et s'apparente beaucoup aux EJB en terme de mise en oeuvre et
fonctionnalités. Par ailleurs la version EJB d'Oracle utilisée s'appuie
sur RMI / IIOP. En fait la grosse différence entre ces ECO et les EJB
vient, comme le signale O. Dedieu, de la sérialisation mise en oeuvre par
les EJB via RMI. Il me semble effectivement que c'est là l'origine du
surcoût. Ceci dit, l'implémentation EJB d'Oracle n'est surement pas la
meilleure!
-----Message d'origine-----
De: cedric.beust@beasys.com [mailto:cedric.beust@beasys.com]
Date: jeudi 10 février 2000 18:36
À: java@u-strasbg.fr
Objet: RE: Corba versus EJB
> From: Bouichet Alain [mailto:alain.bouichet@insee.fr]
> Conclusion: Corba semble bien plus performant que les EJB et les EJB
> dans
la
> 8i c'est pas encore le top!
La comparaison n'a pas de sens. CORBA est un medium de transport, EJB un
modele de composants. Ils ne se situent pas au meme niveau et n'offrent
pas les memes services.
Je te suggere de jeter un coup d'oeil a RMI-IIOP, qui va permettre a des
clients non-Java d'acceder a des EJB.
--
Cedric
http://beust.com/cedric