A module system for distributed or single-site web applications
Web-spanning applications that provide a familiar user experience
Qworum adds advanced capabilities to web browsers while ensuring that the end-user experience remains familiar compared to the traditional web. Consider the video below that shows an e-commerce site calling a remote shopping cart service. Note that the cart service is interactive just like a regular website. Note also how the shopping cart's domain name is different from that of the e-commerce site, yet to the visitor the shopping cart feels like an integral part of the e-commerce application.
Qworum is the Service Web
There are currently two different Webs that exist on the World Wide Web:
- The Document Web: This the Web that most Web developers will be familiar with. The primary type of content is the HTML page, and the primary content consumers are human users rather than machines.
- The Semantic Web: This the Web that is intended for machine consumption rather than human consumption. The primary type of content is RDF and its various encodings such as JSON-LD and Turtle.
Qworum adds another type of Web to the mix: the Service Web. Qworum is used for providing software rather than content. Qworum services are:
- Interactive: They can interact with end-users through HTML pages.
- Composable: They can call other Qworum services, and even themselves. And Qworum services can return data to their callers. A Qworum application, on the other hand, is simply a Qworum service that does not have a caller.
Note that although Qworum is distinct from the two previous Webs, it builds on them:
- User interaction occurs through HTML pages. End-users will barely notice that they are using Qworum rather than the Document Web.
- Qworum services can return semantic data to their callers, in addition to conventional data such as XML-wrapped JSON or any other XML data.
A secure computing environment
The Qworum platform conforms to the same-origin policy that is the prevalent security mechanism for browser standards. In particular all phases of a given Qworum object are contained in the object's web origin. This ensures that data belonging to one web origin is unable to accidentally leak to another origin.