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.
Java Enterprise System est également un logiciel Sun spécifique qui procure une méthode de livraison et une stratégie d'entreprise et de tarification. Toutefois, ce manuel traite essentiellement des composants logiciels de Java Enterprise System et des services qu'ils fournissent.
Ce chapitre présente Java Enterprise System et les tâches qu'implique l'utilisation du système. Il couvre les rubriques 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 Enterprise System 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 tout, 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 Enterprise System fournit le niveau services d'infrastructure distribuée présentée dans la Figure 1–1. Cependant, les services Java Enterprise System comportent également plusieurs services de niveau application qui sont accessibles aux utilisateurs finals.
Parmi les services fournis par Java Enterprise System, on peut citer les services suivants :
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 quelle 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 communications 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.
Services de sécurité et d'identité réseau : 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 composant 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 plate-forme Java 2, Enterprise Edition (J2EETM).
Java Enterprise System 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 Enterprise System, 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 Enterprise System.
Services administratifs : Ces services aident à préserver et à régler les performances des applications prises en charge par Java Enterprise System.
Vous pouvez déployer un ou plusieurs services Java Enterprise System, chacun d'eux pouvant inclure un certain nombre de composants Java Enterprise System.
Java Enterprise System est une intégration de composants et produits logiciels distincts sous la forme d'un système logiciel unique. Les composants de ce système ont été testés ensemble pour vérifier leur interopérabilité. Leur intégration est facilite par un certain nombre de fonctions au niveau du système :
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.
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 Enterprise System. Ces composants système peuvent être regroupés en trois catégories principales, comme indiqué dans l'illustration suivante :
Composants de service du système : ils fournissent les services d'infrastructure principaux de Java Enterprise System 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.
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 de communication et de collaboration, les services d'identité et de sécurité, les services de conteneur Web, ainsi que les services d'application J2EE.
Les composants de service 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 multi-thread capable de prendre en charge un nombre important de clients. Pour plus de détails sur chaque composant, reportez-vous à la section Description des composants de service du 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 Enterprise System 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 administratifs.
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 Enterprise System, ainsi que les services qu'ils fournissent. Pour plus de détails sur chaque composant, reportez-vous à la section Description des composants de disponibilité.
Tableau 1–2 Composants de disponibilité de Java ES
Composant |
Services de disponibilité fournis |
---|---|
Fournit des services de disponibilité et d'évolutivité élevées pour Java Enterprise System, les applications exécutées en haut de l'infrastructure Java Enterprise System et l'environnement matériel dans lequel ces deux entités sont déployées. |
|
Fournit un magasin de données qui rend disponibles les données d'applications, en particulier les données de l'état de session, même en cas de panne. |
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. Le tableau suivant présente les composants d'accès inclus dans Java Enterprise System, ainsi que les services qu'ils fournissent. Pour plus de détails sur chaque composant, reportez-vous à la section Description des composants d'accès.
Tableau 1–3 Composants d'accès de Java ES
Composant |
Services d'accès fournis |
---|---|
Fournit des services de sécurité pour Directory Server à partir de l'extérieur d'un pare-feu d'entreprise. Directory Proxy Server assure le contrôle d'accès à l'annuaire et le routage des instances multiples de Directory Server. |
|
Sun Java System Web Proxy Server |
Assure la mise en cache, le filtrage et la distribution du contenu Web pour les requêtes Internet entrantes et sortantes. |
Sun Java System Communications Express |
Fournit un accès Web à Messaging Server, Calendar Server et Directory Server, selon la configuration. |
Fournit un accès Internet sécurisé à partir de l'extérieur d'un pare-feu d'entreprise aux contenus et services de Portal Server, notamment les portails internes. |
|
|
|
Fournit aux clients de bureau utilisant Microsoft Outlook une interface vers Messaging Server et Calendar Server. |
Les composants administratifs assurent des fonctions de gestion, telles que la configuration et le contrôle, pour les services système. Le tableau suivant présente les composants administratifs inclus dans Java Enterprise System, ainsi que les services qu'ils fournissent. Pour plus de détails sur chaque composant, reportez-vous à la section Description des composants administratifs.
Tableau 1–4 Composants administratifs de Java ES
Composant |
Services administratifs fournis |
---|---|
Fournit un outil d'administration graphique vous permettant de configurer et de gérer Directory Server et Messaging Server. |
|
Fournit un script pour la configuration de Directory Server, avec le schéma nécessaire pour le provisioning des utilisateurs de Messaging Server et Calendar Server. |
|
Fournit des outils de ligne de command et d'interface graphique pour insérer les entrées utilisateur dans Directory Server avec les attributs utilisateur requis par Messaging Server et Calendar Server. |
Java Enterprise System comprend un certain nombre de bibliothèques partagées installées localement, dont dépendent de nombreux composants de service système et de qualité de service. Les composants partagés Java ES fournissent des services locaux aux composants 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 de Java Enterprise System : Java 2 Platform, Standard Edition (plate-forme J2SETM ), Netscape Portable Runtime (NSPR), Network Security Services (NSS), Network 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.
La création de solutions d'entreprise basées sur le logiciel Java Enterprise System 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 Enterprise System 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 Enterprise System : le cycle de vie de la solution Java Enterprise System 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 1–3. Cette figure présente également la catégorie d'utilisateurs de Java Enterprise System qui effectue les diverses tâches en règle générale.
Les phases du cycle de vie indiquées dans la Figure 1–3 peuvent être divisées en trois grands groupes :
Déploiement préalable : au cours des phases de cette partie du cycle de vie, les besoins d'une entreprise sont convertis en un scénario de déploiement, c'est-à-dire en une architecture logique et en un ensemble d'exigences en termes 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.
Déploiement ultérieur : 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.
Le cycle de vie de la solution et 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, Tâches du cycle de vie de la solution Java Enterprise System.
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. Si vous utilisez Java ES, vous devez vous situer dans l'une ou l'autre des catégories d'utilisateurs présentées dans la Figure 1–3. 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 ne disposez encore d'aucun système logiciel, vous pouvez déployer le logiciel Java Enterprise System 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. En d'autres termes, vous voulez un meilleur retour sur les investissements que celui que vous procure votre système actuel.
Extension : Si vous disposez déjà d'une infrastructure informatique, vous pouvez déployer le logiciel Java Enterprise System 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 l'agrégation personnalisée 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 Enterprise System, vous effectuez une mise à niveau pour obtenir la dernière version des composants Java Enterprise System.
Chaque scénario d'adoption contient ses propres problèmes et défis. Quel que soit le scénario d'adoption correspondant à votre situation, le cycle de vie de la solution illustrée dans la Figure 1–3 s'applique. 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 peuvent varier.
Les problèmes suivants 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 Enterprise System.
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 Enterprise System.
Raison principale justifiant le déploiement du logiciel Java Enterprise System 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 Enterprise System : 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 Enterprise System 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).
Une des nombreuses sortes de composants système inclus dans Java Enterprise System. Les composants améliorent la disponibilité, la sécurité, l'évolutivité, l'entretien et les autres qualités des composants de service du système et des composants d'applications distribuées.
Une des nombreuses sortes de composants système inclus dans Java Enterprise System. Les composants partagés, en règle générale des bibliothèques, fournissent des services locaux aux autres composants du système. Par opposition, un composant de service du système fournit des services d'infrastructure distribués aux autres composants du système (ou aux composants d'application).
Tout package logiciel ou ensemble de packages inclus dans Java Enterprise System et installé par le programme d'installation de Java Enterprise System. Il existe plusieurs types de composants système : les composants de service du système qui fournissent des services d'infrastructure distribués, les composants de qualité du service qui prennent en charge les composants de service système en fournissant les services d'accès et d'administration 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 Enterprise System. 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.
Une des nombreuses sortes de composants système inclus dans Java Enterprise System. Les composants de services du système fournissent les principaux services d'infrastructure de Java Enterprise System : services de portail, de communication et de collaboration, d'identité et de sécurité, Web et applicatifs, et de disponibilité.