Server Push and business objects

Server Push and business objects

Old forum URL: forums.lhotka.net/forums/t/5773.aspx


kyle.l.watson@gmail.com posted on Monday, November 10, 2008

One thing I would like to happen with application development is an easy way to update stale data in a client application.

You can push data using WCF with its duplex service, however, the main problem ( as far as I know ) is scalability.

I am not a CSLA guru, and I'm not sure if there is any support for updating business objects when they become stale. It seems like this is a difficult thing to do, but would be an amazing feature.

So, my question is - has this been given any thought and if so what is the current status for supporting scenarios that can update business objects in real time.

 

 

 

RockfordLhotka replied on Tuesday, November 11, 2008

The problem in general is scalability. This is a very challenging problem to solve, and is not something I intend to solve within the scope of CSLA in the near future.

Perhaps Microsoft will solve it through Live Mesh or some of the other Live and/or Windows Azure services they are now talking about. Certainly some of the .NET Live services around their service bus implementation seem like they could go a long way toward providing a solution in this area - though at the cost of paying to use that service.

kyle.l.watson@gmail.com replied on Tuesday, November 11, 2008

Thank you for the response.

I will continue to keep an eye open for other techniques that may appear on the horizon as well as investigate the other posts made here on this thread.

Thank you for your time.

rsbaker0 replied on Tuesday, November 11, 2008

This is neither a complete nor perfect solution, but an alternative might be to use a read-thru cache for objects that you want to stay current.

Rather than fetch directly from the database, you get these objects from the cache. Each object is time-stamped so that if the object in the cache is older than an amount of time that you determine, it gets refreshed from the database.

It's not real-time, but you know that no object you access this way will ever be older than the cache refresh interval, and it avoids database hits from the more aggressive solution of always re-reading the database when the object is needed.

Jack replied on Tuesday, November 11, 2008

If you are using Oracle then the latest 11g ODP.NET client supports client side refreshing as well as cache notification.  Basically register a sql statement with the database and you can have an event notification fire when the data is invalidated. 

 

Copyright (c) Marimer LLC