Link to home
Start Free TrialLog in
Avatar of DMTrump
DMTrumpFlag for United States of America

asked on

Using AJAX for instrument control over the internet. Is it a bad solution?

I have a potential client - a scientific research organization that has asked us to provide a system of remote setup, control and status monitoring of a physical device.  The device itself will engage experimental subject who will conduct "transaction"  (you could think of it as a "vending machine for the animal subjects)

The researchers need to be able to control the response characteristics of the machine (what it does in response to the users) by setting various rules.  The researchers are located in a differrent physical location in the facility.

The machine itself is controled via a Windows DLL that can be used to set the experiment conditions.

The on site computer support person believes that the machine control interfacing to the DLL and presenting a panel of GUI interfaces to the researchers should be done in AJAX so that the control can take place from any Mac workstation in the facility via intranet - including using an IPod Touch as a sort of handheld remote control.

I am very concerned about this approach because although AJAX is excellent for "one to many" architecture, where a server responds to descrete requests from multiple clients without regard to possible conflicting request - it is not well suited to a "many to one" design where there are multiple possible control points of a single descrete process.  

Our proposed solution is a message based all Python solution (where each researcher has a Python desktop applicaiion that communicates with the Python controlling the instrument and the server application can control access so that conflicting instruction cannot be sent.)    The remote controller in our design would be a Nokia 800 Linux PDA running a wxPython GUI.
In addition, I maintain that the AJAX design adds an unnecessary level of complexity to the design.  

I would appreciate any input on this and will award points to anyone who provides useful feedback. - even to those who might disagree with my position <BG>
ASKER CERTIFIED SOLUTION
Avatar of hielo
hielo
Flag of Wallis and Futuna image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
FYI: To let your client better understand the concept, explain it in terms of a Chatting application. As you write a message, your connected peers see your message without them having to refresh the application or click on some button to "check for updates". As soon as you type your message, it goes to the server and the server pushes the data on to the chat clients in real-time.
Avatar of DMTrump

ASKER

It's not really a matter of "Data" there is a MySQL database to keep a record of the subjects actions and under what state conditions they took place, but what the <researchers> will be doing is controlling the vending machine (the subjects are primates, by the way) telling the machine to make certain choices available and not others, for instance.

One to many is a typical multi-user database design where multiple inquiries and posting of new data can be made simultaneously

By many to one - I mean that a single state machine (that can only be in one state condition at a time is being controlled by multiple "controllers" all with identical sets of commands that can be issued.  The prospect of "command collisions" is bothersome to me.

I'm relieved to hear the animals are primates. When you said "the Python controlling the instrument" I thought they were snakes.
Avatar of DMTrump

ASKER

I'm relieved to hear the animals are primates. When you said "the Python controlling the instrument" I thought they were snakes.

LOL - no Python - as in Monty Python as in app.py as in Python.org!    They are NOT experimenting on lawyers!
Avatar of DMTrump

ASKER

Certainly there are additional experienced AJAX gurus out there!

I'd really like to hear from additional knowledgeable people regarding this situation.  If you have something to add, please chime in - I'll divide the points among those who contribute useful information or opinions.  
Avatar of DMTrump

ASKER

Thanks,  I expected more input, but you got me some assurance that I wasn't off base too far with my assessment!