Clustering static objects in WL6.0

Discussions

General J2EE: Clustering static objects in WL6.0

  1. Clustering static objects in WL6.0 (18 messages)

    I'm working on a J2EE Project which has a very elaborate Access control model . We are using something called the RBAC(Role based Access Control) and plan to implement it using Database (MS SQL server). We plan to cache it upfront when app server is started.My question is how can we do it in a clustered environment. WL Documentation doesnt recommend using JNDI for heavy objects. Any other solution that you guys can suggest??

    and I quote from the WL Documentation

    Warning: Do not use the cluster-wide JNDI tree as a persistence or caching mechanism for application data. Although WebLogic Server replicates a clustered server instance's JNDI entries to other server instances in the cluster, those entries are removed from the cluster if the original instance fails. Also, storing large objects within the
    JNDI tree can overload multicast traffic and interfere with the normal operation of a cluster.

    Threaded Messages (18)

  2. Coherence

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  3. Does this work WL6.0

    thanks

    satish
  4. Yes!

    And 5.1 too!

    (And 4.x too! ;-)

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  5. Hi Cameron,
               Good to know that it works for all versions of WL. we are more inclined towards WL for this reason. Could you talk about transaction control in detail because that is our primary concern right now. So we are basically 1.looking for a soln that would scale well in a clusterd environment
    2.has bultin transaction control for a single phase and a 2 phase commit.this point hasnt been very clear from another post of your and I quote you here


    People use our software for entity bean caching today, but until we expose transaction support, it's not a perfect fit. (Currently we ship an adapater (connector architecture) with Coherence that works with WebLogic 7 and supports 2-phase commits via JTA, but it is not yet commercialized.)

    Right now, caching is usually used for non-transactional purposes (e.g. security data, display-only data) and the transactional work is reserved for EJBs that work with the database.
  6. You can use Coherence either transactionally or non-transactionally. With a transaction approach, to obtain 2PC with another resource (e.g. a database) you would have to use it through an adapter; this is not available in WebLogic versions 6.0 or earlier. However, you can programmatically control Coherence transactions (either 1PC "commit" or 2PC "prepare/commit") but they won't be managed by the WebLogic transaction manager.

    For security data, it would be very odd to require transactional management. That seems like an added complexity. Could you explain your requirements?

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  7. Assuming we are able to convince management to buy WL7.0 , do you think we still will have to handle transaction management programatically(I assume you mean JTA when you say : programatically )

    thanks

    Satish Mandalika
  8. Satish: Assuming we are able to convince management to buy WL7.0 , do you think we still will have to handle transaction management programatically(I assume you mean JTA when you say : programatically)

    I'm trying to figure out if you need transactions at all ;-) ... for a security data cache, you usually don't. The best way to make transactions easier is to not use them. If you do need to use them, on WL 7.0 you can manage them sans code with Coherence. We have a code example; I'll ask one of our SEs to post it.

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  9. Tx Example[ Go to top ]

    Hi Satish,

    Here is the Transactional Caching example Cameron was referring to.

    Later,
    Rob Misek
    Tangosol, Inc.
    Coherence: Cluster your Work. Work your Cluster.
  10. tx example[ Go to top ]

    When I say security data I dont mean sensitive data but stuff like roles, groups,permissions etc. This data doesnt change ver often and can be conveniently cached. I did go thro' the example. I'm going to try it out

    One of the main concerns we have is if replication is by itself transactional.

    For eg on a 2 instance cluster I have an object bound to a JNDI tree as aprt of the cache
    Let us say I have this object in a transaction mode. will I be able to identify
    the boundaries of the transaction across server instances.or will it lead to an inconsistent state of the cache in failover

    thanks
    Satish Mandalika
  11. tx example[ Go to top ]

    Coherence provides a "coherent cache", which means that all servers will have the same data, even if one dies.

    Additionally, you can make your changes to the Coherence caches within a transaction, so that the modifications are all committed or all rolled back.

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  12. tx example[ Go to top ]

    Hi Cameron,
                Is there any way I could get the source code for tangosol.Just needed to checka few things

    thanks
    Satish
  13. tx example[ Go to top ]

    Satish: Is there any way I could get the source code for tangosol. Just needed to check a few things

    We do not publish the source code for Coherence. If you have specific questions, I suggest posting them at our tangosol.net support site.

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  14. tx example[ Go to top ]

    Hi Cameron,
                 We are considering buying tangosol for our caching soln. I'd like to get some pricing info and contact numbers for the same

    regards
    Satish
  15. tx example[ Go to top ]

    Hi Satish,

    Pricing is on the Tangosol web site. Just drop an email with your contact information to sales at tangosol dot com if you don't already have an account representative.

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  16. tx example[ Go to top ]

    Thanks for the info cameron. I need some more info on the product.

    First off I was reading in an article about the strategies that distributed caches follow when they are implemented. what kind of strategy that Tangosol follow (Independant,Partitioned,Co-ordinated). Or is it possible to implement all 3.
    Also there was mention about drwabacks of implementing Distributed cache using the multicast protocol chiefly loss of packets when using this protocol and routers not supporting the muticast protocol.Could you pl shed some light on this aspect

    Finally I'm sort of getting started to write the caching piece. Would it be possible for you to share some piece of code which I could start looking at to get a general picture of how to go about implementing it avoid common pitfalls such as Synchonization, Transaction etc.

    Regards
    Satish
  17. tx example[ Go to top ]

    Satish,

    Thanks for the info cameron. I need some more info on the product.

    Start with the feature guide; the PDF is available online.

    First off I was reading in an article about the strategies that distributed caches follow when they are implemented. what kind of strategy that Tangosol follow (Independant,Partitioned,Co-ordinated). Or is it possible to implement all 3.

    I think the feature guide will help explain our offering, but I think we support all three of those.

    Also there was mention about drwabacks of implementing Distributed cache using the multicast protocol chiefly loss of packets when using this protocol and routers not supporting the muticast protocol.Could you pl shed some light on this aspect

    Ah, yes. You are referring to the article by Nigel, who was a SpiritSoft employee. He is correct that there are several potential downsides to using multicast, including that very old routers did not support it, some admins don't allow it, and there is something called a multi-cast storm that some multi-cast products suffer from.

    However, that said, most clustering software (including WebLogic) utilizes multicast, because it is the best route for discovery, broadcasting, etc. Coherence is relatively unique in that it dynamically switches between unicast and multicast depending on the nature of the traffic and the state of the cluster. As a result, it is significantly more scalably performant than other clustering and messaging implementations (including the one being pushed by that article), and we do have customers that use it over routers (between different sites) without issue.

    Finally I'm sort of getting started to write the caching piece. Would it be possible for you to share some piece of code which I could start looking at to get a general picture of how to go about implementing it avoid common pitfalls such as Synchonization, Transaction etc.

    I would point you to the Tangosol forums as a good place to ask questions, check out code examples, etc. Where are you located? Drop me an email at cpurdy at tangosol.com and I'll get you set up with a dedicated support contact so you can get the help you need to evaluate and integrate the software.

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  18. tx example[ Go to top ]

    Hi Cameron,
                 I sent you an email to the tangosol address with more questions specific to tangosol. I Was wondering if you got a chance to read the mail

    Satish
  19. tx example[ Go to top ]

    Hi Satish,

    I got your email and am about to respond.

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!