Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
OLE Automation Server serving multiple clients
Message
From
06/04/1997 15:37:37
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Client/server
Title:
OLE Automation Server serving multiple clients
Miscellaneous
Thread ID:
00027206
Message ID:
00027206
Views:
108
I apologize in advance for the length of this message.

Researching OLE is like pulling hen's teeth - any that exists seems to be for extinct versions.

However, some DevCon session (don't know which) notes titled "BKO01 Building 3-Tier Client-Server Applications with Visual FoxPro" by Robert Green (now the VFP Product Manager) *does* confirm a coupla things.

Most relevant to me is the fact that a VFP OLE Server *CAN* be set up to serve MULTIPLE clients. That is to say, a VFP OLE Server will handle multiple simultaneous invokations.
This is initially specified by selecting "Multi Use" in "Instancing" in the Servers page of the project information. Proper Registry entry building is also required, both on the actual Server machine and on each of the Client machines from where the Server may be invoked.

However, that aspect of the discussion essentially ends there, the balance outlining construction of the Server and its interactions with SQL-Server (tier #3).
All of that discussion is in terms of a single client.

What I need to know is the behaviour (designed or expected) of the VFP OLE Server *WHEN MULTIPLE CLIENTS SIMULTANEOUSLY "ASK" IT FOR SERVICES*.
For instance, let the "average" server request in the scheme involve reasonably complex table accesses - say 5 tables in all, where in some cases the content of one table is used to determine which record to access in the next. Clearly, such processing will result in:
1) fairly lengthy processing for any single client request;
2) frequent 'wait states' during that lengthy processing (waiting for disk I/O and evaluating before performing next disk I/O).

Now, let client "A" make a request to the server.
While it is processing on behalf of client "A", let client "B" make a request to the server.
At his point we have client "A"s request, which is , say 3/5 done and client "B" which is only starting.
Then let client "C" make a request of the server, so that we now have client "A" 4/5 done, client "B" 2/5 done and client "C" just starting.

For simplicity let us assume that *all* 3 request were for the same services BUT for different records (keys) which, of course, are specified by properties.

Q1: What happens to the properties once client "B"s request has arrived?
- Do they get kept separately from client "A"s, or do they overlay client "A"s?

Q2: IF they are kept separate, is this a OLE service or is this something which must be done in the VFP code?

Q3: IF they overlay client "A"s, then HOW can client "A"s request ever be successfully fulfilled (if the properties change mid-stream they would likely change the processing)?

Q4: Is there some other mechanism which lets the processing proceed correctly, and if so, what is it??

Q5: Given that the VFP OLE Server will serve several clients, how does one prevent it from disappearing during times of inactivity (clients still active, but not presently making any requests)?

Q6: What is the recommended way for the OLE Server to become aware that all clients are now finished with its services, so it can close-down and become unloaded?

Mr. Green's presentation would, I have no doubt, work just fine as a single client to a single server, but it is totally unclear that it would do so for multiple clients.

ANY (repeat: *ANY*) experiences, references or other help you can offer will be gratefully appreciated.

Thanx in advance,

Jim N.
Next
Reply
Map
View

Click here to load this message in the networking platform