Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1 2
Bonsoir à tous !
J'ai commencé a regarder sur le site de Sybase, mais je pose ici la question
histoire de savoir si quelqu'un a déjà été confronté à ce cas de figure.
Je souhaiterai migrer une application client/serveur en application web,
comment faire ?
Merci de vos réponses !
Hors ligne
Salut Doctor Z,
oui j'ai regardé un peu cet aspect de PB pour pouvoir développer un client web à une appli win32 existante. Je te conseille de faire les deux tutoriaux intéressants disponibles sur codexchange :
* EAStarter Kit - PowerBuilder to Web samples (http://easerver.codexchange.sybase.com/ … terKit.htm)
* Getting Started with EAServer, PowerBuilder and JSP (http://easerver.codexchange.sybase.com/ … readme.htm)
et de consulter la doc disponible sur le site Sybase (http://www.sybase.com/products/developm … toeaserver)
Sinon pour résumer, on peut retenir les règle principales suivantes :
Règle n°1 : tout le code dans des NVO. => cela peut amener à revoir toute l'appli : pas de code dans les fenêtres, dans les boutons, etc, tout encapsuler dans des nvo.
Règle n°2 : aucun contrôle visuel (window, bouton, uo...)
Règle n°3 : pas d'utilisation du type de variable ANY
Ce que j'ai fait avec tous mes nvos c'est de garder le code commun dans un objet ancêtre n_objet et d'en faire hériter deux descendants : n_objet_pb et n_objet_web pour y mettre respectivement le code spécifique à l'appli win32 et à l'appli web.
Ainsi dans n_objet_pb, on pourra faire référence aux contrôles visuels.
Pour la compilation de l'appli web, on sélectionnera donc tous les objets communs, les objets descendants web et les web DW s'il y en a. (les web DW marchent pas mal, voir tutorial)
NB1 : Sybase met à disposition une version développeur gratuite de EAS (http://www.sybase.com/easerver4dev)
NB2 : avoir une connaissance de base en JSP et HTML est souhaitable
NB3 : attention aux correspondances entre types de variables PB et Java, je me suis déjà cassé les dents... (http://pbadonf.fr/forum/viewtopic.php?id=236)
Bon courage.
Hors ligne
Salut eRaSorZ,
Merci pour ta réponse exhaustive ! Si j'ai bien compris, c'est loin d'être aussi
facile et aussi simple que je pensais ...
Dans mon projet beaucoup de code existe dans les fenêtres et j'ai pas mal
d'objets visuels ... J'ai l'impression que ça va être long et fastidieux ...
En tout cas, je vais faire les tutoriels que tu m'as indiqué, histoire de me
tenir au courant !
Qu'entends-tu par aucun contrôle visuel ?
Autre chose, as-tu entendu parler de Appeon ? C'est un outil Sybase qui
te fait automatiquement la conversion d'une appli client/serveur vers une
appli web.
Merci pour ta réponse.
Dernière modification par Doctor Z (11-01-2007 09:44:26)
Hors ligne
Doctor Z a écrit:
Qu'entends-tu par aucun contrôle visuel ?
Ben fenêtre, bouton, dropdown, listbox (d'où mon intéret soudain de récupérer une liste de fichiers sans listbox http://pbadonf.fr/forum/viewtopic.php?id=277 )
Doctor Z a écrit:
Autre chose, as-tu entendu parler de Appeon ?
Oui, mais j'ai pas testé...
Doctor Z a écrit:
fait automatiquement la conversion d'une appli client/serveur vers une appli web.
je suis un peu sceptique sur le "automatiquement"
à mon avis y'a pas mal de prérequis de codage
Hors ligne
Ça va te paraitre tout bête, mais comment feras-tu pour afficher un bouton
dans ta page web (une fois ton application migrée) ?
Qui dit automatique, dit que l'application a fait une partie du travail, le reste
c'est à toi de le faire, comme d'hab, quoi !
Hors ligne
Via le code HTML :
<input type="button" value="Entrer" onclick="fn_javascript()" /> ou <input type="submit" value="Enregistrer" />
Pour les pages de mises à jour de la base, je pense qu'il est possible d'embarquer un bouton dans une web DW et tu l'auras automatiquement dans ta page web.
En fait je n'utilise pas vraiment les web DW dans mon appli car ce n'est pas une appli de gestion avec les fonctions classiques Insérer, Modifier, Consulter pour gérer des enregistrements de la BDD.
Hors ligne
OK !
Je devrais donc utiliser les objets disponible avec le HTML ! En outre, je pense que j'utiliserai
les web datawindow pour la migration de mes datawindow.
Merci pour tes réponses !
Hors ligne
De rien.
C'est bien que qq'un se mette à PB/EAS sur le forum, plus on est de fous, plus on rit ...à débugger
Hors ligne
Je reviendrai te consulter si j'ai des difficultés !
Hors ligne
Bonjour à tous,
Il y a environ un an, ma société a fait venir un consultant de Sybase pendant une semaine pour nous montrer comment "migrer" une application PB Windows en application Web (client léger).
J'ai préparé une petite application de quelques écrans pour la démonstration. L'expert de Sybase ne regardait même pas cette application, il disait qu'il n' y avait pas de "migration" possible. Les deux technologies sont différentes, on ne migre pas une application en COBOL sous Windows comme on ne migre pas une application Windows en Web (sa parole).
Il a créé une nouvelle application Web de a à z ! seuls les NVO sont récupérables. Les objets pour le serveur EAServer sont spécifiques, oubliez les objets Windows.
Dans cette petite application, on a recourru à du JavaScript, PB, Java, JSP et le serveur EAServer de Sybase ! Personnellement, je ne vois pas qu'est ce qu'on y gagne ? en temps de développement ? surement pas, il faut trouver un développeur qui connaissent tous ces langages !
J'ai abandonné l'idée de faire du Web avec PB dans mon travail (on a choisi Java) mais une question me trotte toujours dans la tête, sommes-nous bien guidé ? Alors, une rubrique dans ce forum pour apprendre à faire du Web avec PB est bienvenue. Je l'attends avec impatience.
Qui ouvre le feu en premier ?
Hors ligne
Bonjour à tous,
L'expert de Sybase ne regardait même pas cette application, il disait qu'il n' y avait pas de "migration" possible.
Apparemment il y a Appeon qui "sait" faire ça. Peut-être que ça n'existait pas à l'époque ou que c'était une stratégie commerciale de la part du gars de ne pas en parler (??)
J'ai regardé un peu la démo et il semblerait que cet outil convertisse également les menus et les fenêtres PB.
Sans vouloir m'avancer ça m'a l'air un peu d'être une sacrée usine à gaz quand même.
Pour les DW à mon avis ça marche bien mais on n'a pas besoin d'Appeon pour ça.
seuls les NVO sont récupérables
Oui donc si tu as déjà 90% du code de ton appli PB dans les NVOs ben tu récupères... 90%.
Dans cette petite application, on a recourru à du JavaScript, PB, Java, JSP et le serveur EAServer de Sybase !
Effectivement il faut connaître un minimum de HTML, JavaScript et JSP. Mais je ne vois pas trop comment développer une appli web sans connaître ces languages...
je ne vois pas qu'est ce qu'on y gagne ? en temps de développement ?
C'est clair que je ne vais pas conseiller PB+EAS pour développer une appli web de zéro. Par contre si l'appli PB équivalente existe déjà, je pense que ça vaut quand même le coup.
Alors, une rubrique dans ce forum pour apprendre à faire du Web avec PB est bienvenue.
Oui ! Qui s'y colle ?
Hors ligne
Salut,
Oui donc si tu as déjà 90% du code de ton appli PB dans les NVOs ben tu récupères... 90%.
Hélas, beaucoup de règles de gestion concernent les champs de saisie à l'écran et l'interface graphique, même si on arrive à les mettre dans les NVO, ces scripts seront devenu obsolètes avec les écrans Web.
Effectivement il faut connaître un minimum de HTML, JavaScript et JSP. Mais je ne vois pas trop comment développer une appli web sans connaître ces languages...
J'étais naif, je pensais que le "miracle" PB permet de s'affranchir de la maîtrise de tous ces langages. Vu tous les démo que j'ai assisté: on développe en PB, on "glisse" les objets sur le serveur EAserver et le tour est joué !
Hors ligne
J'étais naif, je pensais que le "miracle" PB permet de s'affranchir de la maîtrise de tous ces langages. Vu tous les démo que j'ai assisté: on développe en PB, on "glisse" les objets sur le serveur EAserver et le tour est joué !
C'est ce que Appeon est censé produire... (?)
Dommage j'ai pas trop le temps en ce moment, mais j'essayerai quand même d'y jeter un coup d'oeil à l'occase, histoire de voir si c'est de la poudre aux yeux ou si c'est vraiment puissant
Hors ligne
Sinon y'a aussi le PBWF = PowerBuilder Web Framework, dispo sur codexchange
Hors ligne
eRaSorZ a écrit:
Sinon y'a aussi le PBWF = PowerBuilder Web Framework, dispo sur codexchange
Salut,
Ça pourrait m'intéresser ! Tu peux nous en dire davantage ?
Merci.
Hors ligne
Il s'agit d'un framework avec les fonctionnalités de base d'une appli de gestion : recherche, liste, édition, création + génération de reports en pdf
lien : https://powerbuilder.codexchange.sybase … 0/PBWF.zip
voici le début de la FAQ :
Q: What is PowerBuilder Web Framework
A: PowerBuilder Web Framework (PBWF) is a J2EE Web application development framework. It provide a rich foundation to leap start an internet web application; with tight integration with PowerBuilder datawindows and components.
Q: How does PBWF help traditional 2-tiers PowerBuilder application migrates to the web?
A: There are a lot of differences between building a web application and a client-server window application. For web application, security, page authentication, page flow control, http session management has to be addressed; all these were lacking from the traditional 2-tiers PB application.
PBWF provides these foundation for newly development web application, plus the ability to integration existing PowerBuilder non-visual object (NVO), and reuse existing datawindow objects. In addition, with PowerBuilder Servlet technology, PBWF allows PowerBuilder developers to develop Servlets to be used in JSP.
Q: How much can be retained from the old PB application, and how much need to be rewritten when using PBWF?
A: All datawindow objects may be retained to be used as data entry web pages or internet PDF report in PBWF. XForm uses Datawindow as logic tier and column name can be reused.
Window object/control could be rewritten using JSP, Javascript, HTML or PowerBuilder Servlets.
...
Hors ligne
Merci pour l'info.
Je vais de ce pas poster ton lien de téléchargement dans la section idoine
si ce n'est pas encore fait.
Hors ligne
eRaSorZ a écrit:
Sinon y'a aussi le PBWF = PowerBuilder Web Framework, dispo sur codexchange
bon, alors quelqu'un m'a dit (considérez ça plutôt comme une rumeur, mais bon) que PBWF est EAF qui a été développé par Cynergy Sytems.
Ils ont un livre blanc : http://www.cynergysystems.com/whitepapers/pbwebeaf.pdf
Voir aussi http://www.cynergysystems.com/howwedoit … logies.jsp
Hors ligne
Bonjour,
Je me posais une question : lorsque PB11 sera sorti, sera-t-il possible de
faire la chose suivante (en considérant une migration client/serveur vers
web) :
- migration du code PB 6.5.1 vers 10.2.1 (ce que je fais actuellement)
- migration du code PB 10.2.1 vers 11
- migration du code PB 11 en .NET
- migration du .NET en code web
Croyez-vous que ça sera possible ? Je pose la question car l'on
pourra alors s'affranchir de EAS qui, d'après vos dires, ressemble très
fortement à une usine à gaz ...
Qu'en penses-vous ?
Hors ligne
Une fois n'est pas coutume, un petit up histoire de ...
Hors ligne
Doctor Z a écrit:
...s'affranchir de EAS qui, d'après vos dires, ressemble très
fortement à une usine à gaz ...
J'espère que ce n'est pas à cause de ce que j'ai dit, que tu pense ça ? Les déboires que j'ai raconté datent de 2000/2001. Le produit a gagné en stabilité depuis lors.
- migration du code PB 6.5.1 vers 10.2.1 (ce que je fais actuellement)
- migration du code PB 10.2.1 vers 11
- migration du code PB 11 en .NET
Oui c'est possible, tu pourrai même griller l'étape 10.2.1
- migration du .NET en code web
Euh comment te dire ?
Le truc c'est que même en .net ou en Java, une application client/serveur est une application client/serveur et tu ne migreras pas plus facilement en appli web que si c'était du PB.
Il y a quelque chose auquel tu ne peut pas échapper qui est : "migrer les règles de gestion vers des objets non visuel" comme le disaient PB2 et eRaSorZ.
Par contre, EAS te permet de conserver tes objets datawindow
Enfin, avec PB tu n'es plus obligé de choisir EAS. Lire PowerBuilder Application Server Plugin (PASP)
Dernière modification par shahin (23-01-2007 22:00:29)
Hors ligne
shahin a écrit:
Doctor Z a écrit:
...s'affranchir de EAS qui, d'après vos dires, ressemble très
fortement à une usine à gaz ...J'espère que ce n'est pas à cause de ce que j'ai dit, que tu pense ça ? Les déboires que j'ai raconté datent de 2000/2001. Le produit a gagné en stabilité depuis lors.
Pour ma part, je n'ai jamais suivi un serveur EAS en prod, donc je ne m'avancerai pas non plus sur sa fiabilité.
Ma raison de m'affranchir d'EAS serait plutôt d'ordre financière...
Cela dit il faudra quand même s'acquitter du prix du PowerBuilder Application Server Plugin.
shahin a écrit:
Il y a quelque chose auquel tu ne peut pas échapper qui est : "migrer les règles de gestion vers des objets non visuel" comme le disaient PB2 et eRaSorZ.
PB2 a écrit:
Hélas, beaucoup de règles de gestion concernent les champs de saisie à l'écran et l'interface graphique, même si on arrive à les mettre dans les NVO, ces scripts seront devenu obsolètes avec les écrans Web.
Ca n'est pas forcément de la folie pure de remanier un peu le code en faisant un contrôleur non visuel commun dont pourront hériter un controleur spécifique PB et un controleur spécifique Web.
Exemple simpliste : pour les champs de saisie, le controleur spécifique PB serait chargé de récupérer les valeurs des DW, le controleur spécifique Web les valeurs postés et le controleur commun effectuerait les validations.
Ca vous semble réaliste, ou bien ?
Hors ligne
Bonjour à tous !
Avant toute chose, merci pour vos réponses.
C'est dommage que cela demande autant de boulot pour migrer une application
client/serveur en application web (je ne crois plus au Père Noël ). Ce qui
m'ennuie surtout c'est le fait de devoir créer des objets non visuels pour y
mettre tout le code. Or, mon appli PB communique en permanence via un
protocole maison avec du code C sur un serveur Unix ...
Je ne suis pas sûr que je pourrai y gagner vu l'application et tout refaire
demanderai vraiment trop de travail ...
Je suis un peu dans une impasse ...
Hors ligne
Doctor Z a écrit:
Or, mon appli PB communique en permanence via un protocole maison avec du code C sur un serveur Unix ...
Donc une partie des règles de gestion est déjà située en dehors des objets visuels. Bonne chose.
Ce qui m'ennuie surtout c'est le fait de devoir créer des objets non visuels pour y mettre tout le code
Ctrl-A, Ctrl-C, Ctrl-Tab, Ctrl-V
Ctrl-A, Ctrl-C, Ctrl-Tab, Ctrl-V
Ctrl-A, Ctrl-C, Ctrl-Tab, Ctrl-V
...
quand t'en as marre tu peux faire aussi :
Ctrl-A, Ctrl-X, Ctrl-Tab, Ctrl-V
Ctrl-A, Ctrl-X, Ctrl-Tab, Ctrl-V
Ctrl-A, Ctrl-X, Ctrl-Tab, Ctrl-V
Ok, à ta place je ne le ferai pas non plus.
Je ne suis pas sûr que je pourrai y gagner
La question est : est-ce que l'entreprise pourra y gagner ? Si, oui prends un prestataire.
Hors ligne
shahin a écrit:
Doctor Z a écrit:
Or, mon appli PB communique en permanence via un protocole maison avec du code C sur un serveur Unix ...
Donc une partie des règles de gestion est déjà située en dehors des objets visuels. Bonne chose.
Ce qui m'ennuie surtout c'est le fait de devoir créer des objets non visuels pour y mettre tout le code
Ctrl-A, Ctrl-C, Ctrl-Tab, Ctrl-V
Ctrl-A, Ctrl-C, Ctrl-Tab, Ctrl-V
Ctrl-A, Ctrl-C, Ctrl-Tab, Ctrl-V
...
quand t'en as marre tu peux faire aussi :
Ctrl-A, Ctrl-X, Ctrl-Tab, Ctrl-V
Ctrl-A, Ctrl-X, Ctrl-Tab, Ctrl-V
Ctrl-A, Ctrl-X, Ctrl-Tab, Ctrl-V
Ok, à ta place je ne le ferai pas non plus.Je ne suis pas sûr que je pourrai y gagner
La question est : est-ce que l'entreprise pourra y gagner ? Si, oui prends un prestataire.
Oui, effectivement, une bonne partie des règles de gestion est extérieure à
l'appli PB.
Enfin sinon pour les copier et les coller, c'est pas très élégant comme méthode
mais si c'est la seule ...
L'entreprise peut y gagner ? Prend un presta ? Je suis le presta et on m'a poser
la question !
Hors ligne
Pages: 1 2