CSLA Support for Broadcast / Observer Pattern

CSLA Support for Broadcast / Observer Pattern

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

liamg posted on Friday, January 15, 2010


I've been using CSLA on and off for about 10 years but its been about 3-4 years since I last used it ... so forgive me if this question is out of date

I am building an application that has a requirement whereby changes made to a business object by one user are broadcasted to the other users. I am wondering if CSLA supports broadcasting changes to connected clients and even if the CSLA server contains a list of connected clients

I have seen posts mentioning Peter Kozuls Active Objects - but that site seems to be down (the posts are about 4 years old). I also see a class in the CSLA version I have called ObservableCollection. I am using CSLA version 3.8.

Are there any examples which show how to implement this?







RockfordLhotka replied on Friday, January 15, 2010

CSLA .NET does not provide a solution for this problem, no.

ObservableCollection is a type introduced by Microsoft to .NET 3.0 to support data binding in WPF.

The problem is that neither Windows nor .NET have any base plumbing to help solve this problem. And it is not an easy problem to solve in the general case.

Microsoft does now have some plumbing in place to address the problem - Azure .NET Services. This is part of the Windows Azure platform and it provides a message bus, guaranteed message delivery and automatic firewall negotiation. In short, all the things necessary to really address a pub/sub or distributed observer implementation are included in this product.

Using it requires a Windows Azure subscription, and you pay per message for using the service.

jh72i replied on Friday, March 12, 2010

While CSLA doesn't provide a solution out of the box, liamg, it is possible to roll your own. There are many considerations, hurdles, etc. and controls that you must build in but it is possible (in my opinion). The beauty of CSLA is that it is already all about mobility of objects which opens interesting possibilities.

Doesn't help you in terms of downloadable/pluggable code, etc. but I have implemented exactly what you describe in the company I work for.



Copyright (c) Marimer LLC