473,385 Members | 1,944 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

Is there such a thing as a Real-time Web Application?

What I mean is, I want my web client to be updated in real-time.

The scenario is that I have a database that is updated asynchronously, and
when the update takes place I want to 'notify' my web clients so that they
can display new information. This must be a push rather than a pull, so I
don't want to use a timer on the client.

Is there a way to do this?

TIA

Charles
May 2 '06 #1
26 1150
You will need to have some form of constant connection between your client
and the web server, typcially an issue in a stateless environment like the
web. You could probably think about using an applet or activex control
connected to a socket server, let the socket server monitor the DB and when
the DB update occurs it can tell its connected clients via your applet that
the update has occured.

--
Regards

John Timney
Microsoft MVP

"Charles Law" <bl***@nowhere.com> wrote in message
news:eb**************@TK2MSFTNGP04.phx.gbl...
What I mean is, I want my web client to be updated in real-time.

The scenario is that I have a database that is updated asynchronously, and
when the update takes place I want to 'notify' my web clients so that they
can display new information. This must be a push rather than a pull, so I
don't want to use a timer on the client.

Is there a way to do this?

TIA

Charles

May 2 '06 #2
On Tue, 2 May 2006 12:43:48 +0100, "Charles Law" <bl***@nowhere.com>
wrote:
What I mean is, I want my web client to be updated in real-time.

The scenario is that I have a database that is updated asynchronously, and
when the update takes place I want to 'notify' my web clients so that they
can display new information. This must be a push rather than a pull, so I
don't want to use a timer on the client.


Web applications are connectionless. There cannot be a push because
the Web server has no way to push something to a specific client.

What you're asking for would probably be best accomplished using
XMLHTTP. It would be easy enough to return a Boolean indicating
whether or not data have changed. When they have, you could also use
the same method to update only that portion of the page that has
changed.

Jim Cheshire
Blog: http://blogs.msdn.com/jamesche

May 2 '06 #3
Charles,

You was a while on the moon.

http://atlas.asp.net/Default.aspx?tabid=47

You should even have seen it from that place.

Cor
"Charles Law" <bl***@nowhere.com> schreef in bericht
news:eb**************@TK2MSFTNGP04.phx.gbl...
What I mean is, I want my web client to be updated in real-time.

The scenario is that I have a database that is updated asynchronously, and
when the update takes place I want to 'notify' my web clients so that they
can display new information. This must be a push rather than a pull, so I
don't want to use a timer on the client.

Is there a way to do this?

TIA

Charles

May 2 '06 #4
Hi Cor

Thanks for the link. I noticed this when I Googled, but at first-glance it
looked like a third-party tool, and I was looking for a built-in way. Now I
look at it again, it might be just what I am looking for.

Charles
"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message
news:eC**************@TK2MSFTNGP03.phx.gbl...
Charles,

You was a while on the moon.

http://atlas.asp.net/Default.aspx?tabid=47

You should even have seen it from that place.

Cor
"Charles Law" <bl***@nowhere.com> schreef in bericht
news:eb**************@TK2MSFTNGP04.phx.gbl...
What I mean is, I want my web client to be updated in real-time.

The scenario is that I have a database that is updated asynchronously,
and when the update takes place I want to 'notify' my web clients so that
they can display new information. This must be a push rather than a pull,
so I don't want to use a timer on the client.

Is there a way to do this?

TIA

Charles


May 2 '06 #5
Hi John

Thanks for the reply. I shall look into this further.

How do the control and socket server test for new data internally? Is it a
poll, or is it more like the way a comm device works?

Charles
"John Timney ( MVP )" <ti*****@despammed.com> wrote in message
news:uW**************@TK2MSFTNGP05.phx.gbl...
You will need to have some form of constant connection between your client
and the web server, typcially an issue in a stateless environment like the
web. You could probably think about using an applet or activex control
connected to a socket server, let the socket server monitor the DB and
when the DB update occurs it can tell its connected clients via your
applet that the update has occured.

--
Regards

John Timney
Microsoft MVP

"Charles Law" <bl***@nowhere.com> wrote in message
news:eb**************@TK2MSFTNGP04.phx.gbl...
What I mean is, I want my web client to be updated in real-time.

The scenario is that I have a database that is updated asynchronously,
and when the update takes place I want to 'notify' my web clients so that
they can display new information. This must be a push rather than a pull,
so I don't want to use a timer on the client.

Is there a way to do this?

TIA

Charles


May 2 '06 #6
note: an atlas solution would be a client polling solution. if you don't
want polling, then as noted above you need to use a java applet or active/x
control to open a socket to you server. you will need to write a new network
service on your server to maintain the connection to the client as asp.net
can not be used for this. one of the open IM server packages would do.
-- bruce (sqlwork.com)
"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message
news:eC**************@TK2MSFTNGP03.phx.gbl...
Charles,

