Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > AS/400
AS/400 Le Forum d'entraide sur IBM AS/400 - iSeries. RPG.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/01/2012, 08h29   #1
Invité de passage
 
Inscription : mars 2005
Messages : 50
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 50
Points : 2
Points : 2
Par défaut PHP ou VB.net (problème iseries)

Bonjour,

J'ai en charge de développer toute l’interface graphique d'une gestion commercial sous AS400 (on va conserver les tables de l'application existante). L'application est actuellement sous as400 et est utilisée par une centaine de personnes. Je réalise actuellement des tests pour choisir le bon langage de développement :

PHP :

[+] Très simple à déployer car il suffit d'installer une connection ODBC vers l'AS400. C'est d'ailleurs déjà fait car notre site internet interroge déjà l'AS400.
[+] De plus l'application serait disponible de partout pour tout le monde (commerciaux, deviseurs, administratif...).

[-] Par contre je risque de perdre énormément de temps lors de la conception de l'application en PHP à l'aquelle je dois rajouter du javascript et de l'ajax (jQuery).
[-]J'aurais beaucoup de données dans des tableaux et il n'existe pas l'equivalent des datagrid de VB.net en PHP.
[-]L’incompatibilité de certains navigateur web.

VB.net :
[+] Il est très rapide de développer l’interface graphique de l'application grâce aux multitude de conteneur (bouton, datagrid, aperçu d'impression...)
[+] Fiabilité de l'outil (framework)

