Présentation technique de Sun Java Enterprise System 2005Q4

Chapitre 1 Présentation de Java Enterprise System

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 :

À quoi sert Java Enterprise System ?

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 :

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.

Figure 1–1 Prise en charge requise pour les applications d'entreprise distribuées

Diagramme représentant une application d'entreprise distribuée située au-dessus des services d'infrastructure distribués dans un environnement matériel réseau.

Parmi les services fournis par Java Enterprise System, on peut citer les services suivants :

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 :

Vous pouvez déployer un ou plusieurs services Java Enterprise System, chacun d'eux pouvant inclure un certain nombre de composants Java Enterprise System.

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 :

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 :

Figure 1–2 Catégories de composants Java ES

Diagramme présentant les catégories de composants Java ES et leurs relations

Composants de service du système

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

Composant 

Services système fournis 

Sun Java System Access Manager

Fournit des services de gestion d'accès et d'administration des identités numériques. Les services de gestion des accès englobent l'authentification (notamment la connexion unique) et l'autorisation basée sur les rôles pour l'accès aux applications et/ou aux services. Les services d'administration regroupent l'administration centralisée des comptes utilisateur individuels, des rôles, des groupes et des stratégies.

Sun Java System Application Server

Fournit des services de conteneur J2EE pour les composants Enterprise JavaBeansTM (EJB), tels que des beans de session, des beans d'entité et des beans pilotés par messages. Le conteneur fournit les services d'infrastructure requis pour assurer l'interaction des composants distribués à configuration groupée, faisant d'Application Server une plate-forme de développement et d'exécution des services Web et des applications d'e-commerce. Application Server fournit également des services de conteneur Web.

Sun Java System Calendar Server

Fournit des services de calendrier et de planification aux utilisateurs finals et aux groupes d'utilisateurs finals. Calendar Server comprend un client basé sur un navigateur qui agit en interaction avec le serveur. 

Sun Java System Directory Server

Fournit un référentiel central permettant de stocker et de gérer les informations du réseau intranet et d'Internet, telles que les profils d'identité (employés, clients, fournisseurs, etc.), les justificatifs d'identité des utilisateurs (certificats de clé publique, mots de passe, codes confidentiels), les droits d'accès, les informations sur les ressources des applications et les informations sur les ressources réseau. 

Sun Java System Instant Messaging

Assure une communication sécurisée en temps réel entre les utilisateurs finals par le biais de la messagerie instantanée (discussion), de la tenue de conférences, des alertes, des forums, des sondages et du transfert de fichiers. Les services comprennent un gestionnaire de présence indiquant aux utilisateurs qui est actuellement en ligne, ainsi qu' un client de type navigateur qui interagit avec le serveur. 

Sun Java System Message Queue

Assure une messagerie fiable et asynchrone entre les applications et les composants distribués à configuration dispersée. Message Queue implémente la spécification API Java Message Service (JMS) et ajoute des fonctions d'entreprise telles que la sécurité, l'évolutivité et l'administration à distance.

Sun Java System Messaging Server

Fournit une messagerie de stockage et de transfert sécurisée et fiable de haute capacité qui prend en charge les applications vocales, vidéo, de messagerie, de fax et de pager. Messaging Server peut accéder simultanément à plusieurs bases de messages et offre des services de filtrage de contenu permettant de rejeter automatiquement les courriers indésirables et de bloquer les attaques virales. 

Sun Java System Portal Server

Fournit des services de portail clés, tels que la personnalisation et l'agrégation de contenu, aux clients de navigateur qui accèdent aux services ou aux applications d'entreprise. Portal Server fournit également un moteur de recherche configurable. 

Sun Java System Web Server

Fournit des services de conteneur Web J2EETM pour les composant Web Java tels que les composants Java Servlet et JavaServer PagesTM (JSPTM). Web Server prend également en charge d'autres technologies d'application Web pour la fourniture de contenus Web statiques et dynamiques, tels que les scripts CGI et Active Server Pages.

Sun Java System Service Registry 

Fournit un registre et un référentiel pour la prise en charge des applications SOA (Service-Oriented Architeture). Service Registry implémente des normes industrielles pour l'enregistrement et la détection des services Web, ainsi que pour la gestion des informations et faits associés, des artéfacts, par exemple XMLSchema, des règles des processus industriels, du contrôle d'accès, du contrôle de version, etc.  