You was a while on the moon.

http://atlas.asp.net/Default.aspx?tabid=47

You should even have seen it from that place.

Cor
"Charles Law" <bl***@nowhere.com> schreef in bericht
news:eb**************@TK2MSFTNGP04.phx.gbl...
What I mean is, I want my web client to be updated in real-time.

The scenario is that I have a database that is updated asynchronously,
and when the update takes place I want to 'notify' my web clients so that
they can display new information. This must be a push rather than a pull,
so I don't want to use a timer on the client.

Is there a way to do this?

TIA

Charles


May 2 '06 #7

Um, yeah.

Ever hear of Remoting.

It's exactly what he wants.

Check out the Remoting samples, like the chat server/client.

Remoting can update a client when events occur on the server.

And it can all be done in .NET 1.1
There's ajax and atlas, but they require a lot of infrastructure for
something Remoting can do in a few lines of code and some .config entries.

bruce barker (sqlwork.com) wrote:
note: an atlas solution would be a client polling solution. if you don't
want polling, then as noted above you need to use a java applet or active/x
control to open a socket to you server. you will need to write a new network
service on your server to maintain the connection to the client as asp.net
can not be used for this. one of the open IM server packages would do.
-- bruce (sqlwork.com)
"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message
news:eC**************@TK2MSFTNGP03.phx.gbl...
Charles,

You was a while on the moon.

http://atlas.asp.net/Default.aspx?tabid=47

You should even have seen it from that place.

Cor
"Charles Law" <bl***@nowhere.com> schreef in bericht
news:eb**************@TK2MSFTNGP04.phx.gbl...
What I mean is, I want my web client to be updated in real-time.

The scenario is that I have a database that is updated asynchronously,
and when the update takes place I want to 'notify' my web clients so that
they can display new information. This must be a push rather than a pull,
so I don't want to use a timer on the client.

Is there a way to do this?

TIA

Charles



May 2 '06 #8
but then you aren't talking about the web client anymore but rather a server
side client within the asp.net app
"John A. Bailo" <ja*****@texeme.com> wrote in message
news:44**********@texeme.com...

Um, yeah.

Ever hear of Remoting.

It's exactly what he wants.

Check out the Remoting samples, like the chat server/client.

Remoting can update a client when events occur on the server.

And it can all be done in .NET 1.1
There's ajax and atlas, but they require a lot of infrastructure for
something Remoting can do in a few lines of code and some .config entries.

bruce barker (sqlwork.com) wrote:
note: an atlas solution would be a client polling solution. if you don't
want polling, then as noted above you need to use a java applet or active/x control to open a socket to you server. you will need to write a new network service on your server to maintain the connection to the client as asp.net can not be used for this. one of the open IM server packages would do.
-- bruce (sqlwork.com)
"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message
news:eC**************@TK2MSFTNGP03.phx.gbl...
Charles,

You was a while on the moon.

http://atlas.asp.net/Default.aspx?tabid=47

You should even have seen it from that place.

Cor
"Charles Law" <bl***@nowhere.com> schreef in bericht
news:eb**************@TK2MSFTNGP04.phx.gbl...

What I mean is, I want my web client to be updated in real-time.

The scenario is that I have a database that is updated asynchronously,
and when the update takes place I want to 'notify' my web clients so thatthey can display new information. This must be a push rather than a pull,so I don't want to use a timer on the client.

Is there a way to do this?

TIA

Charles


May 2 '06 #9
yes, its usually via some form of poll

--
Regards

John Timney
Microsoft MVP

"Charles Law" <bl***@nowhere.com> wrote in message
news:eu**************@TK2MSFTNGP04.phx.gbl...
Hi John

Thanks for the reply. I shall look into this further.

How do the control and socket server test for new data internally? Is it a
poll, or is it more like the way a comm device works?

Charles
"John Timney ( MVP )" <ti*****@despammed.com> wrote in message
news:uW**************@TK2MSFTNGP05.phx.gbl...
You will need to have some form of constant connection between your
client and the web server, typcially an issue in a stateless environment
like the web. You could probably think about using an applet or activex
control connected to a socket server, let the socket server monitor the
DB and when the DB update occurs it can tell its connected clients via
your applet that the update has occured.

--
Regards

John Timney
Microsoft MVP

"Charles Law" <bl***@nowhere.com> wrote in message
news:eb**************@TK2MSFTNGP04.phx.gbl...
What I mean is, I want my web client to be updated in real-time.

The scenario is that I have a database that is updated asynchronously,
and when the update takes place I want to 'notify' my web clients so
that they can display new information. This must be a push rather than a
pull, so I don't want to use a timer on the client.

Is there a way to do this?

TIA

Charles



May 2 '06 #10

Essentially the client has a server "built-into" it. So the server can
message back to it.

You can also remote methods, so that a server can raise an event on the
client that runs a method.

