Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 31-07-2013 13:08:55

stef  
Membre Geek
Date d'inscription: 12-09-2006
Messages: 62
Pépites: 340
Banque: 0

execution d'un évènement avec déclencheur externe

Bonjour,

Je travaille sur une appli de gestion commerciale codée sous pb 10.5
Nous souhaitons ouvrir automatiquement une fiche client lorsqu'un client nous appelle depuis un n° de portable présent dans notre BDD.
Sur une autre appli qui est une appli web, un programme en python est executé sur le poste client et interprète les données reçue d'Asterisk la téléphonie lors d'un appel entrant et il exécute une requête http qui permet d'accéder aux données du client.
Pour ce qui est de l'appli Powerbuilder, déployée sous citrix c'est plus compliqué. Il faudrait pouvoir appeler une fonction ou un évènement powerbuilder depuis le serveur sur la session ouverte de l'utilisateur qui reçoit l'appel.
Je réfléchis aux possibilité mais en attendant d'avoir une piste concrète je me permets de vous poser la question :
- avez-vous déjà été confronté à ce type de problématique ?
- est ce possible avec soap sous pb ?
- avez-vous une idée pour pouvoir faire ce type de développement ?

Merci

Bonne fin de journée

Hors ligne

 

#2 31-07-2013 13:37:39

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: execution d'un évènement avec déclencheur externe

Salut,

pour arriver à déclencher qqchose dans une appli PB ouverte depuis une autre appli tu as plusieurs possibilités.

tu peux par exemple faire en sorte que ton appli PB surveille/lise en boucle le contenu d'un dossier/d'un fichier/d'une table en DB et réagir quand il y a une modification à cet endroit (exemple l'appli Python  créerait une ligne dans une DB avec le n° de tel appelant et PB détecte cette ligne et récup le n°

tu peux aussi utiliser la fonction windows SendMessage (Send dans PB) pour communiquer d'une appli à l'autre.
(exemple en PB 6.5)

Paramètres pour Send :
    handle:          handle of target application.
    #message      1023 + XX, where XX is the number of a pbm_customXX message.
    longword       a optional long parameter
    long                a optional long parameter. You can't send string as long in this case.



Par contre si je me base sur mon expérience le fait que l'appli soit sous citrix  ça va pas faciliter du tout les choses..


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#3 31-07-2013 14:17:15

stef  
Membre Geek
Date d'inscription: 12-09-2006
Messages: 62
Pépites: 340
Banque: 0

Re: execution d'un évènement avec déclencheur externe

Merci effectivement la problématique se trouve sur la partie citrix et pour les accès fichier et les lecture de base, ça peut pas mal ralentir l'appli de faire des select ou des accès disque tout le temps. Compte tenu de la rapidité nécessaire ( lorsque l'appel arrive il ne doit pas y avoir plusieurs minutes pour l'ouverture de la fiche ) ça fait beaucoup de requêtes inutiles c'est pourquoi je me demande s'il n'y a pas un moyen d'éviter le timer et de lancer ça à la demande uniquement.
De plus il faut pouvoir identifier la session citrix à impacter.
On pourrait éventuellement faire une appli indépendante qui lit la BDD par exemple pour éviter de trop alourdir l'appli de gestion commerciale. Ensuite il faudrait identifier le handle de la fenêtre de la bonne session dans mon appli de gestion commerciale et c'est ça que j'ai du mal à mettre en application. Dans la doc de la méthode Send ils disent bien qu'on peut passer le handle d'une fenêtre qui appartient à une autre application mais aucun exemple pour ce cas.
Avez vous une piste ? Merci pour la réponse

Hors ligne

 

#4 31-07-2013 14:28:58

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: execution d'un évènement avec déclencheur externe

allez je te donne encore indice : télécharger le lien de l'exemple PB6.5 que j'ai posté dans mon précédent message, migrer tout ça dans ta version de PB  ce qui ne devrait pas poser de problème puisque moi je migre ça en 12 sans soucis. Et pour finir tu examines le code et tu trouveras tout ce qu'il te faut dedans. (sauf passer outre citrix, ça j'ai bien dit dès le départ que ça foutrait le bordel)


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#5 31-07-2013 14:36:13

stef  
Membre Geek
Date d'inscription: 12-09-2006
Messages: 62
Pépites: 340
Banque: 0

Re: execution d'un évènement avec déclencheur externe

Oups... Excuses moi j'avais pas vu que c'était un lien, je l'ai pris pour un titre en bleu souligné.
Merci bcp

Hors ligne

 

#6 31-07-2013 15:16:54

stef  
Membre Geek
Date d'inscription: 12-09-2006
Messages: 62
Pépites: 340
Banque: 0

Re: execution d'un évènement avec déclencheur externe

A priori ça a l'air pas mal comme solution. Pour ce qui est de citrix ça va aller si je lance une appli qui écoute dans la session citrix de mon utilisateur.
Je vous tiendrait informés des tests il faut ce qu'il en est en terme de performance.

Hors ligne

 

#7 31-07-2013 15:30:28

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: execution d'un évènement avec déclencheur externe

stef a écrit:

Oups... Excuses moi j'avais pas vu que c'était un lien, je l'ai pris pour un titre en bleu souligné.
Merci bcp

Ha d'accord lol, ça me rassures en un sens
et oui si tu sais lancer l'appli "listener" sur la même session citrix ça va te faciliter les choses.

Bon courage pour la suite


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22