Sun Java System Application Server Enterprise Edition 8.2 est un serveur compatible avec la plate-forme J2EE 1.4 permettant de développer et de déployer des applications J2EE et des services Web basés sur la technologie Java dans des environnements de production à grande échelle.
Cette section aborde les sujets suivants :
Application Server Enterprise Edition 8.2 inclut les améliorations suivantes :
Amélioration de l'administration : Application Server prend en charge la gestion sécurisée distante des déploiements d'entreprise multimachines complexes via une console installée sur un navigateur ou une interface de ligne de commande pouvant contenir des scripts. Il fournit également une interface API JMX complète permettant un accès par programme distant et sécurisé aux fonctions de contrôle et d’administration.
Courtier de messages : Application Server est fourni avec un courtier de messages de classe d'entreprise intégré, composant un système de messagerie haute disponibilité, performant, fiable et évolutif.
Message Queue 3.7 : Application Server implémente désormais MQ 3.7.
Prise en charge d'une plate-forme étendue : de nouveaux systèmes d'exploitation, environnements localisés et composants matériels, ainsi que de nouvelles bases de données sont pris en charge.
Sun Java Enterprise System : Application Server, considéré comme composant clé de Sun Java Enterprise System, est étroitement intégré aux services d'identités réseau et de portail.
Outils de migration et de mise à niveau : ces outils vous permettent de vérifier la portabilité et le respect des standards des applications J2EE, facilitent la migration à partir d'autres serveurs d'applications J2EE (JBoss, WebLogic, WebSphere) et contribuent à la mise à niveau à partir des versions précédentes de Sun ONE Application Server/iPlanet Application Server.
Prise en charge de Java 2 Standard Edition 5.0 : Application Server prend en charge Java 2 Standard Edition 5.0 qui comprend des fonctions de contrôle et de gestion améliorées ainsi que plusieurs améliorations en termes de performances et d'évolutivité.
Prise en charge des plug-in Java Web Services Developer Pack 1.6 (JWDSP) : tous les plug-in JWSDP sont désormais pris en charge. JWSDP 1.6 peut être téléchargé gratuitement à l'adresse http://java.sun.com/webservices/downloads/1.6/index.html.
Prise en charge de la base de données Java DB : Application Server inclut la base de données Java DB, basée sur Apache Derby. Une compatibilité ascendante avec la base de données Pointbase est conservée mais les nouvelles bases de données créées sur le serveur utiliseront Java DB par défaut. Après une mise à niveau de Application Server 8.x, les domaines existants continueront d'utiliser PointBase mais les nouveaux domaines créés utiliseront Java DB.
Pilotes JDBC : Application Server est doté des pilotes Sun JDBC.
Sécurité des services Web : ces mécanismes de sécurité des messages du conteneur implémentent un système d'authentification au niveau des messages (par exemple, le chiffrement ou la signature numérique XML) des appels de services Web SOAP. Pour cela, des profils nom utilisateur/mot de passe X509 de la norme OASIS WS-Security sont utilisés.
WS-I Basic Profile 1.1 : comme indiqué dans la spécification J2EE 1.4, cette version implémente Web Services Interoperability (WS-I) Basic Profile 1.1 afin d'autoriser une intéroperabilité des applications de services Web.
Connectivité d'arrière-plan avec des adaptateurs iWay : désormais, Sun Microsystems revend et prend en charge vingt-deux adaptateurs iWay pour la connexion des systèmes centraux (SAP, Siebel, Oracle, CICS et IBM MQ Series) afin que vous puissiez tirer parti des applications informatiques existantes depuis l'environnement Application Server. Ces adaptateurs prennent en charge la spécification J2EE Connector Architecture 1.5 et les normes de services Web (SOAP). Ils incluent par ailleurs des outils de développement permettant de réduire le temps de connexion aux applications d'arrière-plan.
Dernière version du système de gestion HADB : les plates-formes UNIXTM intègrent le nouveau système de gestion de base de données haute disponibilité (HADB version 4.4.3). Ce système se compose d'un serveur de base de données, d'un pilote ODBC 2.5, d'un pilote JDBC 3.0 de type 4, du programme clusql (programme interactif permettant de saisir et d'exécuter des instructions SQL) et d'un système de gestion. Cette version permet d'éliminer la dépendance SSH/RSH, mais requiert une configuration réseau pour multidiffusion UDP. Reportez-vous au manuel Sun Java System Application Server Enterprise Edition 8.2 High Availability Administration Guide pour plus d'informations sur la configuration minimale requise et les restrictions de HADB.
Prise en charge des zones Solaris 10 : Application Server peut être installé dans une zone globale ou non globale sous Solaris 10. Reportez-vous à la page Solaris Zones pour plus d'informations sur les zones Solaris.
Technologie de contenu dynamique plus prise en charge : les technologies de contenu dynamique, comme CGI-bin et SHTML, ne sont plus prises en charge.
Cette section présente la configuration système requise pour installer Sun Java System Application Server Enterprise Edition 8.2.
Le tableau ci-dessous répertorie les systèmes d'exploitation pris en charge par Sun Java System Application Server Enterprise Edition 8.2. En outre, il indique la mémoire minimale requise et la mémoire recommandée pour l'installation et l'exécution d'Application Server.
Tableau 2–1 Configuration requise par la plate-forme Sun Java System Application Server 8.2
La configuration système requise indiquée ci-dessus d'Application Server et celle de HADB indiquée dans la section Configuration requise pour HADB et plates-formes prises en charge sont strictement identiques. Il ne s'agit pas d'une erreur de la documentation. Il est fréquent d'exécuter Application Server et un serveur HADB sur des machines différentes.
Sous UNIX, vous pouvez vérifier la version du système d'exploitation en utilisant la commande uname et l'espace disque en utilisant la commande df.
Utilisez le système de fichiers NTFS plutôt que FAT ou FAT32 lorsque Application Server est exécutée sur une plate-forme Microsoft Windows.
Sun conseille aux utilisateurs de Solaris 9, 10 (x86, SPARC) d'installer le groupe de patchs recommandés. Ce dernier est disponible dans la section des patchs sécurisés et recommandés du site SunSolve.
Pour exécuter des composants natifs de ce produit, y compris le programme d'installation, le package suivant (qui ne fait pas partie de la distribution RedHat Enterprise Linux 3.0 standard) doit être installé : compat-libstdc++-7.3-2.96.118.i386.rpm
Le package peut être téléchargé à l'adresse http://rpm.pbone.net/index.php3/stat/4/idpl/843376/com/compat-libstdc++-7.3-2.96.118.i386.rpm.html.
Sun Java System Application Server a été conçu pour prendre en charge la connectivité des SGBD avec les pilotes JDBC correspondants. Pour obtenir la liste des composants testés par Sun et jugés compatibles pour la création de configurations de bases de données conformes J2EE, reportez-vous au tableau suivant :
Tableau 2–2 Pilotes JDBC compatibles J2EE
Fournisseur JDBC |
Type de pilote JDBC |
Serveur de base de données pris en charge |
---|---|---|
Logiciel inet |
Type4 |
Oracle (R) 8.1.7, 9i, 9.2.0.3+, 10.1.x, 10.2. x Sybase ASE 12.5. Microsoft SQL Server 20004.0 Service Pack1 |
IBM |
Type2 |
IBM DB28.1 Service Pack3+ |
Java DB |
Type4 |
Apache Derby 10.1.3 |
PointBase |
Type4 |
PointBase Network Server 5.2 |
DataDirect |
Type4 |
Oracle (R) 8.1.7, 9i, 9.2.0.3+, 10.1.x, 10.2. x Sybase ASE12.5.2 Microsoft SQL Server IBM DB28.1 Service Pack3+ |
MySQL |
Type4 |
5.x |
Pilote JDBC Sun Java System pour Oracle |
Type4 |
Oracle (R)9.2.0.3, 10G |
Pilote JDBC Sun Java System pour DB2 |
Type4 |
IBM DB28.1 Service Pack3+ |
Pilote JDBC Sun Java System pour Sybase |
Type4 |
Sybase ASE12.5.2 |
Pilote JDBC Sun Java System pour Microsoft SQL Server |
Type4 |
Microsoft SQL Server 20004.0 Service Pack1 |
Oracle |
Type4, type2 |
Oracle (R)9.2.0.3, 10G |
Cette section décrit des instructions d'implémentation de la base de données Java DB intégrée à Application Server 8.2.
Sun Java System Application Server 8.2 introduit deux nouvelles commandes asadmin pour démarrer et arrêter le serveur réseau Java DB.
La commande start-database permet de démarrer une instance du serveur réseau Java DB :
start-database [--dbhost 0.0.0.0] [--dbport 1527] [--dbhome path/derby] |
La valeur par défaut de l'hôte est 0.0.0.0, permettant ainsi à Java DB d'écouter localhost et les interfaces IP/nom d'hôte. La valeur de la propriété dbhome est l'emplacement des bases de données Java DB. La valeur chemin par défaut est <appserver_install_dir>/derby.
La commande asadmin stop-database permet d'arrêter une instance du serveur réseau Java DB actuellement utilisé :
stop-database [--dbhost 0.0.0.0] [--dbport 1527] |
La configuration de Java DB proposée avec Application Server 8.2 comprend également plusieurs scripts utiles vous permettant d'utiliser Java DB. Les scripts suivants peuvent être utilisés dans le répertoire <appserver_install_dir> /derby/frameworks/NetworkServer/bin :
startNetworkServer.ksh/bat — Script permettant de démarrer le serveur réseau
stopNetworkServer.ksh/bat — Script permettant d'arrêter le serveur réseau
ij.ksh/bat — Outil de script JDBC interactif
dblook.ksh/bat — Script permettant d'afficher tout ou partie du LDD d'une base de données
sysinfo.ksh/bat — Script permettant d'afficher des informations de versionnage relatives à l'environnement Java DB
NetworkServerControl.ksh/bat — Script permettant d'exécuter des commandes sur l'API NetworkServerControl
Paramétrez la variable d'environnement DERBY_INSTALL de sorte qu'elle pointe sur le répertoire <appserver_install_dir>/derby.
Annulez le paramétrage de la variable d'environnement CLASSPATH.
Facultativement, vous pouvez également paramétrer les propriétés suivantes :
Pour plus d'informations sur ces utilitaires, reportez-vous aux guides Tools et Admin de Derby.
Cet exemple explique comment capturer le LDD d'une table dans Pointbase et créer la même table dans Java DB à l'aide de Netbeans 5.0. Un autre procédé consiste à utiliser l'outil de commandes et la commande unload database :
./startcommander.sh Do you wish to create a new Database. (Yes (Y) or No (N))? [default: N]: Enter product to connect with: (Embedded (E) or Server (S))? [default: E]: e Enter driver to use? [default: [com.pointbase.jdbc.jdbcUniversalDriver]: Enter database URL? [default: [jdbc:pointbase:embedded:sample]: Enter Username? [default: PBPUBLIC]: Enter Password? [default: PBPUBLIC]: PointBase Commander 5.2 ECF build 294 size restricted version EMBEDDED Interactive SQL command language. SunOS/5.9 (C) Copyright 2004 DataMirror Mobile Solutions, Inc. All rights reserved. Licensed to: Sun_customer_demo_use For commercial version contact PointBase at: pointbase.com PHONE: 1-877-238-8798 (US & CANADA) 1-408-961-1100 (International) WEBSITE: www.pointbase.com SQL>unload database sampledb.sql; SQL> unload database sampledb.sql; SQL> 13 Row(s) Unloaded. (PBPUBLIC.CUSTOMER_TBL) SQL> 4 Row(s) Unloaded. (PBPUBLIC.DISCOUNT_CODE_TBL) SQL> 30 Row(s) Unloaded. (PBPUBLIC.MANUFACTURE_TBL) SQL> 11 Row(s) Unloaded. (PBPUBLIC.MICRO_MARKETS_TBL) SQL> 9 Row(s) Unloaded. (PBPUBLIC.OFFICE_TBL) SQL> 4 Row(s) Unloaded. (PBPUBLIC.OFFICE_TYPE_CODE_TBL) SQL> 15 Row(s) Unloaded. (PBPUBLIC.ORDER_TBL) SQL> 6 Row(s) Unloaded. (PBPUBLIC.PRODUCT_CODE_TBL) SQL> 30 Row(s) Unloaded. (PBPUBLIC.PRODUCT_TBL) SQL> 10 Row(s) Unloaded. (PBPUBLIC.SALES_REP_DATA_TBL) SQL> 10 Row(s) Unloaded. (PBPUBLIC.SALES_REP_TBL) SQL> 52 Row(s) Unloaded. (PBPUBLIC.SALES_TAX_CODE_TBL) SQL> 12 Table(s) Unloaded. SQL> quit;
Les résultats de la commande unload database de l'exemple ci-dessus sont renvoyés dans le fichier sampledb.sql. Ce fichier sampledb.sql contient l'ensemble du LDD nécessaire pour créer des tables et index. Il contient également le DML permettant de retransférer les données dans la base de données. La commande RUN vise à importer les données d'une autre base de données Pointbase à l'aide du script généré. Voici un exemple d'affichage des instructions INSERT et des données associées dans le fichier généré :
INSERT INTO "ADVENTURE"."CATEGORY" ( "CATID", "LOCALE", "NAME", "DESCRIPTION", "IMAGEURI" ) VALUES( ?, ?, ?, ?, ? ); { 'ISLAND ','en_US','Island Adventures','Experience an island / paradise in a way fit for your needs.','Island_Adventures.gif' 'JUNGLE ','en_US','Jungle Adventures','Experience a jungle / paradise in a way fit for your needs.','Jungle_Adventures.gif' 'MOUNTAIN ','en_US','Mountain Adventures','Experience an / elevated paradise with a view.','Mountain_Adventures.gif' 'ORBITAL ','en_US','Orbital Adventures','Experience a vacuum / paradise with a beautiful view and where no one can hear you scream.', / 'Space_Adventures.gif' 'WESTERN ','en_US','Western Adventures','Enjoy the Wild West. / ','Western_Adventures.gif' 'SOUTH_POLE ','en_US','South Pole Adventures','Experience a / frozen paradise in a way fit for your needs.','SouthPole_Adventures.gif' };
Vous pouvez aisément modifier le fichier généré à l'aide de la commande unload database afin qu'il ne comporte que le LDD (il serait ainsi simple de développer un programme capable de traiter les instructions insert, par exemple). Pour simplifier, utilisons la commande unload database sur la base de données sample Pointbase, puis modifions le script généré en apportant les modifications suivantes :
Supprimons la phrase Organization Heap à la fin de toutes les instructions CREATE Table
Supprimons la commande COMMIT
Remplaçons le datatype Boolean par smallint
Supprimons toutes les instructions INSERT et données associées
Un script Ant simple est ensuite utilisé pour exécuter le LDD avec la cible sql . Enfin, la même expérience est répétée sur la base de données sun-appserv-samples pour laquelle les modifications supplémentaires suivantes doivent être apportées au fichier SQL généré :
Apportez toutes les modifications comme indiqué ci-dessus pour la base de données sample
Supprimez les commandes create user
Supprimez les commandes SET PATH
Remplacez la précision Decimal de 38 par une valeur max de 31
Remplacez la précision float de 64 par une valeur max de 52
Le mot-clé SPECIFIC de la commande CREATE PROCEDURE n'est actuellement pas pris en charge
Supprimez les commandes GRANT
La conversion de procédures Java Pointbase pour fonctionner avec Java DB nécessite l'apport de modifications au code Java et aux instructions CREATE PROCEDURE. Des informations sur la création de procédures Java Java DB sont disponibles dans le Manuel de référence Derby. Le type de données Boolean sera pris en charge dans la prochaine version de Java DB.
Cette section répertorie les serveurs Web pris en charge par Sun Java System Application Server Enterprise Edition 8.2.
Tableau 2–3 Serveurs Web pris en charge
Web Server |
Version |
Système d'exploitation |
---|---|---|
Sun Java System Web Server |
6.1+ |
Solaris SPARC8, 9, 10 Solaris x86 9, 10 Red Hat Enterprise Linux2.1 Update2, 3.0 Update1 |
Serveur Web Apache |
1.3+, 1.4, 2.0 |
Solaris SPARC9, 10 Solaris x86 10 Red Hat Enterprise Linux2.1 Update2, 3.0 Update1 Windows Server2003 Windows 2000 Advanced Server SP4+ Windows Server 2000 SP4+ Windows XP Pro SP1+ |
Microsoft IISTM |
5.0+ |
Windows Server2003 Windows 2000 Advanced Server SP4+ Windows Server 2000 SP4+ Windows XP Pro SP1+ |
Cette section répertorie les navigateurs pris en charge par Sun Java System Application Server Enterprise Edition 8.2.
Tableau 2–4 Navigateurs Web pris en charge
Explorateur |
Version |
---|---|
Mozilla |
1.4, 1.5, 1.6, 1.7.x |
Netscape Navigator |
4.79, 6.2, 7.0, 8.x |
Internet Explorer |
5.5 Service Pack2, 6.0 |
Firefox |
1.4, 1.5 |
Outre la configuration indiquée dans la section Configurations matérielle et logicielle requises, vous devez vérifier que le système est conforme aux exigences ci-dessous pour pouvoir exécuter HADB.
La configuration système requise indiquée dans la section Spécifications requises pour la plate-forme pour Application Server et celle pour HADB sont strictement identiques. Il ne s'agit pas d'une erreur de la documentation. Il est fréquent d'exécuter Application Server et un serveur HADB sur des machines différentes.
Configuration requise au niveau de l'hôte pour le serveur HADB
Configuration requise au niveau de l'hôte pour la gestion HADB
Configuration requise au niveau de l'hôte pour le client HADB
Les composants Java du système ont été créés avec JDK 1.4.2_02 et testés sur JDK 1.5_09.
Solaris (SPARC) – Solaris 8 MU7, Solaris 9 MU7, Solaris 10 RR.
Solaris (x86) – Solaris 9 MU7, Solaris 10 RR.
RedHat Enterprise Linux - 2.1 U5 (seul le système de fichiers ext2 est pris en charge, non ext3), 3.0 U4 (ext2 et ext3 sont pris en charge. Les mises à jour antérieures à U4 ne sont pas recommandées en raison d'un swapping excessif). Notez que HADB est testé sur ces versions de système d'exploitation en mode 32 bits uniquement. Par ailleurs, HADB ne prend pas en charge la version RedHat Enterprise Linux 3.0 exécutée en mode 64 bits, en raison d'un bogue au niveau du système d'exploitation (voir le problème connu 6249685 dans la section Haute disponibilité pour obtenir plus de détails sur l'incidence de ce bogue sur HADB).
Microsoft Windows – Microsoft Windows 2000 Advanced Server Service Pack 4 et Microsoft Windows 2003 Enterprise Edition. Notez que HADB ne prend en charge aucune des versions ultérieures de Microsoft Windows en mode 64 bits.
Mémoire minimum : 512 Mo par nœud.
Espace minimum disponible sur le disque : 70 Mo par hôte pour les binaires HADB. En outre, un espace disque doit être dédié aux périphériques de données, à savoir 512 Mo par nœud pour une installation test.
Mémoire recommandée : 1 Go par nœud.
Espace disque recommandé : 70 Mo par hôte pour les binaires HADB. En outre, un espace disque doit être dédié aux périphériques de données, à savoir 1200 Mo par nœud pour une installation test.
Vérifiez que l'écriture en cache est désactivée sur les périphériques sur lesquels des données HADB et des fichiers journaux sont stockés. L'écriture en cache est activée par défaut sur certaines plates-formes Solaris, Solaris x86 par exemple.
Mémoire minimum : 128 Mo
Espace disque minimum : 70 Mo par nœud pour les binaires HADB.
Mémoire minimum : 120 Mo
Espace disque minimum : 20 Mo
La mise à niveau sur place à partir d'une version antérieure d'Application Server n'est pas prise en charge. Reportez-vous au manuel Application Server Enterprise Edition Upgrade and Migration Guide pour obtenir des instructions complètes sur la mise à niveau à partir d'une version précédente d'Application Server vers la version actuelle.
Avant d'installer le logiciel Sun Java System Application Server, vous devez également veiller à ce que les autres exigences ci-dessous soient satisfaites.
Espace libre : le répertoire temporaire doit disposer d'au moins 35 Mo d'espace libre pour l'installation de Sun Java System Application Server et 250 Mo pour l'installation du kit SDK.
Utilisation du programme de désinstallation : si vous devez supprimer Application Server du système, veillez à utiliser le programme de désinstallation fourni avec le logiciel. Si vous utilisez une autre méthode, des problèmes peuvent de se produire lors de la réinstallation de cette version ou de l'installation d'une nouvelle version.
Ports disponibles : vous devez disposer de sept ports non utilisés et disponibles.
Le programme d'installation détecte automatiquement les ports utilisés et propose des ports non utilisés comme paramètres par défaut. Par défaut, il s'agit des ports 8080 pour HTTP, 8181 pour HTTPS et 4849 pour Administration Server.
Le programme d'installation détecte les ports utilisés et vous en attribue deux autres : Sun Java System Message Queue (par défaut, 7676) et IIOP (par défaut, 3700 pour IIOP et 1060 et 1061 pour IIOP/SSL). Si ces numéros de ports par défaut sont déjà utilisés, le programme d'installation attribue un numéro de port aléatoire à partir de la plage de ports dynamiques (notez qu'il se peut que ce ne soit pas le prochain numéro de port disponible).
Démarrage de serveurs déjà installés (UNIX) : à moins que vous ne remplaciez le serveur précédemment installé, vous devez le démarrer avant d'entamer la procédure d'installation de Sun Java System Application Server 8.2. Le programme d'installation sera ainsi en mesure de détecter les ports utilisés et évitera de les affecter à d'autres utilisations.
Remplacement de serveurs déjà installés (UNIX) : si vous souhaitez remplacer une ancienne version de Sun Java System Application Server par cette version d'Application Server, vous devez l'arrêter avant de procéder à l'installation du nouveau serveur. Utilisez l'assistant de mise à niveau du programme d'installation pour mettre le serveur à niveau.
Arrêt du pare-feu (Microsoft Windows) : vous devez arrêter votre pare-feu avant d'installer le logiciel Sun Java System Application Server. À défaut, tous les ports par défaut risquent d'être désactivés. Le programme d'installation doit être capable de déterminer, avec précision, les ports qui sont disponibles.
Pour de plus amples informations de compatibilité, reportez-vous au manuel Sun Java System Application Server Enterprise Edition 8.2 Upgrade and Migration Guide .
Cette section répertorie les problèmes soulevés par les utilisateurs et résolus dans la version Enterprise Edition 8.2 de Sun Java System Application Server.
Référence |
Description |
---|---|
6368745 |
AS : mise à niveau de AS7 (Java ES 2) vers AS8.2 (Java ES 5) impossible |
6432308 |
AS, JES5b7a, échec de mise à niveau de JES2 vers JES5 |
6378409 |
AS 8.2 :compatibilité ascendante plus disponible en raison des bibliothèques jsf contenues dans la version 8.2 |
6371534 |
AS82EE :commande configure-ha-cluster interrompue sur Windows si le chemin d'installation contient un espace |
6242761 |
L'agent du nœud ne peut pas être démarré via init comme indiqué sans générer d'erreurs |
6267772 |
Les instructions sur la configuration de Borland OptimizeIt sont incorrectes |
6273226 |
Ajout de texte indiquant d'ajouter l'option jvm "-Xrs" afin d'exécuter un serveur/NA en tant que système windows s |
6361145 |
Impossible de mettre à jour le plug-in LB lors d'une mise à jour de 8.1EE vers 8.2EE |
6362881 |
Le programme d'installation ne propose pas l'option de mise à niveau lors d'une mise à niveau de 8.1ur2 vers 8.2ee |
6325988 |
Problème d'interopérabilité sur la première requête RMI-IIOP entrante avec FVD/codeBase |
6363689 |
JES5 ASEE8.2 build03 - Impossible d'arrêter l'instance |
6364900 |
Valeur de session perdue lors d'un basculement lorsqu'une application Web en comprend une seconde |
6370993 |
Basculement de session lorsque la racine du contexte de l'application est remplacée par "/" dans un cluster |
6373729 |
Le code d'Appserver 8.1 ne peut pas communiquer avec WebLogic 9.0 en raison d'un conflit ORB |
6377594 |
Problèmes de recherche avec un contexte d'origine de Weblogic |
6381538 |
Échec de client autonome avec NPE |
6406055 |
AVERTISSEMENT : "IOP00110205 : (BAD_PARAM) Référence objet en provenance de l'ORB org.omg.CORBA." |
6388329 |
Erreur de compilation JSP dans Application Server après une mise à niveau d'Access Manager |
6419659 |
Les requêtes ne sont pas redirigées correctement par le plug-in LB lorsque transport-guarantee est défini sur CONFIDENTIAL |
6390584 |
Mémoire saturée : espace PermGen |
6401424 |
SEGV de service_plain_range dans libns-httpd40.so lors d'une demande de service d'un fichier PDF. |
6401704 |
Prise en charge de WebDAV nécessaire pour AppServer 8.# |
6416478 |
Échec de jsp testsuite : javax.servlet.jsp.el.ELException |
6438908 |
Corruption d'emplacement d'en-tête lorsque relativeRedirectAllowed=true |
6456553 |
java.lang.IllegalArgumentException lors de l'ajout de cookies à la réponse |
6295010 |
Les connexions dans le pool constant ne sont pas vérifiées en termes de délai d'expiration d'inactivité en conflit avec des pare-feu |
6350435 |
Application Server ne parvient pas à gérer l'échec d'une base de données pendant une opération XA sur deux bases de données |
6377830 |
Le paramétrage de setAutoCommit sur false est répété lorsque l'utilisateur suivant utilise la même connexion |
6399830 |
IT 319 : fonction d'alias de mot de passe inopérationnelle dans domain.xml |
6360040 |
SJAS 8.x : AppServer LDAP Realm Bind User tente d'accéder à tous les groupes et membres |
6370095 |
Impossible de définir une valeur supérieure à 10 pour acceptor-thread |
6399365 |
InvokerServlet ne fonctionne pas dans la version Enterprise Edition uniquement |
6303835 |
Trop de connexions : messages de sécurité trompeurs dans le journal du serveur |
6349541 |
8.1 EE UR2 - Listener SSL impossible à associer à une adresse IP spécifique... |
6380040 |
Nettoyage automatique des fichiers journaux nécessaire |
6387278 |
Authentification client interrompue ou non threadsafe(ProgrammaticLogin) |
6407896 |
HttpServletRequestWrapper remplaçant getUserPrincipal() entraîne une exception ClassCastException |
6321194 |
Stratégie circulaire inopérationnelle |
6362269 |
Le vérificateur ne fonctionne pas correctement sur Windows lorsque le chemin d'installation contient un espace |
6365888 |
Les connexions à partir du pool de connexions du connecteur par défaut ne sont pas répertoriées dans les transactions |
6369554 |
Le pool de connexions doit valider une connexion avant de l'établir pour l'application |
6370574 |
Le répertoire /var/opt/SUNWappserver est manquant après une mise à niveau d'AS avec l'option de configuration ultérieure |
6371723 |
Fuites de mémoire du plug-in lb dans toutes les versions de webserver (plus pour Apache mod_loadbalancer) |
6395390 |
Stratégie circulaire inopérationnelle sur des requêtes http en échec. |
6402713 |
Échec de connexion de l'équilibreur de charge à des requêtes HTTPS. |
6409992 |
Échec de mise à niveau avec certificat de 8.1pe vers 8.2EE |
6413224 |
L'outil de mise à niveau a ignoré l'option de certificat de mise à niveau |
6422893 |
Routage HTTPS inopérationnel |
6424051 |
Nécessité d'utiliser des autorisations d'administration existantes et MP lors d'une mise à niveau de 8.xPE vers 9.1 EE |
6424053 |
Échec de mise à niveau 8.XEE->9.1EE avec une exception start-domain |
6430394 |
Des messages sont perdus en cas d'interruption de service n/w. |
6444052 |
Intégrer Generic RA pour JMS version 1.5 à AS 8.2 EE |
6444308 |
AS 8.1 UR2 EE-> 8.2 EE SS : impossible de démarrer le domaine 1 de la version 8.2 ; 8.1UR2 erroné |
6444368 |
Mise à niveau interrompue de 8.0PE UR1 vers 9.1 ee sur win2003 |
6446558 |
Récupération de transaction manuelle inopérationnelle pour des ressources connector-connection-pool. |
6447895 |
Récupération de transaction inopérationnelle pour des ressources utilisant RA intégré. |
6454007 |
Modifier l'entrée requise par l'outil de mise à niveau |
6455396 |
Échec de démarrage de l'agent de nœud et des instances après une mise à niveau SBS 8.1EE->9.1EE. |
6374533 |
Pour des raisons de performances et de stabilité, Application Server doit intégrer XWSS 1.1 et non XWSS 1.0 |
6358422 |
Appserver 7.1/8.1 EE : le plug-in proxy LB de WebServer doit prendre correctement en charge des connexions persistantes |
6382063 |
Fuite de mémoire dans com.sun.enterprise.iiop.IORToSocketInfoImpl |
Cette section présente d'autres informations importantes sur l'implémentation du système HADB dans Application Server 8.2.
Une nouvelle commande de gestion, hadbm setadminpassword, a été ajoutée afin de permettre la modification du mot de passe utilisé pour l'administration de la base de données. La commande comporte des options indiquant l'agent de gestion à utiliser ainsi que les ancien et nouveau mots de passe. Pour plus d'informations, reportez-vous à la page de manuel hadbm setadminpassword.
La commande de gestion hadbm listpackages a été modifiée. Avant, la commande ne prenait en charge aucun opérande et répertoriait tous les packages dans le domaine de gestion approprié. À présent, la commande dispose d'un opérande de nom de package optionnel et répertorie uniquement les packages dotés de ce nom. Si l'opérande n'est pas indiqué, tous les packages sont répertoriés. Pour plus d'informations, reportez-vous à la page de manuel hadbm listpackages.
La commande de gestion hadbm createdomain a été modifiée. L'opérande hostlist est étendu de manière à préciser également le numéro de port de l'agent de gestion. Ainsi, le domaine peut être entièrement spécifié en utilisant uniquement l'opérande hostlist. L'ancien comportement est toujours pris en charge dans le cadre de la compatibilité ascendante. Pour plus d'informations, reportez-vous à la page de manuel relative à la commande hadbm createdomain.
Certains des messages d'erreur du système de gestion ont été modifiés. Ces modifications ont été apportées pour améliorer la compréhension, la cohérence et la précision de ces messages. Les modifications effectuées ne sont pas répertoriées dans ces notes de version.
Les procédures d'installation et de désinstallation ont été légèrement modifiées. Normalement, le lien symbolique /opt/SUNWhadb/4 devrait être préservé lors de l'installation ou de la désinstallation de HADB, mais ce n'est pas toujours le cas :
Il n'est plus possible de saisir des mots de passe sur la ligne de commande sous la forme d'options de commande. Cette modification concerne toutes les commandes hadbm prenant en charge la saisie de mots de passe comme options de ligne de commande. Dans les commandes hadbm, il était jusqu'alors possible d'entrer un mot de passe via :
un fichier de mot de passe ;
une option de ligne de commande ;
une entrée interactive.
La deuxième méthode (l'option de ligne de commande), considérée comme dangereuse en termes de sécurité, n'est plus autorisée. Un message d'avertissement apparaît si un mot de passe est saisi de cette manière. Il est recommandé d'utiliser la première ou la troisième méthode. L'utilisation d'un mot de passe sur la ligne de commande deviendra impossible dans la prochaine version. Notez que cette modification s'applique à toutes les commandes hadbm prenant en charge l'option de mot de passe.
Le système HADB a été mis à niveau de manière à prendre en charge JGroups version 2.2. Son code source est distribué avec HADB. Pour prendre en charge les mises à niveau à partir d'une version antérieure de HADB, les deux versions JGroups 2.1 et 2.2 sont fournies avec HADB. Pour JGroups 2.1, seul le code octet est fourni.
Plusieurs considérations importantes doivent être prises en compte si vous souhaitez configurer HADB de manière à utiliser l'un des systèmes de fichiers suivants :
ext2 et ext3 : HADB prend en charge les systèmes de fichiers ext2 et ext3 sous Red Hat Application Server 3.0. Sous Red Hat Application Server 2.1, seul le système ext2 est pris en charge.
Veritas : lorsque le système de fichiers Veritas est utilisé sur la plate-forme Solaris, le message “WRN: Direct disk I/O mapping failed“ est consigné dans les fichiers de l'historique. Ce message indique que le système HADB ne parvient pas à activer la fonction d'E/S directe pour les unités de données et de journaux. La fonction d'E/S directe permet de réduire le traitement nécessaire à l'écriture des pages de disque et, par voie de conséquence, d'améliorer les performances du processeur. En outre, elle réduit le temps système consacré à la gestion des pages de données corrompues dans le système d'exploitation.
Pour utiliser la fonction d'E/S directe avec le système de fichiers Veritas, procédez de l'une des manières suivantes:
Créez des unités de données et de journaux sur un système de fichiers monté avec l'option mincache=direct. Cette option s'applique à l'ensemble des fichiers créés sur le système de fichiers. Reportez-vous à la commande mount_vxfs(1M) pour obtenir plus de détails.
Utilisez la fonction Quick I/O de Veritas pour effectuer une E/S brute sur les fichiers du système de fichiers. Reportez-vous au Guide d'administration de VERITAS File System 4.0 pour Solaris pour obtenir plus de détails.
Notez que ces configurations ont été testées avec Application Server 8.2.
Reportez-vous au Guide d'administration de la haute disponibilité d'Application Server Enterprise Edition pour obtenir des informations sur l'installation et la configuration de HADB avec le logiciel Application Server.
Migration de données et tâches antérieures à la mise à niveau
Informations spéciales relatives au déploiement et à la mise à niveau
Les utilisateurs doivent conserver les fichiers de l'historique HADB, les fichiers de configuration de l'agent de gestion, les fichiers journaux et le référentiel, ainsi que toutes les unités de données en dehors du chemin d'installation. Si cela n'a pas déjà été fait, il est nécessaire d'y remédier avant de procéder à la mise à niveau. Pour déplacer le référentiel de gestion et les fichiers de configuration :
Arrêtez tous les anciens agents de gestion et maintenez les nœuds HADB en cours d'exécution.
Sur chaque hôte, déplacez le référentiel vers le nouvel emplacement.
Sur chaque hôte, copiez le répertoire dbconfig au nouvel emplacement.
Sur chaque hôte, mettez à jour le fichier mgt.cfg et définissez le chemin approprié pour dbconfig et le référentiel.
Lancez les agents de gestion via le fichier mgt.cfg mis à jour.
Pour effectuer la mise à niveau de HADB version 4.4.x vers 4.4.3, suivez la procédure ci-dessous :
Si nécessaire, effectuez les tâches antérieures à la mise à niveau mentionnées ci-dessus.
Installez HADB version 4.4.3 sur tous les hôtes HADB (sous un autre chemin que celui utilisé pour la version 4.4.x, par exemple sous /opt/SUNWhadb/4.4.3).
Installez HADB 4.4.3 sur les hôtes client de hadbm, s'ils diffèrent des hôtes HADB.
Arrêtez tous les agents de gestion exécutés sur tous les hôtes HADB.
Démarrez les processus d'agent de gestion à l'aide de la nouvelle version du logiciel, mais en utilisant les anciens fichiers de configuration. Pour les étapes suivantes, utilisez la commande hadbm disponible à partir du répertoire bin de la nouvelle version.
Enregistrez le package dans le domaine de gestion (étant donné que le nom de package par défaut devient V4.4, vous devrez probablement fournir un autre nom pour éviter des conflits avec des packages existants dotés du même nom) :
hadbm registerpackage --packagepath=/opt/SUNWhadb/4.4.3 V4.4.3 |
Exécutez la commande hadbm listpackages, puis vérifiez que le nouveau package est enregistré dans le domaine.
Redémarrez la base de données avec la nouvelle version hadbm 4.4.3. S'il est nécessaire de déplacer les unités et les fichiers de l'historique, exécutez la mise à niveau en ligne tout en définissant de nouveaux chemins pour ces unités et fichiers de l'historique, en une seule opération :
hadbm set packagename=V4.4.3,devicepath=new_devpath, historypath=new_histpath |
Si les unités et les fichiers de l'historique sont déjà situés en dehors du répertoire d'installation, exécutez la commande ci-dessous, de manière à effectuer uniquement un redémarrage progressif des nœuds :
hadbm set packagename=V4.4.3 database name |
Vérifiez que la base de données est en cours d'exécution (à l'aide de la commande hadbm status) et qu'elle fonctionne normalement, en servant les transactions du client.
Si tout fonctionne correctement, vous pourrez supprimer l'ancienne installation ultérieurement. Avant d'annuler l'enregistrement de l'ancien package, supprimez toutes les références à l'ancien package dans le référentiel ma. À défaut, la commande hadbm unregisterpackage échouera, en indiquant le message “package en cours d'utilisation.”Une opération de reconfiguration fictive, par exemple hadbm set connectiontrace=same as previous value, supprimera toutes les références à l'ancien package. Maintenant, annulez l'enregistrement de l'ancien package :
hadbm unregisterpackage [--hosts=host-list] old pacakge name |
Supprimez l'ancienne installation du système de fichiers.
Sous Solaris, testez la mise à niveau en vérifiant qu'elle a été correctement effectuée :
Vérifiez que les processus en cours d'exécution utilisent les nouveaux binaires. À tous les nœuds HADB, vérifiez les éléments ci-dessous :
new path/bin/ma -v new path/bin/hadbm -v |
Vérifiez si la base de données est en cours d'exécution. La commande ci-dessous doit indiquer que tous les nœuds HADB présentent un statut “en cours”.
new path/bin/hadbm status -n |
Vérifiez que les pointeurs des produits utilisant HADB ont été modifiés de manière à renvoyer vers le nouveau chemin HADB.
Vous pouvez exécuter les tests de mise à niveau des produits utilisant HADB pour vérifier le bon fonctionnement de la mise à niveau de HADB.
Après une mise à niveau en ligne, si la nouvelle version ne fonctionne pas correctement, revenez à l'ancienne version de HADB. Toutefois, si le référentiel de l'agent de gestion a été modifié, vous pouvez rétablir la base de données HADB à un niveau inférieur, mais le nouvel agent de gestion doit rester en cours d'exécution.
Cette section présente des informations supplémentaires sur le déploiement et la mise à niveau de HADB.
Stockez l'unité, le journal et les fichiers de l'historique sur des disques locaux uniquement. N'utilisez pas de fichiers système montés à distance.
Si plusieurs nœuds sont placés sur un hôte, il est recommandé de placer les périphériques appartenant à chaque nœud sur des disques différents. À défaut, les éventuels conflits de disque réduiront les performances. Les signes de ce problème sont indiqués dans les fichiers de l'historique par des messages comme BEWARE - last flush/fputs took too long. Lorsqu'un seul nœud comporte plusieurs fichiers de périphérique de données, il est recommandé d'utiliser des disques séparés.
Utilisez des disques locaux (de préférence des disques distincts de celui utilisé pour les périphériques de données) pour installer les binaires HADB sur les hôtes HADB. Des retards NFS ou un conflit de disque peuvent entraîner le redémarrage du nœud avec l'avertissement : âProcessus bloqué pour nnn, durée de blocage max. de nnnâ dans les fichiers de l'historique.
Ne placez pas les périphériques HADB, les fichiers de l'historique, les répertoires et les fichiers de configuration de l'agent de gestion sous le chemin d'accès au package HADB. À défaut, vous rencontrerez des problèmes lors de mises à niveau vers des versions plus récentes et lors de la suppression de l'ancien chemin du package.
La version de HADB est officiellement prise en charge pour un maximum de 28 nœuds (24 actifs et 4 disponibles).
Nous vous recommandons d'utiliser la même version pour le pilote JDBC et le serveur HADB.
Le protocole IPv6 n'est pas pris en charge, seul IPv4 l'est.
La longueur des lignes de commande est limitée à 2048 octets sous Windows.
Le réseau doit être configuré pour une multidiffusion UDP.
En raison d'un swapping excessif observé dans RedHat Enterprise Linux 3.0, updates 1 à 3, nous ne le recommandons pas comme plate-forme de déploiement. Le problème est résolu dans la version RedHat Enterprise Linux 3.0 update 4.
Possibilité d'exécution du superviseur de nœud NSUP avec la priorité au temps réel :
Les processus du superviseur de nœud (NSUP), clu_nsup_srv, garantissent la haute disponibilité de la base de données HADB par le biais de messages de “pulsation” échangés en temps voulu. Les délais sont affectés lorsqu'un NSUP est hébergé au même emplacement que d'autres processus, générant ainsi des insuffisances de ressource. Il en résulte des partitions de réseau erronées et des redémarrages de nœud (précédés de l'avertissement “Processus bloqué pendant n secondes” dans les fichiers de l'historique) entraînant des abandons de transactions et autres exceptions.
Pour résoudre ce problème, le superviseur de nœud clu_nsup_srv (trouvé sous installpath/lib/server) doit comporter le bit suid et le fichier doit appartenir à l'utilisateur root. Pour ce faire, procédez manuellement à l'aide des commandes :
# chown root clu_nsup_srv # chmod u+s clu_nsup_srv |
Le processus clu_nsup_srv est alors exécuté en tant qu'utilisateur root lors de son démarrage, ce qui lui permet d'obtenir automatiquement la priorité en temps réel après le démarrage. Pour éviter toute incidence sur la sécurité lors de l'utilisation de setuid, la priorité en temps réel est définie au tout début du processus et ce dernier reprend l'ID utilisateur réel une fois la priorité modifiée. D'autres processus HADB réduisent leur priorité au niveau de partage du temps.
Si le superviseur NSUP n'a pas pu définir la priorité de temps réel, il émet un avertissement, “Impossible de définir la priorité de temps réel” (unix: errno will be set to EPERM), consigné dans le fichier ma.log et se poursuit sans la priorité de temps réel.
Dans certains cas, il est impossible de définir des priorités de temps réel, notamment :
lors d'une installation dans des zones non globales de Solaris 10 ;
lors de la révocation des privilèges PRIV_PROC_LOCK_MEMORY (autoriser un processus à verrouiller des pages dans la mémoire physique) et/ou PRIV_PROC_PRIOCNTL sous Solaris 10 ;
lorsque les utilisateurs désactivent l'autorisation setuid ;
lorsque les utilisateurs installent le logiciel en tant que fichiers .tar (option d'installation non root pour App.server).
Le processus clu_nsup_srv n'utilise pas beaucoup de ressources processeur, son empreinte est petite et son exécution avec une priorité de temps réel n'a aucune incidence sur les performances.
Configuration du multiacheminement sur réseau IP (IPMP) pour HADB pour Solaris (testé sur Solaris 9 uniquement) :
Sun recommande de configurer le multiacheminement sur réseau IP sur les systèmes Solaris hébergeant des bases de données HADB, afin de garantir une disponibilité maximale du réseau. La procédure est expliquée en détail dans le Guide d'administration du multiacheminement sur réseau IP. Si vous décidez d'utiliser le multiacheminement avec HADB, reportez-vous à la section relative à l'administration du multiacheminement sur réseau du Guide d'administration du multiacheminement sur réseau IP afin de procéder à la configuration du multiacheminement, étape requise pour ensuite adapter cette configuration à HADB comme décrit ci-dessous. Le Guide d'administration du multiacheminement sur réseau IP fait partie de la documentation concernant l'administrateur système de Solaris 9. Vous pouvez la télécharger à partir de l'adresse http://docs.sun.com.
Définition du délai de détection des défaillances de l'interface réseau
Afin que HADB puisse correctement prendre en charge les défaillances relatives au multiacheminement, le délai de détection des défaillances de l'interface réseau ne doit pas dépasser les 1000 millisecondes comme indiqué dans le paramètre FAILURE_DETECTION_TIME sous /etc/default/mpathd. Modifiez le fichier et remplacez la valeur de ce paramètre par 1000si la valeur initiale est supérieure :
FAILURE_DETECTION_TIME=1000 |
Pour que la modification soit prise en compte, exécutez la commande ci-dessous :
pkill -HUP in.mpathd |
Adresses IP à utiliser avec HADB
Comme décrit dans le Guide d'administration du multiacheminement sur réseau IP Solaris, le multiacheminement implique le rassemblement d'interfaces réseau physiques en groupes d'interfaces multivoies. Chacune des interfaces physiques d'un groupe est associée à deux adresses IP : une adresse d'interface physique et une adresse test. Seule l'adresse d'interface physique peut être utilisée pour la transmission des données. L'adresse de test, quant à elle, est destinée uniquement à un usage interne à Solaris. Lors de l'exécution de la commande hadbm create --hosts, chaque hôte doit être spécifié avec une seule des adresses d'interface physique du groupe de multiacheminement.
Exemple
Supposons que les Hôte 1 et Hôte 2 disposent chacun de deux interfaces réseau physiques. Sur chaque hôte, ces deux interfaces sont configurées en tant que groupe de multiacheminement. L'exécution de la commande ifconfig -a génère le résultat suivant :
Hôte 1
bge0: flags=1000843<mtu 1500 index 5 inet 129.159.115.10 netmask ffffff00 broadcast 129.159.115.255 groupname mp0 bge0:1: flags=9040843<mtu 1500 index 5 inet 129.159.115.11 netmask ffffff00 broadcast 129.159.115.255 bge1: flags=1000843<mtu 1500 index 6 inet 129.159.115.12 netmask ffffff00 broadcast 129.159.115.255 groupname mp0 bge1:1: flags=9040843<mtu 1500 index 6 inet 129.159.115.13 netmask ff000000 broadcast 129.159.115.255 |
Hôte 2
bge0: flags=1000843<mtu 1500 index 3 inet 129.159.115.20 netmask ffffff00 broadcast 129.159.115.255 groupname mp0 bge0:1: flags=9040843<mtu 1500 index 3 inet 129.159.115.21 netmask ff000000 broadcast 129.159.115.255 bge1: flags=1000843<mtu 1500 index 4 inet 129.159.115.22 netmask ffffff00 broadcast 129.159.115.255 groupname mp0 bge1:1: flags=9040843<mtu 1500 index 4 inet 129.159.115.23 netmask ff000000 broadcast 129.159.115.255 |
Dans ce cas, les interfaces réseau physiques sur les deux hôtes sont celles répertoriées en tant que bge0 et bge1. Celles référencées par bge0:1 et bge1:1 sont des interfaces de test de multiacheminement (elles sont signalées comme étant désapprouvées dans ifconfig). Pour plus de détails, reportez-vous au Guide d'administration du multiacheminement sur réseau IP.
Pour configurer HADB dans cet environnement, sélectionnez une adresse d'interface physique au niveau de chaque hôte. Dans cet exemple, nous choisissons 129.159.115.10 sur l'hôte 1 et 129.159.115.20 sur l'hôte 2. Pour créer une base de données avec un nœud par hôte, utilisez l'argument suivant pour hadbm create :
--host 129.159.115.10,129.159.115.20 |
Pour créer une base de données avec deux nœuds de base de données sur chaque hôte, utilisez l'argument :
--host 129.159.115.10,129.159.115.20,129.159.115.10,129.159.115.20 |
Dans les deux cas, la variable ma.server.mainternal.interfaces doit être paramétrée sur 129.159.115.0/24 sur les deux hôtes.
Il est impossible d'effectuer une mise à niveau de 4.2 ou 4.3 vers 4.4 en ligne. En revanche, la version 4.4 prend en charge les mises à niveau en ligne vers les versions ultérieures. Pour effectuer une mise à niveau de 4.4.1 vers 4.4.2, suivez la procédure ci-dessous :
Installez 4.4.2 sur tous les hôtes HADB (sous un autre chemin que celui utilisé pour 4.4.1, par exemple sous /opt/SUNWhadb/4.4.2-6).
Installez la nouvelle version sur les hôtes hadbm client.
Arrêtez tous les agents de gestion exécutés sur les hôtes HADB.
Démarrez les processus d'agent de gestion à l'aide de la nouvelle version du logiciel, mais en utilisant les anciens fichiers de configuration. Pour les étapes suivantes, utilisez la commande hadbm disponible à partir du répertoire bin de la nouvelle version.
Enregistrez le package dans le domaine de gestion (étant donné que le nom de package par défaut devient V4.4, vous devrez probablement fournir un autre nom pour éviter des conflits avec des packages existants dotés du même nom) :
hadbm registerpackage --packagepath=/opt/SUNWhadb/4.4.2-6 V4.4.2 |
Redémarrez la base de données avec la nouvelle version (la commande suivante lance un redémarrage progressif des nœuds) :
hadbm set packagename=V4.4.2 nom_base_de_données |
Vérifiez que la base de données est en cours d'exécution (à l'aide de la commande hadbm status) et qu'elle fonctionne normalement, en servant les transactions du client.
Si tout fonctionne correctement, vous pourrez supprimer l'ancienne installation ultérieurement.
Avant d'annuler l'enregistrement de l'ancien package, supprimez toutes les références à l'ancien package dans le référentiel ma. À défaut, la commande hadbm unregisterpackage échouera et affichera le message “package en cours d'utilisation”.Une opération de reconfiguration fictive, par exemple hadbm set connectiontrace=< same_as_previous_value>, supprimera toutes les références à l'ancien package. Maintenant, annulez l'enregistrement de l'ancien package :
hadbm unregisterpackage [--hosts=<liste_hôtes>] <nom_ancien_package> |
Supprimez l'ancienne installation du système de fichiers, en suivant les instructions d'installation de HADB à l'adresse .
Il est impossible de créer un index secondaire UNIQUE sur une table.
L'expression (DISTINCT column) n'est pas autorisée dans une expression d'agrégation , à moins qu'elle ne soit la seule expression sélectionnée.
Toutes les tables doivent être créées avec une clé primaire (les tables sans clé primaire ne sont pas prises en charge).
FULL OUTER JOIN n'est pas pris en charge.
Les sous-requêtes IN qui sont des sous-requêtes de table ne sont pas prises en charge ; par exemple :
SELECT SNAME FROM S WHERE (S1#,S2#) IN (SELECT S1#,S2# FROM SP WHERE P#='P2') |
Les contraintes autres que NOT NULL et PRIMARY KEY ne sont pas prises en charge.
Il est possible d'affecter un nouveau propriétaire à la ressource. Dans ce cas, cependant, les privilèges octroyés au propriétaire actuel ne sont pas accordés au nouveau propriétaire.
Deux sous-requêtes NOT EXISTS imbriquées où chaque sous-requête n'est pas (directement) corrélée au niveau externe des requêtes ne sont pas prises en charge.
Les privilèges de colonne ne sont pas pris en charge.
Les constructeurs de valeur de ligne sont autorisés uniquement dans une clause VALUES.
Les sous-requêtes ne sont pas acceptées comme expressions de valeur dans les constructeurs de valeur de ligne.
Les types de données ci-dessous ne peuvent pas être utilisés lors de la création de clés primaires :
REAL
FLOAT
DOUBLE PRECISION
DECIMAL
NUMERIC
Application Server inclut l'équilibrage de charge pour les clients HTTP, IIOP et JMS, la prise en charge du basculement de la session HTTP, la prise en charge du basculement et du clustering EJB, les services d'horloge EJB haute disponibilité, la récupération des transactions distribuées, la prise en charge des mises à niveau d'applications progressives, ainsi qu'une base de données haute disponibilité pour le stockage de l'état transitoire des applications J2EE.
La disponibilité assure le basculement des instances d'Application Server mises en cluster. Lorsqu'une panne est détectée, la session que supervisait le serveur non disponible est réaffectée à une autre instance d'Application Server. Les informations relatives à la session sont stockées dans la base de données HADB. Le système HADB prend en charge la persistance des sessions HTTP, des beans de session avec état et des références liées à la connexion unique.
Dans la prochaine version de Sun Java System Application Server Enterprise Edition, les incompatibilités suivantes seront introduites :
Bien que le service HTTP continue d'utiliser un cache DNS pour une meilleure performance, le contrôle du cache DNS n'est pas disponible.
La prise en charge de mise en cache de fichier HTTP sera remodelée, entraînant ainsi des changements de configuration et de contrôle.
Le format du suffixe de rotation du journal d'accès sera remplacé par le format pris en charge par les objets de date et d'heure, tel que spécifié à l'adresse http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html. La valeur par défaut de cette version, â%YYYY;%MM;%DD;-%hh;h%mm;m%ss;s ,â sera encore prise en charge mais d'autres variations également.
Les éléments, attributs et propriétés domain.xml, qui ne seront plus pris en charge seront signalés par des avertissements dans le journal du serveur et dans le fichier journal de mise à niveau comme n'étant plus autorisés.
Le nœud server.http-service.dns ne sera plus disponible dans la vue de contrôle.
Certains attributs du nœud server.http-service.file-cache peuvent être supprimés. Par conséquent, toute commande de contrôle asadmin visant à accéder à des attributs supprimés de ces nœuds échouera.
L'outil de déploiement ne sera plus disponible. La fonction équivalente est disponible dans l'IDE NetBeans. Pour plus d'informations et pour planifier une migration, consultez le didacticiel J2EE 1.4 pour NetBeans 4.1 à l'adresse http://www.netbeans.org/kb/41/j2ee-tut/index.html.
Le mode GUI du vérificateur (invoqué via verifier -u) ne sera plus disponible. La fonction équivalente sera disponible dans l'IDE NetBeans.
Le mode par défaut pour la vérification de l'application avec le vérificateur âVérifier des règles J2EEâ sera remplacé par âVérifier des règles J2EE et des règles de configuration de Sun Application Server.âEn d'autres termes, le vérificateur par défaut testera si une application répond aux règles J2EE et si elle est configurée pour être exécutée sur Sun Application Server. La commande du vérificateur comprendra un commutateur de ligne de commande afin de tester une application pour les règles J2EE uniquement.
Dans la version actuelle, les entrées JAR et de répertoire ajoutées aux attributs classpath-prefix, server-classpath et classpath-suffix du fichier domain.xml (fichier de configuration d'Application Server) sont disponibles dans le chemin de classe du système JVM. Une application dépendante de ce comportement peut utiliser les méthodes suivantes de la classe java.lang.ClassLoader pour accéder à des classes ou d'autres ressources à partir du chemin de classe du système JVM :
getSystemClassLoader()
getSystemResource()
getSystemResourceAsStream()
getSystemResources
Dans la prochaine version importante, les entrées JAR et de répertoire ajoutées aux attributs classpath-prefix, cserver-classpath et classpath-suffix ne seront plus disponibles dans le chemin de classe du système JVM. Si une application utilise l'une des méthodes indiquées ci-dessus, Sun recommande fortement d'utiliser une méthode équivalente n'impliquant pas la disponibilité des ressources dans le chemin de classe du système. Les méthodes équivalentes ne portant pas sur le chemin de classe du système JVM sont disponibles dans java.lang.ClassLoader et doivent être utilisées dans la mesure du possible. Par exemple :
java.net.URL url = ClassLoader.getSystemResource ("com/acme/tools/tools.properties");
java.net.URL url = this.getClass().getClassLoader().getResource ("com/acme/tools/tools.properties");
S'il n'est pas possible de modifier le code, vous pouvez alors choisir d'utiliser une nouvelle option de configuration qui sera ajoutée dans la version suivante afin de définir le chemin de classe du système JVM.
La sécurité de services Web peut être configurée à l'aide des fichiers wss-client-config.xml et wss-server-config.xml. Notez que le contenu et le nom de ces fichiers de configuration peut varier. La fonction équivalente sera toujours disponible.
Sun Java System Application Server Enterprise Edition 8.2 prend en charge la plate-forme J2EE 1.4. Le tableau ci-dessous présente une description des API disponibles sur la plate-forme J2EE 1.4 :
Tableau 2–5 API disponibles sur la plate-forme J2EE 1.4
API |
Description |
Composants |
|
Application et client d'application |
Implémentation des descripteurs de déploiement standard à l'aide de schémas XML |
Enterprise JavaBeans (EJB)2.1 |
Service d'horloge et extrémité du service Web EJB |
Java Servlet2.4 |
Filtre de l'extrémité du service Web |
Architecture de JavaServer Pages (JSP)2.0 |
Langue d'expression et bibliothèque de balises |
J2EE Connector Architecture1.5 |
Caractère enfichable de Java Message Service (JMS) et de l'adaptateur de ressource entrant |
Services Web |
|
Java Web Services Developer Pack1.5 |
Boîte à outils intégrée pour la conception, le test et le déploiement d'applications XML, d'applications et de services Web |
Java API for XML-based Remote Procedure Calls (JAX-RPC)1.1 |
Mappage pour le langage WSDL et la technologie Java et prise en charge du développement des extrémités et des clients de service Web |
WS-I Basic Profile1.0 |
Élément d'activation pour l'interopérabilité via le langage WSDL et le protocole SOAP |
SOAP with attachment API for Java (SAAJ)1.2 |
API pour système de messagerie SOAP. Favorise la création de messages SOAP avec des pièces jointes. |
Java APIs for XML Registries (JAXR)1.0 |
API standard uniforme permettant d'accéder aux registres XML, notamment les annuaires UDDI et ebXML |
Autre |
|
J2EE Deployment1.1 |
API standard permettant le déploiement d'applications et de composants J2EE |
J2EE Management1.0 |
Définitions du modèle d'informations pour la gestion de la plateforme J2EE |
Java Management Extensions (JMX)1.2 |
API de gestion standard |
Java Authorization Contract for Containers (JACC)1.0 |
Définition des contrats de sécurité entre un serveur Application Server J2EE et un fournisseur de stratégie d'autorisation |
Java API for XML Processing (JAXP)1.2 |
API utilisée par des applications pour analyser et convertir des documents XML ainsi que pour gérer le traitement de schémas XML |
JMS1.1 |
Norme de messagerie qui permet aux composants d'application J2EE de créer, envoyer, recevoir et lire des messages ; permet également de prendre en charge les API uniformes pour files d'attente et rubriques. |
JavaMail1.3 |
Ensemble de classes abstraites permettant de structurer un système de messagerie ; comporte également des mises à jour mineures pour les API. |
Sun Java System Application Server 8.2 requiert J2SE 5.0 ou supérieure comme JVM sous-jacent. Pour passer d'une version Java à l'autre, suivez les étapes générales suivantes. (Windows et Unix)
Téléchargez le kit Java SDK (et non JRE) et installez-le sur votre système si ce n'est pas déjà fait.
Le kit Java SDK peut être téléchargé à l'adresse http://java.sun.com/j2se.
Arrêtez complètement Application Server.
Pour cela, vous pouvez utiliser la ligne de commande suivante:
as-install/bin/asadmin stop-domain |
Vous pouvez également utiliser l'interface de la console d'administration :
Modifiez le fichier install_dir/config/asenv.conf (asenv.bat sous Windows), en remplaçant la valeur AS_JAVA de sorte qu'elle pointe sur le nouveau répertoire de base de J2SE.
Modifiez le fichier as-install/samples/common.properties , en remplaçant la ligne commençant par com.sun.aas.javaRoot... de sorte qu'elle désigne le nouveau répertoire de base de J2SE.
Redémarrez Application Server.
as-install/bin/asadmin start-domain |
Application Server inclut des services Web, des conteneurs Web et EJB de hautes performances et prend en charge la livraison simultanée des messages avec le logiciel Sun Java System Message Queue.
Application Server prend en charge l'évolutivité horizontale par le biais du clustering des instances de serveur et l'équilibrage de charge des requêtes. Il permet également une évolutivité verticale de premier ordre, prenant en charge les grandes machines multiprocesseurs. Il vous est possible de clusteriser le courtier de messages intégré afin d'obtenir une meilleure évolutivité et une meilleure disponibilité. En outre, les clusters d'Application Server vous offrent la possibilité d'équilibrer la charge de l'accès aux clients, notamment les clients HTTP, les applications client enrichi RMI/IIOP, les clients de services Web et les clients JRM.
Sun Java System Application Server Enterprise Edition 8.2 prend en charge la technologie JavaServer 1.1. Cette technologie s'appuie sur un ensemble d'interfaces API côté serveur représentant les composants de l'interface utilisateur qui gèrent leur état, leur événement, leur gestion et la validation des entrées. De plus, les API définissent la navigation entre les pages et prennent en charge l'internationalisation et l'accessibilité. Vous pouvez ajouter des composants personnalisés de l'interface utilisateur à l'aide d'une bibliothèque de balises personnalisées JSP.
Au cours de la phase de développement, la technologie JavaServer Faces permet à chaque membre d'une équipe de développement de se consacrer à une partie spécifique du processus. Un modèle de programmation simple relie ensuite les différentes parties, facilitant et améliorant ainsi le cycle de développement.