473,396 Members | 1,895 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,396 software developers and data experts.

Pushing data from the server to the client

DW
Hi,

Here is my question. I want to push security prices to the desktop from the
server. Whenever there is a new price in the database, the server notifies
the client. How can this be done in the following situations using MS .NET
Winforms on the desktop:

1. Using .NET Web Services on server

2. Using Java Web Services on server

3. Using .NET Remoting on server

Thanks.

- David W.
Nov 16 '05 #1
7 5076
RCS
First thing that comes to mind, is I'd consider having a TcpServer on your
client that listens.. have your server connect and send it a command - like
"UPDATE" when there is a change. When your client recieves that, it hits
your web service or uses remoting. Seems like you could use a
publish/subscribe pattern here too - but *how* is the tricky part. Because I
assume you need real-time - and that's what makes it funny. If you are doing
this on a per-security basis, that is going to be BRUTAL, on the server, on
your app and on the network.

But also, I am willing to bet you are using delayed quotes, because
real-time quotes are super-expensive and difficult to get at programatically
(from my experience) but delayed quotes you can get from anywhere, and if
you are a brokerage firm, you even have a few options no doubt.

If that's the case, why not just have a cache of prices locally and just go
get updates every few minutes? That way, you will always have information on
the client machine, and it's never any older than lastcheck +
originaldelay.. so say if you check every 2 minutes and your original quotes
are delayed 20 minutes, the data is never older than 22 minutes, sometimes
less.??

