[This text is only available in english so far.]

Java Object Browser

Distributed Object Browser Framework:

The Invoca Java Object Browser is a Client/Server-Framework that allows us to browse through Java Objects that are in the same Virtual Machine or in another Virtual Machine that is physically running on another machine.

The current implementation of the Client-ObjectBrowser is a swing-based viewer that can represent Objects as little internal frames on the screen.


The name 'Object-Browser' is well put because of the linked feature: a right-mouse-click onto the object-view brings up a popup menu where all methods of that object are listed. A click on one of the listed methods which returns another Object will show the returned object in the same manner like a webbrowser that shows the target of a link in a new window.

Drag and drop functionality:

One object can be dragged to another via drag and drop. Let's assume two objects are placed on the screen: Object A which is a BigDecimal-instance containing the value '1.1' and Object B which is a BigDecimal-instance containing the value '2.2'. A drag-operation from Object [A] to Object [B] will pop up a menu that includes the following methods because they are the instance methods of object B that take an instance of BigDecimal as argument:
  • compareTo(java.math.BigDecimal)
  • min(java.math.BigDecimal)
  • add(java.math.BigDecimal)
  • max(java.math.BigDecimal)
  • subtract(java.math.BigDecimal)
  • multiply(java.math.BigDecimal)

Minimized network traffic:

The framework minimizes network traffic through a chained chaching mechanism: While the 'content' of an object (for example the value of a public field) always needs to be transmitted over the network since each instance can contain different values, the class data is cached so that further queries of the client can read the data from the local cache.

RMI communication layer:

The Framework uses RMI for communication. One of the most important gains from using RMI is the use of the distributed garbage collection mechanism. This means that the Client does not need to care about dereferencing remote objects (referenced by a remote object reference): this functionality is provided by the remote garbage collection mechanism of RMI.

Architectural Overview:

The overview given by the following image represents only a very coarse view of the client-server architecture. Additional information will be provided as soon as possible.

copyright (c) Invoca Systems, Sägeweg 15, CH-4304 Giebenach