JavaSpaces
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 when someone wants to achieve scalability and availability and at the same time reducing the complexity of the overall system.
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 as a way to provide distributed reliable persistence for non-Jini environments.
See also
- Linda (coordination language)
- Ken Arnold lead engineer on JavaSpaces at Sun Microsystems
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
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.com.
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)
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.