AS/400 et serveur WEB
L'AS/400 vous propose depuis la V3R70 deux fonctions indispensables pour en
faire un serveur WEB :
- SMTP/POP3
L'AS/400, serveur de messagerie Internet.
Vous parametrez vos utilisateurs afin d'indiquer leur e-mail

Par Operation navigator ou par la commande WRKDIRE
SMTP : les utilisateurs sont enregistrés dans le répertoire système avec
les paramètres SMTP suivants :
Modification d'un poste du répertoire
ID util et adresse . . : AF400CM AF400CM
Indiquez vos modifications, puis appuyez sur ENTREE.
Niveau de service de
messagerie . . . . . 2 <-- 1=Index utilisateur
2=Messagerie système
3=Autre service de
.../... messagerie
Adresse de prédilection 3 <-- 1=ID util et adresse
2=Nom d'O/R
3=Nom SMTP
4=Autre adresse
Type d'adresse MIME <-- F4=Liste ...
.../...
|
Vous utilisez comme client de messagerie, OUTLOOK, NETSCAPE, EUDORA, ....
Vos pages HTML sont stockées dans l'arborescence IFS (gérée
par WRKLNK) ou dans des fichiers sources (plus lents)
la configuration est lancée par WRKHTTPCFG
Work with HTTP Configuration
Système : SYSTEM
Type options, press Enter.
1=Add 2=Change 3=Copy 4=Remove 5=Display 13=Insert
Sequence
Opt Number Entry
__ _____ ____________________________________________________________
__ 00010 # Set this to point to the directory where you unpacked the
__ 00020 #
__ 00030
__ 00040 #
__ 00050 # The default port for HTTP is 80; if you are not root you
__ 00060 Port 80
__ 00070 Redirect http://my400/QDLS/mypage.html http://your400/Q
__ 00080
__ 00090 Map MYDOC QUSRSYS/MYDIR/MYFILE/MYDOC.HTML
__ 00100 Map doclist QDLS/Homedir/document/list.html
__ 00110 Map newdoc QDLS/Homedir/document/Newdocs/doc.html
Bottom
F3=Exit F5=Refresh F6=Print list F12=Cancel F17=Top F18=Bottom
F19=Edit Sequence
|
Ou par administration graphique :

