Lettre Gibbon Informatique du 3 octobre 2002.

lNos rubriques sur Corel Paradox Windows :

Passé, présent et futur du BDE
Partenariat Corel - Dell sur la suite Wordperfect 2002
Le SP3 de la suite Wordperfect 2002
PARADOX 11: THE KILLER VERSION
Deux nouvelles notes techniques
Requêtes, setGenfilter ou SetRange
La communauté Paradox


Passé, présent et futur du BDE:
=======================
Borland a depuis plusieurs années signalé que le BDE était en phase de
maintenance. Pour les éditeurs, cela signifie qu'aucune nouvelle
fonctionnalité ne sera intégrée dans le futur.

La communauté Delphi s'est très vite inquiétée de cette 'mort' annoncée du
BDE tandis que la communauté Paradox restait en grande partie étrangement
calme. Bizarre quand on sait l'imbrication très forte entre PAradox et le
BDE.

Si on lit attentivement les communiqués de Borland, on remarque que la mort
annoncée est la mise dans un état de congélation de SQL-LINKS, le complément
du BDE qui permettait d'accéder via celui-ci à la plupart des bases SQL
(notamment Oracle). Le BDE présente (présentait) un grand avantage car il
permettait de programmer sans se soucier (du moins théoriquement) de la base
finale. On pouvait ainsi réaliser un logiciel opérationnel aussi bien avec
Paradox qu'avec Oracle ou Sybase. L'arrêt du développement du BDE bloque
maintenant cette solution (l'accès aux nouvelles versions d'Oracle ne
pourront plus se faire via le BDE).

On remarque aussi que le BDE restera fourni avec Delphi dans les prochaines
versions mais uniquement pour l'accès à Paradox. Ceci est bien évidemment
dû au parc très important d'applications Delphi se basant sur des tables
Paradox. Borland n'ajoutera plus de fonctionnalités au BDE mais assurera son
maintien en état d'utilisation dans le futur. Ceci signifie que les
modifications nécessaires à l'utilisation du BDE actuel dans les prochaines
versions de Windows seront effectuées.

Et Corel dans tout ça?

Corel ne communique pas sur le sujet (et pas beaucoup sur les autres!).
Cependant, il semblerait, toujours d'après Borland, que le contrat liant
Borland à Corel sur le BDE laisse à Corel la possibilité d'effectuer toute
modification dans celui-ci sous réserve de compatibilité avec les versions
antérieures. Ceci signifierait que Corel pourrait, s'il le souhaitait,
créer un nouveau format Paradox 11 pour les tables, dans la mesure où les
formats précédents restent utilisables (rappelons qu'actuellement on peut
encore utiliser les tables au format 4 utilisé par Paradox Dos).

En résumé, pour Paradox, l'impact de la décision de Borland, qui était
offcielle depuis plusieurs années, est sur l'utilisation de Paradox comme
frontal de bases de données Oracle (ou autre). L'utilisation de drivers
externes sera nécessaire et on peut se poser des questions sur leur
disponibilité et leur évolutivité.

Sur Paradox, aucune angoisse à avoir et nos bases Paradox seront toujours
utilisables dans les années à venir.

Partenariat Corel - Dell sur la suite Wordperfect 2002:
=======================================
La suite Wordperfect 2002 va être installée par défaut sur les machines Dell
en lieu et place de la suite Microsoft. Pour l'instant, ce partenariat est
limité à l'Améique du Nord mais pourrait être étendue début 2003 à l'Europe.
Bien sûr, cela n'inclut pas Paradox qu'il faudra acquérir séparément mais
c'est cependant une excellente opération pour l'image de Corel et pour faire
connaître et reconnaître cet éditeur.

Le SP3 de la suite Wordperfect 2002:
===========================
Inutile de se précipiter sur le site de Corel, ce SP3 n'est pour l'instant
disponible qu'en version US. Il ne comprend pas de mises à jour pour
Paradox, la priorité ayant été mise sur le couple Wordperfect-Quattro.

Etant utilisateur également de ces deux derniers logiciels, nous approuvons
ce choix de Corel (même si nous aurions bien aimé 2 ou 3 petites corrections
dans Paradox), d'autant que le nouveau partenariat avec Dell nécessite des
versions de très bonne qualité pour être réellement efficace.

Nous avons toujours considéré que Paradox 10 était une version de bonne
qualité (la meilleure dpuis Paradox 7) et réellement opérationnelle.
L'absence de correctifs pour Paradox dans le SP3 confirme paradoxalement (!)
la qualité originelle de Paradox 10. Attendons donc Paradox 11.

PARADOX 11: THE KILLER VERSION:
=============================
La première Bêta de la suite Wordperfect en version 11 (ceci ne préjuge pas
du nom définitif: WP2003 semble un peu près de WP2002) est annoncée. Aucune
information n'est communiquée par Corel sur le contenu de cette nouvelle
version dont la sortie officielle est prévue pour le 1er semestre 2003 (nous
pronostiquons fin 2003 pour notre version française).

Cependant, après une version 10 qui a enfin rassuré sur la capacité des
équipes techniques à maîtriser le développement de Paradox et à produire une
version solide, on murmure ici et là que le contenu de la prochaîne version
serait à la hauteur des espérances de la communauté Paradox, c'est dire.

