Déployer des applets Java avec des versions de la famille JRE dans le module d'extension Java pour

Déployer des applets Java avec des versions de la famille JRE dans le module d'extension Java pour Internet Explorer.

Titleimage

Mis en ligne par Ludovic Dessemon le 2015:08:21 14:24:36

Mise en situation

Dans les versions antérieures à JRE 5.0 Update 6, vous pouviez spécifier exactement quelle version de JRE déployer avec une applet Java.

À partir de JRE 5.0 Update 6, vous ne pouvez plus spécifier la version exacte de JRE en raison du risque de mauvaise utilisation de la numérotation statique des versions. Au lieu de cela, toutes les applets Java s'exécutent avec la dernière version du logiciel JRE installée sur le système. Notez que ce nouveau comportement ne changera pas si, après avoir installé JRE 5.0 Update 6 ou une version ultérieure, vous installez ensuite une version antérieure de JRE. Pour plus de détails, consultez l'article Java Plug-in and Java Web Start May Allow Applets and Applications to Run With Unpatched JRE [ID 1000671.1] sur My Oracle Support.

Étant donné que vous ne pouvez utiliser que la dernière version du logiciel JRE installée sur le système pour exécuter des applets Java, vous devez migrer votre logiciel vers la dernière version de JRE dès que possible.

Cette modification peut perturber les applets Java existantes qui ne peuvent pas être immédiatement migrées vers la dernière version de JRE. Pour cette raison, la version JRE 5.0 Update 7 introduit une solution intérimaire permettant à ces applets Java de s'exécuter avec une version spécifique de la famille JRE. Ainsi, vous pouvez maintenir le fonctionnement de votre déploiement existant tout en migrant vos applets Java vers la dernière version de JRE. Cette solution intérimaire est décrite dans la section suivante.

Les développeurs et les fournisseurs de logiciels indépendants (ISV) qui souhaitent une solution à plus long terme pour le déploiement d'APPLICATIONS Java via un navigateur vers une version spécifique de JRE peuvent utiliser Java Web Start. Pour plus d'informations sur Java Web Start, consultez la technologie Java Web Start.

Spécification des versions de la famille JRE pour les applets Java

Dans la version 7 de la mise à jour 5 du JRE pour le plug-in Java destiné à Internet Explorer, deux nouveaux identifiants de classe de famille (CLSID) sont introduits pour les balises. Vous pouvez utiliser ces balises pour spécifier que l'applet Java nécessite la famille JRE 1.4.2 ou la famille JRE 5.0 pour s'exécuter. Dans la version 6 du JRE pour le plug-in Java destiné à Internet Explorer, un troisième nouveau CLSID de famille est introduit afin de pouvoir spécifier que l'applet Java nécessite la famille JRE 1.4.2, JRE 5.0, ou JRE 6 pour s'exécuter. Dans toutes les versions, il n'est pas possible de spécifier une version spécifique au sein d'une famille JRE.

Le tableau suivant présente le CLSID de famille à spécifier pour chaque version de la famille JRE.

Version de la famille JRE 1.3.1: Notez que le CLSID de la famille 1.3.1 n'est actuellement pas disponible. Il sera disponible dans les prochaines versions des mises à jour JRE 6 et JRE 5.0.
CLSID de la famille: clsid:CAFEEFAC-0013-0001-FFFF-ABCDEFFEDCBA

Version de la famille JRE 1.4.2
CLSID de la famille:
clsid:CAFEEFAC-0014-0002-FFFF-ABCDEFFEDCBA

Version de la famille JRE 5.0
CLSID de la famille:
clsid:CAFEEFAC-0015-0000-FFFF-ABCDEFFEDCBA

Version de la famille JRE 6.0
CLSID de la famille:
clsid:CAFEEFAC-0016-0000-FFFF-ABCDEFFEDCBA

Version de la famille JRE 7.0
CLSID de la famille:
clsid:CAFEEFAC-0017-0000-FFFF-ABCDEFFEDCBA

Lorsqu'une famille JRE est spécifiée, le logiciel Java Plug-in recherche la dernière version de cette famille actuellement installée. Le logiciel Java Plug-in préfère une version égale ou ultérieure à la ligne de base de SÉCURITÉ de cette famille JRE.

La ligne de base de sécurité comprend le numéro de version de la dernière version de chaque famille JRE disponible lors de la construction de la dernière famille JRE. Par exemple, lors de la construction de la version 7 de la mise à jour 5 du JRE 5.0, la ligne de base de sécurité pour la famille JRE 5.0 était la version 5.0 Update 7. Pour la famille JRE 1.4.2, la ligne de base de sécurité était la version 1.4.2_10. À partir de la version 7 de la mise à jour 5 du JRE 5.0, les informations de la ligne de base de sécurité sont incluses dans chaque version de la famille JRE la plus récente.

