2022-09-14 23:21 Temps de lecture : 20 min

50 questions et réponses fréquemment posées lors des entretiens avec WebSphere

Voici un ensemble de questions fréquemment posées lors d'entretiens d'embauche pour des postes liés à IBM, allant du niveau débutant à expérimenté.

Je reçois régulièrement des demandes pour compiler une liste de questions d'entretien concernant IBM WebSphere Application Server. Alors, voici votre réponse.

WebSphere est un serveur d'applications, un produit middleware d'IBM. IBM est d'ailleurs un leader sur le marché des middlewares.

WebSphere est une suite de produits, mais cet article se concentre uniquement sur WebSphere Application Server.

Si vous vous demandez quels produits composent la suite WebSphere, en voici une liste:

  • WebSphere Portal
  • WebSphere Data Power
  • WebSphere Cast Iron
  • WebSphere eXtreme Scale
  • WebSphere Front Office
  • WebSphere Message Broker
  • WebSphere MQ
  • WebSphere Real Time
  • WebSphere Remote Server
  • WebSphere Virtual Enterprise
  • WebSphere Community Edition
  • Et bien d'autres...

Êtes-vous prêt à répondre à ces questions ?

2. Qu'est-ce que le Ripplestart ?

Le Ripplestart consiste à redémarrer un cluster WAS. Cette opération arrête d'abord la JVM, puis la redémarre. En utilisant le ripplestart, vous vous assurez qu'une seule JVM est hors service à la fois, évitant ainsi toute interruption de service pour les applications.

Par exemple : si vous avez 5 JVM dans un cluster, un démarrage par ripple arrêtera la JVM1 et la redémarrera avant de passer aux autres JVM du cluster.

3. Que feriez-vous si une JVM consomme 100% de CPU et de mémoire sur un serveur ?

Commencez par identifier la JVM qui consomme le plus de ressources. Effectuez un vidage de thread de cette JVM pour analyse et, comme solution temporaire, redémarrez-la pour libérer le processeur et la mémoire.

4. Qu'est-ce que la synchronisation des nœuds ?

IBM WAS sauvegarde toute sa configuration dans un référentiel central appelé "Référentiel maître". Chaque nœud possède également son propre référentiel local.

Lorsque vous apportez des modifications via le gestionnaire de déploiement (DMGR), vous devez synchroniser ces changements afin qu'ils soient propagés vers les serveurs des nœuds respectifs.

La synchronisation se fait toujours du référentiel maître vers le référentiel local, ce qui en fait une communication unidirectionnelle.

5. Une application peut-elle continuer à fonctionner si le DMGR est hors service ?

Oui, une panne du DMGR n'affecte pas les applications déjà en cours d'exécution. Cependant, vous ne pourrez pas faire de modifications ou de déploiements tant que le DMGR sera inaccessible.

6. Quelles sont les différentes méthodes de déploiement d'une application dans WebSphere ?

Il existe trois méthodes de déploiement :

  • Déploiement à chaud : copier le fichier de l'application dans le répertoire des applications. Cette méthode est appropriée pour les environnements de non-production, mais déconseillée en production.
  • DMGR : Déployez une application via le DMGR en allant dans Applications >> Nouvelle application.
  • Scripts : Utilisez des scripts wsadmin ou des tâches Ant pour automatiser le déploiement d'applications.

7. Pourquoi la JVM redémarre-t-elle automatiquement après avoir été arrêtée ou tuée manuellement ?

Deux raisons sont possibles :

Le redémarrage automatique est activé pour la JVM. Vous pouvez vérifier ce paramètre dans JVM >> Stratégie de surveillance.

Ou bien, un script cron vérifie l'état du processus. S'il ne le trouve pas en cours d'exécution, il le relance.

8. Quels types de fichiers pouvez-vous déployer dans WebSphere ?

Vous pouvez déployer des modules WAR, EAR, JAR ou SAR via la console DMGR ou des scripts.

9. Qu'est-ce qu'un hôte virtuel ?

Un hôte virtuel contient plusieurs URL (basées sur une adresse IP ou un nom de domaine complet) pour une même application. La configuration se fait via la console d'administration WAS.

