WebSphere Application Server

publicité
WebSphere Application Server
Déploiement et Administration
M.HSSAINI ABDELILAH
20/12/2014
1
Avant de démarrer…
 Pré-requis
◦ Programmation objet avec Java
◦ Développement Web/Client lourd avec Java
◦ Connaissance des fondements du WEB (HTML,
Servlet, JSP, JavaBeans, XML, WAR...) ;
◦ Connaissance de base sur les EJB
◦ Connaissance de Base des Web
Services(SOAP,WSDL,UDDI)
◦ Notion de FrameWork
20/12/2014
2
Objectifs de la formation
◦ Rappeler le standard Java EE ;
◦ Présenter la gamme de produit Websphere ainsi les
différentes versions de WAS
◦ Présenter l’architecture technique et applicative de WAS ;
◦ Installer IBM WebSphere Application Server ;
◦ Connaitre les fonctionnalités de base du menu de la
console
d’administration de WAS Fédérer un nœud à
une cellule
◦ Installation de HTTP server;
◦ Déployer une application Web dans WAS ;
◦ Utiliser les bibliothèques partagées ;
◦ Configurer et paramétrer le pool de connexion ;
◦ Lire et diagnostiquer les fichiers de log au niveau de WAS;
20/12/2014
3
Plan
◦
◦
◦
◦
◦
◦
◦
◦
Le standard Java EE
Produits de la famille Websphere
L’architecture applicative et technique de WAS
Concepts WAS;
TP1 : Installation de WAS
TP2 : Fédération d'une cellule
TP3 : Installation de HTTP Server et le Plugin
TP4 : Déploiement d’une application WAR,
Bibliothèques partagé & Pool de connexion
20/12/2014
4
Le standard Java EE

Java EE (Java Enterprise Edition) est une norme proposée par
la société Sun, portée par un consortium de sociétés
internationales, visant à définir un standard de développement
d'applications d'entreprises multi-niveaux et multi couches,
basées sur des composants.

On parle généralement de «plate-forme J2EE» pour désigner
l'ensemble constitué des services (API) offerts et de
l'infrastructure d'exécution.

J2EE comprend notamment :
 Les spécifications du serveur d'application ;
 Des services, au travers d'API, c'est-à-dire des extensions Java
indépendantes permettant d'offrir en standard un certain nombre de
fonctionnalités. ;
 Oracle fournit une implémentation minimale de ces APIs appelée
J2EE SDK (J2EE Software Development Kit).
20/12/2014
5
Le standard Java EE

Les API de Java EE peuvent se répartir en deux
grandes catégories :
 Les composants :
 Les composants web ;
 Servlets, JSP ;
 Les composants métier ;
 EJB ;
 Les services :
 Les services d'infrastructures ;
 JDBC, JNDI, JTA/JTS, JCA,JMX.
 Les services de communication ;
 JAAS, Java Mail, JMS, RMI-IIOP
20/12/2014
6
Les APIS J2EE 1/2
20/12/2014
7
Les APIS J2EE 2/2
20/12/2014
8
Le standard Java EE
•
J2EE permet une grande flexibilité dans le choix de
l'architecture de l'application en combinant les différents
composants.
• Ce choix dépend des besoins auxquels doit répondre
l'application mais aussi des compétences dans les
différentes API de J2EE.
• L'architecture d'une application se découpe idéalement en au
moins trois tiers :
– Couche présentation (PL): c'est la partie qui permet le
dialogue avec l'utilisateur. Elle peut être composée d'une
application standalone, d'une application web ou d'applets.
– Couche métier (BLL): c'est la partie qui encapsule les
traitements
– Couche accès aux données (DAL): qui s’occupe de la
persistance de données.
•  Pourquoi le choix de séparation des couches : DIVISER
POUR REGNER? CHOIX ORGANISATIONNEL ? …
20/12/2014
9
Le standard Java EE
20/12/2014
10
Le standard Java EE : Déclinaison MVC-2 et 3Tiers

MVC : Modèle d'architecture qui cherche à séparer nettement les
couches de présentation, métier et d'accès aux données :

