Some reader favorites:
EJB fundamentals and session beans
Create a scrollable virtual desktop in Swing
Wizard API updated!
Tim Boudreau has released a new version of the Swing Wizard library (version 0.997) that fixes the WizardException bug reported in JavaWorld's recent Open Source Java Project profile. The article's examples have been reworked to test out the new, improved WizardException. Thanks, Tim, for this helpful fix!
Open Source Java Projects: The Wizard API
TEXTBOX: TEXTBOX_HEAD: Make room for JavaSpaces: Read the whole series!
In this series, we will begin by introducing you to the unique JavaSpaces programming model, which is quite different from other network and distributed tools with which you might be familiar. In subsequent articles, we will cover the details of the JavaSpaces API and how you can use it to glue processes together into a distributed application, and describe how JavaSpaces interacts with other components of Jini. Throughout the series, you'll see that JavaSpaces is simple (the API consists of only a handful of operations), expressive (a large number of problems can be solved using JavaSpaces), and powerful (you can build sophisticated distributed systems with small amounts of JavaSpaces code).
Let's get started.
Building distributed applications with conventional network tools usually entails passing messages between processes or invoking
methods on remote objects. In JavaSpaces applications, in contrast, processes don't communicate directly, but instead coordinate
their activities by exchanging objects through a space, or shared memory. A process can write new objects into a space, take objects from a space, or read (make a copy of) objects in a space; Figure 1 depicts several processes (represented by Dukes) interacting with spaces using
these operations. When taking or reading objects, processes use simple matching, based on the values of fields, to find the
objects that matter to them. If a matching object isn't found immediately, then a process can wait until one arrives. In JavaSpaces,
unlike conventional object stores, processes don't modify objects in the space or invoke their methods directly -- while there,
objects are just passive data. To modify an object, a process must explicitly remove it, update it, and reinsert it into the
space.
Free Download - 5 Minute Product Review. When slow equals Off: Manage the complexity of Web applications - Symphoniq
![]()
Free Download - 5 Minute Product Review. Realize the benefits of real user monitoring in less than an hour. - Symphoniq