Example, send an alert that a stock market price has changed. The
server raises the remoted event, and the client responds with a change
in the UI.
THis can all be done in 1.1
For 2.0 you can look into what was Indigo, it is now the WCF (Windows
Communication Framework).

There are also some more "webby" type methods, but they seem to require
that the user have IIS running on their workstation.
For myself, I prefer a remoted c# client rather than AJAX, ATLAS or WCF,
or the traditional java applet or application using RMI

It's simple, has a clean implementation, can run using http or tcp.

Charles Law wrote:
Hi John

Thanks for the reply. I shall look into this further.

How do the control and socket server test for new data internally? Is it a
poll, or is it more like the way a comm device works?

Charles
"John Timney ( MVP )" <ti*****@despammed.com> wrote in message
news:uW**************@TK2MSFTNGP05.phx.gbl...
You will need to have some form of constant connection between your client
and the web server, typcially an issue in a stateless environment like the
web. You could probably think about using an applet or activex control
connected to a socket server, let the socket server monitor the DB and
when the DB update occurs it can tell its connected clients via your
applet that the update has occured.

--
Regards

John Timney
Microsoft MVP

"Charles Law" <bl***@nowhere.com> wrote in message
news:eb**************@TK2MSFTNGP04.phx.gbl...
What I mean is, I want my web client to be updated in real-time.

The scenario is that I have a database that is updated asynchronously,
and when the update takes place I want to 'notify' my web clients so that
they can display new information. This must be a push rather than a pull,
so I don't want to use a timer on the client.

Is there a way to do this?

TIA

Charles



May 2 '06 #11
Hi Gerry

Thanks, and to all others in this thread. I should say that I use the "web
client" terminology as a phrase of my own invention, and not in any specific
sense of a Web Client. I might have misused the phrase.

I am not meaning to be prescriptive in any way. The aim is to have multiple
client machines able to present information from a central (probably SQL
Server) database, on an intranet (primarily), but generically internet.

I am happy to consider all options, without prejudice. If it is not possible
to construct a push model, I need to adopt something that has a comparable
performance as this is a highly time-sensitive project.

Charles
"gerry" <ge**@nospam.nospam> wrote in message
news:%2****************@TK2MSFTNGP02.phx.gbl...
but then you aren't talking about the web client anymore but rather a
server
side client within the asp.net app
"John A. Bailo" <ja*****@texeme.com> wrote in message
news:44**********@texeme.com...

Um, yeah.

Ever hear of Remoting.

It's exactly what he wants.

Check out the Remoting samples, like the chat server/client.

Remoting can update a client when events occur on the server.

And it can all be done in .NET 1.1
There's ajax and atlas, but they require a lot of infrastructure for
something Remoting can do in a few lines of code and some .config
entries.

bruce barker (sqlwork.com) wrote:
> note: an atlas solution would be a client polling solution. if you
> don't
> want polling, then as noted above you need to use a java applet or active/x > control to open a socket to you server. you will need to write a new network > service on your server to maintain the connection to the client as asp.net > can not be used for this. one of the open IM server packages would do.
>
>
> -- bruce (sqlwork.com)
>
>
> "Cor Ligthert [MVP]" <no************@planet.nl> wrote in message
> news:eC**************@TK2MSFTNGP03.phx.gbl...
>
>>Charles,
>>
>>You was a while on the moon.
>>
>>http://atlas.asp.net/Default.aspx?tabid=47
>>
>>You should even have seen it from that place.
>>
>>Cor
>>
>>
>>"Charles Law" <bl***@nowhere.com> schreef in bericht
>>news:eb**************@TK2MSFTNGP04.phx.gbl...
>>
>>>What I mean is, I want my web client to be updated in real-time.
>>>
>>>The scenario is that I have a database that is updated asynchronously,
>>>and when the update takes place I want to 'notify' my web clients so that >>>they can display new information. This must be a push rather than a pull, >>>so I don't want to use a timer on the client.
>>>
>>>Is there a way to do this?
>>>
>>>TIA
>>>
>>>Charles
>>>
>>>
>>
>>
>
>


May 2 '06 #12
Hi John
You can also remote methods, so that a server can raise an event on the
client that runs a method.

Example, send an alert that a stock market price has changed. The server
raises the remoted event, and the client responds with a change in the UI.
That's it. That's precisely it. An example of exactly what I need to
achieve. Can you point me to any examples (ideally), or appropriate keywords
that would yield good hits.

Cheers

Charles
"John A. Bailo" <ja*****@texeme.com> wrote in message
news:44**************@texeme.com...
Essentially the client has a server "built-into" it. So the server can
message back to it.

You can also remote methods, so that a server can raise an event on the
client that runs a method.

Example, send an alert that a stock market price has changed. The server
raises the remoted event, and the client responds with a change in the UI.
THis can all be done in 1.1
For 2.0 you can look into what was Indigo, it is now the WCF (Windows
Communication Framework).

