Présentation technique de Sun Java Enterprise System 2005Q4

Chapitre 3 Fonctions d'intégration de Java Enterprise System

Ce chapitre fournit des informations conceptuelles et techniques permettant de comprendre les fonctions qui jouent un rôle essentiel dans l'intégration de composants Java ES dans un système logiciel unique.

Ces fonctions permettent de mettre en évidence certains des avantages de l'utilisation de Java Enterprise System par rapport à l'intégration manuelle de différents produits d'infrastructure.

Ce chapitre traite des fonctionnalités suivantes :

Programme d'installation intégré de Java Enterprise System

Tous les composants de Java ES sont installés à l'aide d'un programme d'installation unique. Ce programme d'installation assure la cohérence des procédures et du comportement d'installation et de désinstallation pour tous les composants.

Le programme d'installation de Java ES est une structure intégrée qui transfère le logiciel Java ES vers un système hôte. Il permet de sélectionner et d'installer un nombre quelconque de composants Java ES sur tout ordinateur de votre environnement informatique. Il assure également une configuration au moment de l'installation, selon les composants Java ES à installer.

Le programme d'installation de Java ES n'effectue pas lui-même d'installations distribuées. Pour déployer une solution logicielle distribuée, utilisez le programme d'installation de Java ES pour installer les composants appropriés sur chaque ordinateur de votre environnement, en procédant avec un ordinateur à la fois. Vous devez utiliser une séquence convenable de sessions d'installation et de procédures de configuration selon votre architecture de déploiement et les dépendances entre les composants.

Le programme d'installation est exécuté de manière interactive en mode graphique et en mode texte. Il comporte également un mode d'installation silencieux actionné par des paramètres. Outre l'anglais, le programme d'installation prend en charge sept langues : français, allemand, espagnol, coréen, chinois simplifié, chinois traditionnel et japonais.

Cette section aborde les aspects suivants du programme d'installation intégré de Java ES (pour plus d'informations, reportez-vous au Guide d’installation de Sun Java Enterprise System 2005Q4 pour UNIX) :

Contrôle de logiciels préexistants

Le programme d'installation examine l'ordinateur sur lequel l'installation est effectuée, puis il identifie les composants de Java ES déjà installés. Il procède ensuite à un contrôle sur plusieurs niveaux pour vérifier que tous les composants existants sont au niveau permettant une bonne interaction. Le programme d'installation signale les composants logiciels incompatibles qui doivent être mis à niveau ou supprimés.

De même, il vérifie si des composants partagés de Java ES (voir Composants partagés), comme J2SE ou NSS, sont déjà installés. Si le programme détecte des versions de composants partagés incompatibles, il les répertorie. Si vous effectuez l'installation, le programme met automatiquement à niveau les composants partagés.

Contrôle de dépendance

Le programme d'installation effectue une vérification approfondie des composants afin de vérifier que les composants sélectionnés lors de l'installation fonctionneront bien conjointement.

La plupart des composants ont des dépendances par rapport aux autres composants. Le programme d'installation comporte une logique qui garantit le respect de ces dépendances. De ce fait, lorsque vous sélectionnez un composant à installer, le programme d'installation inclut automatiquement les composants et les sous-composants entretenant des rapports de dépendance avec ce composant.

Vous ne pouvez pas désélectionner un composant si un autre composant sélectionné en dépend au niveau local. Toutefois, si la dépendance n'est pas locale, vous recevez un avertissement, mais vous pouvez poursuivre en supposant que la dépendance est satisfaite par un composant figurant sur un autre ordinateur hôte.

Configuration initiale

La plupart des composants de Java ES requièrent une configuration initiale avant de pouvoir être lancés. Pour certains composants, le programme d'installation de Java ES peut effectuer cette configuration initiale.

Vous pouvez choisir de laisser le programme d'installation effectuer cette configuration initiale (option Configurer maintenant) ou d'installer le logiciel sans effectuer la configuration initiale (option Configurer ultérieurement), auquel cas vous devrez configurer explicitement chaque composant installé une fois l'installation effectuée.

Si vous laissez au programme d'installation le soin d'effectuer la configuration initiale, indiquez les informations de configuration requises pendant l'installation. En particulier, vous pouvez indiquer un ensemble de paramètres communs à tous les composants, tels un ID d'administrateur et un mot de passe.

Désinstallation

