JavaSpaces
![]() | It has been suggested that this article be merged into Tuple space. (Discuss) Proposed since June 2007. |
JavaSpaces is a service specification. It provides a distributed object exchange/co-ordination mechanism (which may or may not be persistent) for Java objects. It can be used to store the system state and implement distributed algorithms. In a JavaSpace all communication partners (peers) communicate by sharing state. It is an implementation of the Tuple spaces idea.
JavaSpaces is used to achieve scalability through parallel-processing and provides for reliable storage of objects while reducing the complexity of traditional distributed systems.
Processes perform simple operations to write new objects into a JavaSpace, take objects from a JavaSpace, or read (make a copy of) objects from the JavaSpace.
JavaSpaces technology is part of the Java Jini technology, which has not been a commercial success, although it has found and kept new users over the years. However some vendors are as of 2004 offering JavaSpaces-based products. The announcement of Jini/JavaSpaces created quite some hype although Sun co-founder and chief Jini architect Bill Joy put it straight that this distributed systems dream will take "a quantum leap in thinking" [1].
See also
- Linda (coordination language)
- Ken Arnold lead engineer on JavaSpaces at Sun Microsystems
- Rinda - JavaSpaces analog for Ruby.
- Space based architecture
Implementations
- Das Blitz Project (open-source single site server)
- SlackSpaces (open-source)(site is down)
- GigaSpaces (commercial)
Books
- Eric Freeman, Susanne Hupfer, Ken Arnold: JavaSpaces Principles, Patterns, and Practice. Addison-Wesley Professional, 1. June 1999, ISBN 0-201-30955-6
- Phil Bishop, Nigel Warren: JavaSpaces in Practice. Addison Wesley, 2002, ISBN 0-321-11231-8
- Max K. Goff: Network Distributed Computing: Fitscapes and Fallacies, 2004, Prentice Hall, ISBN-10: 0131001523
- Sing Li (and others): Professional Java Server Programming, 1999, Wrox Press, ISBN-10: 1861002777
Interviews
- Heiss, Janice J. (2003). "Computer Visions: A Conversation with David Gelernter". Sun Developer Network (SDN).
- Venners, Bill (2003). "Designing as if Programmers are People (Interview with Ken Arnold)". java.net.
- Haines, Steven (2006). "Interview: GigaSpaces". InformIT.
Articles
- Brogden, William (2007). "How Web services can use JavaSpaces". SearchWebServices.com. Retrieved 2007-04-18.
- White, Tom (2005). "How To Build a ComputeFarm". java.net. Retrieved 2005-05-21.
- Ottinger, Joseph (2007). "Understanding JavaSpaces". theserverside. Retrieved 2007-01-31.
- Angerer, Bernhard (2005). "Loosely Coupled Communication and Coordination in Next-Generation Java Middleware". java.net. Retrieved 2006-06-03.
{{cite web}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - Angerer, Bernhard (2003). "Space-Based Programming". onjava.com. Retrieved 2003-03-19.
- Sing, Li (2003). "High-impact Web tier clustering, Part 2: Building adaptive, scalable solutions with JavaSpaces". IBM developerworks.
- Mamoud,, Qusay H. (2005). "Getting Started With JavaSpaces Technology: Beyond Conventional Distributed Programming Paradigms". Sun Developer Network (SDN).
{{cite web}}
: CS1 maint: extra punctuation (link) - Hupfer, Susanne (1999). "Make room for Javaspaces, Part 1 (from 5)". JavaWorld.
Articles (non english)
- Löffler, Dr. Gerald (2004). "JavaSpaces und ihr Platz im Enterprise Java Universum, Das Modell zum Objektaustausch: JavaSpaces vorgestellt". Entwickler.com. Retrieved 2004-02-01.
References
- ^ Rob Guth: More than just another pretty name: Sun's Jini opens up a new world of distributed computer systems. SunWorld, August 1998 [15. Januar 2006]