1. Introduction à Websphere Application Server

1. Qu'est-ce que Websphere ?

WebSphere Application Server, souvent appelé simplement WAS, est une plate-forme de serveur d'application compatible JEE. JEE signifie Java Enterprise Edition et s'appelait auparavant J2EE. Les serveurs d'applications JEE offrent des fonctionnalités permettant de déployer des logiciels Java tolérants aux pannes, distribués et multi-tiers. Ils fournissent également l'environnement d'exécution et l'interface de gestion pour gérer les nombreux composants modulaires qui composent les applications JEE.

WebSphere Application Server est une composante clé de l'architecture SOA, fournissant le rôle des services applicatifs métier.

Position of business application services in an SOA reference architecture
Figure 41 : Position of business application services in an SOA reference architecture

2. Support des spécifications Java

Le produit WebSphere Application Server prend en charge différents standards de l'industrie. Cette page à lire répertorie les spécifications et la documentation de l'interface de programmation d'application (API) prises en charge dans les versions actuelles et précédentes des produits.

3. Serveur d'application Java

Source : Tomcat Websphere Comparison - Choosing The Right Java Server Solution

Développés et publiés à l'origine à peu près à la même époque, à la fin des années 1990, et issus de la même spécification Java Servlet, Apache Tomcat et Websphere Application Server, ou WAS, se sont développés dans deux directions totalement différentes. Alors que Tomcat est resté un conteneur de servlets léger et open-source, Websphere est devenu un grand serveur d'applications basé sur des piles, faisant partie d'un plus grand groupe de produits IBM interopérables sous la même marque, y compris les IDE, les services de portail, les moteurs d'intégration de données et plus.

The diagram shows a single application server installation.
Figure 42 : The diagram shows a single application server installation.

Source de l'image : https://www.ibm.com/support/knowledgecenter/SSAW57_9.0.0/com.ibm.websphere.nd.multiplatform.doc/ae/welc6productov.html

Qu'est-ce qu'un serveur d'application ?

À une époque, il aurait été facile de décrire la différence entre Websphere et Tomcat en disant que Websphere était un serveur d'application, alors que Tomcat était juste un conteneur de servlet. Prenons un moment pour définir ces termes d'un point de vue technique rigide avant d'examiner comment leurs définitions évoluent.

Qu'est-ce qu'un serveur d'application Java EE ?

Du point de vue technique Java, un serveur d'application Java est une implémentation de la spécification Java EE Application Server qui est entièrement conforme et prend en charge toutes les fonctionnalités Java EE. Ces fonctionnalités étendent la plate-forme Java standard pour une utilisation dans les transactions commerciales basées sur Internet et incluent des éléments tels que JTA, EJB, JMS, JSF et API Java EE pour la persistance de session, l'injection de dépendances, et plus encore.

Les serveurs Java EE déploient des applications au format EAR (Enterprise Archive), qui contiennent un ou plusieurs fichiers WAR, des EJBs associés, des pages JSP, des servlets et même des adaptateurs de ressources. Ce paquet est déployé dans un conteneur unique, de sorte que ses classes et ressources peuvent être chargées et gérées séparément.

De plus, la plupart des serveurs d'applications commerciaux (y compris Websphere et ses concurrents directs, tels que Weblogic) comprennent des outils de gestion et de surveillance complets, ainsi qu'une gamme de produits supplémentaires qui s'intègrent à eux et offrent des fonctionnalités supplémentaires moyennant des frais.

Qu'est-ce qu'un conteneur de servlets ?

En revanche, un conteneur de servlets n'a besoin que d'implémenter les spécifications Java Servlet et JSP, qui traitent du déploiement d'applications Web gérées par conteneurs, ainsi que des transactions associées.

La spécification de servlet, qui fait partie de la plate-forme Java EE, inclut l'utilisation de fichiers d'application WAR, de pages JSP, de connecteurs, de ressources JNDI, et plus encore, ce qui signifie qu'un conteneur de servlet peut faire beaucoup de choses identiques à un serveur web.

En fait, la spécification des servlets couvre tellement de technologies web importantes que les versions embarquées de Tomcat sont utilisées comme conteneur web et de servlets pour de nombreux serveurs d'applications commerciaux.

Lecture

IBM WebSphere Application Server (WAS) V9.0 Tutorial

4. Terminologie Websphere

Profile, cell, node, server
Figure 43 : Profile, cell, node, server

Profils

Un profil est une instance d'une configuration WebSphere Application Server. Un profil contient son propre ensemble de scripts d'administration, son propre environnement, son propre référentiel et son propre agent de noeud. De nombreux profils peuvent être créés à partir d'une seule installation. Des profils peuvent être installés pour partager des binaires d'exécution permettant à plusieurs profils de bénéficier d'une seule mise à jour de maintenance. Il est également possible de permettre à chaque profil d'avoir sa propre copie des binaires d'exécution permettant aux profils de se mettre à jour indépendamment.

Un exemple d'utilisation de profils multiples pourrait être qu'un développeur a besoin de créer des profils séparés du produit afin de séparer le développement et les tests, chaque profil étant basé sur un niveau de fix-pack différent, et/ou contenant des paramètres de configuration spécifiques.

Cellule

Une unité de gestion est une cellule. L'ensemble des données de configuration administrative est stocké dans des fichiers XML contenant la configuration maître de la cellule. Il s'agit également d'un regroupement de noeuds dans un domaine administratif unique. Pour WebSphere Application Server, cela signifie que vous regroupez (fédérez) plusieurs serveurs au sein d'une Cellule, puis vous pouvez les administrer avec une seule console d'administration.

