Article Discussion
Observing JavaSpace-Based Systems, Part I
Summary: This article, the first of a two-part series, describes the challenge of understanding and debugging JavaSpace-based systems, and presents a local logging architecture that allows you to record and analyze the behavior of such systems.
4 posts.
The ability to add new comments in this discussion is temporarily disabled.
Most recent reply: December 23, 2004 6:51 AM by Cameron
    Bill
     
    Posts: 409 / Nickname: bv / Registered: January 17, 2002 4:28 PM
    Observing JavaSpace-Based Systems
    October 6, 2002 5:00 PM      
    "Even with small systems, finding out what occurs 'in the space' can be difficult. Shifting reads, writes, and takes in your code or inserting debug statements in important places may give you clues. But these techniques are effective only in the simplest systems, where you can easily imagine the flow of objects around the system. Systems of anything other than the most trivial complexity require not only stretching your imagination, but also using tools to help you imagine space activity. Tools that let systems developers or designers view the activities of the system's various clients can help restore confidence in understanding the system's behavior as a whole," says Philip Bishop and Nigel Warren in this Artima.com article:

    http://www.artima.com/jini/jiniology/obspaceA.html
    • Bill
       
      Posts: 409 / Nickname: bv / Registered: January 17, 2002 4:28 PM
      Re: Observing JavaSpace-Based Systems
      October 8, 2002 6:46 AM      
      I forgot to put a link to the source code for this article in the Resources. The source code is here:

      http://www.djip.co.uk/downloads.html#artima
    • Susanna
       
      Posts: 1 / Nickname: ssong / Registered: November 15, 2002 7:34 AM
      Re: Observing JavaSpace-Based Systems
      November 15, 2002 0:36 PM      
      Dear all,

      I downloaded the source code for this article "oberserving javaSpace-Based Systems". But I couldn't get it run.

      Are there anybody who could show me how to compile and run this program?

      Thanks a million!
    • Jerome
       
      Posts: 1 / Nickname: jeje / Registered: October 7, 2002 9:40 PM
      Re: Observing JavaSpace-Based Systems
      October 8, 2002 1:48 AM      
      I just wanted to add that the use of dynamic proxies can even simplify this issue. There is then no need to create a Jini service.

      And moreover, it is even easier that way to add other kind of proxies at the same time (such as an automatic retry in case of RemoteExceptions, etc etc...).

      For example look at the code that I use in my project:
      - the proxies: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/xtremesuite/WebOS/src/java/com/kalixia/webos/proxy/
      - a helper class that all clients use for locating Jini services:
      http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/xtremesuite/WebOS/src/java/com/kalixia/webos/ServiceFinder.java?rev=1.3&content-type=text/vnd.viewcvs-markup


      I am also making changes so that instead of using dynamic proxies I will just use AspectJ (http://www.aspectj.org).


      Jerome.
      • Cameron
         
        Posts: 26 / Nickname: cpurdy / Registered: December 23, 2004 0:16 AM
        Re: Observing JavaSpace-Based Systems
        December 23, 2004 6:51 AM      
        > I just wanted to add that the use of dynamic proxies can
        > even simplify this issue. There is then no need to create
        > a Jini service.

        Jerome, why not just support events from the space? I'm thinking of something along the lines of the ObservableMap interface that we provide to watch a cache in Coherence -- http://www.tangosol.com/coherence.jsp -- which lets you specify what kind of changes you want to listen to and how much information about those changes you want to receive (e.g. the previous and new values from the operation, since the events could be async.)

        Peace,

        Cameron Purdy
        Tangosol, Inc.