Objet
    Décrire comment la fonctionnalité du système est répartie dans les noeuds physiques. Cette activité ne s'applique qu'aux systèmes répartis.
Rôle :  Architecte logiciel 
Fréquence :  Une fois par itération, particulièrement durant la phase d'élaboration. 
Etapes
Artefacts d'entrée :    Artefacts de sortie :   
Guides d'utilisation de l'outil :   
Plus d'informations : 

Détails de l'enchaînement des activités :   

Cette activité définit l'architecture de déploiement du système en termes de noeuds physiques et de leurs interconnexions. Pendant l'Activité : Analyse Architecturale, on a défini un modèle de déploiement initial. Dans cette activité, on affine ce modèle de déploiement (et particulièrement la vue de déploiement)pour refléter la conception actuelle.

Tôt dans la phase d'élaboration, la vue de déploiement est généralement plutôt préliminaire ; en revanche vers la fin de l'élaboration, elle doit être bien définie.

Analyser les conditions de répartition Haut de la  page

Objet Définir le degré de répartition requis pour le système. 

Les conditions de répartition sont contrôlées par :

  • Les exigences de répartition dans le domaine posant problème (exigences fonctionnelles). Des conditions explicites peuvent exiger que le système accède ou utilise un processeur réparti spécifique, ou encore un système patrimonial pour réaliser une partie de ses fonctions.
  • Configuration de déploiement sélectionnée - Les configurations de déploiement sélectionnées imposent des contraintes au niveau de la répartition du système, en définissant le nombre et le type de noeuds et leurs interconnexions. Par exemple, la sélection d'une configuration de déploiement multi-niveau signifie généralement que vous disposez d'un noeud client, d'un noeud serveur Web et d'un noeud serveur d'applications. Une configuration de déploiement spécifique est habituellement sélectionnée durant l' Activité: Analyse architecturale et est ensuite perfectionnée pendant cette activité.
  • Les ressources requises (exigences non fonctionnelles) - Les fonctionnalités à fort pourcentage de calculs ou à durée critique peuvent nécessiter des configurations matérielles spécifiques, destinées à traiter les exigences liées à la fonctionnalité ; par exemple, un processeur rapide, une mémoire RAM importante ou une grande quantité d'espace disque. Un exemple illustrant cela est le traitement numérique du signal qui peut nécessiter la présence de processeurs spécialisés.
  • Le besoin de tolérance aux pannes (exigences non fonctionnelles) - la condition peut être l'obligation d'être équipé de processeurs de secours.
  • Les préoccupations d'extensibilité et de souplesse (exigences non fonctionnelles) - Le nombre d'utilisateurs simultanés est simplement trop important à prendre en charge pour un seul processeur. Il peut être nécessaire d'équilibrer la charge de travail de la fonctionnalité système, offrant de cette façon un niveau maximum de performance et d'extensibilité.
  • Préoccupations économiques - Les performances de prix des processeurs de petite taille qui sont bon marché ne peuvent pas être atteintes pour les plus grands modèles.

Comme pour la plupart des problèmes architecturaux, ces configurations peuvent quelque peu s'exclure l'une l'autre. Il n'est pas rare d'avoir, au moins initialement, des configurations conflictuelles. Classer les configurations par ordre d'importance vous aidera à résoudre le conflit.

Définir la configuration du réseau Haut de la  page

Objet Définir la configuration et la topologie du réseau. 

Durant cette étape, le modèle de déploiement initial (défini dans le chapitre Activité : Analyse architecturale) est détaillé pour prendre en charge les configurations de répartition identifiées dans l' étape précédente.

La topologie du réseau, les capacités et caractéristiques des processeurs et périphériques du réseau détermineront la nature et le degré de répartition possible dans le système.

