Friday, September 3, 2010

Java Spaces in Practice












JavaSpaces™ in Practice
By Philip Bishop, Nigel Warren

Publisher : Addison Wesley
Pub Date : September 20, 2002
ISBN : 0-321-11231-8
Pages : 256


"Phil Bishop and Nigel Warren have been pioneers in the use of JavaSpaces(TM) to build real systems that solve real problems. This book is an excellent distillation of their accumulated wisdom on this subject, and will save any programmer using the technology far more time than it will take to read. It is also well written and clearly presented, a rarity in technical books these days. I learned a lot reading it."

-Jim Waldo, Distinguished Engineer at Sun Microsystems, lead architect for the Jini networking technology and JavaSpaces.

This book will show you how to use JavaSpaces to build practical, scalable distributed systems. It will increase your understanding of where JavaSpaces are applicable, and how to use them effectively within your system architecture.

JavaSpaces(TM) in Practice is structured in three parts:

*

Part One focuses on patterns for designing and evolving entries from the basics to advanced distributed data structures.
*

Part Two covers designs and idioms associated with remote events, code mobility, and both transient and persistent spaces.
*

Part Three highlights some practical applications including implementing smart proxies, location-based services and agent systems, together with guidelines and tips for testing and tuning JavaSpaces.

Developers and programmers with some experience in Java will learn by example a set of idioms that make distributed systems more dynamic and flexible.


Copyright
Acknowledgments
Preface
Chapter summary

Chapter 1. Introduction
Foundations and terms
Distribution using spaces
The JavaSpaces interface
The structure of spaces
Summary

Part I: Entries
Chapter 2. Designing entries
Background
An initial Entry
Entry Wrapping
Interfaces for entries
Factories for entries
Design alternative
Entries for existing frameworks
The payload idiom
Summary

Chapter 3. Evolving entries
Maintaining compatibility
Standard techniques and data loss
Using inheritance to add fields
Removing fields from entries
Evolving nested key fields
An alternative to nested key fields
Problems with entry evolution
Summary

Chapter 4. Simple distributed data structures
Simple data structures
Ordered data structures
Iterating
Summary

Chapter 5. Hierarchical distributed data structures
Introduction
Organizational structures
Complex matching
Generic distributed trees
Summary

Part II: Mechanics
Chapter 6. Codebases
Basic requirements
The codebase system property
Summary

Chapter 7. Remote event-based idioms
Introducing remote events
The handback event handler
Object interactions
Adding event handlers at runtime
Leases
Event registration
Sequence numbers
Transactions
Leases and transactions
Using an Event Mailbox
Reliability
Summary

Chapter 8. Code mobility –behavior-based idioms
Introducing code mobility
What goes on behind the scenes?
Introducing behavior-based idioms
Building an employee system
Using subclassing to modify behavior at runtime
Using classloaders to modify behavior at runtime
Security and mobile code
Summary

Chapter 9. Using transient and persistent spaces
Transient spaces
Persistent spaces
Accessing different spaces
Specifying storage models with entries
Mixing snapshots
Registering the mixed proxy
Summary


Part III: Application
Chapter 10. Process coordination
Request–response model
Implementing the model
Coordinating multiple services
Summary

Chapter 11. Location-based services
Location-based systems
Packit Shifters – case study
Finding locatables in a space
Summary

Chapter 12. Bidding and agent systems
A time bidding system
Typesafe constants with spaces
Agents and spaces
The customer agent
The driver agents
Letter counter service
Summary

Chapter 13. Testing space-based systems
A space logging system
A local Logging Proxy
Reviewing the design
The JavaSpace logging service
Alternative designs
Summary

Chapter 14. Tuning space-based systems
A lightweight counter
Tuning local code
Using snapshot
Imitating snapshot
General entry optimizations
Date matching
Time and spaces
Server tuning
Summary
Conclusion


Appendix A. Code listings
ServiceLocator
SpaceLocator
TxnManager
Debug
ArrayMetaData
ExpandableArray
SpaceSafeConstant
Queue
QueuedEventListener

Appendix B. Tips and rules in this book
References

Download
Another Java Books

No comments:

Post a Comment

Related Posts with Thumbnails

Put Your Ads Here!