l'AS/400 propose maintenant deux serveurs WEB : IBM HTTP server et Apache.
Le but est de fournir au clients (Internet Explorer, Netscape, Opera etc...)
des pages HTML à afficher.
Le standard HTML est un langage SGML (comme UIM sur l'AS/400) qui est
interprété complétement par la navigateur sur le
poste client: par exemple voici un texte en <b>GRAS</b> dont une partie est <font
color="#FF0000"> s'affiche : voici un texte en GRAS dont une partie est
rouge |
Très vite il a fallut insérer dans ces pages HTML des données
entreprise (commandes en attente, stock disponible etc...).
Pour cela la norme initiale fut CGI, qui permet l'appel d'un programme sur le
serveur, chargé de générer du HTML en réponse. La
technique est assez rugueuse mais cela fonction (sur l'AS/400 avec des programmes
C ou RPG).
Pour Utiliser CGI en RPG, vous disposez des API suivantes (GAP4 Uniquement)
|
Pour alléger l'écriture de pgm CGI, la plupart des plates-formes
proposent des langages de script ou l'on mélange dans un fichier texte,
du HTML, du code (propriétaire) et des ordres d'accès à
la base.
Le fournisseur proposant un pgm CGI déjà écrit traitant
ces fichiers en fournissant au navigateur la page HTML après avoir remplacé
les ordres d'accès aux données par les données elle même.
Cela s'appelle PHP dans le monde linux (souvent associé à la base MYSQL), ASP pour Microsoft (avec IIS) et Net.Data avec les bases DB2 chez IBM.
Net.Data est basé sur la notion de section, une section représenatnt
soit un page HTML Exemple :
Affiche la liste des 50 premieres appellations vinicoles, trièes par nom.
|
Pour terminer, l'état de l'art est aujourd'hui de travailler dans une architecture N tiers, c'est à dire en découplant le serveur de traitement (les pgm souvent placés avec le serveur WEB) des données (pouvant être situées sur un serveur éloigné).
Cette technique est implémentée avec les serveurs d'application ou serveurs de servlet.
Il s'agit d'écrire des programmes JAVA s'exécutant sur le serveur
et non sur le poste client , le serveur d'application assurant le lien entre
le serveur WEB et la JVM (machine virtuelle java).Ces programmes java pouvant
être des classes autonomes (servlet) générant du HTML
ou contenus dans des pages JSP : pages HTML faisant références
à des objets externes [des beans].
Les pages JSP permettant d'intégrer du HTML (conçu par un graphiste)
et du code JAVA (écrit par un développeur) dans un même
fichier,
ce mélange étant reconnu par les principaux éditeurs :
Dreamweaver de Macromédia, IBM Websphere Studio, etc ....)
Aujourd'hui,
Le produit Webfacing permet d'exécuter vos applications RPG &
Cobol sur le Web.
Pour cela vos écrans 5250 sont transformés en pages JSP et les
servlets doivent être exécutées sur le serveur par un moteur
de servlets.
En attendant TOMCAT
(non disponible à la sortie de la V5R10) le seul moteur de servlet
possible est W.A.S 3.5.(ou Websphere version 3.5)
TOMCAT est arrivé en cours de version et peut faire fonctionner vos pages
JSP générées par WEBFACINC, voyez la configuration
Apache/Tocmcat
Il vous faut d'abord obtenir les CD de Websphere Application Serveur 3.5 Standard
Edition et l'installer,
(pour cela il faut lancer un SHELL par strsqh) et lancer la procédure
d'installation écrite en JAVA.
Cette dernière copie un savf sur votre AS/400 à partir du CD et
installe le produit.
puis le mettre à jour au niveau 3.5.4 avec les group PTF suivants :
ensuite il faut installer la console sur un poste Windows ou Unix et la mettre
au niveau 3.5.4
(les correctifs sont sur l'AS/400 dans le répertoire /QIBM/ProdData/WebASadv/temp)
le détail de l'installation de la version 3.5.4 est disponible sur le site de documentation IBM.
Ceci étant fait (OUF !!) il vous faut démarrer le serveur sur l'AS/400 par:
vous devez voir apparaître un job QEJBADMIN
consultez alors l'historique du travail jusqu'à voir le denier message :
et enfin, pour vérifier que tout marche bien, lancez la console Websphere
ce qui doit vous afficher :
Pendant ce temps, modifier la configuration de votre serveur WEB à l'aide de l'administration graphique :
ce qui doit générer cette série d'instructions :
(n'oubliez pas d'arrêter et de relancer votre serveur Web)
Cette première étape étant terminée, il nous faut maintenant nous attaquer à notre premier projet.
pour cela, lancez Webfacing et choisissez Webfacing Project
ensuite, après avoir indiqué une bibliothèque, sélectez un ou plusieurs membre source (DSPF)
l'étape d'après consiste à saisir la commande CL permettant de lancer le programme utilisant le DSPF en question.
Pour terminer cette étape, choisissez un style :
Voilà, c'est terminé.
il vous faut ensuite, exporter votre projet sous WAS (c'est à dire sur l'AS/400) par project/export
vous prendrez "file system"
et indiquerez l'emplacement permettant d'atteindre /QIBM/UserData/WebASAdv/default/host/default_host
sur l'AS/400
(ici Q: correspond à un partage Netserver de QIBM)
reprenez, pour continuer notre configuration, la console Websphere
et choisissez la tâche
Création d'une application Web
indiquez le nom de l'application (il faut cocher servlet servis par noms de classe )
indiquer ensuite l'instance Websphere (par défaut : Default Servlet Engine)
puis le chemin de l'application (forcement dans /QIBM/UserData/WebASAdv/default/host/default_host)
les chemins d'accès aux classes
la première ligne est affichée par défaut
il faut saisir la deuxième , qui est spécifique
à WebFacing
et démarrer cette application, depuis la console.
voilà, votre application Webfacing est prête !!!
A noter, la manip et la configuration sont rigoureusement identiques avec WAS 3.5 sur plateforme NT.
pour utiliser Webfacing
1/ vérifier que Webfacing est bien lancé par STRTCPSVR *WEBFACING
nous allons donc lancer RPG4I07 qui sur une session 5250 affiche ceci :
2/ lancez votre navigateur (INTERNET EXPLORER UNIQUEMENT !!!)
et saisissez comme URL :
on vous affiche la fenêtre suivante (qu'il faudra reprendre avec un éditeur HTML)
puis, quand vous lancez le programme : (temps de réponse en fonction de votre AS/400) :
et
vous utilisez des pages JSP, contenant des servlets qui dialoguent avec Webfacing, ce dernier lance votre programme dans QINTER avec une device fictive et dialogue via DTAQ.
le dialogue WAS / Webfacing se déroulant à base de sockets, ce qui explique que WAS puisse si facilement se trouver sur un serveur tiers (frontal).