[Openroad-users] IIW4GL_SENDUSEREVENT
Neil.Warnock at luminary.co.uk
Neil.Warnock at luminary.co.uk
Mon Nov 20 23:51:08 EST 2006
Kenneth Olsson did something v. similar in getting non-OpenROAD
clients to talk to OpenROAD clients bi-directionally. He presented this
at CA World a while back. His analogy of a Roll-On/Roll-Off ferry shipping goods
between two ports was, erm, very graphical! Can't find it on the interweb
though - CA seems to have taken it down. Suffice to say this is a proven approach:
Post to the AppServer's shared memory and receive a token;
Prod the other client with the token;
Other client retrieves the data from AppServer shared memory using the token.
You can adapt this do do <whatever>. Log messages, log data, fail on target client not being subscribed etc. I vaguely remember someone used something similar to develop a completely generic "event hub" that could pass data between different technology clients and different databases. Hardly guaranteed delivery nor two phase commit but...
Rgds,
Neil Warnock
Luminary Solutions
Tel: +44 (0)870 757 40 90
Mob: +44 (0)771 265 0291
Email: Neil.Warnock at luminary.co.uk
For more information on Luminary go to http://www.luminary.co.uk
-----Original Message-----
From: openroad-users-bounces at peerlessit.com [mailto:openroad-users-bounces at peerlessit.com] On Behalf Of Kim Ginnerup
Sent: 17 November 2006 14:48
To: International OpenROAD Users
Subject: Re: [Openroad-users] IIW4GL_SENDUSEREVENT
I did a test on the IIW4GL_SENDUSEREVENT.
I found that using the OpenROAD Server as a communication buffer between OpenROAD Clients was simple and very fast, especially when there is no SQL involved.
This way I used the external event as an alert to the client that something was waiting for ir in the Appserver. A little like a subscriber model.
Kim
-----Oprindelig meddelelse-----
Fra: openroad-users-bounces at peerlessit.com [mailto:openroad-users-bounces at peerlessit.com] På vegne af Richard M. Wright
Sendt: 17. november 2006 15:22
Til: International OpenROAD Users
Emne: Re: [Openroad-users] IIW4GL_SENDUSEREVENT
Hi Jim,
I am doing something similar to the files but with a DB Table - both images have sessions to same DB. I use the table to communicate event information due to limitation of IIW4GL_SENDUSEREVENT having message integer only.
I start the second image from the sender and then raise events for the second image It may well be that the second image is not ready to receive. I shall investigate waiting until the second image writes a 'ready to receive'
flag to the table and then raise the event.
Many thanks for your suggestion.
Regards
Rich
-----Original Message-----
From: openroad-users-bounces at peerlessit.com
[mailto:openroad-users-bounces at peerlessit.com] On Behalf Of Antill, Jim
Sent: 14 November 2006 09:36
To: International OpenROAD Users
Subject: Re: [Openroad-users] IIW4GL_SENDUSEREVENT
Rich,
We're using events here (using C code) to communicate between multiple OpenROAD applications. Haven't had any problems with events being dropped.
We're using OR4.0 on WinXP.
One problem we did have was ensuring that the sending application waited for the receiving application to fully start before trying to send events to it.
In the end we solved this by getting the receiving app to write to a file when it had finished setting itself up. The sending and receiving applications are started at the same time. The sending application monitors the file, looking for a message from the receiving app to say it's ready.
Only once this message has been detected does the sending app start to attempt sending events to the receiver.
In order to make the event handling a little more robust we also use a logfile. When the receiving app gets an event it writes a message to the logfile saying that the event has been received (each event is given a unique numerical ID so it can be identified). When the sender issues an event it monitors this logfile to ensure that the event has been received OK. If, after a predetermined period, no confirmation of the receipt of the event is in the log the event can either be sent again or the error reported.
It's not particularly elegant but it's simple and works pretty well.
Hope that helps.
Regards,
Jim
-----Original Message-----
From: openroad-users-bounces at peerlessit.com
[mailto:openroad-users-bounces at peerlessit.com]On Behalf Of Richard M.
Wright
Sent: 13 November 2006 18:01
To: International OpenROAD Users
Subject: [Openroad-users] IIW4GL_SENDUSEREVENT
*************************************
This e-mail has been received by the Revenue Internet e-mail service.
*************************************
OR 4.1 / XP
Hi,
I am trying to communicate with a separate image using events.
I am using IIW4GL_SENDUSEREVENT (in 3GL) to handle messages between the two. The first time I raise an event and use this method, the communication is hit or miss.
I am sure that the receiver has registered correctly for the event.
I have set up a loop to continually raise the event until I receive a successful return, this ranges from 1 (most of the time ) to many thousand times
Once I have successfully raised an event (and it has been received) then everything is fine for subsequent events.
Has anyone experienced something similar? And if so did you find a better solution than a loop to retry?
Many Thanks
Rich Wright
************************************************************************
This Internet E-mail is intended solely for the person to whom it is addressed. It may contain confidential or privileged information. If you have received it in error please notify us immediately by telephone and destroy the transmission. You must not copy, distribute or take any action in reliance on it.
Aerosystems International Phone: +44 (0)1935 443000
Fax : +44 (0)1935 443111
Web : www.aeroint.com
************************************************************************
_______________________________________________
Openroad-users mailing list Openroad-users at peerlessit.com
To unsubscribe please click on this link mailto:openroad-users-unsubscribe at peerlessit.com&subject=unsubscribe
To subscribe please click on this link
mailto:openroad-users-subscribe at peerlessit.com&subject=subscribe
************************
This message has been delivered to the Internet by the Revenue Internet e-mail service
*************************
_______________________________________________
Openroad-users mailing list Openroad-users at peerlessit.com
To unsubscribe please click on this link mailto:openroad-users-unsubscribe at peerlessit.com&subject=unsubscribe
To subscribe please click on this link
mailto:openroad-users-subscribe at peerlessit.com&subject=subscribe
************************************************************************
This Internet E-mail is intended solely for the person to whom it is addressed. It may contain confidential or privileged information. If you have received it in error please notify us immediately by telephone and destroy the transmission. You must not copy, distribute or take any action in reliance on it.
Aerosystems International Phone: +44 (0)1935 443000
Fax : +44 (0)1935 443111
Web : www.aeroint.com
************************************************************************
_______________________________________________
Openroad-users mailing list Openroad-users at peerlessit.com
To unsubscribe please click on this link mailto:openroad-users-unsubscribe at peerlessit.com&subject=unsubscribe
To subscribe please click on this link
mailto:openroad-users-subscribe at peerlessit.com&subject=subscribe
_______________________________________________
Openroad-users mailing list Openroad-users at peerlessit.com
To unsubscribe please click on this link mailto:openroad-users-unsubscribe at peerlessit.com&subject=unsubscribe
To subscribe please click on this link
mailto:openroad-users-subscribe at peerlessit.com&subject=subscribe
More information about the Openroad-users
mailing list