There are also some more "webby" type methods, but they seem to require
that the user have IIS running on their workstation.
For myself, I prefer a remoted c# client rather than AJAX, ATLAS or WCF,
or the traditional java applet or application using RMI

It's simple, has a clean implementation, can run using http or tcp.

Charles Law wrote:
Hi John

Thanks for the reply. I shall look into this further.

How do the control and socket server test for new data internally? Is it
a poll, or is it more like the way a comm device works?

Charles
"John Timney ( MVP )" <ti*****@despammed.com> wrote in message
news:uW**************@TK2MSFTNGP05.phx.gbl...
You will need to have some form of constant connection between your
client and the web server, typcially an issue in a stateless environment
like the web. You could probably think about using an applet or activex
control connected to a socket server, let the socket server monitor the
DB and when the DB update occurs it can tell its connected clients via
your applet that the update has occured.

--
Regards

John Timney
Microsoft MVP

"Charles Law" <bl***@nowhere.com> wrote in message
news:eb**************@TK2MSFTNGP04.phx.gbl...

What I mean is, I want my web client to be updated in real-time.

The scenario is that I have a database that is updated asynchronously,
and when the update takes place I want to 'notify' my web clients so
that they can display new information. This must be a push rather than a
pull, so I don't want to use a timer on the client.

Is there a way to do this?

TIA

Charles


May 2 '06 #13
Since this is not a web app then use remoting..

"Charles Law" <bl***@nowhere.com> wrote in message
news:e$**************@TK2MSFTNGP04.phx.gbl...
Hi Gerry

Thanks, and to all others in this thread. I should say that I use the "web
client" terminology as a phrase of my own invention, and not in any
specific sense of a Web Client. I might have misused the phrase.

I am not meaning to be prescriptive in any way. The aim is to have
multiple client machines able to present information from a central
(probably SQL Server) database, on an intranet (primarily), but
generically internet.

I am happy to consider all options, without prejudice. If it is not
possible to construct a push model, I need to adopt something that has a
comparable performance as this is a highly time-sensitive project.

Charles
"gerry" <ge**@nospam.nospam> wrote in message
news:%2****************@TK2MSFTNGP02.phx.gbl...
but then you aren't talking about the web client anymore but rather a
server
side client within the asp.net app
"John A. Bailo" <ja*****@texeme.com> wrote in message
news:44**********@texeme.com...

Um, yeah.

Ever hear of Remoting.

It's exactly what he wants.

Check out the Remoting samples, like the chat server/client.

Remoting can update a client when events occur on the server.

And it can all be done in .NET 1.1
There's ajax and atlas, but they require a lot of infrastructure for
something Remoting can do in a few lines of code and some .config
entries.

bruce barker (sqlwork.com) wrote:
> note: an atlas solution would be a client polling solution. if you
> don't
> want polling, then as noted above you need to use a java applet or

active/x
> control to open a socket to you server. you will need to write a new

network
> service on your server to maintain the connection to the client as

asp.net
> can not be used for this. one of the open IM server packages would do.
>
>
> -- bruce (sqlwork.com)
>
>
> "Cor Ligthert [MVP]" <no************@planet.nl> wrote in message
> news:eC**************@TK2MSFTNGP03.phx.gbl...
>
>>Charles,
>>
>>You was a while on the moon.
>>
>>http://atlas.asp.net/Default.aspx?tabid=47
>>
>>You should even have seen it from that place.
>>
>>Cor
>>
>>
>>"Charles Law" <bl***@nowhere.com> schreef in bericht
>>news:eb**************@TK2MSFTNGP04.phx.gbl...
>>
>>>What I mean is, I want my web client to be updated in real-time.
>>>
>>>The scenario is that I have a database that is updated
>>>asynchronously,
>>>and when the update takes place I want to 'notify' my web clients so

that
>>>they can display new information. This must be a push rather than a

pull,
>>>so I don't want to use a timer on the client.
>>>
>>>Is there a way to do this?
>>>
>>>TIA
>>>
>>>Charles
>>>
>>>
>>
>>
>
>



May 2 '06 #14
When I said "all options", I should have added that it will nevertheless be
through a browser. Does that exclude remoting, or can I still use that
technique?

Charles
"MSDN" <sq**********@hotmail.com> wrote in message
news:eP**************@TK2MSFTNGP03.phx.gbl...
Since this is not a web app then use remoting..

"Charles Law" <bl***@nowhere.com> wrote in message
news:e$**************@TK2MSFTNGP04.phx.gbl...
Hi Gerry

Thanks, and to all others in this thread. I should say that I use the
"web client" terminology as a phrase of my own invention, and not in any
specific sense of a Web Client. I might have misused the phrase.

I am not meaning to be prescriptive in any way. The aim is to have
multiple client machines able to present information from a central
(probably SQL Server) database, on an intranet (primarily), but
generically internet.

