views:

180

answers:

2

I have a current system which is build as a Windows Application, and does certain tasks in very close to real time. There are nodes in a network that communicate with our custom server, communicating status, and sending and receiving commands.

We are looking to move to a web deployed platform. The nodes, say 60-100 of them, need to communicate with the server, and display to the client quickly. I'm talking milliseconds, not seconds. The network connection is LAN/100mbit or gigabit, with a reliably fast connection from the clients to the server. The node communication is also small, and it already sent as XML messages, which are not huge in size, and not overwhelming in quantity.

Our System Architect is confident, and assures us, that this can be done with LAMP + AJAX. I personally have been involved with similar systems before, and I'm skeptical about the guarantee delivery of messages this close to real time.

In order to have a sanity check, am I wrong? Can this be done (well) with LAMP, or any similar language? (Not Java, I know a launched Java applet can do this).

+2  A: 

If you're talking about a near-realtime application such as a messaging program and not actual realtime then it can be done. The technique is called 'long-polling' or comet and has been used successfully by several major web startups (Meebo for example).

HTML 5 specifications also include a built-in messaging API which should really propel those techniques into the mainstream as it is implemented in the next generation of browsers (and some of the current generation as well).

Eran Galperin
A: 

The AJAX part of this is fine. Products like Lightstreamer and other Comet (Http server push) servers can provide near real time communication.

The LAMP part of the equation is the one that worries me. You'll probably need a custom back end of sorts in order to achieve high performance. The LA parts are fine. The needs of your application may cause you to reconsider the MP.

Min