Sun JavaTM Enterprise System (Java ES) est un ensemble de composants logiciels fournissant les services nécessaires pour prendre en charge les applications essentielles de l'entreprise, distribuées sur un réseau ou un environnement Internet. Dans ce manuel, ces applications sont qualifiées d'applications d'entreprise distribuées. Ce manuel traite essentiellement des composants logiciels de Java ES et des services qu'ils fournissent.
Ce chapitre présente Java ES et les tâches qu'implique l'utilisation du système. Le chapitre se compose des sections suivantes :
Les besoins actuels d'une entreprise exigent des solutions logicielles distribuées sur un environnement réseau ou Internet et possédant des niveaux élevés de performance, de disponibilité, de sécurité, d'évolutivité et d'entretien.
Java ES fournit les services d'infrastructure nécessaires pour prendre en charge des applications d'entreprise distribuées, c'est-à-dire des applications qui ont généralement les caractéristiques suivantes :
Distribuées : l'application se compose de composants logiciels interactifs déployés dans un environnement réseau pouvant inclure des sites géographiquement distants. Ces composants distribués, exécutés sur les différents ordinateurs de l'environnement, fonctionnent conjointement pour fournir des fonctions d'exploitation spécifiques aux utilisateurs finals et aux autres applications d'entreprise.
Niveau entreprise : la portée et l'étendue de l'application répond aux besoins d'un environnement de production ou d'un fournisseur de service Internet. Généralement, l'application est déployée dans toute l'entreprise, en intégrant la plupart des services, des opérations et des processus dans un système logiciel unique. Elle doit satisfaire des exigences élevées en termes de qualité de service concernant les performances, la disponibilité, la sécurité, l'évolutivité et l'entretien.
Les applications d'entreprise distribuées nécessitent un ensemble de services d'infrastructure sous-jacents permettant aux composants distribués de communiquer les uns avec les autres, de coordonner leur travail, d'implémenter un accès sécurisé, etc. Ces services d'infrastructure sont, à leur tour, pris en charge par un environnement matériel constitué d'ordinateurs et de liaisons réseau. Cet environnement matériel comprend les architectures matérielles SPARC® et x86 (Intel et AMD).
La structure en couches global est illustrée à la figure suivante. Pour l'essentiel, Java ES fournit la couche de services d'infrastructure distribuée présentée dans la figure.
Parmi les services fournis par Java ES figurent :
Services de portail : ces services permettent aux employés, télétravailleurs, experts, partenaires commerciaux, fournisseurs et clients d'accéder aux ressources de l'entreprise quel que soit leur emplacement, à l'intérieur ou à l'extérieur du réseau de l'entreprise. Ces services procurent des fonctionnalités d'accès aux communautés d'utilisateurs, quels que soient l'heure et l'endroit, en assurant une intégration, une agrégation, une sécurité, un accès mobile et une recherche personnalisés.
Services de communication et de collaboration : ces services permettent un échange d'informations sécurisé entre les diverses communautés d'utilisateurs. Parmi les fonctionnalités spécifiques, il faut citer la messagerie, la collaboration en temps réel (messagerie instantanée, conférences) ainsi que la planification du travail de l'utilisateur.
Ce manuel fait référence à des composants de Sun Java Communications Suite, qui dépendent des composants Java ES et sont utilisés au sein d'architectures de déploiement Java ES. Les composants de communication et de collaboration ne sont pas inclus dans Java ES.
Services réseau d’identité et de sécurité : ces services améliorent la sécurité et la protection des informations clés de l'entreprise en garantissant que les stratégies de contrôle d'accès appropriées soient appliquées à toutes les communautés, applications et services sur une base globale. 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 de conteneur Web et services applicatifs : ces services permettent aux composants distribués de communiquer les uns avec les autres lors de l'exécution et prennent en charge le développement, le déploiement et la gestion d'applications pour une large gamme de serveurs, clients et périphériques. Ces services sont basés sur la technologie J2EE.
Java ES fournit également des services qui améliorent la disponibilité, l'évolutivité, l'entretien et d'autres qualités des applications ou du système. Parmi les fonctions de qualité de service fournies par Java ES, il faut citer les suivantes :
Services de disponibilité : ces services assurent une disponibilité quasi continue pour les composants d'application et pour les composants d'infrastructure qui les prennent en charge.
Services d'accès : ces services fournissent un accès par Internet ou par un navigateur aux services de Java ES.
Services de contrôle : ces services fournissent des informations en temps réel sur les composants Java ES.
Vous pouvez déployer un ou plusieurs services Java ES, chacun d'eux pouvant inclure un certain nombre de composants Java ES.
Java ES est une intégration de composants et produits logiciels discrets sous la forme d'un système logiciel unique. Leur intégration est facilitée par un certain nombre de fonctions au niveau du système, répertoriées ci-après :
Tous les composants sont synchronisés sur un ensemble commun de bibliothèque partagées.
Tous les composants Java ES sont installés à l'aide d'un programme d'installation unique.
Tous les composants Java ES peuvent partager une identité utilisateur et un système de gestion de la sécurité intégrés.
Tous les composants Java ES disposent d'une structure de contrôle commune.
Ces fonctions sont expliquées dans les chapitres suivants de ce manuel. Cette section a pour objet de présenter les divers composants intégrés à Java ES. Ces composants système peuvent être regroupés en trois catégories principales, comme indiqué dans l'illustration suivante :
Les composants fournissent les services suivants :
Composants de services système : ils fournissent les services d'infrastructure principaux de Java ES qui prennent en charge les applications d'entreprise distribuées.
Composants de qualité de service : ils améliorent la disponibilité, la sécurité, l'évolutivité, l'entretien et d'autres sous-composants des composants de service du système et des composants d'applications distribuées.
Composants partagés : ils procurent l'environnement dans lequel la plupart des composants de service du système et de qualité de service sont exécutés.
Pour obtenir la liste des composants Java ES, reportez-vous à l'Annexe A, Composants Java ES.
Plusieurs composants Java ES fournissent les principaux services qui prennent en charge les solutions logicielles distribuées. Ces services système comprennent les services de portail, les services d'identité et de sécurité, les services de conteneur Web, les services d'application J2EE ainsi que les services de persistance.
Les composants de services système qui fournissent ces services distribués, et les services qu'ils fournissent sont décrits brièvement dans le tableau suivant. Chaque composant de service système est un processus serveur à unités d'exécution multiples capable de prendre en charge un nombre important de clients. Pour plus de détails sur chaque composant, reportez-vous à la section Composants de services système
Tableau 1–1 Composants de service système Java ES
Outre les composants de service système présentés dans le Tableau 1–1, Java ES comprend un certain nombre de composants utilisés pour améliorer la qualité des services offerts par les composants de service système. Les composants de qualité de service peuvent également améliorer les services d'application dont le développement a été personnalisé. Les composants de qualité de service se répartissent dans les catégories suivantes :
Composants de disponibilité
Composants d'accès
Composants de contrôle
Les composants de disponibilité assurent un temps de disponibilité quasi continu des composants de service du système et des services d'applications personnalisés. Le tableau suivant présente les composants de disponibilité inclus dans Java ES, ainsi que les services qu'ils fournissent. Pour plus de détails sur chaque composant, reportez-vous à la section Composants de disponibilité.
Tableau 1–2 Composants de disponibilité de Java ES
Les composants d'accès assurent un accès frontal et sécurisé aux services système, la plupart du temps à partir de sites Internet situés hors du pare-feu d'entreprise. Outre le fait de fournir ce type d'accès, la plupart de ces composants comportent également une fonction de routage et de mise en cache. Le tableau suivant présente les composants d'accès inclus dans Java ES, ainsi que les services qu'ils fournissent. Pour plus de détails sur chaque composant, reportez-vous à la section Composants d'accès.
Tableau 1–3 Composants d'accès de Java ES
Java ES comprend une nouvelle fonction de contrôle fournissant l'état du système en temps réel et des tâches de contrôle personnalisables. Le contrôle est implémenté par Sun Java System Monitoring Console composant de produit, pris en charge par Sun Java System Monitoring Framework composant partagé. Pour plus d'informations, consultez la section Composants de contrôle.
Java ES comprend un certain nombre de bibliothèques partagées installées localement, dont dépendent de nombreux composants de services système et de qualité de service. Les composants partagés Java ES fournissent des services locaux aux composants de produit Java ES exécutés sur le même ordinateur hôte.
Les composants partagés sont fréquemment utilisés pour assurer la portabilité sur différents systèmes d'exploitation. Exemples de composants partagés Java ES : Java 2 Platform, Standard Edition (J2SE), Netscape Portable Runtime (NSPR), Network Security Services (NSS), Java Security Services for Java (JSS), etc. Pour la liste complète, reportez-vous à la section Composants partagés.
Les composants partagés sont installés automatiquement par le programme d'installation de Java ES, en fonction des composants de service système et de qualité de service qui sont installés.
Java ES est disponible à la fois en tant que distribution logicielle unique d'infrastructures de bout en bout et en tant que distributions individuelles de suites ciblant les besoins spécifiques critiques des entreprises. Java ES comprend tous les composants Java ES, tandis que les suites Sun Java System comprennent des sous-ensembles sélectionnés pour répondre aux besoins spécifiques des entreprises. Les programmes d'installation et de désinstallation sont compris dans toutes les distributions de suites, mais sont allégés pour gérer uniquement les composants de la suite. Tous les composants partagés sont également inclus dans les distributions de suite.
Le tableau suivant répertorie le contenu des suites individuelles et les exigences de l'entreprise que chacune doit satisfaire.
Tableau 1–4 Composants des Suites Sun Java
La création de solutions d'entreprise basées sur le logiciel Java ES implique plusieurs tâches standard. L'étendue et la complexité de ces tâches varient selon le point de départ de l'adoption de Java ES et la nature de la solution que vous tentez de créer et de déployer.
Cette section aborde deux aspects de l'utilisation de Java ES : le cycle de vie de la solution Java ES et les divers scénarios d'adoption qui sont généralement impliqués.
Les tâches intervenant dans la création de solutions d'entreprise basées sur le logiciel Java ES peuvent être divisées en plusieurs phases, comme illustré dans la figure suivante. Cette figure présente également la catégorie d'utilisateurs de Java ES qui effectue les diverses tâches en règle générale.
Les phases du cycle de vie indiquées dans la figure précédente peuvent être divisées en trois grands groupes :
Prédéploiement : au cours de ces phases, une exigence de l'entreprise est convertie en un scénario de déploiement, qui est une architecture logique et un ensemble d'exigences de qualité de service. Le scénario de déploiement fait office de spécification pour la conception d'une architecture de déploiement.
Déploiement : au cours de ces phases, un scénario de déploiement est converti en une architecture de déploiement. Cette architecture peut servir de base pour l'approbation et la budgétisation d'un projet. L'architecture de déploiement constitue également la base d'une spécification d'implémentation qui fournit les détails requis pour déployer (créer, tester et démarrer) une solution logicielle dans un environnement de production.
Postdéploiement : au cours de la phase d'exécution, une solution déployée est exécutée dans des conditions de production et ses performances sont surveillées et optimisées. La solution déployée est également mise à niveau afin d'inclure au besoin les nouvelles fonctionnalités.
Les tâches de chacune des phases illustrées dans la Figure 1–3 sont étudiées plus en détail dans le Chapitre 4, Cycle de vie d'une solution Java ES.
La Figure 1–3 présente les utilisateurs de Java ES qui réalisent généralement les tâches des différentes phases du cycle de vie. Le tableau suivant décrit les connaissances et l'expérience correspondant à chaque catégorie d'utilisateurs.
Tableau 1–5 Catégories d'utilisateur de Java ES pour les tâches du cycle de vie
Les besoins de l'entreprise qui mènent à l'adoption de Java ES peuvent varier considérablement. Toutefois, l'objectif principal de tout déploiement Java ES s'inscrit dans l'un des scénarios d'adoption suivants :
Nouveau système : si vous ne disposez encore d'aucun système logiciel, vous pouvez déployer le logiciel Java ES afin de prendre en charge une nouvelle solution d'entreprise.
Amélioration : si vous disposez déjà d'une infrastructure informatique, vous allez remplacer un, plusieurs ou la totalité des éléments par le logiciel Java ES. La plupart du temps, vous remplacez les systèmes ou les sous-systèmes parce qu'ils sont trop complexes, trop limités ou trop coûteux à entretenir. Par exemple, vous aurez peut-être besoin d'une meilleure sécurité, d'une disponibilité plus élevée, d'une évolutivité accrue, de plus de flexibilité, d'une moindre complexité, de fonctionnalités supplémentaires (comme la connexion unique) ou d'une meilleure utilisation des ressources informatiques.
Extension : si vous disposez déjà d'une infrastructure informatique, vous pouvez déployer le logiciel Java ES ne faisant pas actuellement partie de votre système. En règle générale, vous procédez à l'extension de votre système logiciel de cette manière car vous devez satisfaire de nouveaux besoins de l'entreprise. Vous aurez peut-être besoin de nouvelles fonctionnalités, telles que le groupement personnalisé de services existants par le biais d'un portail Java ES ou l'autorisation et l'authentification Java pour les services existants.
Mise à niveau : en partant d'une infrastructure informatique composée d'une version antérieure de Java Enterprise System ou de produits Sun antérieurs à Java ES, vous effectuez une mise à niveau pour obtenir la dernière version des composants Java ES.
Chaque scénario d'adoption contient ses propres considérations et défis. Toutefois, selon le scénario d'adoption utilisé, les problèmes à traiter et les ressources requises pour investir dans les phases du cycle de vie présentées dans la Figure 1–3 peuvent varier.
Les considérations suivantes concernent généralement les scénarios d'adoption à des niveaux variables :
Migration : l'amélioration ou la mise à niveau d'une infrastructure existante à l'aide d'un nouveau logiciel requiert souvent la migration de données du système existant vers le nouveau. Ces données peuvent correspondre à des informations de configuration, des informations utilisateur ou des informations d'applications. En outre, vous devrez peut-être migrer la logique d'entreprise ou de présentation en raison des nouvelles interfaces de programmation.
Intégration : L'ajout d'un nouveau logiciel à un système existant ou le remplacement de sous-systèmes logiciels requiert souvent l'intégration des nouveaux composants logiciels dans les sous-systèmes restants. L'intégration peut impliquer le développement de nouvelles couches d'interface à l'aide de connecteurs J2EE ou d'adaptateurs de ressources qui reconfigurent les composants existants et qui implémentent les plans de transformation de données.
Formation : une modification de l'infrastructure implique presque systématiquement des changements dans les procédures et compétences informatiques. Votre service informatique doit avoir suffisamment de temps pour acquérir de nouvelles connaissances ou pour transmettre d'anciennes connaissances afin de prendre en charge les technologies Java ES.
Matériel : lorsque vous remplacez ou améliorez un système ou un sous-système existant, des contraintes économiques peuvent vous amener à réutiliser du matériel existant. Selon le scénario d'adoption choisi, les ressources matérielles peuvent devenir un facteur important.
Le tableau suivant résume la nature des problèmes qui concernent chacun des scénarios d'adoption de Java ES.
Tableau 1–6 Problèmes relatifs aux scénarios d'adoption de Java ES
Cette section explique les principaux termes clés utilisés dans ce chapitre, en insistant sur la clarification des relations entre ces termes et sur leur mode d'utilisation dans le contexte Java ES.
Raison principale justifiant le déploiement du logiciel Java ES et caractérisant le système logiciel de départ et l'objectif que vous cherchez à atteindre. Il existe principalement quatre scénarios d'adoption de Java ES : nouveau système, remplacement, extension et mise à niveau.
Unité de logique logicielle à partir de laquelle sont élaborées les applications distribuées. Un composant peut être l'un des composants système inclus dans Java ES ou un composant d'application au développement personnalisé. En règle générale, un composant d'application se conforme à un modèle de composant distribué (par exemple, CORBA et la plate-forme J2EETM) et il exécute une fonction informatique spécifique. Ces composants, seuls ou combinés, fournissent des services d'entreprise et peuvent être encapsulés sous la forme de services Web.
Application dont la logique s'étend sur un réseau ou un environnement Internet (aspect distribué) et dont la portée ou l'échelle répond aux besoins d'un environnement de production ou d'un fournisseur de services (aspect entreprise).
Personne utilisant une application distribuée, souvent par le biais d'une interface utilisateur graphique, telle qu'un navigateur Internet ou une interface de périphérique mobile. Le nombre d'utilisateurs pris en charge simultanément par une application est un facteur déterminant de l'architecture de déploiement de l'application.
Fonction logicielle exécutée pour un ou plusieurs clients. Cette fonction peut être exécutée à un niveau très bas, comme la gestion de la mémoire, ou à un niveau très élevé, comme pour un service d'entreprise de contrôle de crédit. Un service de haut niveau peut se composer d'une famille de services. Les services peuvent être locaux (disponibles pour les clients locaux) ou distribués (disponibles pour les clients distants).
Composants de services système Java ES, fournissant les principaux services d'infrastructure ES et Composants de qualité de service Java ES, qui les améliorent. Les composants de produit sont programmables au sein du programme d'installation de Java ES.
Type de composant système inclus dans Java ES. ils améliorent la disponibilité, la sécurité, l'évolutivité, l'entretien et d'autres sous-composants des composants de service du système et des composants d'applications distribuées.
Type de composant système inclus dans Java ES. Les composants partagés, en règle générale des bibliothèques, fournissent des services locaux aux autres composants du système.
Tout package logiciel ou ensemble de packages inclus dans Java ES et installé par le programme d'installation de Java ES. Il existe plusieurs types de composants système : les composants de produit qui fournissent les services d'infrastructure Java ES et les composants partagés qui fournissent des services locaux aux autres composants système.
Un ou plusieurs services distribués qui définissent la fonctionnalité unique offerte par Java ES. Les services système exigent normalement la prise en charge d'un certain nombre de composants de qualité de service, de composants partagés ou les deux.
Type de composant système inclus dans Java ES. Les composants de services de Java ES fournissent les principaux services d'infrastructure : services de portail, d'identité et de sécurité, Web et d'application et de disponibilité.