Présentation technique de Sun Java Enterprise System 5

Déploiement

Au cours des phases de déploiement du cycle de vie, vous transformez un scénario de déploiement en un modèle de déploiement que vous allez ensuite implémenter, tester et mettre en production dans un environnement de production.

Le processus de déploiement englobe généralement les composants logiciels de tous les niveaux et de tous les niveaux de service d'infrastructure requis pour la prise en charge d'une solution logicielle. En général, vous devez déployer à la fois les composants d'application personnalisés (composants J2EE, services Web ou autres serveurs) et les composants Java ES requis pour la prise en charge de la solution.

Les tâches de déploiement sont regroupées en deux phases, comme indiqué dans la Figure 4–1:

Conception de déploiement

Au cours de la phase de conception du déploiement, vous créez une architecture de déploiement de niveau supérieur, suivie de spécifications de d'implémentation de niveau inférieur.

Architecture de déploiement

Une architecture de déploiement est créée en mappant les blocs fonctionnels logiques d'une application (l'architecture logique) sur un environnement informatique physique de sorte que les exigences de qualité de service spécifiées dans le scénario de déploiement soient respectées. Le scénario de déploiement est converti en une architecture de déploiement, comme illustré à la figure suivante.

Figure 4–3 Conversion d'un scénario de déploiement en une architecture de déploiement

Diagramme présentant la conversion d'un scénario de déploiement en une architecture de déploiement.

L'un des aspects de cette conception architecturale est le dimensionnement de l'environnement physique (en déterminant le nombre d'ordinateurs et en estimant la puissance de leurs processeurs et les exigences de RAM) pour satisfaire les performances, la disponibilité, la sécurité et les autres exigences de qualité de service. Une fois le dimensionnement effectué, mappez les composants Java ES et les composants d'application sur les différents ordinateurs de l'environnement physique. L'architecture de déploiement produite doit prendre en compte les fonctionnalités des différents ordinateurs, les caractéristiques des services d'infrastructure système et les restrictions liées au coût total de possession ou de disponibilité.

Plus le nombre de composants Java ES du scénario de déploiement est élevé, plus vos exigences en termes de qualité de service seront contraignantes, et plus votre conception sera difficile sur des ordinateurs puissants et sur une bande passante réseau élevée. Si le matériel est limité ou si son prix est prohibitif, vous devrez peut-être envisager des compromis entre les frais fixes (matériel) et les frais variables (ressources humaines) ou entre les différentes exigences de qualité de service. Vous pourrez également intégrer des composants plus sophistiqués dans votre conception.

La conception d'une architecture de déploiement évolue fréquemment de manière itérative. Java Enterprise System développe un ensemble d'architectures de déploiement de référence comme point de départ de la conception de déploiement.

Une architecture de référence est fondée sur un scénario de déploiement spécifique: une architecture logique avec des exigences spécifiques en termes de qualité de service. Dans l'architecture de référence, une solution logicielle est déployée dans un environnement physique spécifique afin de répondre aux exigences de qualité de service spécifiées. Le test des performances sur des charges spécifiées repose sur le même ensemble de cas d'utilisation à partir desquels le scénario de déploiement a été développé. Les clients de Java ES peuvent accéder à la documentation relative à l'architecture de référence, à condition qu'ils ne la divulguent pas.

À partir d'une ou de plusieurs architectures de déploiement de référence, vous pouvez concevoir une première ébauche de l'architecture de déploiement qui satisfait vos propres exigences en matière de scénario de déploiement. Vous pouvez modifier les architectures de référence ou les utiliser comme points de référence en tenant compte de la différence entre votre propre scénario de déploiement et ceux sur lesquels reposent les architectures de référence. Ainsi, vous pouvez évaluer l'impact de vos propres exigences en termes de dimensionnement, de performances, de sécurité, de disponibilité, de capacité et d'entretien.

Spécifications d'implémentation

Les spécifications d'implémentation fournissent les informations nécessaires à l'implémentation d'une architecture de déploiement. Parmi ces spécifications, on compte généralement les suivantes :

Plans d'implémentation

Les plans d'implémentation expliquent comment vous envisagez d'effectuer les diverses tâches lors de la phase d'implémentation du déploiement. Les plans abordent en règle générale les tâches suivantes :

Implémentation du déploiement

L'implémentation d'une conception de déploiement comprend les tâches répertoriées dans la section précédente et illustrées dans la Figure 4–1. Le processus de déploiement étant itératif par nature, l'ordre dans lequel les tâches sont effectuées n'a pas d'importance. Les sous-sections suivantes décrivent chacune des tâches principales de l'implémentation du déploiement dans l'ordre selon lequel elles sont généralement effectuées.

Configuration matérielle

La spécification d'implémentation inclut l'ensemble des détails de votre environnement physique : les ordinateurs, la conception du réseau, le matériel du réseau (y compris le câblage, les commutateurs, les routeurs et les équilibreurs de charge). L'ensemble de ce matériel doit être configuré comme plate-forme prenant en charge votre solution Java ES.

Installation logicielle, mise à niveau et migration

L'architecture de déploiement ainsi que les détails supplémentaires fournis dans les spécifications d'implémentation indiquent les composants d'applications et les composants Java ES qui doivent être installés sur chaque ordinateur de votre environnement physique. Vous utilisez le programme d'installation intégré de Java ES pour installer les composants Java ES appropriés sur chaque ordinateur de l'architecture de déploiement (voir Programme d'installation intégré de Java ES).

