Présentation technique de Sun Java Enterprise System 5 Update 1

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

À 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 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 :

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.

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 ES figurent :

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 :

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

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 :

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 :

Figure 1–2 Catégories de composants Java ES

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

Les composants fournissent les services suivants :

Pour obtenir la liste des composants Java ES, reportez-vous à l'Annexe A, Composants Java ES.

Composants de services 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 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

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

Java DB [Java ES 5 est la première version à inclure Java DB comme composant logiciel. Dans sa première version, Java DB était un composant partagé appelé Base de données Derby inclus dans Java ES 2005Q4.]

Fournit une base de données légère pour le développement d'applications Java. Java DB est la distribution prise en charge par Sun de la base de données de technologie open-source Apache Derby 100% Java.

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 JavaTM Message Service (JMS) et ajoute des fonctions d'entreprise telles que la sécurité, l'évolutivité et l'administration à distance.

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 Service Registry

Fournit un registre et un référentiel pour la prise en charge des applications SOA (Service-Oriented Architecture). 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 artefacts, par exemple des schémas XML, des règles des processus industriels, du contrôle d'accès, du contrôle de version, etc.  

Sun Java System Web Server

Fournit des services de conteneur Web J2EE pour les composants Web Java tels que les composants Java TM 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 Sun Java System Active Server Pages.

Composants de qualité de service

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é

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

Composant 

Services de disponibilité fournis 

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. 

Sun Cluster

Fournit des services de disponibilité et d'évolutivité élevées pour Java ES, les applications exécutées en haut de l'infrastructure Java ES et l'environnement matériel dans lequel ces deux entités sont déployées. 

Sun Cluster Geographic Edition [Java ES 5 est la première version à inclure Sun Cluster Geographic Edition en tant que composant logiciel Java ES.]

Ce composant protège les applications contre les arrêts brutaux, à l'aide de plusieurs clusters répartis sur plusieurs emplacements géographiques et d'une infrastructure redondante répliquant les données entre ces clusters. Le logiciel Sun Cluster Geographic Edition est une extension en couches du logiciel Sun Cluster. 

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

Composant 

Services d'accès fournis 

Sun Java System Portal Server (comprend 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 Web Proxy Server

Assure la mise en cache, le filtrage et la distribution du contenu Web pour les requêtes Internet entrantes et sortantes. 

Composants de contrôle

Java ES comprend une 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 shared component (composant partagé). Pour plus d'informations, consultez la section Composants de contrôle.

Composants partagés

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.

Composants des Suites Sun Java

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

Suite 

Exigence de l'entreprise 

Sommaire 

Sun Java Application Platform Suite

Développer, déployer et gérer des architectures SOA (Service-Oriented Architectures) de prochaine génération 

Access Manager 

Application Server 

Directory Server 

HADB 

Java DB 

Message Queue 

Console de contrôle 

Portal Server (comprend Secure Remote Access et Mobile Access) 

Service Registry  

Serveur Web Proxy 

Web Server 

Sun Java Availability Suite

Reprise sur sinistre et haute disponibilité pour applications critiques 

Logiciel Sun Cluster 

Agents Sun Cluster 

Édition géographique de Sun Cluster  

Sun Java Communications Suite [Les composants suivis d'un astérisque (*) sont des composants de communication qui ne sont plus ni fournis avec Java ES ni installés avec le programme d'installation de Java ES. Ces composants sont disponibles en tant que composants de Sun Java Communications Suite.]

Services de messagerie et de collaboration sécurisés et fiables 

Access Manager 

Application Server 

Calendar Server* 

Communications Express* 

Delegated Administrator*  

Directory Server 

HADB 

Instant Messaging* 

Java DB 

Message Queue 

Messaging Server* 

Console de contrôle  

Serveur Web Proxy 

Web Server 

Sun Java Identity Management Suite

Gestion des identités utilisateur entre plusieurs infrastructures et environnements d'application informatiques. 

Access Manager 

Application Server 

Directory Server 

HADB  

Java DB  

Message Queue 

Console de contrôle 

Web Server 

Sun Java Web Infrastructure Suite

Applications et services Web pour les petites à moyennes entreprises. 

Access Manager 

Application Server 

Directory Server 

HADB 

Java DB 

Message Queue 

Console de contrôle 

Service Registry 

Serveur Web Proxy 

Web Server 

Utilisation de Java ES

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.

Cycle de vie d'une solution Java ES

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.

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 précédente peuvent être divisées en trois grands groupes :

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

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. 

Exigences techniques 

Conception logique 

Conception de déploiement 

Intégrateur système

Ingénieur de projet 

Administrateur système 

Gestionnaire technique 

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 de 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 ES

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 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 :

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 

Peut être un gros problème 

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 

Mettre à 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 ES.

adoption scenario (scénario d'adoption)

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.

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 ES ou un application component (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.

distributed enterprise application (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).

end user (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'deployment architecture (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 business service (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 produit

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.

service quality component (composant de qualité de service)

Type de system component (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.

shared component (composant partagé)

Type de system component (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.

system component (composant 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.

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

system service component (composant de services système)

Type de system component (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é.