Supposons que l'applet suivant utilisant le CLSID de la famille 1.4.2 soit lancé :

<OBJECT
     classid="clsid:CAFEEFAC-0014-0002-FFFF-ABCDEFFEDCBA"
     width="200" height="200">
     <PARAM name="code" value="Applet1.class">
</OBJECT>

  

Si une ou plusieurs versions de la version 1.4.2 du JRE sont installées et que la version la plus récente n'est pas plus ancienne que la ligne de base de sécurité, le logiciel Java Plug-in exécute l'applet avec cette version.

Si une ou plusieurs versions de la version 1.4.2 du JRE sont installées et que la version la plus récente est plus ancienne que la ligne de base de sécurité, le logiciel Java Plug-in affiche un avertissement.

L'utilisateur doit cliquer sur Oui pour exécuter l'applet. L'utilisateur a également la POSSIBILITÉ de télécharger la version la plus récente.

Si la version 1.4.2 du JRE n'est pas installée, le logiciel Java Plug-in PROPOSE de télécharger sa version la plus récente.

Des actions similaires sont entreprises pour un CLSID qui spécifie la famille JRE 5.0 lorsqu'une famille JRE ultérieure est publiée. Dans ce cas, où JRE 5.0 est la dernière famille JRE, la première ACTION est effectuée. Dans certains cas, vous voudrez peut-être détecter si le CLSID de la famille est disponible, puis générer dynamiquement la balise correspondante. Cette détection peut être effectuée en vérifiant le ProgID "JavaPlugin.FamilyVersionSupport" en JavaScript, comme suit :

<SCRIPT language="JavaScript">

    // Return true if the family version is supported.
    function isFamilyVersionSupported() {
        try {
            return (new ActiveXObject("JavaPlugin.FamilyVersionSupport") != );
        } catch (exception) {
            return false;
        }
    }

    if (isFamilyVersionSupported()) 
        // Family CLSID is supported
        document.writeln("<OBJECT classid=\"clsid:{CAFEEFAC-0014-0002-FFFF-ABCDEFFEDCBA}\" ..... </OBJECT>");
    else  
        // No family CLSID supported, continue to use specific version
        document.writeln("<OBJECT classid=\"clsid:{CAFEEFAC-0014-0002-0008-ABCDEFFEDCBA}\" ..... </OBJECT>");
</SCRIPT>

 

Politique de support d'Oracle

La fonctionnalité CLSID de la famille est une solution provisoire prise en charge par Oracle pour les clients qui ont des applets Java en transition. Cette solution permet aux clients de poursuivre leur déploiement existant avec la dernière version de JRE dans une famille spécifique avant que les applets Java ne puissent être entièrement migrées vers la dernière version de JRE dans la dernière famille. Oracle ne retirera pas le support de la fonctionnalité CLSID de la famille sans introduire de nouvelles fonctionnalités pour répondre à ces besoins des clients. La fonctionnalité CLSID de la famille dans la version Java 2 Platform, Standard Edition 5.0 (J2SE 5.0) prend en charge les versions de la famille JRE 5.0 et 1.4.2. La fonctionnalité CLSID de la famille dans la version Java SE 6 prend en charge les versions de la famille JRE 6, 5.0 et 1.4.2. La fonctionnalité CLSID de la famille dans la version Java SE 7 prend en charge les versions de la famille JRE 7, 6, 5.0 et 1.4.2. Si vous avez des scénarios de déploiement qui ne peuvent pas être satisfaits en utilisant la fonctionnalité CLSID de la famille, ou si vous avez une ancienne famille de produits, veuillez contacter Oracle pour obtenir une assistance supplémentaire.

Informations supplémentaires

Pour plus d'informations veuillez vous référer à JavaTM SE 6: Nouvelles politiques de déploiement pour les clients Java SE.

Note

Si une mise à jour plus récente de JRE 7 est disponible et que vous désirez obliger les utilisateurs à mettre à jour la version 7, vous pouvez remplacer "71" par le numéro de version désiré dans le  paramêtre "jpi_classid". Par exemple, si vous désirez faire passer le JRE 7 à la version 7.2, effectuez l'étape 2 ci-dessus et changez également jpi_classid dans le fichier formsweb.cfg comme suit :

DE:
jpi_classid=clsid:CAFEEFAC-0017-0000-0071-ABCDEFFEDCBA
À:
jpi_classid=clsid:CAFEEFAC-0017-0000-0072-ABCDEFFEDCBA

Une fois que les étapes ci-dessus ont été suivies, les utilisateurs seront obligés d'utiliser au moins JRE 7 Mise à jour 72.

Mis en ligne par Ludovic Dessemon le 2015:08:21 14:24:36

Return to Blog