4 Replies Latest reply on Oct 2, 2008 2:46 PM by Coral Featherstone

    Custom Scopes for collaborative multi-user app

    Paul Strong Newbie

      We are developing an RIA app which involves a lot of collaborative multi user interactivity. The interaction is very rapid so the state must be maintained in memory. The chat example which comes with the Seam distribution uses JBoss Cache for this purpose, but we have several reasons why we can't use this:

      1. We can't depend on any specific caching technology for several business reasons.
      2. We have a complex inhouse validation framework for our services and the best solution would be to create a set of stateful Seam services.

      The problem is that Seam does not appear to provide a multi-user scope we can use to share data between several clients. The PROCESS scope is not suitable because we don't want a business process and jBPM is not an option considering the rapid response collaborative nature of the application.

      We need to create a custom scope which is similar to the conversation scope, but is not coupled to a single user and is based on a pre-defined collaborative uid instead of a generic reusable conversation id. Later on these custom scoped services will be tied to JMS channels which queue up messages related to the context.

      I believe Spring now allows you to create custom scopes specifically to address these issues. Can this be done in Seam? Or are we forced to use JBoss Cache?

      Many Thanks!