[-] Pour les commerciaux il faudra leur redévellopper certaines appli en PHP car il utiliserons des tablettes (apple ou androide) dans les années à venir.
[-] Je me prend la tête depuis quelques jours pour déployer une application qui interroge seulement l'AS400. J'ai installer IBM.DB2Iseries.dll (dvd iseries 7.1), ça marche très bien en local. Mais dès que je déploie l'application (clickonce) sur un poste distants (il y en aura 100), ça ne marche pas car il faut aussi installer iseries sur les postes distants. Et ce que je peux alors installer l'application seulement sur le serveur dans un dossier partager, et que mes 100 utilisateurs lance la même application ? (et donc ne pas l'installer sur les postes distants ?). J'ai essayé d'utiliser db2connect (avec les dll de "db2 personnal" d'ibm, mais je n'arrive pas à interroger l'as400 (je crois que c'est juste pour interroger une base db2 installer sous linux ou windows).

Je me pose pas mal de question, et c'est assez cruciale. Si vous avez des retours d'expériences je serais intéressé car je ne dois pas me tromper (il en a pour au moins 2 ans de développement).

Merci de votre aide.
le_binr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 09h34   #2
Membre habitué
 
Homme
Analyste-Programmeur as/400 et Java
Inscription : août 2002
Messages : 106
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

Informations professionnelles :
Activité : Analyste-Programmeur as/400 et Java
Secteur : Finance

Informations forums :
Inscription : août 2002
Messages : 106
Points : 128
Points : 128
Et développer l'application en java ?

Larry57
larry57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 16h23   #3
Membre régulier
 
Inscription : octobre 2006
Messages : 114
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 114
Points : 95
Points : 95
Bonjour,
Alors, voici des éléments (selon mon point de vue, d'autres verront peut être cela de manière différente) pour étayer ta réflexion, je me garderais bien de te conseiller l'un ou l'autre des langages.

Sur Php d'abord.
+ Le langage Php a vraiment une vocation universelle, et on peut réutiliser facilement les applications même quand on change de base. Ce n'est pas négligeable.
+ Le nombre de modules disponibles pour Php, et gratuits, est tout bonnement astronomique. On fait souvent ses emplettes en récupérant classes et modules tous faits.
+ Ce langage est tellement utilisé que trouver un autre développeur en cas de besoin est une chose très facile.
+ Pas de déploiement client nécessaire.
- Php a les inconvénients de ses qualités. La gestion de l'historique des pages Web peut poser pas mal de soucis de développement.
- La vitesse n'est pas toujours son point fort.
- La fiabilité n'est pas toujours au rendez-vous. Le nombre de failles découvertes chaque jour, rend parfois l'utilisation distante un poil dangereuse, il faut vraiment être très attentif à la sécurité.
- Les impressions : pas toujours la joie, et pas forcément aisé à développer.
Remarque: utiliser ODBC pour accéder à la base DB2 tient presque de l'hérésie aujourd'hui puisque le Zend Server est disponible sur les systèmes i (à partir de la V5R4 si je ne me trompe pas, avant il y avait Zend Core), et qu'on a directement accès à la base DB2 avec les commandes "spécifiques" (db2_connect, db2_exec, db2_fetch_row, etc...).
Remarque: Tant que tes postes clients utilisent des navigateurs récents, aucun soucis (Firefox 8 et >, IE 9, Safari 5, Opera 11 testés avec succès sur MacOsX, Linux et Windows sauf IE bien entendu).

Sur VB .net :
+ Effectivement l'interface graphique sera plus riche, plus gérable, et ceci aisément.
+ Pas de problème de gestion d'historique de navigation, toute l'interface étant gérée par programme.
+ La stabilité/fiabilité est supérieure à Php.
+ La vitesse de l'interface.
+ La sécurisation sera plus aisée.
+ Les impressions : aisé à développer. Disponibilité d'outils de reporting très puissants.
- L'application sera plus "fermée". Mais ce peut être une qualité pour ce qui est de la sécurité.
- Nécessité d'une ligne (avec un tunnel, grandement recommandé) plus rapide pour les accès distants. En effet le traitement des données se faisant en partie sur le client, toute interaction entrainera un traffic de données. La bande passante utilisée sera supérieure.
- La vitesse des accès BD. Ils seront traités en partie sur le serveur et en partie sur le client... De plus ODBC (ou ADO) ne sont pas des foudres de guerre.
- Déploiement au moins minimum, à faire sur chaque poste, avec les maintenances associées.
- Sécurité : Chaque poste attaquant lui même la BD, si le poste est "piloté", il est à même d'endommager la BD. En Php les données étant gérées par le code au niveau du serveur celà est bien moins évident pour une personne mal intentionnée.

Voilà, j'en oublie certainement, et mon avis n'est peut être pas entièrement neutre. Mais j'utilise les 2 langages. Selon l'utilisation, j'ai trouvé plus simple d'avoir une application autonome pour les statistiques (développée en VB), et au contraire pour tout ce qui est sensible et met à jour la BD, je suis passé par une interface web et Php (+CGIDEV2 pour certains modules).
m4k-Hurrican est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 09h02   #4
Invité de passage
 
Inscription : mars 2005
Messages : 50
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 50
Points : 2
Points : 2
Bonjour,

Merci pour vos réponses.

Je ne connais pas le JAVA, mais je suis prêt à m'y mettre si c'est la bonne solution ;-) Par contre je n'ai pas assez de recule pour savoir si il s'agit bien de la solution adéquat. Quand tu parles de java, c'est en full web, ou une application installé sur les machines ? C'est du "j2ee", c'est ca ?

Merci pour ta réponse détaillé m4k-Hurrican. Il y a des avantages et des inconvenants en VB.net et en PHP. Et aucun langage ne se détache du lot (d'où la difficulté d'en choisir un). Je ne connais pas du tout "Zend Server", ça s'installe sur l'as400 ?

En VB.net j'utilise la connection Iseries Access (et pas ODBC) avec la dll "IBM.Data.DB2.iSeries.dll" qui pose un problème quand on l'a déploie sur des postes clients. En "bidouilant" j'ai résussi à me connecter depuis un poste client sous seven en copiant toutes les dll d'iseries installés sur le serveur, à la racine de mon programme (sur le poste client). Mais ça ne marche pas sous windows XP. C'est étonnant quand même car pour se connecter à une base SQL server il suffit d'une seul dll à la racine du programme et c'est tout. Je vais continuer à faire des recherche avec VB.net car je vais gagner du temps lors du dévelopement (contrairement au PHP).

J'ai regarder aussi avec db2connect qui s'installe avec DB2 personnel ou express du site d'IBM. Mais j'arrive pas à me connecter après plusieurs recherches sur le net, certains disent que ce n'est pas compatible avec un as400 (seulement avec une base db2 installé sous linux ou windows) et d'autres disent que c'est compatible avec un as400.

Si mon application se trouve sur un serveur windows avec une connection ODBC, je peux lancer le (même) programme depuis n'importe quel PC (à partir du moment ou le dossier sur le serveur est bien partagé. techniquement ça marche, mais ça risque de coincer quand il y aura mes 100 utilisateurs de connectés ensemble. Je pense qu'il vaut mieux déployer le programme sur les postes clients.

Je vais continuer mes recherche. Merci de votre aide ;-)
le_binr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 11h26   #5
Membre régulier
 
Inscription : octobre 2006
Messages : 114
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 114
Points : 95
Points : 95
Quand tu installes un iSeries Access sur ton PC, n'oublies pas d'installer le kit de développement... Il y a des outils pour VB. A la base pour VB6, mais çà n'est absolument pas un problème.
Et tu auras alors tout ce qu'il faut pour te connecter et accéder aux bases du serveur sans soucis.

Zend Server, est un serveur Php performant, c'est même LE serveur Php, il est disponible pour systèmes i, avec tout ce qu'il faut pour fonctionner de manière gratuite, et un peu plus de manière payante (Zend Studio).
m4k-Hurrican est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h26.


 
 
 
 
Partenaires

Hébergement Web