Pour rendre une application accessible via une URL donnée, vous devez définir cette URL dans un hôte virtuel et l'associer à l'application.

10. Comment traiteriez-vous les plaintes de clients concernant la lenteur des applications ?

La lenteur peut être due à plusieurs facteurs. Il est crucial de déterminer si elle provient de WebSphere ou d'autres composants. Pour isoler le problème, vous pouvez vérifier les éléments suivants :

  • La lenteur affecte-t-elle tous les utilisateurs ?
  • Toute l'application est-elle lente ou seulement une fonctionnalité spécifique ?
  • Comment se comporte l'application en accédant directement à l'URL de la JVM (en contournant le serveur Web) ?

Si la lenteur est constatée au niveau de la JVM, vous pouvez analyser les vidages de thread et les journaux pour identifier la cause. Il est également utile de vérifier s'il y a eu des mises à jour récentes qui pourraient être liées au problème.

11. Comment effectuer une sauvegarde de la configuration WAS sans arrêter le DMGR ?

Accédez au profil DMGR et au dossier bin.

Exécutez la commande `./backupConfig.sh -nostop` pour effectuer une sauvegarde.

12. Quel est le port WAS par défaut ?

Le port par défaut pour HTTP est 9080 et pour HTTPS 9443. Pour plus de détails, consultez la page sur les ports par défaut.

13. Quelles sont les différentes éditions de WebSphere disponibles ?

  • WAS – Network Deployment
  • WAS – Developers
  • WAS – z/OS
  • WAS – Hypervisor
  • WAS – Express
  • WAS – Base
  • WAS – Liberty Core

14. Comment générer et propager le plugin ?

  • Connectez-vous à la console d'administration WAS.
  • Allez dans Serveurs >> Serveurs Web.
  • Sélectionnez le serveur et cliquez sur les boutons "Générer" et "Propager".

15. Quels sont les problèmes courants que vous avez rencontrés ?

Soyez toujours honnête sur votre niveau d'expertise. Voici quelques exemples :

  • Hôte virtuel non configuré.
  • Les logs ne sont pas mis à jour.
  • Erreur interne du serveur.
  • Exception OutOfMemory.
  • Lenteur.
  • JVM qui ne démarre pas.
  • Utilisation élevée du CPU, de la mémoire ou du disque.

16. Comment vérifier la version WAS installée ?

  • Accédez au profil et au dossier bin.
  • Exécutez la commande `./versionInfo.sh`.

17. Comment savoir si votre JVM est opérationnelle ou non ?

Il existe plusieurs façons de le vérifier :

  • Si vous utilisez un outil de monitoring, vérifiez s'il y a une alerte ou l'état actuel de la JVM.
  • Connectez-vous au serveur et utilisez la commande `ps -ef | grep nomjvm` pour rechercher la JVM.
  • Vérifiez si vous pouvez accéder à l'URL de la JVM.
  • Vérifiez si vous pouvez utiliser la commande `telnet` sur l'URL et le port de la JVM.
  • Vérifiez si le port de la JVM est en écoute sur le serveur.
  • Utilisez la commande `serverStatus.sh –all` pour voir quels processus sont en cours d'exécution.

Choisissez la méthode qui vous convient le mieux.

18. Quels sont quelques-uns des fichiers journaux générés par WebSphere ?

  • SystemOut.log
  • SystemError.log
  • native_stdout.log
  • native_stderr.log

19. Comment générer un vidage de thread ?

Il existe trois façons de générer un vidage de thread :

  • Via la console DMGR : Allez dans Dépannage >> Sélectionnez la JVM et cliquez sur Java core.
  • Utilisez la commande `kill -3 PID_de_la_JVM`.
  • Utilisez la commande `wsadmin.sh` comme expliqué ici.

20. Quelle est la différence entre un cluster vertical et horizontal ?

Un cluster vertical a ses membres sur le même nœud ou serveur, tandis qu'un cluster horizontal est réparti sur plusieurs nœuds et serveurs au sein d'une cellule.

21. Qu'est-ce que le garbage collection (collecte des ordures) ?

