Domino Références : Site francophone de ressources pour les développeurs Lotus Notes / Domino Domino Références
Site francophone de ressources pour les développeurs Notes/Domino
Annuaire Articles Forums Contact
Recherche
 
Mot exact résultats
Au Sommaire ...
Annuaire commenté des sites traitant de Lotus Notes/Domino
Articles d'actualité
Les forums de discussion
Une remarque, une critique, un encouragement. N'hésitez pas à me contacter.
The Team that meets in Forum.
Newsletter
email:   
s'abonner se désabonner 
Statistiques
 Stats du site

 

RNext - Domino Designer (I)
par Lionel

SOMMAIRE
  1. Les grandes orientations
  2. Le langage de formule
  3. LotusScript
  4. JavaScript
  5. Et Java dans tout ça
  6. Le futur

1. Les grandes orientations

RNext, la nouvelle version majeure de Lotus Notes/Domino, devrait sortir sur le marché dans le courant de l'année prochaine. Depuis Lotusphere 2001, Lotus a mis à disposition des partenaires une documentation forunie ainsi qu'une première version beta qui nous en apprennent un peu plus sur le contenu de la prochaine mouture de notre outil de développement préféré.

Autant vous le dire tout de suite, ce n'est pas à proprement parler une révolution, mais plutôt un ensemble réussi d'innovations. Et les premiers éléments dont nous disposons sont déjà très prometteurs.

Dans cet article, nous allons d'abord nous concentrer sur les langages de développements. RNext n'inaugurera ni un nouveau langage de développement comme ce fut le cas pour la version 4 avec LotusScript, ni une interface complètement différente, même si il faut le recoonaître, de nombreuses petites améliorations ont été apportées dans ce domaine .

Les efforts d'amélioration sont allés dans deux directions complémentaires :

  • Une amélioration des langages existants : nouvelles versions, meilleure architecture, amélioration de la syntaxe.
  • Un meilleur support des standards du marché, notamment JavaScript et Java, qui devrait se traduire par une amélioration des performances

2. Le langage de formule

Le langage de formule a été complétement réécrit et nous apporte enfin les fonctionnalités que nous attendions depuis longtemps. Bien sur, la compatibilité avec la version précédente est maintenue.

Les bases du langage de formule étaient restées inchangées depuis son apparition, quinze ans plus tôt. Inutile de préciser qu'il n'était plus adapté aux exigences d'aujourd'hui et qu'il devenait urgent de le repenser, ce qui est désormais chose faite.

Jugez en plutôt par vous mêmes:

  • Affectation multiple de la même variable dans une formule alors qu'auparavant il était impossible d'utiliser deux fois le même identifiant de variable.
  • Un nouveau délimiteur de chaînes de caractères {} évite le recours fastidieux aux symboles \" dans les chaînes.
  • Une nouvelle notation des tableaux évite l'usage parfois confus des @Subsets multiples
  • Les boucles sont enfin supportées : @FOR, @WHILE et @DoWhile
  • De nouvelles fonctions sont disponibles : @BusinessDays, @Compare, @Sort, @GetField, etc, ...
  • Les fonctions existantes ont été améliorées : @DbLookup, @Max, @Text, etc.
Dans l'exemple ci-dessous, la formule est correctement formée:

x :=@TextToNumber (y[1]); x := x + 1; @for (i=0; i!=100; i:= i+1; x := x + y[i]);

Selon Gary Devendorf (oui, oui, le fameux Gary), les résultats de ces changements devraient être spectaculaires.

  • Un moteur deux à quatre fois plus rapide qui devrait littéralement accélérer la mise à jour des index de vues et le chargement des formulaires.
  • La limite de 64K devrait être supprimée, ce qui n'est pas encore le cas.

3. LotusScript

Du côté de LotusScript, les innovations sont moins frappantes même si RNext propose une nouvelle version du langage, la version 5.0. C'est plutôt du côté des agents que se situe la grande innovation. Mais nous y reviendrons plus tard.

Passons d'abord en revue les principales nouveautés:

  • Deux nouveaux types de données : byte et boolean
  • JavaConnect, la possibilité de se connecter à des classes Java par l'intermédiaire de nouvelles classes d'objets comme JavaSession ou JavaClass.
  • De nouvelles fonctions : split, join, Replace, ArrayUnique, etc. ...
  • La possibilité de recompiler du script depuis une API externe
  • Une prise en charge accrue du XML
  • De nouvelles classes d'objets : RichText, ViewDesign, NotesAdministrationProcess, XML, NotesUISchedule, ...
Côté agents, l'introduction du Remote Agent Debugging est une excellente nouvelle. Jusqu'à présent en effet, on ne peut utiliser le debugger que pour les scripts s'exécutant sur le client. Le seul moyen pour debugger un agent planifié ou exécuté depuis une interface Web réside dans l'utilisation du fichier journal et de la commande print. C'est vraiment peu de choses. Et vous savez comme moi que cette limitation fait pourtant perdre beaucoup de temps aux développeurs.

4. JavaScript

JavaScript est un langage développé par Netscape. Lotus n'a pas le droit d'en modifier une virgule et doit se contenter de l'intégrer tel quel dans ses programmes, ce qui ne peut que réjouir le développeur confronté aux multiples versions propriétaires des supposés standards du marché. Depuis la version 5 de Domino, il est possible d'écrire du code JavaScript 1.3 dans les événements d'objets et d'en vérifier automatiquement la syntaxe.

Avec RNext, Domino va supporter JavaScript 1.4, la toute dernière mouture du langage. Je n'en détaillerai pas les améliorations dont vous pouvez trouver la liste sur les serveurs de Netscape. Je me contenterai d'indiquer que Domino propose désormais des bibliothèques de code JavaScript (JavaScript Library) ce qui fait vraiment défaut à la version actuelle.

5. Et Java dans tout ça?

Comme vous vous en doutez, le langage phare du moment trouve une place de choix dans RNext. La version désormais supportée est la JRE 1.3 dont les afficionados drouveront une description détaillée sur les serveurs de Sun.

En plus des améliorations intrinsèques du langage, je signalerai deux améliorations importantes :

  • La présence d'une JVM intégrée dans Notes
  • Et surtout, le support des JSP, les Java Server Pages

6. Le futur

La sortie de RNext n'est prévue que dans un an. Il y a fort à parier que d'ici là le produit se soit enrichi de fonctionnalités nouvelles et intéressantes, dont les présentations de Lotussphere n'ont donné qu'un bref aperçu.

On nous promet déjà le support de nouveaux langages tels que JavaScript 2.0 (ECMA-script), C# le concurrent de Java à la sauce Microsoft, et VB.Net, auquels viendront s'ajouter de nouvelles technologies telles, par exemple, SOAP,le protocole d'échange XML.

En clair, Lotus se tourne résolument vers l'ouverture aux standards de la programmation.

Mise à jour: 18/09/2003
Conception: Lionel, 2001-2002