Le descripteur de composant contient une entité de composant, en définissant ou un composant de singleton ou une classe instantiable de composants. Il n'existe aucune différence entre la définition d'un singleton et d'une classe, si ce n'est que les classes instantiables sont requises pour résider dans une bibliothèque de composants appelée catalogue. De même, tous les types de composant peuvent être utilisés dans un assemblage, mais un singleton ne peut s'afficher qu'une fois dans la structure d'une application, alors qu'un composant instantiable peut être utilisé plusieurs fois.
Voici deux exemples de la structure de descripteur de composant ; le premier exemple est au format standard actuel, le deuxième exemple indique l'ancien format de la spécification d'informations de démarrage. L'ancien format est totalement pris en charge pour être compatible avec les appliances de catalogue existantes.
component nom
{
nom s de volume : chemin accès de dev= [mount= chemin accès][, ro] [high_bw]
resource cpu : min= val , max= val
resource mem : min= val , max= val , abs= val
resource bw : min= val , max= val
(input|output) nom s : protocol= nom [, mandatory ][, alias = nom dns ]
interface nom s
property nom s : type=(string|integer|ip_addr) [, filter= exp reg ] \
[,min= val ,max= val ] [, (mandatory| dflt= val) ]
property nom s : type=(string|integer) [, values= v1|v2|v3... ] \
[, (mandatory| dflt= val ) ]
.config_mode=(dhcp|volfix)
virtualization: modes="[xen_pv][,xen_hvm][,vmware][,...]"
{
path = nom_fichier
initrd = nom_fichier
options = "chaîne"
console = "chaîne"
device_schema = "chaîne"
}
visual
{
...
}
}
component nom
{
volume nom s : dev= chemin accès, [, ro] [, high_bw]
resource cpu : min= val , max= val
resource mem : min= val , max= val , abs= val
resource bw : min= val , max= val
(input|output) nom s : protocol= nom =[, mandatory ][, alias = nom dns ]
interface nom s
property nom s : type=(string|integer|ip_addr) [, filter= exp reg ] \
[,min= val ,max= val ] [, (mandatory| dflt= val) ]
property nom s : type=(string|integer) [, values= v1|v2|v3... ] \
[, (mandatory| dflt= val ) ]
cfgfiles
[
vol= nom s , path= nom_fichier
vol= nom s , path= nom_fichier
...
]
kernel: path= nom_fichier [, initrd = nom_fichier ] [, options = " chaîne" ]
visual
{
...
}
}
Les attributs suivants sont définis pour l'entité du composant :
|
.migrateable |
Si cet attribut est défini, le composant peut être déplacé d'une UC à un autre (pour autant que le composant s'exécute dans un ordinateur virtuel et que la migration de l'ordinateur virtuel soit prise en charge). Cet attribut ne doit pas être spécifié dans un composant. Si elle n'est pas spécifiée, la valeur par défaut est 1 (True). Il s'agit d'un attribut booléen (valeurs valides : 0,no,false,1,yes,true ; peut également être spécifiée sans aucune valeur, la signification est alors 1). |
|
.server |
Si .migrateable est défini sur 0, définit le nom du serveur sur lequel ce composant doit s'exécuter. Cet attribut, ainsi que l'attribut .migrateable sont habituellement définis dans un assemblage extérieur et non dans le descripteur de composant proprement dit. Le compilateur affichera un avertissement si cet attribut est défini dans le composant. |
|
.standby |
Si cet attribut est défini, le composant n'est pas lancé automatiquement au démarrage de l'application. L'attribut .standby n'est pas supposé être défini directement dans un descripteur de composant. Il est généralement défini à partir d'un assemblage qui contient le composant ou redirigé vers l'assemblage de niveau supérieur d'une application pour permettre l'activation/la désactivation des parties de l'application en modifiant les propriétés de l'application (stockées dans le premier assemblage. Voir Descripteur de package). Il s'agit d'un attribut booléen. |
|
.boot_tout |
Délai de démarrage, en secondes. Si cet attribut est spécifié et défini sur une valeur non nulle, il indique la durée pendant laquelle le contrôleur d'application doit patienter pour que le composant devienne actif avant de supposer que son démarrage a échoué. Si cet attribut est ignoré ou défini sur zéro, une valeur par défaut configurée pour le contrôleur CA AppLogic est utilisée. |
|
.os_type |
obsolète Cet attribut ne devrait pas être utilisé dans des descripteurs venant d'être créés. Reportez-vous plutôt à la description de l'entité de virtualisation. .os_type spécifie le système d'exploitation utilisé par ce composant. Ces informations sont nécessaires pour de la prise en charge de plusieurs types de SE s'exécutant sur des ordinateurs virtuels. La valeur fournie n'est pas interprétée par le système de compilation ADL. Conjointement avec les données dans l'entité de "noyau" décrite ci-dessous, elle est censée être transmise au chargeur de démarrage de l'ordinateur virtuel. Si aucune valeur n'est spécifiée, "linux" est utilisé comme valeur par défaut. |
|
.config_mode |
Spécifie la façon dont le composant devrait être configuré. Les valeurs autorisées sont dhcp et volfix. La valeur par défaut est dhcp. Cet attribut ne devrait être utilisé explicitement qu'à des fins de rétrocompatibilité, si la fonctionnalité volfix devait être conservée pour un composant donné. Cet attribut est ignoré et le mode est défini sur volfix si le descripteur ne comporte pas d'entité de virtualisation. Cela doit permettre à d'anciens descripteurs (appartenant à des composants qui reposent sur volfix et ne prennent pas en charge la configuration dhcp) de fonctionner sans modification. |
|
.field_opt |
Masque de bits d'options pour l'activation de diverses assistances de débogage et de dépannage. Cet attribut ne suit pas les règles normales de remplacement des valeurs de propriété d'un assemblage s'appliquant à tous les autres attributs prédéfinis. La valeur .field_opt spécifiée pour un composant est conservée en tant qu'options de champ de classe, pendant qu'un paramètre du même attribut pour une instance du composant dans un assemblage est conservé en tant qu'options de champ d'instance. |
|
.category |
Chaîne arbitraire qui définit la catégorie générale à laquelle le composant appartient. Elle est autorisée par la syntaxe ADL, mais n'est interprétée d'aucune façon. Elle est utilisée par les outils visuels CA AppLogic pour organiser les composants dans les bibliothèques de composants (catalogues). |
|
.description |
Brève description du composant. Comme pour l'attribut .category, la valeur de cet attribut est arbitraire et sert uniquement à titre informatif. |
|
.console |
Paramètres de configuration de la console du système d'exploitation. Le format de cette chaîne ne fait pas partie du langage ADL. Les paramètres de console actuellement pris en charge sont définis dans le Manuel de l'utilisateur de grille. Si .console n'est pas spécifié pour un composant, CA AppLogic utilise un paramètre de configuration système par défaut. Sauf s'il est remplacé manuellement par un utilisateur doté de droits d'administrateur, le paramètre système par défaut définit la console du composant sur SSH sur le port 22. |
Tous les attributs de composant sont facultatifs et ne doivent pas nécessairement figurer dans le descripteur.
L'ensemble des attributs sont également des propriétés valides du composant, que vous pouvez remplacer dans un assemblage qui contient le composant.
Remarque : Les noms d'attribut sont précédés d'un point, pour éviter les conflits de nom avec les propriétés standard (reportez-vous à l'entité de propriété ci-dessous).
Le tableau suivant est un récapitulatif des sous-entités valides d'un composant, suivi par des sections expliquant chaque sous-entité en détail.
|
volume |
Définit un volume qui contient un système de fichiers utilisé par le composant. Au moins une entité de volume doit s'afficher dans chaque composant. |
|
resource |
Définit la configuration requise du composant concernant les ressources matérielles nécessaires à son exécution. |
|
input, output |
Ces entités définissent les terminaux du composant, qui sont des interfaces réseau destinées à la connexion avec d'autres composants dans la même application. |
|
interface |
Cette sous-entité est utilisée pour activer et configurer des interfaces réseau ne devant pas être connectés à d'autres composants (tels que des terminaux d'entrée et de sortie) |
|
property |
Définit une propriété configurable du composant. |
|
cfgfiles |
Définit une liste de fichiers de configuration devant être vérifiés pour la mise à jour et le balisage corrects des propriétés. |
|
kernel |
obsolète - Utilisez plutôt la virtualisation. Cette entité contient des informations de démarrage spécifiques au système d'exploitation. Son contenu dépend de la valeur de l'attribut .os_type du composant. |
|
virtualization |
Cette entité définit l'environnement virtuel pour lequel le composant est conçu et contient des options spécifiques de démarrage à fournir au chargeur de démarrage du composant. Le champ "mode" est toujours pris en charge pour la rétrocompatibilité avec des fichiers de descripteur plus anciens. |
|
visual |
Données de présentation visuelle. ADL ne définit pas le contenu de cette entité. Cette sous-entité est destinée à l'éditeur de l'interface utilisateur graphique afin de stocker les informations relatives à l'affichage du composant dans la fenêtre de l'éditeur (couleur, forme d'icône, présentation des terminaux, etc.). |
| Copyright © 2012 CA. Tous droits réservés. |
|