Ce chapitre décrit brièvement Sun JavaTM Enterprise System (Java ES), aborde les concepts de planification du déploiement et présente le cycle de vie de la solution où sont énumérées les différentes étapes de planification et de conception des systèmes logiciels d'entreprise. Ce chapitre se compose des sections suivantes :
Java Enterprise System est une infrastructure logicielle qui fournit les logiciels intermédiaires nécessaires à la prise en charge des applications d'entreprise distribuées dans un environnement réseau ou Internet. Les composants de Java Enterprise System fournissant les services sont installés par l'intermédiaire d'un programme d'installation commun et synchronisés par rapport à un ensemble de bibliothèques partagées. Ils partagent également un système intégré de gestion des identités utilisateur et de gestion de la sécurité.
Les principaux services d'infrastructure pris en charge par les composants de Java Enterprise System peuvent être classés selon les catégories suivantes :
Services de portail : ils permettent aux employés amenés à se déplacer, aux télétravailleurs, aux responsables de la base de connaissances, aux partenaires commerciaux, aux fournisseurs et aux clients d'accéder de façon sécurisée, via Internet, au portail personnalisé de leur entreprise, depuis n'importe quel emplacement situé en dehors du réseau de l'entreprise. Ces services garantissent aux communautés d'utilisateurs un accès au portail de l'entreprise à tout moment et en tout lieu, en fournissant des fonctions d'intégration, d'agrégation, de personnalisation, de sécurité, d'accès mobile et de recherche.
Services de communication et de collaboration : ces services permettent un échange d'informations sécurisé entre les diverses communautés d'utilisateurs. La messagerie, la collaboration en temps réel ainsi que la planification de calendriers sont des exemples de capacités particulières applicables à l'environnement de travail de l'utilisateur.
Services réseau d’identité et de sécurité : ces services améliorent la sécurité et la protection des ressources d'informations clés de l'entreprise en garantissant l'application de stratégies de contrôle d'accès appropriées pour la totalité des communautés, des applications et des services. Ils fonctionnent avec un référentiel permettant de stocker et de gérer les profils d'identité, les droits d'accès ainsi que les informations sur les applications et les ressources réseau.
Services Web et applicatifs : ces services permettent aux composants distribués de communiquer entre eux et de prendre en charge le développement, le déploiement et la gestion des applications pour une large palette de serveurs, de clients et de périphériques. Ils sont basés sur la plate-forme Java 2, Enterprise Edition (J2EETM).
Services de disponibilité : ces services fournissent une disponibilité et une évolutivité presque permanentes des applications et des services Web.
Le tableau ci-dessous récapitule les catégories de services décrites précédemment et précise les composants de Java Enterprise System fournissant ces services pour chaque catégorie.
Tableau 1–1 Catégories de services Java Enterprise System
Catégorie de service |
Composants Java Enterprise System |
---|---|
Services de portail |
Portal Server, Portal Server Secure Remote Access, Access Manager, Directory Server,Application Server ou Web Server |
Services de communication et de collaboration |
Messaging Server, Calendar Server, Instant Messaging, Access Manager, Directory Server, Application Server ou Web Server |
Services d'identité réseau |
Access Manager, Directory Server, Web Server |
Services Web et applicatifs |
Application Server, Message Queue, Web Server |
Services de disponibilité |
Sun Cluster, Sun Cluster Agents |
Pour plus d'informations sur les services, les composants et les concepts architecturaux de Java Enterprise System, reportez-vous au manuel Présentation technique de Sun Java Enterprise System 2005Q4.
Les solutions de déploiement fondées sur Java Enterprise System peuvent se classer selon deux grandes catégories :
Déploiement de type 80-20 : ces solutions font principalement appel à des services fournis par Java Enterprise System dans une proportion d'au moins 80 %.
Déploiement de type 20-80 : ces solutions font appel à de nombreux services personnalisés et applications tierces.
Les types de déploiement 80-20 et 20-80 sont des catégories générales. Le pourcentage exact du type de services offerts importe peu. Il permet néanmoins d'indiquer le taux de personnalisation d'une solution.
Le système Java Enterprise System est particulièrement adapté aux déploiements 80-20 en raison du large éventail de services qu'il propose. Par exemple, il est relativement simple de déployer un système de communications ou de portail à l'échelle de l'entreprise à l'aide des services fournis par Java Enterprise System.
Dans le cas des déploiements nécessitant des services et des applications personnalisés, Java Enterprise System prend en charge la création et l'intégration de ces éléments.
La plupart des catégories de services mentionnées à la section Services système peuvent être utilisées dans le cadre d'un déploiement de type 80-20. Par exemple, les services de communication et de collaboration fournissent les services de messagerie, de calendrier et de messagerie instantanée aux utilisateurs finals et leur permettent de regrouper et de personnaliser les données. De même, les services d'identité réseau et de portail d'entreprise permettent d'installer et de configurer des applications à l'échelle de l'entreprise sans avoir à développer ni à intégrer des services personnalisés.
Les solutions d'entreprise exigeant des services de plate-forme J2EE adaptés peuvent tirer partie d'Application Server, de Message Queue ou de Web Server fournis par les services Web et applicatifs de Java Enterprise System.
Le pourcentage de services personnalisés requis peut varier considérablement d'un déploiement d'entreprise à l'autre. L'interopérabilité entre les services de Java Enterprise System vous permet de créer votre propre gamme de services adaptée aux besoins de votre entreprise.
La planification, la conception et l'implémentation d'une solution d'entreprise reposant sur Java Enterprise System dépendent beaucoup de votre stratégie de déploiement en cours. La planification, la conception et l’implémentation dans une entreprise envisageant une solution de déploiement pour la première fois sont déterminées en grande partie par les besoins propres à celle-ci. Toutefois, les solutions de déploiement implémentées pour la première fois ne sont pas le cas de figure le plus répandu. Il est plus courant de rencontrer le cas de figure où Java Enterprise System est utilisé pour consolider les solutions d'entreprise existantes ou pour effectuer une mise à niveau des composants de Java Enterprise System.
Le remplacement ou la mise à niveau de solutions existantes exige des étapes supplémentaires de planification, de conception et d’implémentation pour assurer la préservation des données existantes et la mise à niveau correcte des logiciels vers les versions en cours. À mesure que vous suivez les étapes d'analyse et de conception décrites dans ce guide, gardez à l'esprit que vous devez préparer et planifier le remplacement et la mise à niveau des logiciels existants.
Pour plus d'informations sur la mise à niveau vers la version la plus récente de Java Enterprise System et sur les stratégies de migration à partir d'autres applications, consultez le manuel Java Enterprise System Upgrade and Migration Guide.
La planification du déploiement est une étape essentielle de l'implémentation d'une solution Java Enterprise System. Chaque entreprise définit ses propres objectifs, exigences et priorités. Une planification réussie commence par l'analyse des objectifs de l'entreprise et des exigences requises pour atteindre ces objectifs. Les exigences de l'entreprise doivent ensuite être traduites sous forme d'exigences techniques qui serviront de base à la conception et à l'implémentation d'un système capable de répondre aux attentes de l'entreprise.
Pour être couronnée de succès, une planification de déploiement doit être préparée, analysée et conçue avec soin. Toute erreur ou maladresse commise au cours de la planification peut faire échouer le projet. Un système n'ayant pas fait l'objet d'une planification rigoureuse peut connaître de graves problèmes par la suite. Il peut par exemple offrir des performances insuffisantes et être difficile à entretenir. Son fonctionnement est susceptible de revenir cher, il peut entraîner une dispersion des ressources ou être incapable d'évoluer pour faire face à l'augmentation des besoins.
Le cycle de vie de la solution, illustré par le schéma ci-dessous, correspond aux étapes de planification, de conception et d'implémentation d'une solution logicielle d'entreprise reposant sur Java Enterprise System. Utilisez-le comme fil directeur pour votre projet de déploiement.
Le cycle de vie est constitué de phases devant respecter un ordre précis. Une phase se compose d'une combinaison de tâches dont le résultat sert de point de départ pour la phase suivante, et ainsi de suite. Les tâches constituant chaque phase sont itératives et exigent une analyse et une conception minutieuses afin que les résultats de la phase concernée soient fiables. Il se peut que les premières phases du déploiement doivent elles aussi être répétées. Par exemple, au cours de la phase de conception du déploiement, vous vous rendez compte que l'analyse de la phase précédente n'est pas satisfaisante et qu'elle doit être réexaminée.
Les sections suivantes fournissent une description succincte de chaque phase du cycle de vie de la solution.
Au cours de cette phase, vous définissez les objectifs d'exploitation de votre projet de déploiement et formulez les exigences d'entreprise devant être satisfaites pour que ces objectifs soient atteints. Lors de la définition des exigences de l'entreprise, tenez compte des contraintes d'exploitation susceptibles d'avoir un impact sur la réalisation des objectifs d'exploitation. Tout au long du cycle de vie, vous évaluez la planification de votre déploiement et, en dernier lieu, la solution de déploiement obtenue en fonction des analyses effectuées au cours de la phase d'analyse d'exploitation.
Lors de la phase d'analyse d'exploitation, vous créez des documents d'exigences d'entreprise sur lesquels vous vous appuierez pour passer à la phase de spécification technique.
Pour plus d'informations sur la phase d'analyse d'exploitation, reportez-vous au Chapitre 2, Analyse d'exploitation.
Cette phase se fonde sur les exigences de l'entreprise et les contraintes d'exploitation définies au cours de la phase d'analyse d'exploitation. Elle consiste à les convertir en spécifications techniques, ensuite utilisées lors de la conception de l'architecture du déploiement. Les exigences techniques précisent des caractéristiques de qualité de service, notamment en termes de performances, de disponibilité et de sécurité.
Au cours de la phase de spécification technique, vous créez des documents contenant les informations suivantes :
analyse des tâches utilisateur et des modèles d'utilisation ;
cas d'utilisation conditionnant l'interaction utilisateur avec le système planifié ;
exigences de qualité de service découlant des exigences de l'entreprise et prenant éventuellement en compte l'analyse des tâches utilisateur et des types d'utilisation.
Les documents d'analyse d'utilisation, de cas d'utilisation et d'exigences de qualité de service obtenus servent de point de départ pour la phase de conception logique du cycle de vie de la solution. L'analyse d'utilisation joue également un rôle important lors de la phase de conception du déploiement.
Au cours de la phase de spécification technique, vous pouvez également définir les exigences de niveau de service qui permettront de créer les contrats de niveau de service (SLA, Service Level Agreement). Ceux-ci précisent les conditions dans lesquelles la maintenance du système doit faire l'objet d'un support client. Ils sont généralement signés lors de l'approbation du projet, qui intervient au cours de la phase de conception du déploiement.
Pour plus d'informations sur les exigences techniques, reportez-vous au Chapitre 3, Exigences techniques.
Au cours de cette phase, vous identifiez les composants de Java Enterprise System requis pour implémenter une solution à l'aide des cas d'utilisation identifiés lors de la phase de spécification technique. Il vous faut également déterminer les composants fournissant la prise en charge des composants Java ES requis, ainsi que les composants personnalisés nécessaires pour satisfaire les exigences de l'entreprise. Vous mappez ensuite ces composants au sein d'une architecture logique décrivant les relations existant entre tous les composants. L'architecture logique ne décrit pas les composants matériels requis pour implémenter la solution.
Le résultat de la phase de conception logique est l'architecture logique. Seule, elle ne suffit pas pour passer à la phase de conception du déploiement. Les exigences de qualité de service établies lors de la phase de spécification technique sont également indispensables. L'architecture logique et les exigences de qualité de service issues de la phase de spécification technique constituent un scénario de déploiement. Ce scénario sert d'amorce à la phase de conception du déploiement.
Pour plus d'informations sur l'architecture logique, reportez-vous au Chapitre 4, Conception logique.
Cette phase consiste à mapper les composants de l'architecture logique dans un environnement physique afin de définir une architecture de déploiement de haut niveau. Au cours de cette phase, vous créez également des spécifications d'implémentation précisant les informations de bas niveau concernant la création de l'architecture de déploiement. Enfin, des plans et des spécifications détaillant différents aspects de l'implémentation de la solution logicielle sont également élaborés.
L'approbation du projet intervient au cours de cette phase. Le coût du déploiement est évalué au moment de l'approbation du projet. Si celui-ci est approuvé, il faut procéder à la signature des contrats relatifs à l'implémentation du déploiement et se procurer les ressources destinées à la mise en œuvre du projet. L'approbation intervient généralement après que les spécifications d'implémentation ont été définies en détail. Elle peut également se produire une fois l'architecture du déploiement terminée.
Les résultats de la phase de conception du déploiement sont les suivants :
Architecture de déploiement : document de conception de haut niveau représentant le mappage des composants sur le matériel et les logiciels du réseau.
Spécifications d'implémentation : spécifications détaillées servant à la planification du déploiement.
Plans d'implémentation : groupe de plans et de spécifications couvrant divers aspects de l'implémentation d'une solution logicielle d'entreprise. Ils comprennent des plans de migration, d'installation, de gestion des utilisateurs, de test, etc.
Pour plus d'informations sur la conception du déploiement, reportez-vous au Chapitre 5, Conception du déploiement.
Au cours de cette phase, vous partez des spécifications et des plans créés au cours de la conception du déploiement pour mettre en place l'architecture du déploiement et implémenter la solution. Selon la nature de votre projet de déploiement, cette phase implique l'exécution de certaines des tâches suivantes ou de la totalité d'entre elles :
installation et configuration de l'infrastructure matérielle ;
installation et configuration du logiciel ;
modélisation des utilisateurs et des ressources au sein d'une conception d'annuaire LDAP ;
migration des données à partir des répertoires et des bases de données existants conformément à un plan de gestion des utilisateurs ;
création et déploiement de pilotes et de prototypes dans un environnement de test ;
conception et exécution de tests fonctionnels destinés à évaluer la conformité avec les exigences système ;
conception et exécution de tests de charge pour mesurer les performances du système en situation de charge de pointe ;
développement et intégration des applications d'entreprise personnalisées ;
création d'un déploiement de production pouvant être exécuté par phases.
Une fois un déploiement mis en production, vous pouvez passer à la phase de fonctionnement du cycle de vie de la solution.
Pour plus d'informations sur la phase d'implémentation, reportez-vous au Chapitre 6, Implémentation d'une conception de déploiement.
Cette phase comprend des tâches permettant d'implémenter le déploiement dans les meilleures conditions. Ces tâches sont les suivantes :
contrôle du déploiement pour vérifier que le système s'exécute conformément aux prévisions ;
réglage des performances pour permettre une exécution optimale des logiciels déployés ;
exécution des opérations de maintenance planifiées lors d'un fonctionnement normal et des opérations non planifiées le cas échéant ;
mise à niveau des logiciels et du matériel selon les besoins.
Notez que ce manuel n'a pas pour objet de décrire de façon détaillée la phase de fonctionnement.