And as far as Java vs. .NET web services - I had the pleasure recently to
see textbook technology at work - we use a vendor, they wrote a web service
that I didn't have access to yet (because of infrastructure issues). They
gave me the .wsdl file for the web service (which was written in Java). So I
mocked up a facade web service on my side in .NET that had this interface
and wrote to it. I developed to that interface for a couple months and the
consumer was all in .NET (C#)!!

On the day when I could finally access thier web service, I literally just
changed the URL from my facade, to point to them and it worked perfectly
right away, and has continued to work ever since.

So having a .NET or Java web service as your back-end should be completely
invisble to you.

Remoting doesn't sound like a reasonable idea because you'd have to have the
remoting dll on each client machine and the stub on the server. The
connection management of Remoting is almost non-existent, so it's very
difficult to manage "what" your application is doing over the wire or over
in the client app. There is also quite a bit of overhead per connection with
Remoting, so you'd also have a practical limit based on CPU and RAM of your
server..

HTH..
"DW" <dd********@hotmail.com> wrote in message
news:PZ********************@rcn.net...
Hi,

Here is my question. I want to push security prices to the desktop from
the server. Whenever there is a new price in the database, the server
notifies the client. How can this be done in the following situations
using MS .NET Winforms on the desktop:

1. Using .NET Web Services on server

2. Using Java Web Services on server

3. Using .NET Remoting on server

Thanks.

- David W.

Nov 16 '05 #2
DW
Are there any good resources in existence that explain how to set up a push
model using .Net Remoting and/or .Net Web Services?

"Raqofella via DotNetMonster.com" <fo***@DotNetMonster.com> wrote in message
news:b3******************************@DotNetMonste r.com...
hey

i was you i would select the first option cause the third option demands
that you are behind your internal network (not firewalls guarded wan, lan)
to make that notification (events/delegates) stuff.

to implement event/delegates stuff with .net remoting or similar ideas for
your webservice and additional info please check these out:

http://www.dotnetmonster.com/Uwe/For...00/Is-there-a-
safer-way-without-using-typeFilterLevel-Full
http://www.dotnetmonster.com/Uwe/For...894/Singleton-
heartbeat-monitoring

a last note: there are third party channel components which permit you to
be able to pass through firewalls, but they are not free as i know...

--
Message posted via http://www.dotnetmonster.com

Nov 16 '05 #3
DW
Are there any good resources in existence that explain how to set up a push
model using .Net Remoting and/or .Net Web Services?

"RCS" <rs****@gmail.com> wrote in message
news:VH****************@newssvr33.news.prodigy.com ...
First thing that comes to mind, is I'd consider having a TcpServer on your
client that listens.. have your server connect and send it a command -
like "UPDATE" when there is a change. When your client recieves that, it
hits your web service or uses remoting. Seems like you could use a
publish/subscribe pattern here too - but *how* is the tricky part. Because
I assume you need real-time - and that's what makes it funny. If you are
doing this on a per-security basis, that is going to be BRUTAL, on the
server, on your app and on the network.

But also, I am willing to bet you are using delayed quotes, because
real-time quotes are super-expensive and difficult to get at
programatically (from my experience) but delayed quotes you can get from
anywhere, and if you are a brokerage firm, you even have a few options no
doubt.

If that's the case, why not just have a cache of prices locally and just
go get updates every few minutes? That way, you will always have
information on the client machine, and it's never any older than
lastcheck + originaldelay.. so say if you check every 2 minutes and your
original quotes are delayed 20 minutes, the data is never older than 22
minutes, sometimes less.??

And as far as Java vs. .NET web services - I had the pleasure recently to
see textbook technology at work - we use a vendor, they wrote a web
service that I didn't have access to yet (because of infrastructure
issues). They gave me the .wsdl file for the web service (which was
written in Java). So I mocked up a facade web service on my side in .NET
that had this interface and wrote to it. I developed to that interface for
a couple months and the consumer was all in .NET (C#)!!

On the day when I could finally access thier web service, I literally just
changed the URL from my facade, to point to them and it worked perfectly
right away, and has continued to work ever since.

So having a .NET or Java web service as your back-end should be completely
invisble to you.

Remoting doesn't sound like a reasonable idea because you'd have to have
the remoting dll on each client machine and the stub on the server. The
connection management of Remoting is almost non-existent, so it's very
difficult to manage "what" your application is doing over the wire or over
in the client app. There is also quite a bit of overhead per connection
with Remoting, so you'd also have a practical limit based on CPU and RAM
of your server..

HTH..
"DW" <dd********@hotmail.com> wrote in message
news:PZ********************@rcn.net...
Hi,

Here is my question. I want to push security prices to the desktop from
the server. Whenever there is a new price in the database, the server
notifies the client. How can this be done in the following situations
using MS .NET Winforms on the desktop:

1. Using .NET Web Services on server

2. Using Java Web Services on server

3. Using .NET Remoting on server

Thanks.

- David W.


Nov 16 '05 #4
DW
RCS,

Can you "subscribe" to a Java webservice using a delegate and a callback and
have data pushed from the Java webservice to your client? Thanks.

- David

"RCS" <rs****@gmail.com> wrote in message
news:VH****************@newssvr33.news.prodigy.com ...
First thing that comes to mind, is I'd consider having a TcpServer on your
client that listens.. have your server connect and send it a command -
like "UPDATE" when there is a change. When your client recieves that, it
hits your web service or uses remoting. Seems like you could use a
publish/subscribe pattern here too - but *how* is the tricky part. Because
I assume you need real-time - and that's what makes it funny. If you are
doing this on a per-security basis, that is going to be BRUTAL, on the
server, on your app and on the network.

But also, I am willing to bet you are using delayed quotes, because
real-time quotes are super-expensive and difficult to get at
programatically (from my experience) but delayed quotes you can get from
anywhere, and if you are a brokerage firm, you even have a few options no
doubt.

If that's the case, why not just have a cache of prices locally and just
go get updates every few minutes? That way, you will always have
information on the client machine, and it's never any older than
lastcheck + originaldelay.. so say if you check every 2 minutes and your
original quotes are delayed 20 minutes, the data is never older than 22
minutes, sometimes less.??

And as far as Java vs. .NET web services - I had the pleasure recently to
see textbook technology at work - we use a vendor, they wrote a web
service that I didn't have access to yet (because of infrastructure
issues). They gave me the .wsdl file for the web service (which was
written in Java). So I mocked up a facade web service on my side in .NET
that had this interface and wrote to it. I developed to that interface for
a couple months and the consumer was all in .NET (C#)!!

On the day when I could finally access thier web service, I literally just
changed the URL from my facade, to point to them and it worked perfectly
right away, and has continued to work ever since.

So having a .NET or Java web service as your back-end should be completely
invisble to you.

Remoting doesn't sound like a reasonable idea because you'd have to have
the remoting dll on each client machine and the stub on the server. The
connection management of Remoting is almost non-existent, so it's very
difficult to manage "what" your application is doing over the wire or over
in the client app. There is also quite a bit of overhead per connection
with Remoting, so you'd also have a practical limit based on CPU and RAM
of your server..

HTH..
"DW" <dd********@hotmail.com> wrote in message
news:PZ********************@rcn.net...
Hi,

Here is my question. I want to push security prices to the desktop from
the server. Whenever there is a new price in the database, the server
notifies the client. How can this be done in the following situations
using MS .NET Winforms on the desktop:

1. Using .NET Web Services on server

2. Using Java Web Services on server

3. Using .NET Remoting on server

Thanks.

- David W.


Nov 16 '05 #5
RCS
Not as far as I know. Whenever I've needed that (and that's twice) - I
created a TcpClient/TcpServer to handle this.