• Modèle – Encapsule le cœur fonctionnel de l'application, le domaine logique
• Vue – les données sont envoyées, par le modèle, à la vue qui les présente à
l’utilisateur.
• Contrôleur – reçoit les données et les transmets au modèle ou à la vue.
20/12/2014
11
Le standard Java EE
L’environnement d’exécution des applications
J2EE
•
J2EE propose des spécifications pour une infrastructure
dans laquelle s'exécutent les composants.
– Ces spécifications décrivent les rôles de chaque élément et précisent
un ensemble d'interfaces pour permettre à chacun de ces éléments
de communiquer.
•
Ceci permet de séparer les applications de l'environnement
dans lequel il s'exécute.
– Les spécifications précisent à l'aide des API un certain nombre de
fonctionnalités que doivent implémenter l'environnement d'exécution.
– Ces fonctionnalités sont de bas niveau ce qui permet aux
développeurs de se concentrer sur la logique métier.
•
Pour exécuter ces composants, de natures différentes,
J2EE défini des conteneurs pour chacun de ces
composants.
– Les conteneurs permettent aux applications d'accéder aux
ressources et aux services en utilisant les API.
•
Les clients n'accèdent pas directement aux composants
mais sollicite le conteneur pour les utiliser. (Révolution
d’architecture)
20/12/2014
12
Le standard Java EE
 Les
applications déployées avec JEE
– adhèrent aux standards Java EE
– suivent les spécifications Java EE
– sont écrites en Java (~pas toujours vrai 
JNI)
– sont déplorables sur tous les serveurs
implémentant JEE
•
Niveau technologie Java EE: Java EE
7 et JDK 8.
20/12/2014
13
Historique de J2EE/Java EE
20/12/2014
14
Java EE 7


les spécifications de Java EE 7 sont définies dans la JSR
342.
Java EE 7 a plusieurs objectifs :
◦ poursuivre l'amélioration de la productivité et la simplification de
l'utilisation de la plate-forme
◦ le support de HTML 5 (WebSocket, Json, HTML5 forms, ...)
◦ l'ajout de nouvelles fonctionnalités : Batch API (modèle de programmation
pour les applications batch) et Concurrency Utilities API (exécution de
traitements asynchrones sans avoir à utiliser JMS)

Les spécifications de Java EE 7 sont officiellement diffusées
en juin 2013. Java EE 7 s'appuie sur Java SE 7. Cette
spécification contient 14 nouvelles JSR et 9 versions de
maintenance (Maintenance Release) de JSR.
20/12/2014
15
Java EE 7
Java EE 7 inclut plusieurs nouvelles API :




Java API for JSON Processing 1.0 (JSR 353)
Java API for WebSocket 1.0 (JSR 356)
Batch Applications for the Java Platform 1.0 (JSR 352)
Concurrency utilities for Java EE 1.0 (JSR 236)
20/12/2014
17
Quelques
Spécification
s Java EE 6
20/12/2014
18
Certifié Java EE 7
20/12/2014
19
Certifié Java EE 6









Oracle GlassFish Enterprise Server v3, basé sur le
serveur open-source GlassFish
Oracle WebLogic Server 12c de Oracle Corporation
JBoss AS 7.x (profil web uniquement pour la version
7.0.x), JBoss AS 6 (profil web uniquement)
Apache Geronimo 3.0
IBM WebSphere Application Server 8.0
IBM WebSphere Application Server Community Edition
3.0, basé sur Apache Geronimo
Fujitsu Interstage Application Server
Caucho Resin 4.0.17 (profil web uniquement)
SAP NetWeaver Application Server ;
20/12/2014
20
Composition d’une Application
J2EE :
20/12/2014
21
Architecture Java EE # .Net
20/12/2014
22
Architecture Java EE# .Net
 Deux
architectures concurrentes :
J2EE et .NET
 Deux types de serveur d´applications:
 Norme J2EE (Sun) : un langage
(Java) pour une multitude d’offres ;
 L´architecture .NET de (Microsoft) :
une multitude de langages pour une
seule offre.
20/12/2014
23
Ce qu’il faut retenir
Norme J2EE : Ensemble de
Technologies JAVA (~15) qui évoluent.
 Développement d’applications J2EE
