IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

Transformer une ( assez grosse ) appli Delphi en mode Saas


Sujet :

Web & réseau Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Points : 87
    Points
    87
    Par défaut Transformer une ( assez grosse ) appli Delphi en mode Saas
    Bonjour

    j'ai une application Win32 fait avec Delphi 10.2, qui intègre des composants tiers.

    Environ 150 fichiers Pas, 80 dialogues... + quelques DLL.

    ( c'est WinRelais : http://www.typonrelais.com/index.php?page=winrelais )

    C'est donc un EXE généré par Delphi, et coté client, il s'éxécute sur Windows 7 à 11. OK.

    Comment faire fonctionner cette application en mode Saas, sur un serveur web donc.
    Et coté client, elle fonctionnerait donc dans un navigateur.

    J'ai trouvé sur le net : https://www.cybelesoft.com/fr/thinfi.../requirements/

    quelqu'un connait ?

    Autres pistes ?

    Merci. Pascal 07300

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    1 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1 790
    Points : 5 754
    Points
    5 754
    Par défaut
    Alors là, je voudrais pas te gâcher ton optimisme, mais franchement je doute que tu y arrives par une simple techno trouvée sur le web:

    1. Une application .exe est destinée à fonctionner sur Windows, cela n'a rien avoir avec une app fonctionnant via un navigateur web

    2. Une application .exe ne peut fonctionner que pour un utilisateur à l'instant T alors qu'une app pour navigateur accepte la connexion de plusieurs utilisateurs en même temps

    3. Il existait par le passé une petite possibilité si ton application utilisait ActiveX mais les dernières versions des navigateurs web ont supprimé cette possibilité pour des raisons de sécurité

    4. Le point 3 t'explique déjà un gros problème quand tu as une app qui tourne via un navigateur web. Les navigateurs sont fréquemment mis à jour et ils ne viennent pas te demander si cela reste compatible avec ton app!

    5. Et je ne parle même pas de tes composants tiers... Tu as certainement pas accès à leur code donc tu ne pourras même pas essayer de les adapater!


    Le seul truc qui pourrait fonctionner sans effort, c'est mettre ton exe sur un serveur windows et que ton client y accède comme un bureau à distance à partir de son poste de travail... Mais cela n'est pas vraiment du saas!!!

    Pour un vrai saas, tu refais le projet de zéro avec des techo faites pour le développement web et là, Delphi n'est pas vraiment le bon cheval...

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Si tu as un moteur métier complexe mais bien isolé, presque un MVC, peu de dépendance directe entre la DB et l'affichage avec une couche d'objet métier.

    tu peux le conserver en partie, transformer le noyau dans un service windows, exposé une API REST (voire même DataSnap)
    Evidemment, du Windows, le serveur ne sera pas donné qu'il soit hébergé dans ta société ou un cloud type Amazon
    Constuire l'API REST sera déjà un sacré travail, il faut penser à toutes les entrées sorties.

    Tu n'exposes pas ce Server sur le web, non non !
    Tu ajoutes un MiddleWare en PHP ou Python, peu importe, c'est ce Middleware qui va produire la partie Front soit HTML et JavaScript pour le navigateur.
    Là cela tourne sur du Apache, quelques serveurs Ubuntu feront l'affaire derrière un répartiteur de charge.

    Il te faut repenser les écrans, on affiche pas ni l'on ne propose pas de saisie de la même façon en Web qu'en Desktop, c'est plusieurs mois voire année de travail de créer le MiddleWare et le Front.

    Avant de lancer cela, il faudra voir ce qui est utile en Web et ce qui peu resté en Desktop, séparé par exemple les outils d'administrations, une partie du BackOffice pour n'exposer en Web qu'une petite partie de logiciel, tu migreras le reste dans au fil des itérations.




    Pour externaliser la partie Delphi sans REST, un ActiveX uniquement sur le serveur, partagé avec PHP permet aussi de créer une passerelle (expliqué ici ou là aussi), je l'ai exploité dans un cadre de scripting d'import \ export, le PHP étant le langage de script, il s'occupait d'une grande partie des traitements et utilisaient les quelques fonctions de l'OLE partagé mais je ne crois pas que monté un middleware soit une approche fiable.

    Tous les projets utilisant du DCOM ou COM+ pour les serveurs a fini par être migré vers REST (avec ou sans DataSnap)




    Si tu as tout le code mélangé dans le TForm, une faible isolation du code métier et du code d'affichage, repart de zéro !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    1 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1 790
    Points : 5 754
    Points
    5 754
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Si tu as un moteur métier complexe mais bien isolé, presque un MVC, peu de dépendance directe entre la DB et l'affichage avec une couche d'objet métier.

    ...

    Tous les projets utilisant du DCOM ou COM+ pour les serveurs a fini par être migré vers REST (avec ou sans DataSnap)!
    Donc pour résumer... Tu refais le projet de zéro

  5. #5
    Membre chevronné
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 931
    Points : 1 909
    Points
    1 909
    Par défaut
    Bonjour,

    Et pourquoi pas regarder du côté de TMS Web core (ou autres) ? Il y a eu des discussions à ce sujet et il est vrai que les solutions sont très dépendantes du projet :

    https://www.developpez.net/forums/d2...ns-navigateur/

    https://www.developpez.net/forums/d2...b-core-mormot/

    etc

  6. #6
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 127
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par Anselme45 Voir le message

    Le seul truc qui pourrait fonctionner sans effort, c'est mettre ton exe sur un serveur windows et que ton client y accède comme un bureau à distance à partir de son poste de travail... Mais cela n'est pas vraiment du saas!!!

    Pour un vrai saas, tu refais le projet de zéro avec des techo faites pour le développement web et là, Delphi n'est pas vraiment le bon cheval...
    Quelques éditeurs ne se génent pas trop pour appeler SAAS une simple exposition d'application à travers Citrix (Quadra de Cegid) ou même RDS
    Bruno Petit

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Points : 87
    Points
    87
    Par défaut
    Bonjour,

    Merci pour vos réponses détaillées.

    J’ai bien conscience que faire fonctionner le Exe sur un serveur, et utiliser rdp et/ou html5 pour le voir côté client, dans un navigateur, n’est pas du vrai SaaS...

    Je vais quand même tester la solution évoquée en local, pour voir, ça ne coûte rien...
    On verra après si on va plus loin, c’est à dire louer un serveur chez un hébergeur pro.

    Quand à ré écrire le logiciel, en séparant le front et le back, c’est non envisageable.
    Trop de code, trop de travail pour une rentabilité incertaine, et plus le courage ni l’envie de me lancer dans un tel projet.
    Je ne souhaite pas tout ré apprendre à 55 ans...

    Pascal , utilisateur du langage Pascal

Discussions similaires

  1. P-Box : Microsoft lance une solution ERP + CRM hébergée en mode SaaS en ligne
    Par Marc Lussac dans le forum Forum général Solutions d'entreprise
    Réponses: 0
    Dernier message: 18/12/2009, 04h47
  2. Réponses: 0
    Dernier message: 18/12/2009, 04h47
  3. Avec quoi créer une petite BDD ? [Appli Delphi 2007]
    Par pepito62 dans le forum Bases de données
    Réponses: 5
    Dernier message: 08/07/2008, 19h37
  4. [Débutant] Transformer une appli locale en servlet
    Par msquall dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/04/2005, 16h10
  5. Utilisateurs d'une appli delphi+paradox
    Par Jacques Deyrieux dans le forum Paradox
    Réponses: 2
    Dernier message: 11/12/2002, 18h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo