Home > Release Notes

2.8.0

Date de publication:  29 Avril 2004 - build 0186

Cette version apporte de nouvelles fonctionnalités de rafraîchissement du cache EBX.Platform et de rechargement du référentiel ainsi que de nombreuses améliorations des fonctionnalités existantes. Par ailleurs le référentiel EBX.Platform a été réorganisé afin de permettre un packaging plus simple et une intégration plus facile avec les outils de gestion de versions et de configurations. Une journalisation systématique des modifications persistantes du référentiel est assurée afin qu'un suivi ou un contrôle détaillé par utilisateur puisse être effectué.

EBX.Manager

Nouvelles fonctionnalités

Barre "EBX.Developers"

La barre développeur est affichée en mode développement. Elle permet d'accéder au guide utilisateur complet, au javadoc et assiste le développement en proposant des actions telles que la génération Java ou la synchronisation avec le modèle d'adaptation.

Voir Assistant développeur

Bouton "Rafraîchir modèle" (mode développement)

Ce bouton est accessible dans la barre "développeur".

Scénario type: Le développeur fait évoluer le modèle de données (ajout d'un noeud par exemple). Il désire que cette évolution soit immédiatement visible dans EBX.Manager, sans redémarrer le serveur d'applications.

Bouton "Générer Java" (mode développement)

Il est désormais possible de générer les types Java spécifiés par le modèle d'adaptation à partir de EBX.Manager. Le bouton est accessible dans la barre "développeur".

Voir Génération Java (bindings).

Bouton "Rafraîchir connecteurs"

Scénario type: Un paramètre persisté par le back-end (hors référentiel EBX) est mis à jour. L’utilisateur de EBX.Manager veut que la mise à jour du back-end soit immédiatement effective dans les vues EBX, sans redémarrer le serveur d’applications.

Améliorations diverses, corrections de bugs

Support des transactions longues

L'accès au contenu des adaptations supporte désormais les transactions longues. Si un même contenu d'adaptation est mis à jour en parallèle par deux sessions HTTP, la première mise à jour réussit mais la seconde échouera.

Une transaction longue consiste en deux transactions: une première transaction d'accès en lecture qui permet d'afficher le contenu sélectionné dans EBX.Manager; une seconde transaction d'accès en mise en jour qui a lieu à la validation de la saisie effectuée dans EBX.Manager. Etant donné que l'intervalle de temps entre ces deux transactions peut être relativement important (au plus la durée d'expiration de session) et que le référentiel sous-jacent peut être mis à jour de diverses manières, la stratégie de contrôle consiste à exploiter un identifiant unique de persistence ( last commit id ) en vérifiant que cet identifiant est identique entre la première transaction et la seconde (un identifiant distinct implique que l'entité à mettre à jour a été modifiée par une autre source).

Tri des adaptations

Les adaptations sont désormais triées dans l'ordre alphabétique dans les différents arbres de EBX.Manager.

Cas d'une adaptation dont le modèle est en erreur

Auparavant, quand le modèle d'une adaptation (schéma XML) avait une erreur de compilation, l'utilisateur était bloqué sur la liste des adaptations. Désormais, il peut la sélectionner dans un mode restreint où seuls la page de description et le rapport de compilation sont disponibles.

Rapport de compilation plus complet

Le rapport de compilation d'une adaptation affiche désormais le détail des erreurs de compilation des composants utilisés. Par exemple, si un schéma XML utilisé est en erreur, ses erreurs sont affichées.

Adaptation sans libellé

La création d'une adaptation supporte désormais qu'aucun libellé ne soit fourni. Le libellé est donc optionnel. S'il n'est pas présent, seule la référence est utilisée pour l'affichage de l'adaptation.

Locale non définie

Le cas où la locale d'une adaptation est indéfinie (valeur "nulle") n'est plus considéré comme une erreur de compilation. Par défaut, la locale est alors celle définie par 'module.xml'.

Voir Modules EBX.Platform: Déclaration .

EBX.Engine

Nouvelles fonctionnalités

Sans objet.

Améliorations diverses, corrections de bugs

Informations de configuration

Sur l'onglet d'accueil les informations de configurations EBX.Platform ont été enrichies.

API d'adaptation

Evolution des APIs

Classe Adaptation

La méthode isObsolete() a été ajoutée: elle permet de déterminer si une version plus récente de l'adaptation est disponible.

Classe ReadContext

La méthode toHtmlString() a été ajoutée (c'est l'équivalentfonctionnel de la balise <border> ).

Classe AdaptationNode

La signature de la méthode getChildNode(aPath) a été modifiée: elle lève désormais l'exception PathAccessException au lieu de CannotAccessToCustomizationNodeException

Utilisation d'une adaptation incohérente

En cas d'utilisation d'une adaptation en erreur, des exceptions explicites sont désormais levées :

Etant donné que l'usage d'une adaptation requiert que sa cohérence soit d'abord vérifiée, ces exceptions ne peuvent être levées qu'en outrepassant cette règle. Autrement dit, elles indiquent un viol de précondition d'appel.

Scripts Ant de génération Java

Il est désormais possible de générer les types Java spécifiés par le modèle d'adaptation directement par le "job" <generateJava/> . Le "job" <generateJavaPathConstants/> est déprécié en conséquence.

Voir Utilisation de Ant.

Améliorations diverses, corrections de bugs

Balise JSP <debug/>

Cette balise affichie désormais le contenu complet de l'adaptation courante dans un tableau HTML hiérarchique.

Balise JSP <border>

Auparavant, une exception était si le noeud d'adaptation référencé par la balise <border> était indéfini (valeur "nulle"). Désormais, un template vide est affiché.

Taglib JSP

Le fichier 'ebx.tld' qui spécifie les balises EBX.Platform a été revu, chaque a désormais une description.

Modèles d'adaptation

Nouvelles fonctionnalités

Génération Java

La spécification des types Java à générer à partir du schéma XML est désormais incluse directement dans le schéma XML. Celle-ci est en effet spécifiée par l'élément <binding> en annotation du schéma.

Voir Génération Java (bindings).

Améliorations diverses, corrections de bugs

Chargement des schémas XML - espaces de nommage

Pour les espaces de nommage identifiés par les URI 'http://www.w3.org/2001/XMLSchema' et 'urn:ebx-schemas:common_1.0', si les préfixes associés ne sont pas respectivement 'xs' et 'osd', un message d'erreur explicite est ajouté.

Chargement des schémas XML - types non supportés

En cas d'utilisation d'un type XML Schema non supporté, le message d'erreur est plus explicite.

Administration et référentiel

Piste d'audit pour le suivi d'activité

Toute modification persistente du référentiel est désormais systématiquement journalisée dans un fichier XML.

Voir Référentiel: Piste d'audit .

Changement de référentiel à chaud

Si la propriété ebx.repository.directory du fichier ebx.properties est modifiée à chaud, alors les actions suivantes sont entreprises: 

  1. Le rechargement de l'ensemble du référentiel est effectué : les adaptations utilisées avant l'action sont marquées comme obsolètes.

  2. Les sessions des utilisateurs de EBX.Manager et de EBX.Engine sont interrompues. Les utilisateurs doivent en conséquence se reloguer.

Cette fonctionnalité permet de répondre au scénario type suivant: une nouvelle version du référentiel, testée en intégration est déployée en production. L’exploitant veut déployer cette nouvelle versoin, sans redémarrer le serveur d’applications et en conservant la possibilité de revenir rapidement sur l’ancienne version en cas de problème.

Voir Référentiel : Changement à chaud .

Migration du référentiel

Le référentiel interne EBX.Platform a été profondément réorganisé. D'une part le packaging est plus orienté par arbre d'adaptations, d'autre part, il est plus facile d'intégrer le référentiel dans un outil de gestion de versions et de configurations.

La migration du référentiel est transparente. Elle a lieu au démarrage de EBX.Platform.

Persistence XML et encodage

Les ressources sauvegardées en XML sont désormais systématiquement encodées en UTF-8 (auparavant l'encodage dépendait de la plate-forme d'exécution).

Modification de 'ebx.properties'

Si le fichier 'ebx.properties' est mis à jour, les informations de configuration de EBX.Platform sont systématiquement réaffichées dans le journal (catégorie ebx.log4j.category.log.kernel ).

Informations de configuration

Les informations de configuration EBX.Platform affichées dans le journal (catégorie ebx.log4j.category.log.kernel ) ont été complétées.

Installation

Bibliothèques requises

Les 3 bibliothèques suivantes sont requises par cette version de EBX.Platform :

Home > Release Notes