A posting from Andy Gray announces the Alpha Version 2 release of Ruple, implementing XML Spaces. Ruple is an Internet space (similar to Sun 'JavaSpaces' and IBM 'Tspaces') based upon tuple space architecture; it is implemented "as a distributed collection of content-addressable documents, providing a shared memory space for multiple applications from which documents can be read or to which documents can be written. It supports asynchronous Web services, secure document exchange, application integration and coordination, occasionally connected devices, and peer-to-peer computing. Like other spaces, Ruple allows synchronization of highly decoupled systems, but it is unique in that it both stores XML (Extensible Markup Language) documents, and that it is accessible over the Internet using standard Internet protocols such as HTTP and the Simple Object Access Protocol (SOAP). In addition, it offers a security model based on X.509 digital certificates, allowing only those with the proper security to place and take documents in a Ruple space. Ruple natively stores XML documents, and retrieves them using an XML query syntax." New features in the Ruple Alpha V2 release include MIME-based attachments,a server-side download, and comprehensive examples illustrating the use of Ruple technology.
"Ruple is a distributed computing technology built on an Internet tuple space for XML documents, providing a loosely coupled asynchronous and anonymous link between multiple senders and receivers. Ruple provides a foundation for asynchronous, loosely coupled, XML document exchange, allowing for collaborating applications while radically decoupling senders and receivers... Ruple, Sun's JavaSpaces and IBM's Tspaces share a foundation based on tuple space architecture. However, Java tuple space implementations differ from Ruple in that they are object-centric. In contrast, Ruple stores and returns documents. JavaSpaces and TSpaces store and exchange Java objects, relegating their utility to Java-only environments and closely tying them to a programming language or language-specific object model."
From the post: "Ruple technology can be applied to a number of communication challenges, including asynchronous Web services, secure document exchange, application integration and coordination, occasionally connected devices, and peer-to-peer computing... Ruple facilitates secure XML document exchange over the Internet or private networks; its key technical attributes include asynchrony, security, flexible document exchange, identity-based addressing and simplicity. New features in this latest release include:
- MIME-based attachments, allowing you to attach binary files to XML documents.
- A server-side download, letting you host your own space instead of using the Rogue Wave forum.
- Comprehensive examples, illustrating the use of Ruple technology in a number of scenarios.
From the white paper: "Ruple is an Internet based space. As such, it is a distributed collection of content-addressable documents, providing a shared memory space for multiple applications from which documents can be read or to which documents can be written. Like other spaces, it allows synchronization of highly decoupled systems, but it is unique in that it both stores XML (eXtensible Markup Language) documents, and that it is accessible over the Internet using standard Internet protocols such as HTTP and the Simple Object Access Protocol (SOAP). In addition, it offers a security model based on X.509 digital certificates, allowing only those with the proper security to place and take documents in a Ruple space -- essential for working over the insecure Internet... Ruple provides a foundation for applications to collaborate transparently and independently by selectively and securely sharing documents over the existing Internet infrastructure and technology. By leveraging a simple, SOAP-based interface for reading and writing documents to and from the space, implementing reads based on content instead of physical address, and building on document-level security, Ruple is a first step in fulfilling the great promise of the Internet for collaborative business applications. The space supported by Ruple is called the Ruple Forum (or Forum for short). A simple set of atomic instructions can place documents or access existing ones by using a query based on a subset of the XML Query Language (XQL)... While Ruple shares many attributes with other spaces, it differs in one important respect: it natively stores XML documents and then retrieves them using an XML query syntax. This is an important distinction. Traditional tuple space implementations have been closely tied to a programming language or language-specific object model. The object-centric approach has limited utility on the Internet and in heterogeneous environments as it ties developers to a particular programming language and binary protocol. In contrast, Ruple's document-centric approach is independent of any particular programming language, offering the choice of processing the document or a document fragment with the tools at hand, depending on your chosen language or environment. Ruple extends the notion of what constitutes a 'tuple' in that it supports any well-formed XML document or fragment, taking tuples out of the realm of academic possibilities, into the truly practical. Well-formed XML must be syntactically correct according to the XML 1.0 specification; however, the Forum does not require that documents be valid per any particular XML schema. This allows for the exchange of arbitrary documents through the space without having to configure the space for a new document type, allowing for ad hoc and flexible interactions. If document validity is important to the participants in a transaction then the collaborators may validate the document when they receive it..."
What are 'XML Spaces'? "XML Spaces is a new communication paradigm that brings together tuple spaces, XML, the Internet, security and Web services to create a simple yet powerful substrate for rich document exchange. XML Spaces extends the Web services model with looser coupling, abstract addressing, asynchrony, arbitrary XML support, many-to-many interactions and document-level security. XML Spaces supports ad-hoc collaboration seamlessly within an organization or across the Internet. Examine the technology and describe how it can be applied to a wide variety of applications." NextWareExpo Presentation 'Beyond Web Services: XML Spaces', by Andrew Gray.
- Ruple website
- "Ruple: A Loosely Coupled Architecture Ideal for the Internet." Rogue Wave Software white paper. January 2002.
- How Ruple Works
- Ruple webcast
- Contact: Andy Gray (Rogue Wave Software)
- Compare: JavaSpaces technology
- Compare: TSpaces - Intelligent Connectionware
- General references: "Tuple Spaces and XML Spaces"