I am happy to consider all options, without prejudice. If it is not
possible to construct a push model, I need to adopt something that has a
comparable performance as this is a highly time-sensitive project.

Charles
"gerry" <ge**@nospam.nospam> wrote in message
news:%2****************@TK2MSFTNGP02.phx.gbl...
but then you aren't talking about the web client anymore but rather a
server
side client within the asp.net app
"John A. Bailo" <ja*****@texeme.com> wrote in message
news:44**********@texeme.com...

Um, yeah.

Ever hear of Remoting.

It's exactly what he wants.

Check out the Remoting samples, like the chat server/client.

Remoting can update a client when events occur on the server.

And it can all be done in .NET 1.1
There's ajax and atlas, but they require a lot of infrastructure for
something Remoting can do in a few lines of code and some .config
entries.

bruce barker (sqlwork.com) wrote:
> note: an atlas solution would be a client polling solution. if you
> don't
> want polling, then as noted above you need to use a java applet or
active/x
> control to open a socket to you server. you will need to write a new
network
> service on your server to maintain the connection to the client as
asp.net
> can not be used for this. one of the open IM server packages would
> do.
>
>
> -- bruce (sqlwork.com)
>
>
> "Cor Ligthert [MVP]" <no************@planet.nl> wrote in message
> news:eC**************@TK2MSFTNGP03.phx.gbl...
>
>>Charles,
>>
>>You was a while on the moon.
>>
>>http://atlas.asp.net/Default.aspx?tabid=47
>>
>>You should even have seen it from that place.
>>
>>Cor
>>
>>
>>"Charles Law" <bl***@nowhere.com> schreef in bericht
>>news:eb**************@TK2MSFTNGP04.phx.gbl...
>>
>>>What I mean is, I want my web client to be updated in real-time.
>>>
>>>The scenario is that I have a database that is updated
>>>asynchronously,
>>>and when the update takes place I want to 'notify' my web clients so
that
>>>they can display new information. This must be a push rather than a
pull,
>>>so I don't want to use a timer on the client.
>>>
>>>Is there a way to do this?
>>>
>>>TIA
>>>
>>>Charles
>>>
>>>
>>
>>
>
>



May 3 '06 #15
Hi John

I have looked for the framework sample, but have not found it yet. I have
found various other remoting samples, but the clients all seem to be Windows
Forms applications, whereas I need the client to be a browser; IE, for
example. Am I missing something?

Charles
"John A. Bailo" <ja*****@texeme.com> wrote in message
news:44**********@texeme.com...

Um, yeah.

Ever hear of Remoting.

It's exactly what he wants.

Check out the Remoting samples, like the chat server/client.

Remoting can update a client when events occur on the server.

And it can all be done in .NET 1.1
There's ajax and atlas, but they require a lot of infrastructure for
something Remoting can do in a few lines of code and some .config entries.

bruce barker (sqlwork.com) wrote:
note: an atlas solution would be a client polling solution. if you don't
want polling, then as noted above you need to use a java applet or
active/x control to open a socket to you server. you will need to write a
new network service on your server to maintain the connection to the
client as asp.net can not be used for this. one of the open IM server
packages would do.
-- bruce (sqlwork.com)
"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message
news:eC**************@TK2MSFTNGP03.phx.gbl...
Charles,

You was a while on the moon.

http://atlas.asp.net/Default.aspx?tabid=47

You should even have seen it from that place.

Cor
"Charles Law" <bl***@nowhere.com> schreef in bericht
news:eb**************@TK2MSFTNGP04.phx.gbl...

What I mean is, I want my web client to be updated in real-time.

The scenario is that I have a database that is updated asynchronously,
and when the update takes place I want to 'notify' my web clients so
that they can display new information. This must be a push rather than a
pull, so I don't want to use a timer on the client.

Is there a way to do this?

TIA

Charles


May 3 '06 #16
remoting will not work from the browser unless possibly all of your clients
have the .net framework installed and your page is actually a winform
control - even then you'd have to experiment to see if it would actually
work.

"Charles Law" <bl***@nowhere.com> wrote in message
news:e9**************@TK2MSFTNGP04.phx.gbl...
When I said "all options", I should have added that it will nevertheless be through a browser. Does that exclude remoting, or can I still use that
technique?

Charles
"MSDN" <sq**********@hotmail.com> wrote in message
news:eP**************@TK2MSFTNGP03.phx.gbl...
Since this is not a web app then use remoting..

"Charles Law" <bl***@nowhere.com> wrote in message
news:e$**************@TK2MSFTNGP04.phx.gbl...
Hi Gerry

Thanks, and to all others in this thread. I should say that I use the
"web client" terminology as a phrase of my own invention, and not in any specific sense of a Web Client. I might have misused the phrase.

