NCSAHabanero

[ Previous ] [ Index ] [ Next ]

-------------------------------------------------------------------
Glossary
-------------------------------------------------------------------


Action Event
Events  resulting from some sort of action, for example, pressing a button, typing something and pressing return, etc. In Java, they are subclasses of java.awt.event.ActionEvent.[Outside link]

Applet
A small Java program designed to run in a web browser. Many are available for download from Gamelan[Outside link]

Collaboration
People in different places working together as if they were in the same location.

Collaborative Environment
Applications that facilitate collaboration.

Double Dispatching
This is a technique to allow operations that depends on the kind of request and the types of two receivers to be executed. The object that calls the method passes itself as a parameter to the receiver, and so the receiver can act differently depending upon the type of the caller.

Event
Actions in the real world such as a mouce clicked or a key pressed or actions in the GUI such as a button pressed are called events in Java and are modelled by the class java.awt.AWTEvent[Outside link]

Externalizable
The ability of an object to serialize itself -- as opposed to serializable, which is an object which lets Java automatically serialize it. For details, see the interface java.io.Externalizable.[Outside link]

Framework
"Prefab parts" for software. Frameworks are collections of objects that you can put together with your own objects to make programs for a particular domain of applications, thus saving you the work of starting from scratch. For example, Habanero provides the framework for writing collaborative applications, so that you do not have to worry about all the nitty-gritty of setting up the communications and other issues common to all such collaborative applications. The framework lets you concentrate on working on your particular program needs .

GIF
Graphics Interchange File; a widely-used image format. Many graphics programs can create and read GIFs.

Habanerize
The process of turning a Java applet or application into a Habanero hablet.

Habanero
The hottest kind of chilli pepper. Also, a collaborative environment and set of applications that allow users to share tasks from remote locations in real time over the Internet. Habanero is available from NCSA's website.

Habanero Client
The part of Habanero that each user runs to run and display hablets in the collaborative environment. Each client keeps track of the hablets and talks to other clients through the server.

Habanero Server
The server acts as a clearinghouse for the communication. This is the part of Habanero that keeps track of all users and each user's hablets. Each user of Habanero runs a client. All the clients in the same session talk to the same server, and share information through the server.

Hablet
A Habanero collaborative application, usually a tool.

Listener
This is an object that you attach to a widget, for example, a button. It listens for events that happen to that widget and contains code to take some action based on that event. For example, the listener for a button on a GUI will contain code to do the work associated with that button when the user presses the GUI button. In Java, listeners implement the public interface java.util.EventListener.[Outside link]

Method
Functions attached to objects. Also known as messages.

Minimalist Documentation
This kind of documentation is based on the assumption that people work better when you let them explore and determine their own tasks, rather than giving them step-by-step instructions. The documentation tries to give you the minimal amount of information necessary and avoid distracting you with extra information. It is based on the research of John Carroll and Mary-Beth Rosson as detailed in The Nurnberg Funnel: Designing Minimalist Instruction for Practical Computer Skill.

Pattern
Patterns and Pattern Languages are ways to describe best practices and good designs, and to capture experience in a way that helps the reader to learn to reuse this experience. For a more detailed discussion, see the Patterns Home Page[Outside link]

Refactoring
The process of rearranging your classes and methods so that common code is more easily inherited or delegated to. Refactoring allows you to avoid duplicating code.

Serialize
The process of taking an object and copying all its data somewhere else (usually another machine) so that the object can be duplicated in that other place. Also known as Marshalling.

Serializable
This is an object that wants Java to automatically serialize all its variables (except the ones declared as transient.) It implements the public interface java.io.Serializable[Outside link] but there are no actual methods to implement -- this is simply to identify the class to Java as one it should serialize. (See externalizable.)

Session
When a group of people use Habanero to collaborate, Habanero keeps track of things in a session. The session knows who the collaborators are, and what hablets they are using. The clients of any new collaborators who join the session then receive this information in order to construct their local copy of the collaboration environment.

Synchronous Collaboration
There are two major kinds of collaboration -- synchronous and asynchronous. Habanero does synchronous collaboration. In synchronous collaboration, all the collaborations are online at the same time and participate in what each other are doing in real time. In asynchronous collaboration, the collaborators send messages to each other, which will be read later. For example, a chess game in synchronous collaboration will have both players present online at the same time, seeing each other's moves in real time. An asynchronous chess game would have each player making a move, and sending the move to the other player. When the other player logs in later, they will make their move, and send it back.

Widget
A graphical user interface object, for example, a button, text box, etc.


Habanero® is a registered trademark owned by The Board of Trustees of the University of Illinois. Copyright 1996-1998. All rights reserved.   Java(TM) is a proprietary trademark owned by Sun Microsystems, Inc. NCSA
The National Center for Supercomputing Applications

University of Illinois at Urbana-Champaign

Contacts page