"DW" <dd********@hotmail.com> wrote in message
news:ge********************@rcn.net...
Are there any good resources in existence that explain how to set up a
push
model using .Net Remoting and/or .Net Web Services?

"RCS" <rs****@gmail.com> wrote in message
news:VH****************@newssvr33.news.prodigy.com ...
First thing that comes to mind, is I'd consider having a TcpServer on
your client that listens.. have your server connect and send it a
command - like "UPDATE" when there is a change. When your client recieves
that, it hits your web service or uses remoting. Seems like you could use
a publish/subscribe pattern here too - but *how* is the tricky part.
Because I assume you need real-time - and that's what makes it funny. If
you are doing this on a per-security basis, that is going to be BRUTAL,
on the server, on your app and on the network.

But also, I am willing to bet you are using delayed quotes, because
real-time quotes are super-expensive and difficult to get at
programatically (from my experience) but delayed quotes you can get from
anywhere, and if you are a brokerage firm, you even have a few options no
doubt.

If that's the case, why not just have a cache of prices locally and just
go get updates every few minutes? That way, you will always have
information on the client machine, and it's never any older than
lastcheck + originaldelay.. so say if you check every 2 minutes and your
original quotes are delayed 20 minutes, the data is never older than 22
minutes, sometimes less.??

And as far as Java vs. .NET web services - I had the pleasure recently to
see textbook technology at work - we use a vendor, they wrote a web
service that I didn't have access to yet (because of infrastructure
issues). They gave me the .wsdl file for the web service (which was
written in Java). So I mocked up a facade web service on my side in .NET
that had this interface and wrote to it. I developed to that interface
for a couple months and the consumer was all in .NET (C#)!!

On the day when I could finally access thier web service, I literally
just changed the URL from my facade, to point to them and it worked
perfectly right away, and has continued to work ever since.

So having a .NET or Java web service as your back-end should be
completely invisble to you.

Remoting doesn't sound like a reasonable idea because you'd have to have
the remoting dll on each client machine and the stub on the server. The
connection management of Remoting is almost non-existent, so it's very
difficult to manage "what" your application is doing over the wire or
over in the client app. There is also quite a bit of overhead per
connection with Remoting, so you'd also have a practical limit based on
CPU and RAM of your server..

HTH..
"DW" <dd********@hotmail.com> wrote in message
news:PZ********************@rcn.net...
Hi,

Here is my question. I want to push security prices to the desktop from
the server. Whenever there is a new price in the database, the server
notifies the client. How can this be done in the following situations
using MS .NET Winforms on the desktop:

1. Using .NET Web Services on server

2. Using Java Web Services on server

3. Using .NET Remoting on server

Thanks.

- David W.



Nov 16 '05 #6
RCS
I don't think this will be fundamentally work - mainly because http is
connectionless and assumes no connection other than right at the moment of a
request. So I believe that you can't have a http-based "push" technology,
it'd have to be your own version (like the other "push" technologies have
been).

You COULD completely do this in sockets (.net network libraries), just not
with HTTP I believe

"DW" <dd********@hotmail.com> wrote in message
news:4N********************@rcn.net...
RCS,

Can you "subscribe" to a Java webservice using a delegate and a callback
and have data pushed from the Java webservice to your client? Thanks.

- David

"RCS" <rs****@gmail.com> wrote in message
news:VH****************@newssvr33.news.prodigy.com ...
First thing that comes to mind, is I'd consider having a TcpServer on
your client that listens.. have your server connect and send it a
command - like "UPDATE" when there is a change. When your client recieves
that, it hits your web service or uses remoting. Seems like you could use
a publish/subscribe pattern here too - but *how* is the tricky part.
Because I assume you need real-time - and that's what makes it funny. If
you are doing this on a per-security basis, that is going to be BRUTAL,
on the server, on your app and on the network.

But also, I am willing to bet you are using delayed quotes, because
real-time quotes are super-expensive and difficult to get at
programatically (from my experience) but delayed quotes you can get from
anywhere, and if you are a brokerage firm, you even have a few options no
doubt.

If that's the case, why not just have a cache of prices locally and just
go get updates every few minutes? That way, you will always have
information on the client machine, and it's never any older than
lastcheck + originaldelay.. so say if you check every 2 minutes and your
original quotes are delayed 20 minutes, the data is never older than 22
minutes, sometimes less.??