I am not meaning to be prescriptive in any way. The aim is to have
multiple client machines able to present information from a central
(probably SQL Server) database, on an intranet (primarily), but
generically internet.

I am happy to consider all options, without prejudice. If it is not
possible to construct a push model, I need to adopt something that has a comparable performance as this is a highly time-sensitive project.

Charles
"gerry" <ge**@nospam.nospam> wrote in message
news:%2****************@TK2MSFTNGP02.phx.gbl...
but then you aren't talking about the web client anymore but rather a
server
side client within the asp.net app
"John A. Bailo" <ja*****@texeme.com> wrote in message
news:44**********@texeme.com...
>
> Um, yeah.
>
> Ever hear of Remoting.
>
> It's exactly what he wants.
>
> Check out the Remoting samples, like the chat server/client.
>
> Remoting can update a client when events occur on the server.
>
> And it can all be done in .NET 1.1
>
>
> There's ajax and atlas, but they require a lot of infrastructure for
> something Remoting can do in a few lines of code and some .config
> entries.
>
>
>
> bruce barker (sqlwork.com) wrote:
> > note: an atlas solution would be a client polling solution. if you
> > don't
> > want polling, then as noted above you need to use a java applet or
active/x
> > control to open a socket to you server. you will need to write a new network
> > service on your server to maintain the connection to the client as
asp.net
> > can not be used for this. one of the open IM server packages would
> > do.
> >
> >
> > -- bruce (sqlwork.com)
> >
> >
> > "Cor Ligthert [MVP]" <no************@planet.nl> wrote in message
> > news:eC**************@TK2MSFTNGP03.phx.gbl...
> >
> >>Charles,
> >>
> >>You was a while on the moon.
> >>
> >>http://atlas.asp.net/Default.aspx?tabid=47
> >>
> >>You should even have seen it from that place.
> >>
> >>Cor
> >>
> >>
> >>"Charles Law" <bl***@nowhere.com> schreef in bericht
> >>news:eb**************@TK2MSFTNGP04.phx.gbl...
> >>
> >>>What I mean is, I want my web client to be updated in real-time.
> >>>
> >>>The scenario is that I have a database that is updated
> >>>asynchronously,
> >>>and when the update takes place I want to 'notify' my web clients so that
> >>>they can display new information. This must be a push rather than a pull,
> >>>so I don't want to use a timer on the client.
> >>>
> >>>Is there a way to do this?
> >>>
> >>>TIA
> >>>
> >>>Charles
> >>>
> >>>
> >>
> >>
> >
> >



May 3 '06 #17
Within a browser, ATLAS polling would seem to be his best bet. A JAVA
applet using RMI or just an open socket could respond slightly
faster... but probably only worth it if there are already JAVA
applications on the site. If not, keeping everything in a single
programming language is probably worth the slight inefficiency of using
ATLAS polling.

May 3 '06 #18
Charles,

In general, the "remoting" idea John mentioned is a bad idea with web
applications. You never want a web-page to open a listening socket;
that creates all sorts of security holes, and will likely be denied by
many many firewalls and security settings, anyway. You're guaranteeing
yourself a ton of complaints and headaches.

You cannot achieve "realtime" in a real web application, the web just
wasn't designed for "push" content.
AT BEST, you can fake it with frameworks like Atlas that will check for
updates periodically.

Plus, you're not thinking about scale. Push content simply doesn't
scale well. If you want to automatically push content to connected
users, you need to maintain a list of who's connected and who's not. If
you use listening sockets (John's "remoting" idea), you need to
maintain IP addresses for each of those clients on your server. What if
one of them closes the program? Yeah, TCP timeout, slowdowns, then you
have to remove the IP address, but what if it's just a short-term
network outage? Your client won't like being disconnected, and how do
you know whether or not to try to connect again? If you're going to do
push content, you have to maintain permanent TCP connections to your
client, but that will bog down your server after only a few hundred
connections, so you'll have to look into server farming, and that
involves making sure each server in the farm gets updated...

It gets more and more complex the more you think about the architecture
of the system, and I haven't even addressed security. Add that to the
mix, and you're looking at Excedrin Headache number 127.0.0.1 (it just
keeps looping back at ya!).

My suggestion: either forget about doing actual push content, or fake
it with Atlas.

May 3 '06 #19
>I am not meaning to be prescriptive in any way. The aim is to have multiple
client machines able to present information from a central (probably SQL
Server) database, on an intranet (primarily), but generically internet.


Hmm, I missed that post. Ok, if this isn't really a web application,
but a rich-client/server application (preferrably written in
Windows.Forms), then you're in luck, and you can forget what I just
wrote.

SQL Server 2005 has a new feature called Query Notification; the server
will notify the client when the results of a query have changed. You
can use this for your "realtime update" requirement. I don't know a
whole lot about it, but I believe you still have to maintain a
dedicated connection from the client to the server. However, if you're
not doing a web application odds are you're not going to be as worried
about scale as I was in my previous post.

