|
|
||
![]() |
||
| HELP | ||
|
$24.00 List price:
TRADE PAPER, USED
Ships in 1 to 3 days
More copies of this ISBN:Javaspaces(tm) Principles, Patterns, and Practice (Jini Technology)by Eric Freeman
Synopses & ReviewsPublisher 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 ContentsContents 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 What Our Readers Are SayingBe the first to add a comment for a chance to win!Product Details
Other books you might like
Related Aisles | ||||||||||||
|
| |||||||||||||
|
|
|||||||||||||