And as far as Java vs. .NET web services - I had the pleasure recently to
see textbook technology at work - we use a vendor, they wrote a web
service that I didn't have access to yet (because of infrastructure
issues). They gave me the .wsdl file for the web service (which was
written in Java). So I mocked up a facade web service on my side in .NET
that had this interface and wrote to it. I developed to that interface
for a couple months and the consumer was all in .NET (C#)!!

On the day when I could finally access thier web service, I literally
just changed the URL from my facade, to point to them and it worked
perfectly right away, and has continued to work ever since.

So having a .NET or Java web service as your back-end should be
completely invisble to you.

Remoting doesn't sound like a reasonable idea because you'd have to have
the remoting dll on each client machine and the stub on the server. The
connection management of Remoting is almost non-existent, so it's very
difficult to manage "what" your application is doing over the wire or
over in the client app. There is also quite a bit of overhead per
connection with Remoting, so you'd also have a practical limit based on
CPU and RAM of your server..

HTH..
"DW" <dd********@hotmail.com> wrote in message
news:PZ********************@rcn.net...
Hi,

Here is my question. I want to push security prices to the desktop from
the server. Whenever there is a new price in the database, the server
notifies the client. How can this be done in the following situations
using MS .NET Winforms on the desktop:

1. Using .NET Web Services on server

2. Using Java Web Services on server

3. Using .NET Remoting on server

Thanks.

- David W.



Nov 16 '05 #7
You could have WSE service running on the client that has one method
UpdatePrices(someXmlDoc). The server could then call (using WSE) all the
clients. The clients would need to subscribe to the service before hand and
the server would need to maintain some table of client endpoints. Another
option would be to "ping" the client to pull. So instead of pushing the
data first, just call a Ping() or Alert() method on the client and close.
This kicks off the client to get the new prices from the WSE service on the
server side. This may allow easier security integration as you "flip" it
back to normal pattern where the client must authenticate to the server
using UT or SCT tokens before calling protected methods such as
GetNewPrices(). If security is not an issue, then may not matter which way,
but I think I like the second way better as it gives you the option to
include server authentication using std WS-Security or
WS-SecureConversation.

--
William Stacey, MVP
http://mvp.support.microsoft.com

"DW" <dd********@hotmail.com> wrote in message
news:PZ********************@rcn.net...
Hi,

Here is my question. I want to push security prices to the desktop from the server. Whenever there is a new price in the database, the server notifies the client. How can this be done in the following situations using MS ..NET Winforms on the desktop:

1. Using .NET Web Services on server

2. Using Java Web Services on server

3. Using .NET Remoting on server

Thanks.

- David W.


Nov 16 '05 #8

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

Similar topics

1
by: TheFarSeer | last post by:
Hi, i have a server that recieves data often from a third party data provider often. I would like to PUSH this data to the client webpage, WITHOUT having to force the user to hit refresh or...
9
by: James Macbell | last post by:
I think I have pushed ASP.NET to the limit, I am not sure if I have done anything wrong in the code because I am trying to make 2 pieces of code (C# vs PHP) using the same algorithm. Anyways, here...
3
by: TheFarSeer | last post by:
Hi, i have a server that recieves data often from a third party data provider often. I would like to PUSH this data to the client webpage, WITHOUT having to force the user to hit refresh or...
1
by: ryan | last post by:
I have a question about pushing realtime stock quotes to clients through the Internet. Is this even possible in .NET environment without creating serious network bottleneck problems? The...
8
by: DW | last post by:
Hi, Here is my question. I want to push security prices to the desktop from the server. Whenever there is a new price in the database, the server notifies the client. How can this be done in...
2
by: radiax | last post by:
I have been trying to find a way for a server to push data to a client (aka disconnected server approach) but iam still stuck. This is the scenario: a client is using a webclient to communicate...
5
by: Dan Ritchie | last post by:
I've got a client/server app that I used to send large amounts of data via UDP to the client. We use it in various scenarios, one of which includes rendering a media file on the client as it is...
17
by: Timothy.Rybak | last post by:
Hello all, This is my first attempt at an application, so kid gloves are appreciated. I need to make a very simple form that only has a few elements. One is TraceCode - a text field that is...
3
by: BobRoyAce | last post by:
I am using Visual Studio 2008 w/ VB.NET. For the database, I am using SQL Server 2005, which is running on a dedicated server box. I am creating a WinForms application for a client. It is run...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
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: 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
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
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,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

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.