La collecte des ordures est un processus de gestion de la mémoire qui libère automatiquement les objets qui ne sont plus utilisés par un programme.

22. Comment désactiver la sécurité dans WebSphere ?

Vous pouvez désactiver la sécurité en exécutant `securityoff` via `wsadmin.sh`. Le DMGR doit être redémarré après la désactivation de la sécurité.

23. Comment activer la collecte des ordures verbose ?

La collecte des ordures verbose n'est pas activée par défaut. Pour l'activer :

  • Allez dans Serveurs >> Types de serveur >> WebSphere Application Server.
  • Sélectionnez la JVM >> Définition du processus sous "Java et gestion des processus".
  • Cliquez sur la machine virtuelle Java sous "Propriétés supplémentaires" et cochez la case "Récupération de la mémoire détaillée".

24. Comment faire en sorte que WebSphere démarre automatiquement au redémarrage du serveur ?

WebSphere génère automatiquement un script de démarrage dans `/etc/init.d`, ce qui assure son lancement au redémarrage du serveur.

Si pour une raison quelconque le script n'existe pas, vous pouvez le créer et le placer dans `/etc/init.d`, puis l'activer comme suit :

chkconfig --add WebSphere  #Nom du fichier script
chkconfig WebSphere on

Consultez mon guide détaillé sur la façon de démarrer automatiquement les services au démarrage.

25. Comment augmenter la taille du tas de la JVM ?

  • Connectez-vous à la console d'administration.
  • Allez dans Serveurs >> Types de serveur >> Serveur d'applications WebSphere.
  • Sélectionnez la JVM >> Définition du processus >> Machine virtuelle Java.

Vous pouvez entrer ici la taille initiale et maximale du tas.

26. Pouvez-vous synchroniser un nœud lorsque le nodeagent est hors service ?

Non, le nodeagent doit être en fonctionnement pour que la synchronisation fonctionne.

27. Quelles sont les commandes pour arrêter et démarrer le DMGR, le Nodeagent et la JVM ?

Arrêter :

  • JVM : `stopServer.sh JVMNAME`
  • Nodeagent : `stopNode.sh`
  • DMGR : `stopManager.sh`

Démarrer :

  • JVM : `startServer.sh JVMNAME`
  • Nodeagent : `startNode.sh`
  • DMGR : `startManager.sh`

28. Quelles sont les nouveautés de WAS 8.5.5 ?

Voici les principaux points :

  • Prise en charge de Java SE 7
  • Journalisation HPEL
  • Gestion de la santé intégrée
  • Profil Liberty
  • Routage intelligent
  • Regroupement dynamique
  • Mise en cluster JDBC 4.1
  • Prise en charge du Web 2.0

Vous pouvez également consulter les informations détaillées ici.

29. Qu'entend-on par fédération de nœuds ?

La fédération dans WebSphere désigne l'ajout d'un nœud à une cellule. Cela se fait via la commande `addNode.sh` et peut prendre quelques minutes selon la taille du nœud.

30. Qu'est-ce que le FFDC ?

Le FFDC (First Failure Data Capture) capture l'événement et l'erreur lorsqu'une erreur se produit dans WebSphere. Les données FFDC sont précieuses pour l'analyse des problèmes et sont souvent demandées par le support IBM en cas de contact.

31. Pouvez-vous décoder un keystore WebSphere XOR ?

Oui, vous pouvez utiliser cet outil en ligne : http://strelitzia.net/wasXORdecoder/wasXORdecoder.html

32. Quel est le langage de script par défaut dans WebSphere : JACL ou Jython ?

JACL est le langage de script par défaut dans WebSphere.

33. Comment appliquer un groupe de correctifs dans WebSphere 8.5.x ?

IBM IM peut être utilisé pour appliquer les correctifs. Consultez le guide d'application des groupes de correctifs pour des instructions détaillées.

34. Quels environnements prenez-vous en charge ?

Soyez honnête et expliquez les environnements que vous prenez en charge. Voici quelques exemples :

  • Développement
  • ICT
  • SIT
  • UAT
  • DÉMO
  • Pré-production
  • Production
  • Mise en scène
  • QA

35. Où est hébergé votre serveur Web ?

