Persistence to Offer Distributed Cache for J2EE AppServers


News: Persistence to Offer Distributed Cache for J2EE AppServers

  1. Persistence Software today announced plans to add a new product 'EdgeXtend' to their suite. EdgeXtend is a complementary software module for J2EE application servers, and is based on Persistence's unique distributed dynamic caching technology. Like Gemstone, Persistence will soon be offering their advanced distributed cache and O/R mapping capabilities on other app. servers, integrated via JCA.

    Read the Press Release.

    EdgeXtend will be available in the first quarter of 2002.
  2. There's a big difference between complimentary and complementary. About $15K per CPU :-)

    I wonder which "leading application servers" are supported. Adding a distributed cache to a free application server like JBoss would introduce a new price/performance option for EJB CMP applications.
  3. WebSphere, WebLogic[ Go to top ]

    I have heard that they are going to support WebLogic and WebSphere, but basically could integrate with any JCA-capable application server. Does any of the free or low-cost app servers support JCA?

  4. WebSphere, WebLogic[ Go to top ]

    JBoss does.

  5. WebSphere, WebLogic[ Go to top ]


    I believe ObjectFrontier does offer JMS based distributed caching mechanism for JBoss.

  6. More on EdgeXtend[ Go to top ]

    So a JBoss + Persistence combination becomes possible ... though it's probably pretty unlikely that this is ever going to happen. My understanding is that EdgeXtend would allow you follow a management decision for e.g. WebSphere (most likely) while still being able to use PowerTier's O/R mapping mechanism, which is probably its primary goal.

    I have also heard that the price is going to be lower if you don't need the distributed cache. It's still going to be very expensive, though, which is a pity since I really like the product. Most customers I know will have a hard time accepting to pay more for their persistence engine than for their application server - in fact I know of some that switched from TopLink to BMP (with hardcoded JDBC calls, ugh) for similar reasons.

    [Sigh ... is there any *free* O/R mapping engine that could be used with several application servers and offers similar functionality?]

    Some more information on EdgeXtend: In fact the product contains most of PowerTier. It even uses the same (proprietary) format to describe the components' persistence schema. The code generation produces BMP beans that delegate the database calls to the same implementation classes that are in used in the PowerTier CMP solution (which are just JNI wrappers around the C++ core engine). To coordinate the transaction, JCA is used for propagating the transaction context. Effectively, you get a kind of non-standard CMP: Although it's technically BMP, you never need to touch the entity beans' code (although you can).

    To me, this seems both good and bad: the Persistence tools are actually pretty goog - you can design a pretty complex object model, and your complete backend persistence implemantation, including finders for navigation, is generated. Of course your code is non-portable to other solutions (since it offers a lot more than basic EJB1.1 persistence and does not [yet] care about EJB2.0, which would not be possible to integrate in this way, anyway.).
  7. More on EdgeXtend[ Go to top ]

    "[Sigh ... is there any *free* O/R mapping engine that could be used with several application servers and offers similar functionality?]"

    Personally I'm anxiously awaiting the JDO RI :-) It's free and it's JDO. Very interesting.

  8. WebSphere, WebLogic[ Go to top ]

    [comments from a GemStone employee]
    GemStone has already demonstrated interoperability of Facets with JBoss. In migrating our customers away from the GemStone/J app-server we have found that JBoss is a contender with WebSphere and WebLogic in some circles.

    The first release of Facets has a JDO interface and is based on the database/caching engine on which the GemStone/J app-server rested. This engine also runs the company's GemStone/S Smalltalk app-server product, first released in 1987. The second release of Facets will provide JCA integration with app-servers.

    [obligatory link to GemStone Facets download page]
  9. WebSphere, WebLogic[ Go to top ]

    The JOnAS open source EJB Server supports JCA.

  10. Piper, thanks for pointing out my silly speling mistake. :)
  11. <quote>
    Piper, thanks for pointing out my silly speling mistake. :)

    There is a Usenet saying that claims that whenever you correct someone's spelling, your own message will containe a typo.

    That's ridiculous, if you ask me.

  12. Ridiculous, definitily.
  13. but there was no spelling mistake, and certainly no silly one. "Complementary" is exactly what you meant to say (just to keep things straight)

    I assume Piper just wanted to play on the similarity of the terms...

  14. Looks like there are lots of folks ( Persistence, Gemstone, Excellon, FrontierObjects, etc ) catching on to what Versant has been doing for years with their enJin product. Does anyone remember NetDynamics before Sun bought them....and destroyed them? They were one of the first Application server vendors on the market and Versant had an EJB integration with them. Versant has been doing application server caching and middle tier object management since 1998.

    If what you want is to speed performance of your multi-tiered J2EE applications and get rid of the burden of mapping to your relational systems then you should really check out enJin. Using enJin you can return to the benefits of true OO design using pure Java with concurrency and persistence handled for you. You can have transparent persistency of your Java domain model from EJB's, Servlets, JSP's ( JSP custom tag library support is there because the other guys do it...Versant does not recommend this as JSP are really meant for presentation and a good MVC seperation is always encouraged ). Then if you need some of your "data" to go out to the back office systems you can do that through an integrated mapping tool.

    The OR mapping part is easy because for the most part it is eliminated. The basic idea is.... Use Servlets or Session beans to control your domain model which is composed of Java objects that are stored for you in enJin with all the ACID properties you expect from a transactional system. When doing this identify the portion of your objects which contain "data" relevant to back office systems. Use enJin mapping tools or standard J2EE JTA/JCA connectivity to move the "data" to the back end systems.

    A classic yet simpified example is the online B2B shopping cart application. It is easy to conceptualize that there are many objects involved regarding the placement of specific items into the cart, the coordination across businesses in adjusting inventories, etc that have no real use in the back office systems. However, these objects do represent important transactional information for the processing of the complete order. In the end, an Order is placed that probably results in financial "data" that truely needs to go to back office systems for accounting purposes. So, you have mapping put in place for that "data" and the rest of your domain model stays in enJin.

    Using enJin will save you time to market, significant savings in hardare costs, an improve the response time of your applications dramatically.

    Check out the benchmark recently done with the IBM high volume website group at the IBM facilities in Santa Clara, CA.

  15. Shouldn't you at least mention that you work for Versant?
  16. I didn't think that it was relevant to the discussion. However, you are right.... I do work for Versant. It is the best technology I have come across with regard to Object Management and Persistency in the 15 years I have been doing this stuff.

    I highly recommend it for the reasons I stated above. I also feel pretty luck to be associated with the company ;-)

  17. Gemstone is "catching on" to Verant? Uh, sure.