Java Enterprise System fournit également un programme de désinstallation. Vous pouvez utiliser ce programme pour supprimer les composants qui ont été installés sur l'ordinateur local par le programme d'installation de Java ES. Le programme de désinstallation recherche les dépendances locales et émet des avertissements lorsqu'il détecte une telle dépendance. Le programme de désinstallation ne supprime pas les composants Java ES partagés.

Tout comme le programme d'installation, le programme de désinstallation peut fonctionner en mode graphique, en mode texte ou en mode silencieux.

Services intégrés d'identité et de sécurité

L'une des fonctions importantes de Java Enterprise System est la gestion intégrée des identités des utilisateurs et la structure d'autorisation et d'authentification intégrée.

Les sections suivantes fournissent des informations techniques permettant de comprendre les services intégrés d'identité et de sécurité proposés par Java Enterprise System :

Identité unique

Au sein d'un environnement Java ES, un utilisateur final possède une seule identité intégrée. En fonction de cette identité unique, un utilisateur peut être autorisé à accéder à certaines ressources, par exemple un portail, des pages Web, ou des services de messagerie, de calendrier ou de messagerie instantanée.

La fonctionnalité d'identité et de sécurité intégrée est basée sur la collaboration étroite entre Directory Server, Access Manager et les autres composants de Java ES.

L'accès d'un utilisateur à un service ou une ressource Java ES est conditionné par le stockage d'informations spécifiques à l'utilisateur dans une entrée utilisateur unique dans un référentiel utilisateur ou un annuaire. En général, ces informations comportent les éléments suivants : nom et mot de passe uniques, adresse électronique, rôle au sein de l'organisation, préférences de pages Web, etc. Les informations de l'entrée utilisateur peuvent être utilisées pour authentifier l'utilisateur, autoriser son accès à des ressources spécifiques ou fournir divers services à cet utilisateur.

Dans le cas de Java Enterprise System, les entrées utilisateur sont stockées dans un annuaire fournis par Directory Server. Lorsqu'un utilisateur souhaite demander un service fourni par un composant Java ES, ce service utilise Access Manager pour authentifier l'utilisateur et autoriser l'accès aux ressources spécifiques. Le service demandé vérifie les informations de configuration propres à l'utilisateur qui se trouvent dans l'entrée du répertoire de l'utilisateur. Le service utilise ces informations pour effectuer le travail demandé par l'utilisateur.

La figure suivante illustre l'accès aux entrées utilisateur afin d'effectuer une authentification et une autorisation de l'utilisateur en vue de lui fournir des services.

Figure 3–1 Une entrée utilisateur unique prend en charge de nombreux services

Diagramme représentant plusieurs composants Java Enterprise System en interaction avec l'entrée utilisateur unique d'un répertoire.

L'une des fonctions dérivées de ce système est la capacité d'un utilisateur Web de se connecter à un service Java ES et, ce faisant, d'être authentifié automatiquement auprès des autres services du système. Cette capacité, appelée connexion unique, est une fonction puissante offerte par Java Enterprise System.

Authentification et connexion unique

Les services d'autorisation et d'authentification de Java ES sont fournis par Access Manager. Access Manager utilise les informations de Directory Server pour gérer les interactions des utilisateurs avec les services Web de Java ES ou d'autres services Web au sein d'une entreprise.

Access Manager utilise également un composant externe appelé agent de stratégie. L'agent de stratégie se connecte au serveur Web qui héberge une ressource ou un service sécurisé par Access Manager. L'agent de stratégie intercède auprès d'Access Manager pour les requêtes adressées par des utilisateurs aux ressources sécurisées. Pour certains composants Java ES, comme Portal Server et Communications Express, les fonctionnalités de l'agent de stratégie sont assurées par un sous-composant de Access Manager (voir Sun Java System Access Manager 7 2005Q4).

Authentification

Access Manager comporte un service d'authentification permettant de vérifier les identités des utilisateurs qui demandent l'accès (par HTTP ou HTTPS) aux services Web d'une entreprise. Par exemple, un employé qui recherche le numéro de téléphone d'un collègue peut pour cela utiliser un navigateur afin de consulter l'annuaire en ligne de l'entreprise. Pour se connecter au service d'annuaire, l'utilisateur doit saisir un ID utilisateur et un mot de passe.