Expliquez l'architecture de votre application. Dans un environnement de production typique pour les applications internet, les serveurs Web se trouveraient dans la DMZ et le serveur d'applications dans un réseau interne.

Assurez-vous d'avoir les ports nécessaires ouverts dans le pare-feu entre le serveur Web et le serveur d'applications.

36. Qu'est-ce que l'affinité de session ?

L'affinité de session, ou persistance de session, permet à une requête d'être liée à une JVM spécifique. Cela garantit que les requêtes de ce client seront toujours traitées par la même JVM.

37. Pouvez-vous déployer plusieurs applications dans une même JVM ?

Oui, c'est possible à condition que la racine de contexte de chaque application soit unique.

38. Quelle base de données utilisez-vous avec WebSphere ?

Indiquez la base de données que vous utilisez. La plupart des organisations utilisent Oracle, mais WebSphere prend également en charge les bases de données suivantes :

  • DB2
  • Oracle Database
  • Microsoft SQL Server
  • Sybase

39. Comment connectez-vous le serveur Web à WAS ?

Il existe deux méthodes :

  • En utilisant le plugin : c'est la méthode recommandée. Installez le plugin WAS sur le serveur Web.
  • En utilisant ProxyPass : si vous utilisez Apache et que vous ne souhaitez pas utiliser le plugin, vous pouvez utiliser la directive ProxyPass pour vous connecter aux JVM de WAS.

40. Ai-je besoin d'un serveur Web en frontal de WAS ?

Il est recommandé d'avoir un serveur Web en frontal de WAS pour améliorer la sécurité, les performances et la maintenabilité.

41. Qu'est-ce qu'une cellule ?

Une cellule est un groupe logique de nœuds. Elle peut contenir un ou plusieurs nœuds, des clusters, et est administrée via une console d'administration unique.

42. Quel est le délai d'expiration de session par défaut pour une console d'administration ?

30 minutes.

43. Qu'est-ce qu'un groupe de correctifs ?

Un groupe de correctifs est un ensemble de correctifs fourni par IBM. Il peut contenir des corrections de bugs, des correctifs de sécurité et des améliorations de performances.

44. Quels sont les registres ou référentiels pris en charge dans WebSphere ?

  • Référentiel fédéré
  • Système d'exploitation local
  • Registre LDAP autonome
  • Registre personnalisé autonome

45. Que sont les bibliothèques partagées ?

La création de bibliothèques partagées est recommandée pour éviter les doublons de fichiers de bibliothèques. Une bibliothèque partagée unique peut être utilisée par plusieurs applications dans une même cellule.

46. Qu'est-ce que la racine de contexte ?

La racine de contexte de chaque application doit être unique dans une même cellule. Elle est définie dans le descripteur de déploiement et utilisée pour accéder à l'application.

Par exemple, si l'application A a une racine de contexte appelée "retail", l'application sera accessible via `http://nom_du_serveur:port/retail`.

47. Comment s'appelle le fichier de configuration du plugin WAS ?

Le fichier de configuration du plugin WebSphere s'appelle `plugin-cfg.xml`.

48. Comment modifier la taille du pool de threads WebContainer ?

La taille du pool de threads WebContainer peut être modifiée dans JVM >> Pools de threads >> WebContainer.

49. Pouvez-vous modifier la racine de contexte d'une application déployée ?

Oui, c'est possible. Pour ce faire via la console d'administration, allez dans l'application et cliquez sur "Racine de contexte pour les modules Web" pour modifier la racine de contexte.

La JVM doit être redémarrée après cette modification.

50. Quel script permet de changer le SDK Java utilisé par un profil ?

Le script `managesdk.sh` est disponible dans le dossier `bin` et vous permet de modifier le SDK.

51. Qu'est-ce que le PMT ?

Le PMT (Profile Management Tool) est une interface graphique pour créer et gérer les profils WebSphere.

J'espère que ces informations vous aideront à décrocher un emploi d'administrateur WebSphere. Si vous avez besoin d'aide pour votre CV ou votre entretien, consultez ce tutoriel.

Auteur
France

Rédacteur tech, guides pratiques et astuces numériques.