Discussions

News: Gigaspaces Enterprise App Grid 4.1 and community edition is out

  1. GigaSpaces Enterprise Application Grid (EAG) is a middleware product based on a commercial implementation of clustered JavaSpaces. The clustered JavaSpaces form a distributed data backbone/middleware upon which application services such as distributed caching, messaging and parallel processing have been built.

    The EAG supports standard APIs such as JavaSpaces, JMS and JDBC. JavaSpaces are used for parallel processing activities, JMS offers messaging built on top of JavaSpace-based messaging, and JDBC is built on top of in-memory JavaSpace-based data store. The datastore also has hooks for creating a Hibernate and JDO-based object cache.

    Version 4.1 adds the following main new capabilities:
    - Enhanced Security including content based server side filtering
    - MDB Support for Websphere and WebLogic
    - Performance improvements
    - Memory Management
    - Synchronous replication via unicast or multicast
    - Multicast UDP based Notification

    As of 4.1 Gigaspaces has also made available a free community edition that includes many features such as the JavaSpaces/Jini implementation, a Java Messaging Server (JMS) implementation and a JDBC interface to query data managed by a space. Advanced features found in the Enterprise Edition such as clustering and High-Availability options, Fast Persistence, C++ API, .Net API and J2EE integration are not included.

    Threaded Messages (3)

  2. JavaSpaces in Spring[ Go to top ]

    This is a brave leap for a commercial company, it takes guts to spend $millions on a product to be able to release it to the world for free (at least part of it).

    We are seeing more and more large companies moving towards light weight containers (Spring et al) and simpler APIs (Hibernate et al). JavaSpaces might be stuck in a political rut with Sun but the rest of the world are slowly starting to see the light.

    Think of a J2EE stack, (from bottom upwards), database, Entity EJBs (CMP and BMP), Session EJBs, Servlets, JSPs and finally the GUI (thick or Thin), on the side a splattering of JMS, MDBs, JNDI, JavaMail, JAAS etc.

    Now, I don't think there are many that wouldn't agree with the fact that this is a solid stack with a rich choice of implementations but people are moving away from the EJB layer simply because it's complex and doesn't provide the grunt for the effort invested. I know a lot of you understand Remote Objects, the Object proxy etc. but many don't, they think you simply talk to an EJB like any other object. It's complex for a reason, it's designed to scale but it was designed with servers and clusters in mind not grid or truly distributed dynamic systems in mind. WebLogic is an excellent App Server but how long will it take even the best team to change the topology and add, move or change the number of machines and/or when runs where. How do you get it working with high efficiency with 12 Sun V40zs and then tomorrow on 24?

    When you do figure it out, and it can be done, it works a treat but it's horribly complex and you won't want to be around when your previous success encourages the CEO to purchase another 24 machines and you're left to set up the clustering and provisioning.

    So, to the point, JavaSpaces offers a very interesting alternative to EJBs, predominately Session EJBs, it's not a totally replacement for EJBs or J2EE by any stretch of the imagination but it does provide a very light weight, simple to program option. It provides a powerful platform that is dynamically scalable, i.e. it does everything J2EE clustering can do but you don't need to configure it. Its like comparing Windows 3.1 to XP, Windows needed loads of drivers and was hard to configure, change something and it all went pare-shaped, a good JavaSpaces is like XP, it's plug and play, most of the time. GigaSpaces uses Hibernate for persistence so there go those horrid Entity EJBs, it integrates perfectly with all J2EE APIs since it's pure Java, JRun even used it for it's own J2EE clustering.

    With a new stack we can now adopt something more Spring-like, Rod's skiing so he can't disagree with me :-) Hibernate, JavaSpaces and Struts (and all the other bits on the side). It's much simpler to program than the EJBs in most cases runs faster, it's transactional and secure. You now however get something that's truly scalable, so dynamically that you simply fire up the JVM and it discovers then new services.

    If you're brave give it a go, there are some large companies that are taking this up to solve some impressive problems.

    -John-
  3. JavaSpaces in Spring[ Go to top ]

    This is a brave leap for a commercial company, it takes guts to spend $millions on a product to be able to release it to the world for free (at least part of it).

    Maybe Tomcat, JBoss, and MySQL are a trend. Maybe basic middleware is naturally cheap.
    You now however get something that's truly scalable, so dynamically that you simply fire up the JVM and it discovers then new services.

    Sounds like a JXTA-killer to me.
  4. JavaSpaces in Spring[ Go to top ]

    WebLogic is an excellent App Server but how long will it take even the best team to change the topology and add, move or change the number of machines and/or when runs where. How do you get it working with high efficiency with 12 Sun V40zs and then tomorrow on 24?

    That's pretty simple, John. Depending on the COD infrastructure, you either drag and drop the application onto those servers or you drag and drop those servers onto the application ;-)

    Seriously, there's no extra configuration that you have to do when you add servers to a Weblogic cluster, unless you want to hav extra configuration to do when you add servers to a Weblogic cluster.

    (As an aside, I have some experience using Weblogic and its clustering, so this isn't based on marketing literature or something.)

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Cluster your POJOs!