Rubrique précédente: Syntaxe de descripteur de composant

Rubrique suivante: Entité de volume


Présentation

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).
En l'absence de cet attribut, .migrateable=1 est la valeur par défaut. C'est l'inverse de la plupart des autres attributs booléens définis dans le langage ADL qui utilisent généralement 0 comme valeur par défaut.

.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.).
Le contenu de cette entité doit être conforme aux règles de syntaxe générales du langage UDL présentées plus haut dans ce document à la section Règles de syntaxe s'appliquant à tous les types de descripteur. Consultez la spécification UDL pour plus d'informations.