Tony Mac Guyre, animateur de la communauté Paradox (www.thedbcommunity.com
et des forums pnews.thedbcommunity.com) utilise le terme de 'Killer version'
si Paradox 11 contient ce qu'il pense (mais à quoi pense t-il, les paris
sont ouverts ?)
Nous sommes toujours convaincu que Paradox est un logiciel exceptionnel pour
les développements d'applicatifs pour petits réseaux locaux (10 à 20 postes
de travail par exemple) tout en supportant des volumes relativement
importants (plusieurs centaines de milliers d'neregistrements).

Si les équipes techniques de Corel réussissent à produire une version de
qualité avec des nouveautés significatives, il nous reste à espérer que le
marketing de Corel (notamment en France) sera à la hauteur.

Deux nouvelles notes techniques:
========================
Dans la partie ObjectPal, nous soulevons les dangers d'utilisation de la
méthode Empty() dans un environnement réseau et nous vous fournissons une
méthode optimisée pour contourner ceux-ci.

A titre du curiosité, note dernière note technique ObjectpPal aborde la
réentrance des procédures Paradox, utile pour ne pas réécrire un code qui
doit s"exécuter lui-même.

Requêtes, setGenfilter ou SetRange:
===========================
On se pose souvent la question du bon choix entre ces différentes techniques
lorsqu'on a à sélectionner un groupe d'informations. Les résultats ci-après
ont été effectués sur une table de plus de 500.000 enregistrements
présentant la structure suivante:
Champ1, type I, clé primaire
Champ2, type I
avec une clé secondaire sur le second champ.

Pour les tests, la table a été située sur un serveur SNAP avec un réseau
local 10 Mo.

1er cas: Requête avec sélection sur clé primaire:
- Sélection sur champ 1: 100 or 500000
- temps d'exécution: < 1 seconde

2ème cas: Requête avec sélection sur clé secondaire:
- Sélection sur champ 2: 951 or 123082 (correspondant à mes 2
enregistrements trouvés dans le cas 1)
- temps d'exécution: 93 secondes
- même résultat si la sélection ne porte que sur la valeur 951

3ème cas: Requête sur Champ 2 en enlevant la clé secondaire:
- temps d'exécution: 93 secondes

4ème cas: SetGenFilter
Le résultat du setgenfilter est stocké dans une table Reponse par
InstantiateView
- temps d'exécution: 99 secondes, que ce soit sur la clé primaire ou la clé
secondaire

5ème cas: SetRange
On ouvre la table suivant le test sur l'index primaire ou sur l'index
secondaire
On effectue un premier setrange sur la première valeur à sélectionner, et on
copie le résultat dans la table Reponse par InstantiateView.
On effectue un second setrange sur la seconde valeur à sélectionner et on
copie le résultat dans la table Reponse par Add.
- temps d'exécution (avec index primaire ou avec index secondaire): 1
seconde

Influence des volumes:
avec une table de 20.000 enregistrements, la requête sur le second champ
s'exécute en 6 secondes et le setGenfilter en 13 secondes. La longeur des
champs joue également de façon importante (plus la table est petite en
taille physique, plus les requêtes et les filtres seront rapides)


Remarque:
Lorsque vous mémorisez un filtre dans la table Maitre d'une fiche ou d'un
état, Paradox effectue l'équivalent d'un setGenFilter. Pour les fiches,
vous pouvez quelquefois avoir des temps de réponse acceptables sur des
tables ayant cependant des volumes importants. Vous avez le même mécanisme
dans notre test situé plus haut. Pour vérifier cela, regarder les temps mis
respectivement par l'instruction setgenFilter et par l'instruction
InstantiateView. Vous constaterez alors que l'instruction setGenFilter est
souvent plus rapide et qu'une part importante du temps est pris par
l'instruction InstantiateView.
La raison, est simplement que Paradox arrête le filtre (ou le setGenFilter)
au premier enregistrement répondant au filtre, puis au suivant. Le temps
global de l'instantiateView correspond au temps initital puis aux aux temps
pris pour accéder à chacun des résultats. Il suffit pour s'en assurer de
mettre une boucle scan après le setGenFilter et le temps global est très
proche du temps de l'instantiateView.

En résumé:
Dans les fiches, vous pouvez utiliser les filtres si vos tables sont petites
ou si vous avez beaucoup d'enregistrements répondant aux critères. Dans ce
cas le temps mis pour accéder au suivant pourra être faible.
En programmation, privilégiez la programmation par setRange dès lors que
vous avez un idex secondaire qui peut être utilisé, sinon utiliser le
mécanisme des requêtes.
Le setGenFilter n'est conseillé que si vos tables sont petites ou si le
setGenFilter porte sur une table déjà réduite grâce à un setRange. Ce
dernier cas est celui des filtres présents dans les modèles relationnels sur
des tables dépendantes. Les temps de réponse sont peu sensibles à la
présence de ces filtres puisqu'ils s'appliquent sur des enregistrements en
nombre réduit.

La communauté Paradox:
==================
N'oubliez pas le site de la communauté Paradox (évidemment en anglais)
www.thedbcommunity.com et les forums de cette même communauté
pnews.thedbcommunity.com (dont un forum en langue française).

Les deux principaux animateurs de cette communauté Tony et Liz ont décidé
d'unir leur destin personnel. Comme quoi Paradox rime toujours avec
bonheur!

Pour finir sur les bonnes nouvelles, à noter également, sous l'impulsion de
Michel Claveau, la naissance d'un forum html (avec images et son) consacré à
Paradox. N'hésitez pas à y jeter un coup d'oeil si vous avez une connexion
rapide à Internet.

Serveur: news.zoo-logique.org
(malgré le nom du serveur, c'est bien Michel Claveau qui est à l'origine de
ce forum)
forum: programmation.Paradox

 

N'hésitez-pas à nous faire part de vos remarques et souhaits.

 

Bonne viste sur notre site.

L'équipe de Gibbon Informatique
http://www.gibbon.fr