I have to program websites, but I rather don't like the static HTML nature. I prefer more of a client-server architecture.
Now with XMLhttp/AJAX, you can basically dynamically update your page and send/request for information/action to/from a server. So this would basically cover the client area.
But to complete a client-server architecture, it is necessary for the server to send/request information, too, without being queried.
There also needs to be a way, for example for a chat server, to send back a received message to all clients (the clients use a web browser) without that the clients have to query in a fixed interva, for example to implement that one can see while you type something
in.
As far as I can see, there are 5 ways to implement this reverse ajax:
Now, because I unfortunately have to support Microsoft platforms, I have to forget my preference - web sockets, because even the latest version of IE doesn't implement them.
Silverlight isn't good, because it doesn't really work on non-microsoft clients, and even on MS-clients it's not very widely installed, and in corporate environments, users might not have the rights to install it.
JavaApplets suffer the same deficit, while I'd say that Flash is universally feasible.
Comet & polling doesn't seem to be too good an idea, neither, because you can't really customize IIS as good as you can LightHttp/Apache .
Could any of the Microsoft people tell me what is the official MS-endorsed way to implement reverse ajax?
Silverlights install base has come on a long way. It has been used on some major sites such as the olympics and other sports sites which has pushed it out to a big audience. That said I still feel the same way as you do - that silverlight isn't viable until
it reaches the same install base as flash.
There are lots of chat clients available that run on pure html though. Historically these have been notoriously heavy bandwidth and cpu hogs. Back in the day a lot of the free hosting packages had restrictions on running these kinds of software. The reason
they are so chatty is because they are doing frequent pings from client to server to see if the server is waiting to tell them something. When you multiply this by however many users this traffic soon starts to mount up and represents a constant strain on
the cpu.
tux
Comet & polling doesn't seem to be too good an idea, neither, because you can't really customize IIS as good as you can LightHttp/Apache .
You might be right about this but I see you are running iis7 which is vastly different to iis6 and contains a lot more features and has a rich set of extensibility points. Have you already researched this and concluded it to be non-starter or is this gut
feeling?
I would say that a) the constant polling method is the way its done and b) I would buy a component like this in rather than trying to write it.
tux
Member
14 Points
36 Posts
Reverse AJAX architecture
Jan 16, 2010 02:39 AM|LINK
I have to program websites, but I rather don't like the static HTML nature. I prefer more of a client-server architecture.
Now with XMLhttp/AJAX, you can basically dynamically update your page and send/request for information/action to/from a server. So this would basically cover the client area.
But to complete a client-server architecture, it is necessary for the server to send/request information, too, without being queried.
There also needs to be a way, for example for a chat server, to send back a received message to all clients (the clients use a web browser) without that the clients have to query in a fixed interva, for example to implement that one can see while you type something in.
As far as I can see, there are 5 ways to implement this reverse ajax:
<div style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;" id="_mcePaste">Polling</div> <div style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;" id="_mcePaste">Long Polling</div> <div style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;" id="_mcePaste">Comet</div> <div style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;" id="_mcePaste">RIA (Flash, Silverlight, JavaApplet)</div> <div style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;" id="_mcePaste">Web Sockets (HTML 5, Google Chrome only, yet)</div>1. Polling
2. Long Polling
3. Comet
4. RIA (Flash, Silverlight, JavaApplet)
5. Web Sockets (HTML 5, Google Chrome only, yet)
Now, because I unfortunately have to support Microsoft platforms, I have to forget my preference - web sockets, because even the latest version of IE doesn't implement them.
Silverlight isn't good, because it doesn't really work on non-microsoft clients, and even on MS-clients it's not very widely installed, and in corporate environments, users might not have the rights to install it.
JavaApplets suffer the same deficit, while I'd say that Flash is universally feasible.
Comet & polling doesn't seem to be too good an idea, neither, because you can't really customize IIS as good as you can LightHttp/Apache .
Could any of the Microsoft people tell me what is the official MS-endorsed way to implement reverse ajax?
ajax reverse ajax Comet web sockets RIA
rtpHarry
All-Star
55958 Points
8875 Posts
Re: Reverse AJAX architecture
Jan 16, 2010 10:02 AM|LINK
Silverlights install base has come on a long way. It has been used on some major sites such as the olympics and other sports sites which has pushed it out to a big audience. That said I still feel the same way as you do - that silverlight isn't viable until it reaches the same install base as flash.
There are lots of chat clients available that run on pure html though. Historically these have been notoriously heavy bandwidth and cpu hogs. Back in the day a lot of the free hosting packages had restrictions on running these kinds of software. The reason they are so chatty is because they are doing frequent pings from client to server to see if the server is waiting to tell them something. When you multiply this by however many users this traffic soon starts to mount up and represents a constant strain on the cpu.
You might be right about this but I see you are running iis7 which is vastly different to iis6 and contains a lot more features and has a rich set of extensibility points. Have you already researched this and concluded it to be non-starter or is this gut feeling?
I would say that a) the constant polling method is the way its done and b) I would buy a component like this in rather than trying to write it.
tux
Member
14 Points
36 Posts
Re: Reverse AJAX architecture
Jan 30, 2010 07:11 PM|LINK
The problem here is that my company distributes modules for the CAFM application company aperture (www.aperture.de).
And their software is a bit tricky, and at the moment only supports IIS 5 (reason unknown to me, but of technical nature)...
rtpHarry
All-Star
55958 Points
8875 Posts
Re: Reverse AJAX architecture
Feb 03, 2010 07:20 AM|LINK
Hey,
I saw an advert down the side of these forums yesterday and thought of this thread.
There is a product called WebSync that is supposed to be .net's only comet server:
Thought you might be interested :)
I had a look on the site but it doesnt mention exactly how it integrates with iis/asp.net. Maybe its in the support documentation...
tux
Member
14 Points
36 Posts
Re: Reverse AJAX architecture
Feb 05, 2010 06:08 PM|LINK
I' ve already checked that out 2 weeks ago, and I wasn't really impressed.
rtpHarry
All-Star
55958 Points
8875 Posts
Re: Reverse AJAX architecture
Feb 05, 2010 08:41 PM|LINK
OH well [:(]
They claim they are the only comet on .net so your options are probably pretty limited beyond this point...