> Tech > MVC sur l’iSeries

MVC sur l’iSeries

Tech - Par iTPro - Publié le 24 juin 2010
email

Les programmeurs iSeries, auxquels on demande souvent de modifier ou de changer des clients, doivent absolument comprendre le modèle MVC. Si nous construisons nos applications en l'utilisant il est très simple de remplacer une interface à  écran passif (green screen) par une interface de type navigateur basée sur WebSphere, parce

MVC sur l’iSeries

que nous n’avons pas besoin de changer
le code qui met en oeuvre le modèle
de gestion.
Les programmeurs iSeries prennent
déjà  un bon départ en séparant la
vue du modèle et du contrôleur. DDS
offre déjà  un langage séparé pour la
conception d’UI avec une interface
bien définie (un nom de format et un
buffer de données) vers un programme
contrôleur. Ainsi, le code UI
reste extérieur au programme RPG.
Mais les choses se compliquent quand
on mélange le code du modèle et du
contrôleur dans un programme.
Malheureusement, de nombreuses applications
iSeries sont encore
construites de la sorte.
Dans un environnement iSeries, le
code du contrôleur est la partie du programme
qui contient le fichier de la
station de travail, les opérations en format
exécution, et d’autres codes qui
manipulent l’UI. Cela inclut la définition
d’indicateurs, le chargement de
sous-fichiers, et le décodage de
touches de fonction et d’options. Le
code du modèle est la partie du programme
qui accède à  la base de données,
valide les données, calcule des
valeurs et maintient l’état des transactions.
Avec MVC, on sépare ces fonctions
dans des programmes différents
et on adopte une interface standard
entre le modèle et le contrôleur.
Si votre modèle est correctement
isolé, vous pouvez le réutiliser. En RPG
et Cobol, l’isolation du modèle se fait
en le mettant en oeuvre comme un ou
plusieurs programmes que l’on peut
appeler (ou activer par l’intermédiaire
d’une file d’attente de données) pour
effectuer les fonctions nécessaires. Ces
programmes ne contiennent pas de fichiers
de station de travail, donc ils
peuvent être activés dans des jobs interactifs
ou dans des jobs batch. Des
programmes classiques mettraient en
oeuvre des business objects (commandes,
clients, par exemple) ou des
transactions (mettre à  jour un journal,
par exemple).
En tant que programmeur iSeries,
vous pouvez définir une UI dans DDS
puis écrire un contrôleur chargé d’accoupler
le DDS avec le modèle de gestion
(business model). Tout aussi simplement,
vous pouvez créer un programme
client Windows dont la portion
contrôleur pourra invoquer les
opérations nécessaires sur le modèle
de gestion via ODBC ou toute autre
connexion. Ou bien, vous pouvez
concevoir une UI dans HTML et dans
des Java Server Pages et écrire le
contrôleur en Java pour qu’il s’exécute
sous WebSphere, en activant les fonctions
du modèle via JDBC ou un autre
connecteur.

Téléchargez gratuitement cette ressource

IBMi et Cloud : Table ronde Digitale

IBMi et Cloud : Table ronde Digitale

Comment faire évoluer son patrimoine IBMi en le rendant Cloud compatible ? Comment capitaliser sur des bases saines pour un avenir serein ? Faites le point et partagez l'expertise Hardis Group et IBM aux côtés de Florence Devambez, DSI d'Albingia.

Tech - Par iTPro - Publié le 24 juin 2010