Out of process engine (OpenInsight 32-Bit)
At 07 APR 2004 10:54:53AM Peter Bowyer wrote:
We are about to start on an integration project where we need to query and update Arev data using OI32 XML facilities. As part of this set up we need to get the out of process engine working so I am doing some investigations Several things have occured that lead me to believe that there are some problems with this set-up.
1. If we chose the TCP set up things run extremely slowly. So slow that I could almost type quicker than the data displays.
2. Using named pipes thing run acceptably fast.
BUT using either set up Popups return no data although switching to in-process returns correct data.
Is this a bug and what else should I check?
PS sorry this is so long winded but I'm getting tired and emotional!
At 07 APR 2004 11:10AM Peter Bowyer wrote:
Sorry forgot to say this OI7.0 XP Professional workstation and W2000 server
At 07 APR 2004 11:38AM Sean FitzSimons wrote:
Peter,
How are you calling the Popup? What function are you using?
Sean
At 07 APR 2004 12:03PM Peter Bowyer wrote:
Sean,
Just using Popup with a pre-defined popup entity as shown in this code example
declare function send_event, popupretval=popup(@window,'','PERSON')if retval thenx=set_property(CtrlEntId,'TEXT',retval)x=send_event(CtrlEntId,'LOSTFOCUS')end
At 07 APR 2004 12:41PM Donald Bakke wrote:
Peter,
I am uncertain how your question relates to an "out of process engine" as indicated in the subject header. Can you describe in more detail what you are doing?
dbakke@srpcs.com
At 07 APR 2004 02:40PM Enrique Murphy wrote:
I also posted a few day ago the same problem, but had no answers. I am also interested in this subject, because we are experiencing the same problems you say, that is:
When you connect to an engine already started in the server using TCP/IP, the performance is completely unacceptable.
When you connect to an oengine started in the server using Named Pipes, the performance is good.
Popup only shows the title of the Popup using an Out-of-process engine. I also tried the other way of starting a Popup, using the Repository function, but the results are the same.Enrique Murphy
At 08 APR 2004 03:38AM Peter Bowyer wrote:
We are running Oengine on the server and Oinsight on the workstation as described in the on-line help.
At 08 APR 2004 04:27AM Donald Bakke wrote:
Peter,
What does this configuration offer you that running OInsight from the server (with an in-process OEngine) doesn't? Are you trying to save on user licenses?
I sounds like you are running OI using the /SN parameter, which means you don't have any local in-process engines. Generally speaking, you should try to run your events through an in-process engine and make requests as needed of an out-of-process engine. Otherwise you will notice some speed problems.
dbakke@srpcs.com
At 08 APR 2004 08:35AM Peter Bowyer wrote:
The idea is that other applications, such as VB, can make requests to the engine. This application will be receiving enquiry and update request from a variety of sources, therefor it makes sense to have the engine available for these requests in a central place i.e. the server.
At 08 APR 2004 04:32PM Donald Bakke wrote:
Peter,
I'm not sure you have to use an out of process engine to do what you want. It might not be a bad way to go but keeping the engine in-process is certainly going to improve speed. I am pretty sure you can have a dedicated out of process engine available for VB and still have OI use the default in-process engine. This will give you the best of both worlds.
dbakke@srpcs.com
At 08 APR 2004 06:27PM Steve Smith wrote:
You can readily load an instance of the engine from VB and call a Basic+ program within OI. This instance can either be situated on the workstation drive or on the server drive. I have done this on many occasions from VB with OI on local drives or on the server.
Steve
steve@state-of-the-art.com.au
At 11 APR 2004 05:24AM [url=http://www.sprezzatura.com]The Sprezzatura Group[/url] wrote:
Enrique,
Popup only shows the title of the Popup using an Out-of-process engine. I also tried the other way of starting a Popup, using the Repository function, but the results are the same.
So you're using OpenInsight with the /SN switch pointing to an OpenEngine running on another machine (the server)?
If so then I think I know why Popup() won't work. The Popup function is a Basic+ routine that runs in the context of the OpenEngine instance that it is executed on. Thus when it makes Windows API calls (as the Popup function does) it will be making them in the context of the SERVER rather than the WORKSTATION which means that any handles etc it uses won't be valid and you'll get unpredictable results (well in this case we just don't see data.. :).
You really ought to run any User Interface routines (i.e. read as "OINSIGHT.EXE" :) on a local copy of OpenEngine and use Out of Process engines for pure back-end data-crunching only.
World leaders in all things RevSoft
At 12 APR 2004 12:59PM Enrique Murphy wrote:
Thanks, this clears out why Popup does not work with this settings. Now I will try to explain why I'm using client-to-out-process.
I've been using a Client-to-in-process to access an OI developer in the server from a workstation, and I agree with you that this should be logically the best way to run OI. The fact is that using this approach (a shortcut to the Oinsight.exe in the server just with the /DV=1 switch) I had bad experiences. The Form Designer crashed several times when saving (and compiling) different forms, leaving those forms incomplete after the crash. This is, I lost several events of the form, and had to recover the form from a backup. The crashes occurred without any recognizable pattern (at least for me).After those crashes, I started using a Client-to-out-process to run the OI in development mode, and never had a problem with the Form Designer again.Also to be said is the fact that in Runtime mode everything works OK, the problem seems to be just with the Form Designer.I didn't find any posting about this, so I kept using the client-to-out to develop. One additional fact that may be considered is that I am using everything in UTF8 mode.Enrique