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.
5 posts on 1 page.      
« Previous 1 Next »
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
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.
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!
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.
5 posts on 1 page.
« Previous 1 Next »