distribuées :

◦ 4 containers : Applet, client lourd, Web;
EJB.
◦ Composition d’une Application
d’entreprise (EAR)
20/12/2014
24
C’est quoi un serveur
d’application

Un serveur d’application est un
environnement informatique qui offre
l’infrastructure applicative et technique pour
exécuter des applications métiers, il permet
notamment :
◦ Séparer les applications du : matériel, réseau,
système d’exploitation…
◦ Offrir un environnement communs d’exécution des
applications.
◦ Offrir des services (ou des APIs) communs.
◦ Offre un environnement sécurisé et fiable, évolutif.
◦ Plateforme pour le déploiement des services web
20/12/2014
25
Exemple : Architecture Web
20/12/2014
26
20/12/2014
27
Mise au point

Ce qu’il faut retenir :
◦ Normes Java EE : de nombreuses
technologies (API) java qui évoluent.
◦ Serveur d’application Java EE : un
conteneur web, un conteneur EJB et une
collection de services mis à disposition
des applications
20/12/2014
28
Plan
◦
◦
◦
◦
◦
◦
◦
◦
Le standard Java EE
Produits de la famille Websphere
L’architecture applicative et technique de WAS
Concepts WAS;
TP1 : Installation de WAS
TP2 : Fédération d'une cellule
TP3 : Installation de HTTP Server et le Plugin
TP4 : Déploiement d’une application WAR,
Bibliothèques partagé & Pool de connexion
20/12/2014
29
Produit de la famille
WebSphere

WebSphere est une plate-forme
applicative générique couvrant un
ensemble de solutions développées
par IBM qui permettent de
développer, de déployer et d'utiliser
des applications d'entreprise, même
dans des cas complexes faisant appel
à des applications et des matériels
hétérogènes.
20/12/2014
30
Produit de la famille WebSphere

Cette plate-forme applicative couvre les éléments suivants :

Une gamme de serveurs d'application basés sur J2EE et EJB.
◦ Le principal élément de cette gamme est WAS : WebSphere Application
Server.

Une gamme d'outils de développement basés principalement sur le socle de
développement Eclipse et le langage java.
◦ Le principal élément de cette gamme est WSAD : WebSphere Studio
Application Developer, remplacé depuis 2005 par RAD (Rational Application
Developer).

WebSphere Portal : une gamme d'outils permettant de développer et de
maintenir un portail d'entreprise

Une gamme d'outils plus spécifiques permettant de faciliter le déploiement,
notamment dans le cas de plates-formes très complexes, ainsi que d'assurer le
suivi et le contrôle des performances (WebSphere Studio Application
Monitor), de la sécurité, etc.

On retrouve également parmi ceux-ci des serveurs d'intégration, des
connecteurs applicatifs et autres outils middleware selon les cas de figure, et
le degré d'hétérogénéité des plates-formes logicielles et matérielles à intégrer
20/12/2014
31
Produit de la famille
WebSphere
WebSphere Application V6.1
•
•
•
C’est un serveur d’application de la famille des
produits WebSphere, commercialisé par
l’éditeur IBM.
WAS utilise des standards ouverts tels que Java
EE, XML, et les Web Services ;
Il fonctionne avec de nombreux serveurs Web
(notion de plug-ins) :
–
–
–
–
Apache HTTP Server ;
Netscape Enterprise Server ;
Microsoft Internet Information Services (IIS) ;
IBM HTTP Server pour AIX/Linux/Microsoft
Windows/Solaris.
20/12/2014
34
WebSphere Application Server
version 6



Constitue la fondation des produits de la famille
WebSphere
Fournit des options de configuration et de
déploiement flexibles pour couvrir les besoins des
environnements autonomes, distribués et
hautement dynamiques
Disponible dans plusieurs éditions
◦ WebSphere Application Server v6 – Express
◦ WebSphere Application Server v6 (Base)
◦ WebSphere Application Server v6 Network Deployment

Toutes les éditions proposent le même noyau de
fonctionnalités
20/12/2014
35
WebSphere v6 - éditions
20/12/2014
36
WebSphere Application
Server – Express/Base