Noeuds

Un noeud est le terme qui peut être donné à l'instance de l'OS physique sur lequel le processus WebSphere va s'exécuter. Un autre terme important lié aux noeuds est l'agent de noeuds. Les agents de noeuds sont responsables de la création ou de la destruction des processus du serveur ainsi que de la synchronisation de la configuration entre le gestionnaire de déploiement et le noeud dans le produit WebSphere Network Deployment.

Avec WebSphere Application Server, il n'y a pas de processus d'agent de noeud disponible pour un noeud de serveur d'application autonome, sauf si vous décidez de fédérer le noeud de serveur d'application avec un gestionnaire de déploiement pour une cellule donnée d'une installation WebSphere Network Deployment existante. En bref, une installation autonome d'une WebSphere est en fait une seule cellule, un seul noeud, un seul agent de noeuds et un seul serveur en un.

Cela peut parfois être assez déroutant, car WAS est conçu pour l'évolutivité et l'extension, donc en fonction de la version de WAS achetée, vous pouvez étendre son architecture et l'empreinte de son infrastructure. Certains de ces termes prennent tout leur sens une fois que vous passez au déploiement du réseau WebSphere et à d'autres variantes étendues de WAS.

Depuis la version 7, l'agent administratif est disponible. Ceci fournit une interface unique pour administrer plusieurs serveurs d'applications autonomes. Plusieurs serveurs peuvent exister pour le développement, le test, la mise en scène, la pré-production, etc. Ainsi, une console d'administration unique pour gérer plusieurs serveurs offre de nouvelles capacités aux administrateurs.

Serveurs

Chaque noeud de serveur d'application autonome doit exécuter une JVM dans laquelle une application JEE déployée sera exécutée. Avec la base WAS, chaque profil aura une seule JVM. Dans WAS ND, nous pouvons avoir plusieurs JVM par noeud, ce qui fait partie de l'architecture de conception hautement disponible de WAS ND. On pourrait dire qu'une installation d'un serveur d'application WebSphere autonome est une cellule, un noeud et un serveur avec une seule JVM tout en un avec une console d'administration.

WAS : System management in a distributed server environment
Figure 44 : WAS : System management in a distributed server environment

Source de l'image : WebSphere Application Server V8.5 Administration and Configuration Guide for the Full Profile, p. 40

5. Produits WebSphere Application Server

Document à lire pp. 2-6, Introduction to WebSphere Application Server : WebSphere Application Server V8.5 Concepts, Planning, and Design Guide, Chapter 1, pp 2-6

WebSphere Application Server packaging
Figure 45 : WebSphere Application Server packaging
  • 1.2 WebSphere Application Server packaging
  • 1.2.1 WebSphere Application Server Express
  • 1.2.2 WebSphere Application Server (Base)
  • 1.2.3 WebSphere Application Server Network Deployment
  • 1.2.4 WebSphere Application Server for z/OS
  • 1.2.5 WebSphere Application Server for Developers
  • 1.2.6 WebSphere Application Server Hypervisor Edition
  • 1.2.7 WebSphere Application Server Liberty Core
  • 1.2.8 WebSphere Application Server Community Edition
  • 1.3 WebSphere Application Server profiles
  • 1.3.1 Full WebSphere Application Server
  • 1.3.2 Liberty profile
  • 1.3.3 Profile capability comparison

6. Outils de gestion WAS

WebSphere Application Server fournit une variété d'outils administratifs pour configurer et gérer votre environnement d'exécution.

WebSphere Customization Toolbox (WCT)

WebSphere Customization Toolbox inclut des outils pour personnaliser l'environnement WebSphere Application Server. Parmi les outils, il y a :

  • Web Server Plug-in Configuration Tool
  • Profile Management Tool
  • z/OS Migration Tool

Integrated Solutions Console

La console d'administration est un client basé sur un navigateur qui utilise une application Web s'exécutant dans le conteneur Web pour administrer WebSphere Application Server. Il peut fournir un accès d'administration à distance.

Integrated Solutions Console
Figure 46 : Integrated Solutions Console

WebSphere scripting client (wsadmin)

Le client wsadmin est une interface de script non graphique qui administre WebSphere Application Server à partir d'une ligne de commande. Il utilise le Bean Scripting Framework (BSF), qui prend en charge une variété de langages de script et peut fournir un accès d'administration à distance.

Another Neat Tool (ANT)

ANT est utilisé pour l'automatisation des tâches. Vous pouvez l'utiliser pour créer des scripts de compilation qui compilent, empaquetent, installent et testent des applications sur WebSphere Application Server.

Administrative applications

On peut développer des applications Java personnalisées qui utilisent des extensions de gestion Java basées sur l'interface de programmation d'application (API) de WebSphere.

Utilitaires en ligne de commande

Ces utilitaires d'administration vous aident à gérer votre serveur d'application WebSphere et comprennent les caractéristiques suivantes :

  • Appelé à partir d'une ligne de commande
  • Peut être utilisé pour effectuer des tâches administratives communes, telles que le démarrage et l'arrêt du serveur d'application et la sauvegarde de la configuration.

7. Systèmes d'exploitation supportés

  • Linux
  • HP-UX
  • Solaris
  • AIX
  • z/OS
  • Windows Server