il faut démarrer le serveur d'administration par STRTCPSVR
*HTTP *ADMIN (il utilise le port 2001)
Configuration :
Il s'agit ici de DIRECTIVES données au serveur HTTP, selon le modèle du CERN
map permet d'entrer un nom abrégé dans une URL et de masquer l'arborescence réelle :
map /image/* /QDLS/DOCUMENTS/IMAGE/*
indique que l'URL http://www.as400.com/image/photo.gif doit être remplacée
par http://www.as400.com/QDLS/DOCUMENTS/IMAGE/photo.gif.
[avec map on transforme l'URL et on continue l'analyse des paramètres]
pass autorise une partie de l'arborescence IFS à être utilisée par le
serveur HTTP.(supporte la même syntaxe que map):
pass /QDLS/DOCUMENTS/*
autorise le serveur HTTP à utiliser la branche /QDLS/DOCUMENTS.
[avec pass on transforme l'URL et on arrète l'analyse des paramètres]
|
exec
autorise le serveur à utiliser des programmes CGI :
exec /QSYS.LIB/MACGIBIB.LIB/*
welcome
définition de la page d'acceuil
welcome homepage.html
accesslog
définition d'un fichier historique
diraccess
Définit la possibilité de lister le contenu d'un répertoire
on = oui .
off = non
selective = uniquement s'il y a un document nommé "wwwbrws"
|
Les versions 4 (410 à 4.40) ammènent :
- SSI ou serveur Side Include. Tous les fichiers d'extension .shtml (paramétrables)
peuvent contennir des odres de copie (include) à réaliser avant
de servir la page (référence à un bandeau standard en
haut de page, etc...)
peut-être utilisé aussi pour inclure la date du jour, etc...
(nombreuses directives)
- Listes de validation
Vous pouvez protéger certains répertoires par mot de passe (fenêtre
d'authentification)

cette authentification fait référence
- soit à un profil 400
- soit à un "profil web", il s'agit d'individus enregistrés
dans un objet "liste de validation" [CRTVLDL].

- Multihomming , Mulihosting & Instances
on peut "lancer" plusieurs versions du serveur WEB (ou instance)
.
une instance c'est un membre dans le fichier QATMHINSTC
portant le nom du serveur WEB et indiquant les paramètres,
particulièrement les coordonnées du fichier de config :
-r /QSYS.LIB/QUSRSYS.LIB/QATMHTTPC.FILE/VOLUBIS.MBR
une instance doit être unique sur le couple adresse-ip/port
plusieurs instances peuvent avoir le même fichier de config.
le fichier de config se gère par WRKHTTPCFG CFG(VOLUBIS)
là aussi le plus simple est d'utiliser l'administration du serveur WEB
|

pour lancer plusieurs serveurs, il faut le faire :
1/ sur plusieurs n° de port différents [différentes instances]
port 81
2/ sur plusieurs adresses IP (multihoming) [différentes instances]
- soit par hostname et bindspecific
hostname 192.168.1.1, puis
bindspecific on qui indique qu'on ne sert que cette adresse
- ou avec welcome [même instance]
welcome home.html 192.168.1.1
welcome index.htm 212.155.67.210
|
3/ sur plusieurs noms différents (virtual host, depuis V4R40)
[même instance]
- les directives supportant cette notion sont
map map /* /dir1/* www.volubis.fr
et
welcome welcome index.htm www.volubis.fr
4/ vous pouvez depuis la V4R40, héberger facilement des pages, par :
userdir directory
si vous recevez comme URL http://www.societe.fr/~toto
et que le profil toto existe, le serveur va rechercher le répertoire
par défaut de cet utilisateur (paramètre homedir), ajouter le
répertoire indiqué par userdir et retourner la page "welcome".
soit le profil "client" ayant HOMEDIR('/home/client')
et la directive userdir WWW
==> la page d'acceuil sera recherchée dans /home/client/WWW
|
et enfin, vous pouviez en version 5 et 6 :
- configurer des indexs de recherche sur vos pages HTML (moteur de recherche
intégré)
Cette fonctionnalité disparait en V7
- et utiliser des outils d'analyse de la fréquentation de votre site
(Web Usage Mining)

- Net.Data
Pages dynamiques sur AS/400.
pour construire des pages dynamiques (avec du contenu venant de fichiers DB2/400)
vous pouvez :

- Ecrire en CGI
C et GAP 4 savent utiliser CGI (C naturellement, GAP4 à l'aide d'APIs)
- vous devez lire STDIN, écrire votre résultat (flot HTML)
dans STDOUT
- il faut utiliser parfoit des variables d'environnement
- il faut gérer les retours chariots et autres bizareries
- Utiliser PERL5
Il existe une version freeware de Perl pour l'AS/400
- Ecrire en JAVA
il faut lancer des programmes JAVA sur l'AS/400 ou servlet (il faut
alors WebSphere en plus du serveur HTTP)
- vous devez maitriser JAVA et l'objet
- il faut générer un flot HTML résultat
- vous utilisez JDBC et SQL pour accèder à la base de données
- Net.DATA
C'est :
- un programme CGI écrit par IBM et livré avec TOUT Serveur
DB2/400
- c'est du Script comme ASP (Microsoft) CFM/ColdFusion (ALLAIRE) etc...
- c'est un langage à apprendre
- on peut appeller des programmes existants (GAP, COBOL, etc ) et lancer
des ordres SQL.

Vos scripts NetDATA sont stockés dans IFS (ou dans des fichiers sources),
vous utiliserez EDTF ou STRSEU.

Exemple de fonction intégrée à NetDATA (NetDATA en tant
que langage)

Intégration à DB2/400 (incorporation de n'importe quel ordre
SQL)
Aujourd'hui, de plus en plus, c'est le langage PHP (plus universel) installé avec les produits Zend qui tend à remplacer NetData qui reste quand même intégré à l'OS.
©AF400