shopping cart
Call us:  800-878-7323 HELP
McAfee SECURE helps keep you safe from identity theft, credit card fraud, spyware, spam, viruses and online scams.
Powell's Q&A, Q&A | June 29, 2009

All posts by Janna Cawrse Esarey Powell's Q&A: Janna Cawrse Esarey

"I fell in love with Crosby, Stills, and Nash's song 'Southern Cross' when I was fifteen. By the time I got to college, 'I'm going to sail around the world someday' was sort of my pickup line." Continue »


  1. $10.50 Sale Trade Paper add to wish list

Ships free on qualified orders.
$24.00
List price: $39.95
TRADE PAPER, USED
Ships in 1 to 3 days
Add to Wishlist
Qty Store Section
1 Technical Computer Languages- Java


More copies of this ISBN:

Javaspaces(tm) Principles, Patterns, and Practice (Jini Technology)

by Eric Freeman

Javaspaces(tm) Principles, Patterns, and Practice (Jini Technology) Cover

Synopses & Reviews

Publisher Comments:

"Ever since I first saw David Gelernter's Linda programming language almost twenty years ago, I felt that the basic ideas of Linda could be used to make an important advance in the ease of distributed and parallel programming. As part of the fruits of Sun's Jini project, we now have the JavaSpaces technology, a wonderfully simple platform for developing distributed applications that takes advantage of the power of the Java programming language. This important book and its many examples will help you learn about distributed and parallel programming. I highly recommend it to students, programmers, and the technically curious." -Bill Joy, Chief Scientist and co-founder, Sun Microsystems, Inc. JavaSpaces(tm) technology, a powerful Jini(tm) service from Sun Microsystems, facilitates building distributed applications for the Internet and Intranets. The JavaSpaces model involves persistent object exchange "areas" in which remote Java(tm) processes can coordinate their actions and exchange data. It provides a necessary ubiquitous, cross-platform framework for distributed computing, emerging as a key technology in this expanding field. This book introduces the JavaSpaces architecture, provides a definitive and comprehensive description of the model, and demonstrates how to use it to develop distributed computing applications. The book presents an overview of the JavaSpaces design and walks you through the basics, demonstrating key features through examples. Every aspect of JavaSpaces programming is examined in depth: entries, distributed data structures, synchronization, communication, application patterns, leases, distributed events, and transactions. You will find information on such vital topics as: x Distributed data structures x Synchronization techniques x Loosely coupled communication x Message passing x Channel data structures for communication x Application patterns such as replicated worker, command pattern, and marketplace x Leases and automated lease renewal x Using distributed events with spaces x Handling partial failure with distributed transactions x The official JavaSpaces specification from Sun Microsystems JavaSpaces Principles, Patterns, and Practice also includes two full-scale applications-one collaborative and the other parallel-that demonstrate how to put the JavaSpaces model to work.

Book News Annotation:

Introduces the Jini service that facilitates building distributed applications by providing persistent object exchange areas in which remote Java processes can coordinate their actions and exchange data. Includes two full-scale examples—one collaborative and the other parallel—to demonstrate how to apply the model. Assumes a knowledge of basic programming and some experience with Java, but no background in network programming.
Annotation c. Book News, Inc., Portland, OR (booknews.com)

Review:

"I am very impressed with this book. It's well written, with easy to understand and well-explained code examples. It shows with its many examples how JavaSpaces can be used to simplify the design of solutions to problems common to many distributed applications. It also covers Jini's programming model. I would recommend this book to anyone who is planning to use JavaSpaces, but also to anyone who is starting out doing distributed systems in general." - artima.com - a resource for Java and Jini Developers

Synopsis:

Creating applications that run across a network of machines is notoriously difficult, even with Java, because creating distributed applications potentially entails coordinating the actions of many active processes. JavaSpaces, an exciting new coordination technology from the Java Software Division, promises to remedy this situation by providing a powerful, practical, high-level method of building a variety of distributed applications. With the JavaSpaces model, programmers build distributed applications by gluing Java processes together into ensembles that work together to accomplish a common goal. The model is simple yet powerful enough to implement the most advanced distributed applications and is ideal for building commercial-quality distributed systems.

Synopsis:

"JavaSpaces technology is a powerful Jini service from Sun Microsystems, Inc. that facilitates building distributed applications. The JavaSpaces model provides persistent object exchange "areas" in which remote Java processes can coordinate their actions and exchange data. JavaSpaces technology supplies a necessary, cross-platform framework for distributed computing with Jini technology."--BOOK JACKET. "This book introduces the JavaSpaces technology architecture and provides a comprehensive description of the model. Using an example-driven approach, this book shows you how to use JavaSpaces technology to develop distributed computing applications."--BOOK JACKET. "JavaSpaces Principles, Patterns, and Practice also includes two full-scale applications - one collaborative and the other parallel - that demonstrate how to put the JavaSpaces model to work."--BOOK JACKET.