La séquence d'authentification est illustrée dans la Figure 3–2. Un agent de stratégie reçoit la demande de connexion à l'annuaire (1), puis il l'envoie au service d'authentification (2). Le service d'authentification vérifie l'ID utilisateur et le mot de passe en les comparant aux informations stockées dans Directory Server (3). Si la demande de connexion est valide, l'utilisateur est authentifié (4), (5) et (6), puis l'annuaire de l'entreprise s'affiche (7). Dans le cas contraire, une erreur est générée et l'authentification échoue.

Le service d'authentification prend également en charge l'authentification par certificats via HTTPS.

Figure 3–2 Séquence d'authentification

Diagramme représentant la séquence d'authentification, impliquant le navigateur Web, l'agent de stratégie, le service d'authentification, le service de session et Directory Server.

Connexion unique

Le scénario d'authentification traité dans les paragraphes précédents dissimule une étape importante. Lors de la vérification d'une demande d'authentification d'un utilisateur, le service de session de Access Manager est engagé (4), comme illustré dans la Figure 3–2. Le service de session génère un jeton de session qui détient les informations sur l'identité de l'utilisateur et un ID de jeton (5) Le jeton de session est renvoyé à l'agent de stratégie (6) qui transfère le jeton (sous la forme d'un cookie) vers le navigateur (7) depuis lequel la demande d'authentification a été effectuée.

Si l'utilisateur authentifié essaie d'accéder à un autre service sécurisé, le navigateur transfère le jeton de session à l'agent de stratégie correspondant. Ce dernier vérifie auprès du service de session que l'authentification précédente de l'utilisateur est toujours valide, puis l'utilisateur est autorisé à accéder au service pour la deuxième fois sans avoir à entrer de nouveau son ID utilisateur et son mot de passe.

Par conséquent, il suffit à l'utilisateur de se connecter une seule fois pour être authentifié sur plusieurs services Web fournis par Java Enterprise System. L'authentification avec connexion unique reste valide jusqu'à la déconnexion de l'utilisateur ou jusqu'à l'expiration de la session.

Autorisation

Access Manager inclut également un service de stratégie qui assure le contrôle d'accès aux ressources Web au sein d'un environnement Java ES. Une stratégie est une règle indiquant qui est autorisé à accéder à une ressource spécifique et dans quelles conditions. La séquence d'autorisation est illustrée à la figure suivante.

Figure 3–3 Séquence d'autorisation

Diagramme représentant la séquence d'autorisation décrite dans le paragraphe, impliquant le navigateur Web, l'agent de stratégie, le service de stratégie et Directory Server.

Lorsqu'un utilisateur authentifié demande l'accès à une ressource sécurisée avec Access Manager (1), l'agent de stratégie avertit le service de stratégie (2) qui utilise les informations de Directory Server (3) pour évaluer la stratégie d'accès s'appliquant à la ressource et vérifier si l'utilisateur possède les droits d'accès à cette ressource (4). Si l'utilisateur possède des droits d'accès (5), la demande est satisfaite (6).

Access Manager fournit les moyens de définir, modifier, accorder, révoquer et supprimer des stratégies au sein d'une entreprise. Les stratégies sont stockées dans Directory Server et configurées par le biais d'attributs liés aux stratégies dans les entrées d'organisation. Il est également possible de définir des rôles pour les utilisateurs et de les intégrer dans les définitions de stratégies.

Les agents de strétégie Access Manager font appliquer les stratégies. Lorsque le service de stratégie rejette une demande d'accès, l'agent de stratégie empêche l'utilisateur d'accéder aux ressources sécurisées.

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.

annuaire

Type particulier de base de données optimisé pour la lecture des données plutôt que pour leur écriture. La plupart des annuaires se basent sur le protocole standard LDAP (Lightweight Directory Access Protocol).

stratégie

Une stratégie est une règle indiquant qui est autorisé à accéder à une ressource donnée dans des conditions précises. Cette règle peut se baser sur des groupes d'utilisateurs ou des rôles au sein d'une organisation.

identité unique

Identité affectée à un utilisateur par le biais d'une entrée utilisateur unique dans un annuaire Java Enterprise System. Sur la base de cette entrée d'utilisateur unique, l'utilisateur peut obtenir l'accès à diverses ressources Java Enterprise System, telles que portails, pages Web et services (comme une messagerie, un calendrier et une messagerie instantanée, par exemple).

connexion unique

Fonction permettant l'authentification d'un utilisateur sur un service d'un système distribué et son application automatique aux autres services du système.