Un dictionnaire de données est composé d’éléments de dictionnaire de données (DDE) dont il existe trois types : simple, composite et de collection. Les DDE simples sont des éléments primitifs tels que des chaînes, des nombres, des dates et des valeurs booléennes qui contiennent des informations telles qu’un nom de ville. Un DDE composite contient d’autres éléments de dictionnaire de données qui peuvent être de type primitif, composite ou de collection. Par exemple, une adresse, qui se compose d’un nom de rue, une ville, une province, un pays et d’un code postal. Une collection est une liste de DDE simples ou composites similaires. Par exemple, un client avec plusieurs emplacements différents ou des adresses de facturation et de livraison différentes.
Les éléments de dictionnaire de données doivent se conformer à quelques règles par rapport à la structure du schéma.
Seul le type composite est autorisé en tant que DDE de niveau supérieur dans un dictionnaire de données.
Un modèle FML annoté avec plusieurs entités de niveau supérieur ne peut pas être importé.
Nom, nom de référence et type d’élément sont des champs obligatoires pour un dictionnaire de données et des DDE.
Le nom de référence doit être unique.
Un DDE parent (composite) ne peut pas avoir deux enfants ayant le même nom.
Les énumérations contiennent uniquement des types de chaînes primitifs.
Eléments de dictionnaire de données calculésUn dictionnaire de données peut également contenir des éléments calculés. Un élément de dictionnaire de données calculé est toujours associé à une expression. Cette expression est évaluée pour obtenir la valeur d’un élément de dictionnaire de données au moment de l’exécution. Une valeur de DDE calculée est une fonction d’autres valeurs ou littéraux d’éléments de dictionnaire de données. Par défaut, les expressions du langage EL (Expression Language) JSP sont prises en charge. Les expressions EL utilisent les caractères ${ } et les expressions valides peuvent inclure des littéraux, des opérateurs, des variables (références d’élément de dictionnaire de données) ainsi que des appels de fonction. Tout en faisant référence à un élément de dictionnaire de données dans l’expression, le nom de référence de DDE est utilisé. Le chemin d’accès est unique pour chaque élément de dictionnaire de données au sein d’un dictionnaire de données.
Un DDE calculé de type PersonfullName peut être associé à une expression de concaténation EL telle que ${PersonfirstName} ${PersonlastName}.
Schéma des classes du bloc de création Data DictionaryLe schéma suivant indique les relations entre les classes Data Dictionary ci-dessus :
Le tableau suivant récapitule les attributs communs liés avec DDE :
Attribut
|
Type
|
Description
|
name
|
Chaîne
|
Obligatoire. Nom du DDE. Ce nom doit être unique.
|
reference Name
|
Chaîne
|
Obligatoire. Nom de référence unique pour le DDE permettant d’obtenir des références au DDE indépendantes des modifications apportées à la hiérarchie ou à la structure du dictionnaire de données. Les modules de texte sont mappés à l’aide ce nom.
|
displayname
|
Chaîne
|
Nom convivial facultatif du DDE.
|
description
|
Chaîne
|
Description du DDE.
|
elementType
|
Chaîne
|
Obligatoire. Type de DDE : CHAINE, NOMBRE, DATE, BOOLEEN, COMPOSITE, DE COLLECTION.
|
elementSubType
|
Chaîne
|
Sous-type pour le DDE : ENUM. Uniquement autorisée pour les types d’élément CHAINE et NOMBRE.
|
key
|
Booléen
|
Champ de valeur booléenne pour indiquer si un DDE est un élément clé.
|
computed
|
Booléen
|
Champ de valeur booléenne pour indiquer si un DDE est calculé. Une valeur de DDE calculée est une fonction d’autres valeurs de DDE. Par défaut, les expressions du langage EL (Expression Language) JSP sont prises en charge.
|
expression
|
Chaîne
|
Expression pour le DDE « calculé ». Le service d’évaluation d’expression fourni par défaut prend en charge les expressions EL JSP. Vous pouvez remplacer le service d’expression par une implémentation personnalisée.
|
valueSet
|
Liste
|
Ensemble de valeurs autorisées pour un DDE de type Enum. Par exemple, Accounttype (type de compte) ne peut comporter que les valeurs Saving (épargne) et Current (courant).
|
extendedProperties
|
Objet
|
Carte des propriétés personnalisées ajoutée au DDE (spécifique à une interface utilisateur ou toute autre information).
|
required
|
Booléen
|
Le drapeau indique que la source des données d’instance correspondant au dictionnaire de données doit contenir la valeur de ce DDE spécifique.
|
Binding
|
Elément de liaison
|
Liaison XML ou Java de l’élément.
|
Mappage des types de données entre XSD, le dictionnaire de données et le modèle de donnéesL’exportation d’un schéma XSD au FML annoté du modèle nécessite un mappage de données spécifiques, détaillé dans le tableau ci-dessous. La colonne DDI indique le type de la valeur DDE disponible dans la DDI.
XSD
|
Dictionnaire de données
|
Modèle
|
DDI (valeur d’instance de type de données)
|
xs:element de type Composite
|
DDE de type COMPOSITE
|
Entité
|
java.util.Map
|
xs:element où maxOccurs > 1
|
DDE de type COLLECTION
Un nœud de DDE est créé en regard du DDE COLLECTION qui capture les informations à partir du nœud COLLECTION parent. Le même nœud est également créé pour les deux types de collection de données simples/composites. Pour chaque instance de COLLECTION de type composite, l’arborescence du dictionnaire de données capture les champs élémentaires dans les enfants du DDE créé pour la capture des informations de type.
- DDE (COLLECTION)
- DDE (COMPOSITE pour l’information de type)
- DDE (Chaîne) champ 1
- DDE (Chaîne) champ 2
|
Propriété de collection dans FML
Simple - Associé en tant que collection
Composite - Associé en tant que relation de cardinalité un-à-plusieurs avec l’entité correspondante.
|
java.util.List
|
Attribut de type xs:id
|
DDE de type CHAÎNE
|
ID (propriété)
|
java.lang.String
|
xs:attribut /xs:element de type xs:string
|
DDE de type CHAÎNE
|
Propriété de type chaîne
|
java.lang.String
|
xs:attribute /xs:element de type xs:boolean
|
DDE de type BOOLEEN
|
Propriété de type booléen
|
java.lang.Boolean
|
xs:attribute /xs:element de type xs:date
|
DDE de type DATE
|
Propriété de type date
|
java.lang.String
|
xs:attribute /xs:element de type xs:integer
|
DDE de type NOMBRE
|
Propriété de type double
|
java.lang.Double
|
xs:attribute /xs:element de type xs:long
|
DDE de type NOMBRE
|
Propriété de type double
|
java.lang.Double
|
xs:attribute /xs:element de type xs:double
|
DDE de type NOMBRE
|
Propriété de type double
|
java.lang.Double
|
Elément de type enum et basetype xs:string
|
DDE de
type CHAÎNE
sous-type ENUM
ensemble de valeurs - valeurs autorisées pour ENUM
|
Propriété de type chaîne
Les valeurs autorisées pour ENUM rentrent dans la catégorie des annotations DDS.
|
java.lang.String
|
|
|
|