Synopsis:

You will find information on such vital topics as: *Distributed data structures *Synchronization techniques *Loosely coupled communication *Message passing *Channel data structures for communication *Application patterns such as replicated worker, command pattern, and marketplace *Leases and automated lease renewal *Using distributed events with spaces *Handling partial failure with distributed transactions *The official JavaSpaces specification from Sun Microsystems JavaSpaces Principles, Patterns, and Practice also includes two full-scale applications--one collaborative and the other parallel--that demonstrate how to put the JavaSpaces model to work.

Description:

"Ever since I first saw David Gelernter's Linda programming language almost twenty years ago, I felt that the basic ideas of Linda could be used to make an important advance in the ease of distributed and parallel programming. As part of the fruits of Sun's Jini project, we now have the JavaSpaces technology, a wonderfully simple platform for developing distributed applications that takes advantage of the power of the Java programming language. This important book and its many examples will help you learn about distributed and parallel programming. I highly recommend it to students, programmers, and the technically curious." -Bill Joy, Chief Scientist and co-founder, Sun Microsystems, Inc. JavaSpaces(tm) technology, a powerful Jini(tm) service from Sun Microsystems, facilitates building distributed applications for the Internet and Intranets. The JavaSpaces model involves persistent object exchange "areas" in which remote Java(tm) processes can coordinate their actions and exchange data. It provides a necessary ubiquitous, cross-platform framework for distributed computing, emerging as a key technology in this expanding field. This book introduces the JavaSpaces architecture, provides a definitive and comprehensive description of the model, and demonstrates how to use it to develop distributed computing applications. The book presents an overview of the JavaSpaces design and walks you through the basics, demonstrating key features through examples. Every aspect of JavaSpaces programming is examined in depth: entries, distributed data structures, synchronization, communication, application patterns, leases, distributed events, and transactions. You will find information on such vital topics as: x Distributed data structures x Synchronization techniques x Loosely coupled communication x Message passing x Channel data structures for communication x Application patterns such as replicated worker, command pattern, and marketplace x Leases and automated lease renewal x Using distributed events with spaces x Handling partial failure with distributed transactions x The official JavaSpaces specification from Sun Microsystems JavaSpaces Principles, Patterns, and Practice also includes two full-scale applications-one collaborative and the other parallel-that demonstrate how to put the JavaSpaces model to work.

Table of Contents