The link below will help, or you can google for SQL Server 2005 "Query
Notification".

http://msdn.microsoft.com/library/de...tification.asp

May 3 '06 #20
Hi Randolpho

Thanks for the observations. I take your points entirely. I found a link to
http://www.pushlets.com/, which has potential for my application, so I might
try this out, but otherwise I can see that perhaps ATLAS will be a
reasonable way to go.

Cheers

Charles
"Randolpho" <ra*******@gmail.com> wrote in message
news:11**********************@g10g2000cwb.googlegr oups.com...
Charles,

In general, the "remoting" idea John mentioned is a bad idea with web
applications. You never want a web-page to open a listening socket;
that creates all sorts of security holes, and will likely be denied by
many many firewalls and security settings, anyway. You're guaranteeing
yourself a ton of complaints and headaches.

You cannot achieve "realtime" in a real web application, the web just
wasn't designed for "push" content.
AT BEST, you can fake it with frameworks like Atlas that will check for
updates periodically.

Plus, you're not thinking about scale. Push content simply doesn't
scale well. If you want to automatically push content to connected
users, you need to maintain a list of who's connected and who's not. If
you use listening sockets (John's "remoting" idea), you need to
maintain IP addresses for each of those clients on your server. What if
one of them closes the program? Yeah, TCP timeout, slowdowns, then you
have to remove the IP address, but what if it's just a short-term
network outage? Your client won't like being disconnected, and how do
you know whether or not to try to connect again? If you're going to do
push content, you have to maintain permanent TCP connections to your
client, but that will bog down your server after only a few hundred
connections, so you'll have to look into server farming, and that
involves making sure each server in the farm gets updated...

It gets more and more complex the more you think about the architecture
of the system, and I haven't even addressed security. Add that to the
mix, and you're looking at Excedrin Headache number 127.0.0.1 (it just
keeps looping back at ya!).

My suggestion: either forget about doing actual push content, or fake
it with Atlas.

May 3 '06 #21
I might have mis-informed you with this statement. The intention is to have
a dedicated machine where the database will live and that will host the web
pages. Users will normally connect/load a page - using a standard browser -
over an intranet, but it also needs to be possible to reach the server over
the internet.

Charles
"Randolpho" <ra*******@gmail.com> wrote in message
news:11**********************@j33g2000cwa.googlegr oups.com...
I am not meaning to be prescriptive in any way. The aim is to have
multiple
client machines able to present information from a central (probably SQL
Server) database, on an intranet (primarily), but generically internet.


Hmm, I missed that post. Ok, if this isn't really a web application,
but a rich-client/server application (preferrably written in
Windows.Forms), then you're in luck, and you can forget what I just
wrote.

SQL Server 2005 has a new feature called Query Notification; the server
will notify the client when the results of a query have changed. You
can use this for your "realtime update" requirement. I don't know a
whole lot about it, but I believe you still have to maintain a
dedicated connection from the client to the server. However, if you're
not doing a web application odds are you're not going to be as worried
about scale as I was in my previous post.

The link below will help, or you can google for SQL Server 2005 "Query
Notification".

http://msdn.microsoft.com/library/de...tification.asp

May 3 '06 #22
While I have done the socket approach many times I do happen to agree with
much of what Randolpho says here. What I suggested is a workable solution
for Push, but you will have to consider many other factors to get it to work
well. Polling from a web client is probably an all round better solution if
you are deploying to the internet, or via an extranet to an open public
presence - in fact from any web app its a better solution.

Regards

John Timney
Microsoft MVP

"Randolpho" <ra*******@gmail.com> wrote in message
news:11**********************@g10g2000cwb.googlegr oups.com...
Charles,

In general, the "remoting" idea John mentioned is a bad idea with web
applications. You never want a web-page to open a listening socket;
that creates all sorts of security holes, and will likely be denied by
many many firewalls and security settings, anyway. You're guaranteeing
yourself a ton of complaints and headaches.

You cannot achieve "realtime" in a real web application, the web just
wasn't designed for "push" content.
AT BEST, you can fake it with frameworks like Atlas that will check for
updates periodically.

Plus, you're not thinking about scale. Push content simply doesn't
scale well. If you want to automatically push content to connected
users, you need to maintain a list of who's connected and who's not. If
you use listening sockets (John's "remoting" idea), you need to
maintain IP addresses for each of those clients on your server. What if
one of them closes the program? Yeah, TCP timeout, slowdowns, then you
have to remove the IP address, but what if it's just a short-term
network outage? Your client won't like being disconnected, and how do
you know whether or not to try to connect again? If you're going to do
push content, you have to maintain permanent TCP connections to your
client, but that will bog down your server after only a few hundred
connections, so you'll have to look into server farming, and that
involves making sure each server in the farm gets updated...

It gets more and more complex the more you think about the architecture
of the system, and I haven't even addressed security. Add that to the
mix, and you're looking at Excedrin Headache number 127.0.0.1 (it just
keeps looping back at ya!).