Un seul serveur
◦ sans répartition de charge, ni administration multi-serveurs

J2EE 1.4
◦ Services Web
◦ Programming Model Extensions (PME)
◦ Facilité d'emploi
 Déployer rapidement
 Installation rapide
les nouvelles applications
◦ Un seul CD par plate-forme
◦ Intégration avec les outils IBM Rational

Deux types de prix/licences
◦ Par CPU
◦ Par utilisateurs
20/12/2014
37
WebSphere Application Server
–
Network
Deployment
 Pour les environnements
multi serveurs, multiple
nœuds


◦
Scalabilité, disponibilité et performance
◦
Clusters et reprise sur incident
◦
Plug-in du serveur Web propose gestion de charge pondérée
Administration distribuée
◦
Référentiel de configuration XML
◦
Console d'administration Web
Edge Components
◦


Répartiteur de charge (Load balancer)
Proxy cache
◦
Reverse proxy, content-based routing
◦
Cache de contenu dynamique:
Fonctions de Services Web
◦
Annuaire UDDI - à usage privé
◦
Passerelle services Web
20/12/2014
38
Différences – Editions Express
,Base et ND
20/12/2014
40
Points importants


Toutes les distributions v6 ont le même noyau de
fonctionnalités
"WebSphere Application Server - Express v6" peut
migrer vers un noeud "WebSphere Application
Server v6 »
◦ Possible sans installation supplémentaire
◦ Seule une mise à jour de la licence est nécessaire

Des noeuds "WebSphere Application ServerExpress v6" et "WebSphere Application Server v6"
peuvent être fédérés dans une cellule "WebSphere
Application Server Network Deployment v6"
◦ Possible sans installation supplémentaire
◦ Seule une mise à jour de la licence est nécessaire
20/12/2014
41
Evolution du
WebSphere Application Server







V4.0.X (2001)
◦ Supporte J2EE 1.2
◦ JDK 1.2
V5.0 (2003)
◦ Supporte J2EE 1.2 et 1.3
◦ JDK 1.3
V5.1 (2004)
◦ Supporte J2EE 1.2 et 1.3
◦ JDK 1.4
◦ Supporte JSF
V6.0.X (2004)
◦ Supporte J2EE 1.2, 1.3, 1.4
◦ JDK 1.4
V6.1 (2006)
◦ Supporte J2EE 1.2, 1.3, 1.4
◦ JDK 5.0
V7.0 (2008)
◦ Supporte Java EE 5
◦ JDK 6.0
V8.0 (2010) en Béta
◦ Supporte Java EE 6
◦ JDK 6.0
20/12/2014
42
Packaging WebSphere v6
20/12/2014
43
IBM HTTP Server
Basé sur Apache 2.0.47
 Ajouts d'IBM
◦ Le support de SSL permet des sessions
sécurisées
◦ Un cache avancé accélère le service d’éléments
statiques
◦ Le support LDAP permet l'utilisation d'un
annuaire commun
◦ pour l'authentification des utilisateurs et les
autorisations
◦ Le support SNMP permet de surveiller le serveur
HTTP depuis une console de gestion sur le
réseau
20/12/2014
44

Fonctionnalités des serveurs WEB
:
20/12/2014
45
Architecture RunTime de WebSphere
20/12/2014
46
Architecture d’administration de
WebSphere
20/12/2014
47
Packaging de la Version 6
WAS ND
20/12/2014
48
Architecture Network
Deployment
20/12/2014
49
WAS : les concepts
•
•
•
•
•
•
•
•
•
•
Profile
Instance du serveur
Nœud
Cellule
Network Deployment Manager
Agent de Nœud
Flux d’administration Network Deployment
Synchronisation des fichiers
Cluster
WebSphere : Haute disponibilité
•
Service de réplication de données
• Service de nommage
•
•
Conteneur Web
Conteneur EJB
20/12/2014
50
Profile
Les Environnements d'exécution sont construits en
créant des profils.
 Chaque profil contient des fichiers spécifiques à cet
Environnement exécution comme les journaux et les
fichiers de configuration…
 Chaque profil est stocké dans un chemin de répertoire