Contents Introduction Benefits of Distributed Computing Challenges of Distributed Computing What is JavaSpaces Technology? 1.Key Features 2.JavaSpaces Technology in Context JavaSpaces Technology Overview 1.Entries and Operations 2.Going further Putting it all together Advantages of JavaSpaces Technologies Chapter Preview Exercises JavaSpaces Application Basics Entries 1.The Entry Interface 2.Instantiating an Entry 3.Adding Fields and Methods Building an Application 1.The SpaceAccessor Writing Entries into a Space 1.A Closer Look at Write Reading and Taking Entries 1.Associative Lookup 2.The Basics of Read and Take 3.The Rules of Matching 4.Dealing with null -valued Fields in Entries 5.Primitive Fields 6.A Closer Look at Read and Take Going Further with the Example 1.Subclassing an Entry 2.Adding a Few More Methods 3.Trying the Game 4.Post-Game Analysis Serialization and its Effects 1.Entry Serialization 2.Matching and Equality 3.The No-arg Constructor 4.The Entry Interface Revisited 5.Improving Entry Serialization using snapshot Summary Building Blocks Introduction to Distributed Data Structures 1.Building Distributed Data Structures with Entries Shared Variables 1.Atomic Modification 2.Additional Operations 3.Creating a Web Counter 4.Stepping Back Unordered Structures 1.Bags 2.Task Bags and Result Bags Ordered Structures 1.Distributed Arrays Revisited 2.Summary Exercises Synchronization Semaphores 1.Implementing a Semaphore 2.Implementing a License Manager 3.The License Manager Installer 4.The License Manager Client Library Using Multiple Semaphores 1.The Dining Philosophers Fairly Sharing a Resource 1.Using a Queue to Take Turns 2.Round-Robin Synchronization Barrier Synchronization Advanced Synchronization: The Readers/Writers Problem 1.Implementing a Readers/Writers Solution 2.Implementing a Counter Class 3.Implementing a Space-based Readers/Writers Application Summary Exercises Communication Basic Message Passing 1.Playing Ping-Pong Characteristics of Space-based Communication 1.Tightly-Coupled Communication 2.Loosely-Coupled Communication 3.Benefits of Loose Coupling Beyond Message Passing A Basic Channel 1.A Channel Message Entry 2.The Channel Tail 3.Creating a Channel 4.Appending a Message to a Channel 5.Implementing a Channel Writer 6.Implementing a Channel Reader 7.Demonstrating the Channel Writer and Reader Building a Chat Application with Channels 1.The Graphical User Interface 2.Combining Channel Writing and Reading A Consumer Channel 1.Implementing a Pager Service 2.The PagerMessage Entry 3.Tracking the Start and End of a Channel 4.The Index Entry 5.Creating a Consumer Channel 6.Sending Messages to the Channel 7.Reading and Removing Messages from the Channel 8.Demonstrating the Pager Bounded Channels 1.A Status Entry 2.Channel Creation Revisited 3.Writing to a Bounded Channel 4.Taking from a Bounded Channel 5.Demonstrating the Bounded Channel Summary Exercises Application Patterns The Replicated-Worker Pattern 1.Computing the Mandelbrot Set 2.Task and Result Entries 3.The Master 4.The Worker The Command Pattern 1.Implementing a Compute Server 2.The Generic Worker 3.The Generic Master 4.Creating Specialized Tasks and Results 5.Creating a Specialized Master 6.Running the Compute Server The Marketplace Pattern 1.An Automobile Marketplace 2.Interaction in the Marketplace 3.The Bid Entry 4.The Application Framework 5.The Buyer 6.The Seller 7.Running the Marketplace Other Patterns 1.Specialist Patterns 2.Collaborative Patterns Summary Exercises Leases Leases on Entries The Lease Object 1.Lease Expiration 2.Renewing a Lease 3.Cancelling a Lease Lease Maps 1.Creating a LeaseMap 2.Adding and Removing Leases 3.Renewing Leases in a LeaseMap 4.Cancelling Leases in a LeaseMap Automated Lease Renewal 1.The Lease Manager Interface 2.Implementing the Constructors 3.Adding Leases 4.Cancelling a Lease 5.Renewing Leases 6.Checking Leases 7.Processing Renewal Failures 8.Putting it All Together Summary Exercises Distributed Events Events in the Distributed Environment HelloWorld Using Notify The Notification API 1.The JavaSpace notify Method 2.The EventRegistration Class 3.The RemoteEventListener Interface 4.The RemoteEvent Object Putting the Pieces Together 1.The Channel Relay Application 2.The Channel Reader Thread 3.The Relayer Listener 4.The Notify Handler Thread Summary Exercises Transactions The Distributed Transaction Model Creating a Transaction Web Counter Revisited The Space's Transactional Properties Operational Semantics Under Transactions 1.Writing Entries under a Transaction 2.Reading Entries under a Transaction 3.Read versus ReadIfExists 4.Taking Entries under a Transaction 5.Notifications under Transactions Summary Exercises A Collaborative Application The Messenger Implementing a Messenger User The Account 1.The Account Object User Sessions 1.The Session Object Friends List 1.The FriendsList Object 2.The FriendsListMonitor Object Communication Channel 1.Message Entries and Indices 2.The Channel Object 3.Retrieving Messages from the Channel The Messenger Applet 1.Logging in via the Login Object 2.The loginCallback Method 3.Adding to the Friends List 4.Chatting with Friends 5.Sending Messages 6.Listening for Messages Summary Exercises A Parallel Application The Compute Server 1.The Command Interface Revisited 2.The Task Entry 3.The Generic Worker 4.A Generic Master The Crypt Application 1.Background 2.The Generic Worker and CryptTask 3.The CryptMaster 4.Generating Tasks 5.Improving Space Usage with Watermarking 6.Collecting Results 7.A Little Poison 8.Exploring Crypt Summary Exercises Further Exploration Online Resources Related Java and Jini Technologies Background Reading 1.Distributed Systems 2.Transactions Historical Resources

Product Details

ISBN:
9780201309553
Subtitle:
tm Principles, Patterns, and Practice
Author:
Freeman, Eric
Author:
Hupfer, Susanne
Author:
Arnold, Ken
Publisher:
Addison-Wesley Professional
Location:
Reading, MA :
Subject:
Programming Languages - General
Subject:
Electronic data processing
Subject:
Java (Computer program language)
Subject:
Programming Languages - Java
Subject:
Java
Subject:
JavaSpaces technology
Copyright:
Edition Number:
1st
Edition Description:
Includes bibliographical references and index.
Series:
Jini Technology
Series Volume:
policy study no. 151
Publication Date:
June 1999
Binding:
Paperback
Language:
English
Illustrations:
Yes
Pages:
368
Dimensions:
9.26x7.52x.81 in. 1.45 lbs.

Other books you might like

  1. $3.68 Used Trade Paper add to wish list
  2. $5.95 Used Hardcover add to wish list

    Bats out of hell

    Barry Hannah
  3. $5.95 Used Book Club Paperback add to wish list

    Open Secrets

    Alice Munro

Related Aisles

  • back to top

Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and eBooks — here at Powells.com.