Websphere Application Server : serveur applicatif WebSphere.
Le terme WAS est parfois utilisé pour designer de manière plus générale les serveurs applicatifs Web (Web
Application Servers) mais cet emploi n'est pas recommandé pour éviter les confusions (préférer AS pour Application
Server par exemple).
Besoin
Fournir un serveur applicatif IBM.
Conception
WAS est livré avec
Serveur applicatif
Un domaine WAS est constitué de :
- Nœuds réseau (machines) sur lequels résident des ;
- serveurs d'applications
- Dans lequels se trouvent des :
- conteneurs
- Web (ou servlet engine) dans lequels sont déployées des :
- EJB dans lesquels sont déployés des composants EJB
- Démarrant un service de trace (
DrAdmin) sur un port libre
- 1 serveur d'administration des serveurs du noeud
- Jouant les rôles de :
- Annuaire de ressources (composants, sources de données, etc.)
- Service de sécurité
- Service de localisation
- Surveillé par un processus "nounou" (nanny process) capable de le relancer automatiquement s'il tombe
Serveur Web
Bien qu'il en soit capable, WAS n'est généralement pas exploité comme serveur Web. Cantonné à l'hébergement
d'application J2EE, il laisse le traitement des requêtes HTTP à des serveurs Web tiers capables d'intégrer son
plugin, tels que :
- IHS
- Netscape Enterprise Server
- IIS
- Apache Server Version
- Domino
- Lotus Domino Go Webserver
Le plugin installé dans un tel serveur Web
communique avec les serveurs WAS via :
- s1[3.x seulement] la Servlet Redirector contactée par le plugin via OSE (local),
elle répartit la charge entre plusieurs serveurs applicatifs (via IIOP). Pour cela elle contacte le serveur d'administration
local (sur la machine où est installé le plugin) et lui demande quel prochain serveur contacter. Elle contacte
alors le Remote SRP Bean du serveur indiqué, qui la propage à son tour au servlet engine du serveur
contacté
- chiffrement SSL possible
- 3 +n ports ouverts pour n clones
- impossible avec NAT
- léger, lourd (application) ou administratif (dans le serveur d'admin, demande alors un accès à la base WAS)
- moins performant que OSE
- serveur d'admin point unique de défaillance
- s2[3.0.21] Remote OSE (Open Servlet Environment) Remote
- performant
- pas de chiffrement SSL
- un port ouvert pour chaque servlet engine
- un port ouvert pour la sécurité WAS
- Supporte NAT
- s3[4.0] HTTP/HTTPS
Ce plugin est configuré en termes de :
- hôtes virtuels définis via :
- s4[3.x]
vhosts.properties qui contient pour chaque hôte virtuel :
- son Adresse IP (
9.24.104.109 par
exemple)
- son nom pleinement qualifié (
myhost.javarome.net par exemple)
- son nom court (
myhost par exemple)
- son alias localhost (
localhost typiquement)
- son adresse loopback (
127.0.0.1 typiquement)
- s5[4.x]
plugin-cfg.xml
- Règles
- s6[3.x] Le fichier
rules.properties
- s7[4.x]
plugin-cfg.xml
- Fichiers
- s8[3.x] Le fichier
queues.properties
- s9[4.x]
plugin-cfg.xml
- Démarrage
- Le fichier
bootstrap.properties
Groupes de serveurs (cluster)
La répartition de charge peut être réalisée par le biais de :
- Network Dispatcher (ND) de WebSphere Edge Server, répartissant une charge HTTP sur plusieurs serveurs Web (reverse proxy/ip forwarding)
selon une politique paramétrable (round robin, load balancing, custom advisor, combining custom advisor with load
balancing, content-based)
- cloage
- horizontal : plusieurs serveurs installés sur des noeuds différents
- vertical: plusieurs serveurs installés sur le même noeud
- Remote OSE pour les composants Web (Servlets/ JSP)
- WLM pour les composants EJB, via des stubs intelligents
(smart stubs) dialoguant avec le serveur d'administration pour connaître les clones actifs, puis répartissant
la charge entre ces clones selon une politique paramétrable (round-robin, round-robin prefer local,
random, random prefer local, peut-être weight dans le futur). Cependant la préférence est
toujours donnée aux EJB situés dans le même processus (process affinity), d'autant plus si l'on est dans une
transaction (transaction affinity).
Notes
- Livré avec IHS
- API
| WAS |
Version |
3 |
4 |
5 |
6 |
Commentaire |
| Release |
0 |
5 |
0 |
0 |
|
| Fixpack |
2 |
1
|
2
|
3
|
4
|
5
|
6 |
1
|
2
|
3 |
|
|
| Couche |
Technologie |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
| Présentation / Contrôle |
Servlet |
2.1 |
2.2 |
2.3 |
|
|
| JSP |
0.91 |
1.0 |
1.1 |
1.2 |
|
|
| Services / Domaine |
EJB |
1.0 |
1.1 |
2.0 |
|
|
| Intégration |
RMI/IIOP
|
|
|
|
1.0 |
|
| JNDI |
|
|
|
1.2 |
com.ibm.ejs.ns.jndi.CNInitialContextFactory s10[3.5]
com.ibm.websphere.naming.WsnInitialContextFactory<span class="source"></span>s11
[4.0]
|
| JDBC |
2.0 |
|
| J2C |
Non |
1.0 |
|
| JMS |
Non |
1.0 |
|
| SOAP |
Non |
|
|
|
|
1.0 |
|
| UDDI |
Non |
|
|
|
|
1.0 |
|
| WSDL |
Non |
|
|
|
|
1.0 |
|
| XML |
JAXP |
|
|
XML4J 2.0.15 (SAX 1, DOM 1), LotusXSL |
|
|
|
|
|
1.0 |
1.1 |
|
| Sécurité |
JAAS |
ServerSide Authenticator, SSOToken |
|
Certificat, LTPA Token |
Non |
|
|
|
|
1.0 |
LoginContext |
| Journalisation (log) |
JLA |
OLT |
|
|
Non |
1.0 |
Logger, Handler, Filter, Formatter |
| Gestion |
JMX |
|
|
WSCP |
|
|
|
|
|
|
|
|
|
|
|
| Clustering |
|
|
|
Affinité de session |
|
|
|
|
|
|
|
|
|
|
|
| Existant |
DB2 |
5 |
6 |
7 |
|
5=COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource,com.ibm.as400.access.AS400JDBCConnectionPoolDataSource,
com.ibm.db2.jdbc.app.DB2StdConnectionPoolDataSource;
6=COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource,
com.ibm.as400.access.AS400JDBCConnectionPoolDataSource, com.ibm.db2.jdbc.app.DB2StdConnectionPoolDataSource;
7=COM.ibm.db2.jdbc.DB2<b>XA</b>DataSource,com.ibm.as400.access.AS400JDBC<b>XA</b>DataSource,
com.ibm.db2.jdbc.app.DB2Std<b>XA</b>DataSource |
| Oracle |
|
|
|
|
|
|
|
|
|
|
|
|
|
7=oracle.jdbc.pool.OracleConnectionPoolDataSource;
8=oracle.jdbc.xa.client.Oracle<b>XA</b>DataSource |
| Merant |
|
|
|
|
|
|
|
|
|
|
|
|
|
com.merant.sequelink.jdbcx.datasource.SequeLinkDataSource (XA) (Sauf Linux) |
| Informix |
|
|
|
|
|
|
|
|
|
|
|
|
|
com.informix.jdbcx.IfxConnection PoolDataSource<br>
com.informix.jdbcx.Ifx<b>XA</b>DataSource
|
| InstantDB |
|
|
|
|
|
|
|
|
|
|
|
|
|
com.ibm.ejs.cm.portability.IDBConnectionPoolDataSource (Sauf pour base d'administration) |
| MS SQL Server |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Sybase |
|
|
|
|
|
|
|
|
|
|
|
|
|
11=com.sybase.jdbc2.jdbc.SybConnectionPoolDataSource, 12=com.sybase.jdbc2.jdbc.Syb<b>XA</b>DataSource
|
| Plate-forme |
J2SE |
1.1 |
1.2 |
1.3 |
1.4 |
1.5 |
|
| AIX |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Solaris |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| HP-UX |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Linux |
|
|
|
|
|
|
|
|
|
|
|
|
|
Red Hat, Caldera, zSeries |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Novell |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| OS/390 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| OS/400 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Windows |
|
|
|
|
|
|
|
|
|
|
|
|
|
NT, 2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Versions
-
Standard (Servlets/JSP uniquement)
- Avancée (Standard + EJB)
seule, ou en variante :
- Mono-serveur (pas de base d'administration)
- Développeur
- Entreprise (avancée + connecteurs)
- Technologie pour développeurs (préversion de la prochaine version)
Voir