unique choisi au moment de la création du profil.
 Tous les profils partage les binaires du produit.

20/12/2014
51
Aperçu des profils WebSphere

Les profils sont un ensemble de fichiers qui représentent une
configuration de WebSphere Application Server

Les fichiers de WebSphere Application Server sont divisés en 2
catégories:
◦ Les fichiers du produit :
Un ensemble de fichiers statiques en lecture seule ou binaires partagés par toutes les
instances de WebSphere Application Server
◦ Les fichiers de configuration (profils)
Un ensemble de fichiers de données paramétrables par les
utilisateurs
Cet ensemble comporte: la configuration de WebSphere , les
applications installées, les adaptateurs de ressources, les fichiers
de propriétés, les fichiers de log…
20/12/2014
52
Avantages des profils
WebSphere
20/12/2014
53
Administration des profils
Les profils doivent être administrés
par l’un des outils fournis
 L’assistant de création de profils

 Fournit une interface graphique pour
administrer les profils

Le script wasprofile
◦ Fournit une interface commande en ligne
pour administrer les profils
20/12/2014
54
Instance du serveur
Instance de serveur : ont pour rôle
d'exécuter les applications déployées
par l'entreprise.
 Chaque serveur WebSphere se
compose de un ou plusieurs instance
de serveur (processus).
 Dans la version express et base,
chaque instance du serveur est
indépendante.

20/12/2014
55
Les nœuds (Nodes)





Un nœud est un groupe logique d’instance de
serveurs qui partagent une configuration
commune.
Dans la majorité des cas, un nœud est associé
avec une installation physique du serveur
d'application WebSphere.
Dans les versions Base et Express, il ne peut y
avoir qu'un seul nœud.
Pour les autres versions, l'intérêt du nœud est de
permettre une administration centralisée, ainsi
qu'une répartition de charge entre les nœuds.
Cette configuration est obtenue grâce au Node
Agent qui réalise la communication entre les
instances des serveurs à l'intérieur d'un nœud.
20/12/2014
56
Les cellules (Cells)





Une cellule est un groupe de nœuds qui permet d'obtenir
un domaine d'administration.
Dans les versions base et express, une cellule ne peut
contenir qu'un seul nœud (une seule installation de
WebSphere)
Avec les versions Network et Entreprise, une cellule peut
comporter plusieurs nœuds avec une administration
centralisée.
Pour permettre cette centralisation de l'administration, la
configuration est stockée dans un repository.
Ce repository est géré par le processus Deployement
Manager intégré dans chaque serveur d'application
WebSphere qui réalisent une copie du repository en
locale.
20/12/2014
57
Installation(1) WAS
Instance
Serveur1
Nœud1
Instance
Serveur2
Cellule
Installation(2) WAS
Instance
Serveur3
Nœud2
Instance
Serveur4
20/12/2014
58
Network Deployment Manager

Processus d'administration permettant
de centraliser la vue de gestion et le
contrôle de tous les éléments d'une
cellule répartie, y compris la gestion
des clusters.

Network Deployment Manager est
responsable du contenu des
référentiels de chacun des nœuds.
◦ Il gère cela en communiquant avec les
processus d'agent de chaque nœud de la
20/12/2014
59
cellule
Agent de Nœud

Un agent de nœud gère tous les processus d'un serveur
WAS sur un nœud en communiquant avec Network
Deployment Manager pour assurer la coordination et la
synchronisation de la configuration ;

Un agent de nœud exécute des opérations de gestion
pour le compte de Network Deployment Manager ;

Il représente le nœud dans la cellule de gestion ;

Les agents de nœud sont installés avec WAS Base ;
cependant, ils ne sont requis que lorsque le nœud est
ajouté dans une cellule d'un environnement de
déploiement de réseau.
20/12/2014
60
Concepts Network
Deployment
20/12/2014
61
Flux d’administration Network Deployment
20/12/2014
62
Synchronisation des fichiers
20/12/2014
63
Cluster

Regroupement logique d'un ou plusieurs instance de
serveur fonctionnellement identiques.

Un cluster facilite le déploiement, la configuration,
l'équilibrage de charge et la redondance en cas de
problèmes.