My suggestion: either forget about doing actual push content, or fake
it with Atlas.

May 3 '06 #23
I'd recommend AJAX, combined with a Flash applet on the client

have the flash applet connect to your server and listen for messages.

when server tells flash to update something, flash tells XMLHTTP (AJAX)
to go get it

May 4 '06 #24
Charles,

In fact I have the idea that this old piece of JavaScript is in Atlas as
well.

Dim scriptString As String = "<script language=JavaScript>" & _
"setclock(); function setclock(){document.images.Image1.src = " & _
"'http://localhost/WebClock/WebForm2.aspx';setTimeout('setclock()',1000)}</script>"
Page.RegisterStartupScript("setclock", scriptString)

Cor

"Charles Law" <bl***@nowhere.com> schreef in bericht
news:um**************@TK2MSFTNGP03.phx.gbl...
Hi Cor

Thanks for the link. I noticed this when I Googled, but at first-glance it
looked like a third-party tool, and I was looking for a built-in way. Now
I look at it again, it might be just what I am looking for.

Charles
"Cor Ligthert [MVP]" <no************@planet.nl> wrote in message
news:eC**************@TK2MSFTNGP03.phx.gbl...
Charles,

You was a while on the moon.

http://atlas.asp.net/Default.aspx?tabid=47

You should even have seen it from that place.

Cor
"Charles Law" <bl***@nowhere.com> schreef in bericht
news:eb**************@TK2MSFTNGP04.phx.gbl...
What I mean is, I want my web client to be updated in real-time.

The scenario is that I have a database that is updated asynchronously,
and when the update takes place I want to 'notify' my web clients so
that they can display new information. This must be a push rather than a
pull, so I don't want to use a timer on the client.

Is there a way to do this?

TIA

Charles



May 4 '06 #25
Thanks Neil. I shall look at this too.

Charles
<ne**********@gmail.com> wrote in message
news:11**********************@j73g2000cwa.googlegr oups.com...
I'd recommend AJAX, combined with a Flash applet on the client

have the flash applet connect to your server and listen for messages.

when server tells flash to update something, flash tells XMLHTTP (AJAX)
to go get it

May 4 '06 #26
you send out an email, with a link back, when an update occurs ....

"Charles Law" <bl***@nowhere.com> wrote in message news:eb**************@TK2MSFTNGP04.phx.gbl...
What I mean is, I want my web client to be updated in real-time.

The scenario is that I have a database that is updated asynchronously, and when the update takes place I want to 'notify' my web
clients so that they can display new information. This must be a push rather than a pull, so I don't want to use a timer on the
client.

Is there a way to do this?

TIA

Charles

May 4 '06 #27

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

7
by: GG | last post by:
Hi all, Here's an idea for a framework I thought about because I can make use of it in my project. Maybe such a thing exists, if so, I'd like pointers; if not, I'll start working on it myself. ...
6
by: o'seally | last post by:
solaris/linux admins/rookie_developers that battle with this error are probably all frustrated when it happens. i bet you're also somehow frustrated by this seemingly unsolvable error :-) ...take...
7
by: Lowell Kirsh | last post by:
I want to create a class called DefaultAttr which returns a default value for all attributes which haven't been given values yet. It will work like this: >> x = DefaultAttr(99) >> print x.foo...
27
by: Matt | last post by:
Does the language have header files containing definitions of numbers such as pi and e? I believe some implementations used to have those, but I can't find them in Stroustrup. Thanks.
22
by: David T. Ashley | last post by:
I'm writing code which will compile on multiple Windows and multiple *nix platforms. Some will have 64-bit integers, I believe. What is my best option to define platform-independent types such...
45
by: dolphin | last post by:
Is it a good thing that program mix C and C++?
0
by: Tony Lance | last post by:
Big Bertha Thing burster Cosmic Ray Series Possible Real World System Constructs http://web.onetel.com/~tonylance/gammaray.html 16K Web Page Astrophysics net ring access site Newsgroup Reviews...
0
by: Tony Lance | last post by:
Big Bertha Thing Battle Cosmic Ray Series Possible Real World System Constructs http://web.onetel.com/~tonylance/battle.html Access page to 600K ZIP file Astrophysics net ring access site...
0
by: Tony Lance | last post by:
Big Bertha Thing progress Cosmic Ray Series Possible Real World System Constructs http://web.onetel.com/~tonylance/progress.html Access page to 6K Web page Astrophysics net ring access site...
0
by: Tony Lance | last post by:
Big Bertha Thing invite Cosmic Ray Series Possible Real World System Constructs http://web.onetel.com/~tonylance/invite.html Access page to 55K Zip File Astrophysics net ring access site...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.