Le plan de votre installation décrit la séquence et l'étendue des sessions du programme d'installation. Toutefois, l'approche adoptée pour effectuer l'installation varie selon qu'il s'agit d'une nouvelle installation de Java ES, d'une mise à niveau de composants Java ES déjà installés ou d'un remplacement de composants tiers par Java ES. Les deux derniers scénarios d'installation de Java ES requièrent souvent une migration des données ou du code d'application pour garantir la compatibilité.

Configuration système et personnalisation

Vous devez effectuer un certain nombre de tâches de configuration système pour que les divers composants système fonctionnent en parfaite harmonie. Parmi ces tâches, la première consiste à effectuer la configuration initiale requise pour que chaque composant système puisse être lancé. Ensuite, chaque composant Java ES doit être configuré pour pouvoir communiquer avec les composants avec lequel il interagit.

La haute disponibilité doit également être configurée selon la solution de disponibilité de chaque composant. Les utilisateurs doivent être provisionnés de sorte qu'ils puissent accéder à différents services, et des stratégies et contrôles d'authentification et d'autorisation doivent être mis en place (voir Services intégrés d'identité et de sécurité).

Dans la plupart des cas, les tâches de configuration impliquent un certain degré de personnalisation des composants de Java ES afin d'obtenir toutes les fonctions dont vous avez besoin. Par exemple, vous allez généralement personnaliser Portal Server afin de fournir les canaux de portail, Access Manager pour réaliser les tâches, etc.

Développement et intégration

L'architecture logique spécifiée dans le scénario de déploiement détermine généralement l'étendue du travail de développement nécessaire pour implémenter une solution.

Pour certains déploiements, le développement peut être relativement approfondi et nécessiter le développement de nouveaux services d'entreprise et de présentation à l'aide de composants J2EE s'exécutant sous un environnement Application Server ou Web Server. Dans ce cas, vous devez élaborer une première solution et démontrer le bien-fondé de sa conception avant d'entreprendre son développement complet.

Pour les solutions nécessitant un développement approfondi, Sun JavaTM Studio procure des outils permettant de programmer les services d'entreprise ou les composants distribués. Les outils du développeur Sun Java Studio simplifient la programmation et les tests des applications prises en charge par l'infrastructure Java ES.

Dans certains cas, les composants de Java ES peuvent être intégrés à d'anciennes applications ou à des services tiers. Si tel est le cas, des répertoires ou des services de données doivent exister au niveau des données, ou des composants au niveau des services d'entreprise. L'intégration de composants Java ES à ces systèmes peut nécessiter la migration des données ou du code d'application.

La plate-forme J2EE fournit une structure de connecteurs qui permet de relier les applications existantes sous Application Server en développant les adaptateurs de ressources J2EE, tandis que Message Queue procure une fonctionnalité performante de messagerie asynchrone pour l'intégration d'applications diverses.

Test des prototypes et des pilotes

Selon le niveau de personnalisation ou de développement requis, vous devez, à un moment donné, vérifier votre architecture de déploiement : il vous faut tester la solution par rapport aux cas d'utilisation afin de vous assurer que les exigences de qualité de service peuvent être satisfaites.

Si vous possédez peu de services personnalisés (déploiement relativement simple), la personnalisation des composants de Java ES et un test pilote du système peuvent suffire.

Toutefois, si vous avez développé une logique d'application relativement nouvelle et si vous avez créé des services personnalisés, la phase de tests peut s'avérer plus importante (tests de prototype, tests d'intégration, etc.).

Si ces tests mettent en évidence des points faibles dans votre architecture de déploiement, modifiez l'architecture et effectuez de nouveaux tests. Au bout du compte, ce processus itératif permet de procéder à l'implémentation et au déploiement d'une architecture dans un environnement de production.

Mise en production

La mise en production implique l'intégration de votre déploiement dans un environnement de production. Cette phase implique l'installation, la configuration et le lancement de services d'infrastructure et d'applications distribuées dans un environnement de production, la configuration d'utilisateurs finals du système de production, la configuration de stratégies d'accès et de connexion unique, etc. En règle générale, vous commencez par effectuer un déploiement restreint avant d'implémenter la solution à toute votre organisation. Au cours de ce processus, vous effectuez des essais au cours desquels vous appliquez des charges croissantes pour confirmer que les exigences de qualité de service sont satisfaites.