Un cluster est un ensemble de serveurs fonctionnant
conjointement sous la forme d'un système unique pour
garantir la disponibilité permanente des applications et
ressources vitales pour les clients.

Les clusters assurent l’évolutivité des systèmes.

Membre de cluster : Instance de WAS dans un cluster.
20/12/2014
64
WebSphere : Haute
disponibilité
Un gestionnaire de haute disponibilité (HA) est utilisé pour
éliminer les points de défaillance uniques du système (SPOF).
 Peut tirer avantage des technologies de tolérance aux
pannes au niveau système de stockage comme le Network
Attached Storage (NAS)
 Reprise à chaud pour des services uniques et critiques

− Routage WLM , messagerie JMS, moniteur transactionnel…
− Un service en panne redémarre sur une autre JVM déjà
démarrée
− Latence due à la bascule < 1 seconde
20/12/2014
65
Service de réplication de
données

Le Data Replication Service (DRS) est responsable de la
réplication des données mémoire au sein de différents
processus WebSphere.
− Aide à la haute disponibilité et à la reprise sur incident
− Augmente les performances et la « scalabilité »

Qui utilise ce service ?
− La persistance et la reprise sur les EJB session stateful
− La persistance et la reprise sur les sessions HTTP
− La réplication du cache dynamique

Utilise des techniques de réplication point-à-point ou client
serveur selon les cas
20/12/2014
66
Service de nommage




Fournit un espace de nommage JNDI
Enregistre tous les EJB et les ressources J2EE (exemple:
Fournisseurs JDBC, JMS, J2C, URL et JavaMail) qui sont
hébergés par le serveur d’applications
Il y a un service de nommage par serveur d’applications
On peut configurer des liaisons de nom vers des ressources
distantes
20/12/2014
67
Conteneur Web

Le conteneur Web est la partie du serveur
d'application dans laquel les composants
d'application Web s'exécutent.

Les applications Web sont composées d'une
ou plusieurs servlets connexes, les pages
JSP(JavaServer Pages) et les pages HTML.

Le conteneur Web traite principalement les
servlets, les pages JSP.
20/12/2014
68
Conteneur Web (suite)

Chaque conteneur Web offre les
fonctionnalités suivantes :
◦ Transport de requêtes
◦ Exécution des servlets
◦ Exécution des pages HTML et autres
pages statiques
◦ Gestion des sessions
◦ Traitements des Portlets
20/12/2014
69
Conteneur EJB
Les EJB s'exécutent dans un
environnement particulier au niveau
du serveur d’application qui s’appelle :
conteneur EJB
 Le conteneur d'EJB propose un
certain nombre de services qui
assurent la gestion :

◦
◦
◦
◦
du cycle de vie de l’EJB
de l'accès à l’EJB
de la sécurité d'accès
des accès concurrents
20/12/2014
70
Conteneur Web
Browser client
HTTP(S)
HTTP(S)
Serveur HTTP
Serveur HTTP
Intégré
Servlet
JSP
DB
Application Cliente
Java
RMI/IIOP
Conteneur EJB
EJB
WAS 6.1 (JVM)
Java Admin
Console
RMI/IIOP
Admin Server (JVM)
20/12/2014
Repository
(Annuaire)
71
20/12/2014
72
WAS Community Edition
WAS CE (WebSphere Application
Server Community Edition) est la
version libre offerte par IBM ;
 WAS CE 2.0 est certifié Java EE 5.0 ;
 WAS CE est basé sur Apache
Geromino ;
 WAS CE est téléchargeable via le site
d(IBM suivant :

◦ http://www.ibm.com/developerworks/down
loads/ws/wasce/
20/12/2014
73
Tableau Comparatif
20/12/2014
74
Plan
◦
◦
◦
◦
◦
◦
◦
◦
Le standard Java EE
Produits de la famille Websphere
L’architecture applicative et technique de WAS 6.1
Concepts WAS;
TP1 : Installation de WAS
TP2 : Fédération d'une cellule
TP3 : Installation de HTTP Server et le Plugin
TP4 : Déploiement d’une application WAR,
Bibliothèques partagé & Pool de connexion
20/12/2014
75
Téléchargement