Composants de qualité de service

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é

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 

Sun Cluster

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. 

High Availability Session Store

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. 

Composants d'accès

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 

Sun Java System Directory Proxy Server

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. 

Sun Java System Portal Server Secure Remote Access

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.  

 

Sun Java System Connector for Microsoft Outlook

Fournit aux clients de bureau utilisant Microsoft Outlook une interface vers Messaging Server et Calendar Server.  

Composants administratifs

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 

Sun Java System Administration Server (et Console)

Fournit un outil d'administration graphique vous permettant de configurer et de gérer Directory Server et Messaging Server.  

Sun Java System Directory Preparation Tool

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. 

Sun Java System Delegated Administrator

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. 

Composants partagés

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.

Utilisation de Java Enterprise System

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.

Cycle de vie de la solution Java Enterprise System

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.

Figure 1–3 Phases du cycle de vie d'une solution et catégories d'utilisateurs

Diagramme représentant les phases du cycle de vie et les catégories d'utilisateurs Java ES qui effectuent les tâches associées à chaque phase.

Les phases du cycle de vie indiquées dans la Figure 1–3 peuvent être divisées en trois grands groupes :

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

Utilisateur 

Connaissances et expérience 

Phases 

Planificateur

Analyste système 

Possède des connaissances générales et non des connaissances techniques approfondies. 

Sait en quoi consiste la direction stratégique d'une entreprise. 

Connaît les processus, les objectifs et les exigences d'entreprise. 

Analyse d'exploitation 

Exigences techniques 

Conception logique 

Architecte

Est très technique. 

Possède de vastes connaissances sur les architectures de déploiement. 

Connaît les technologies les plus récentes. 

Comprend les exigences et les contraintes d'entreprise. 

Conception logique 

Conception du déploiement 

Intégrateur système

Ingénieur de projet 

Administrateur système 

Gestionnaire système 

Est très technique. 

Connaît très bien les environnements de technologie d'information. 

A de l'expérience en matière d'implémentation de solutions logicielles distribuées. 

Connaît les protocoles, les périphériques, la sécurité et l'architecture réseau. 

Connaît les langages de script et de programmation. 

Conception du déploiement 

Implémentation du déploiement 

Administrateur système spécialisé

Administrateur délégué 

Ingénieur de maintenance 

Possède des connaissances sur le produit ou des connaissances techniques spécialisées. 

Connaît le matériel, les plates-formes, les répertoires et les bases de données. 

Dispose de l'expérience requise en matière de contrôle, de dépannage et de mise à niveau des logiciels. 

Connaît l'administration système pour les plates-formes du système d'exploitation. 

Opérations 

Scénarios d'adoption de Java Enterprise System

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 :

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 :

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

Scénario d'adoption 

Migration 

Intégration 

Formation 

Matériel 

Nouveau système 

N'est pas un problème 

Intégration de nouveaux composants relativement facile 

Problème important en règle générale 

Compromis entre les coûts de l'équipement et de main d'œuvre. [L'utilisation de plusieurs ordinateurs puissants fait généralement augmenter les coûts de l'équipement tout en exigeant moins de ressources informatiques. L'utilisation de nombreux petits ordinateurs fait généralement diminuer les coûts de l'équipement tout en exigeant davantage de ressources informatiques.]

Amélioration 

Peut être un problème sérieux 

Nécessité d'intégrer de nouveaux composants dans le système existant 

Peut être un gros problème 

Peut impliquer des contraintes considérables en raison de l'équipement existant 

Extension 

N'est en principe pas un problème 

Nécessité éventuelle d'intégrer de nouveaux composants dans le système existant 

Peut être un gros problème 

Requiert généralement du matériel neuf avec les mêmes compromis que sur un nouveau système 

Mise à niveau 

Peut être un gros problème 

Intégration des composants mis à niveau relativement facile 

Problème relativement mineur 

Problème relativement mineur 

Termes clés de ce chapitre

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.

scénario d'adoption

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.

composant

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 d'entreprise distribuée

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).

utilisateur final

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.

service

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).

composant de qualité de service

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.

composant partagé

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).

composant système

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.

service 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.

composant de service du système

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é.