Les informations suivantes doivent être enregistrées :

  • la couche physique du réseau, incluant les localisations
  • les noeuds du réseau, leurs configurations et capacités (la configuration comprend le matériel et le logiciel installées sur les noeuds, le nombre de processeurs, la quantité d'espace disque, le volume de la mémoire, le nombre de permutations, et ainsi de suite). Le matériel installé sur le noeud peut être représenté en utilisant des périphériques.
  • La bande passante de chaque segment du réseau
  • L'existence de tout chemin d'accès redondant sur le réseau (cela va vous aider à offrir des capacités de tolérance aux pannes)
  • Le but principal du noeud inclut :
    • Les noeuds des postes de travail utilisés par les utilisateurs finaux
    • Les noeuds du serveur sur lesquels les traitements sans écran ont lieu (pour simplifier la configuration du serveur, les composants du serveur peuvent être condensés dans une image sans entête, contenant les composants de l'interface utilisateur)
    • Les configurations spéciales utilisées pour le développement et les tests
    • Les autres processeurs spécialisés
  • Conception du protocole IP et fonctions (par exemple, DNS, VPN), s'il existe un réseau IP
  • Le rôle joué par Internet dans la solution

Exemple

Le diagramme suivant illustre la vue de déploiement du distributeur de billets

Diagramme de la vue de déploiement du distributeur de billets

Vue de déploiement du distributeur de billets

Le diagramme illustre deux noeuds (le distributeur de billets lui-même, qui est le centre d'intérêt de cet exemple), et le serveur du réseau de distributeur de billets, à travers lequel transitent toutes les connexions au réseau interbanques. Bien que le serveur de réseau de distributeur de billets soit hors de portée des concepteurs de distributeurs de billets, nous le présentons ici pour illustrer la manière dont la bande passante peut être documentée. Le diagramme montre également les processus et fils qui exécutent le noeud du distributeur automatique, et qui sont abordés dans l'étape suivante Attribuer des éléments système aux noeuds.

Notez l'utilisation de commentaires pour documenter les capacités du processeur et du réseau. Ce type de documentation peut aussi être présenté dans les champs de documentation du noeud (ou des périphériques) ; dans ce cas, elle n'est pas mentionnée dans le diagramme.

Attribuer des éléments système aux noeuds Haut de la page

Objet  Répartir la charge de travail du système. 

Durant cette étape, les éléments du système sont attribués aux noeuds définis dans la précédente étape. Le déploiement peut être décrit à la fois d'un point de vue logique et physique.

Le déploiement logique est l'endroit où les éléments logiques (classes, sous-systèmes, ou leurs instances) sont mappés aux noeuds. Ils peuvent inclure des fils de contrôle. Par exemple, un déploiement logique peut indiquer que le sous-système ResponsabledesEnchères est déployé vers le serveur d'application.

Le déploiement physique est l'endroit où les fichiers sont mappés aux noeuds. Par exemple, un déploiement physique peut indiquer que le fichier Fermerl'HorlogedesEnchères.class est déployé vers le serveur76.

La répartition est la zone où la somme peut être, et est généralement inférieure à la somme des pièces individuelles. L'obtention de véritables avantages dans la répartition nécessite un travail et une planification scrupuleuse. Lorsque l'on décide quels éléments doivent être mappés à quels noeuds, il faut prendre en considération les besoins suivants :

  • capacité du noeud (en termes de mémoire et de puissance de traitement)
  • bande passante du moyen de communication (bus, les réseaux LAN et WAN)
  • disponibilité des liens matériel et de communication, redirection
  • exigences liées à la redondance et la tolérance aux pannes
  • exigences liées aux temps de réponse
  • exigences de rendement
  • etc.

Les éléments sont attribués aux noeuds, dans le but de minimiser la quantité de trafic traversant le réseau ; les éléments qui interagissent au plus haut degré, doivent cohabiter sur le même noeud ; alors que les éléments qui interagissent moins fréquemment peuvent résider sur des noeuds différents. La décision cruciale, qui parfois nécessite l'utilisation d'une itération, est de savoir où fixer les limites. La répartition des processus à travers deux noeuds ou plus requiert une analyse plus approfondie des schémas de communication inter-processus du système. Souvent, on pense naïvement que la répartition du traitement peut décharger le travail d'une machine sur l'autre. En pratique, la charge de travail supplémentaire liée à la communication inter-processus peut facilement annuler les gains obtenus par la répartition de la charge de travail si le processus et les frontières de noeuds n'ont pas été examinés avec précaution.

Exemple

Le diagramme précédent fourni à titre d'exemple, intitulé la vue de déploiement du distributeur de billets, illustre pour le noeud distributeur de billets, l'attribution de processus au noeud. Il existe un seul processus (distributeur de billets principal), qui comporte à son tour trois fils de contrôle séparés (interface client, interface réseau distributeur de billets et contrôleur de périphérique).

Certains environnements fournissent des mécanismes permettant d'automatiser et/ou de simplifier la répartition. Par exemple :

  • Les grappes : Une grappe est un groupe de serveurs qui agissent comme une unité, comportant généralement une fonctionnalité, telle que le basculement et l'équilibrage de la charge de travail. Dans ce cas, la vue de déploiement doit décrire la manière dont les éléments du système sont attribués aux grappes, ainsi que la manière dont les grappes sont configurées pour correspondre aux noeuds physiques.
  • Les conteneurs : Dans les environnements de composants, tels que J2EE, Microsoft .NET et d'autres, les composants s'exécutent à l'intérieur d'un environnement logique de traitement appelé conteneur. Un conteneur peut être considéré comme un "noeud logique". La vue de déploiement doit décrire la manière dont les éléments du système sont déployés vers les conteneurs, et la manière dont les conteneurs sont à leur tour attribués aux noeuds physiques.

L'utilisation de ces mécanismes de répartition, et la manière dont ils doivent être configurés et mappés aux noeuds physiques pour satisfaire les exigences de répartition, doivent être documentées dans la vue de déploiement.

RUP (Rational Unified Process)   2003.06.15