Occasionally Connected Computing
   HOME

TheInfoList



OR:

Occasionally connected computing (OCC) is a term used in
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
for an architecture or framework which permits running some aspects of a web application when not connected to the Internet. This is sometimes a feature of a
Rich Internet application A Rich Internet Application (also known as a rich web application, RIA or installable Internet application) is a web application that has many of the characteristics of desktop application software. The concept is closely related to a single-page ...
(RIA).


Software architecture

Occasionally connected computing is a
software architecture Software architecture is the set of structures needed to reason about a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements a ...
based on the idea that an end user should be able to continue working with an internet application even when temporarily disconnected or when a wireless connection fails or is otherwise unavailable. OCC has been seen as one aspect of 'pervasive computing'. In the past, audio and visual telephony no longer functioned when a connection was lost. In an OCC architecture, tasks continue and update a central data store when a connection is restored. Client-side persistent data (CSPD), while not permanent data as in a central data store, is a common implementation of an OCC framework on non-handheld devices such as personal and laptop computers. As the local data stored on PDAs commonly exceeds several Gigabytes, OCC becomes more viable for handheld devices.


OCC frameworks and implementations

In the case of the
Curl cURL (pronounced like "curl", ) is a free and open source computer program for transferring data to and from Internet servers. It can download a URL from a web server over HTTP, and supports a variety of other network protocols, URI scheme ...
language an alternate
URI Uri may refer to: Places * Canton of Uri, a canton in Switzerland * Úri, a village and commune in Hungary * Uri, Iran, a village in East Azerbaijan Province * Uri, Jammu and Kashmir, a town in India * Uri (island), off Malakula Island in V ...
scheme is used to identify a resource which is to be used for OCC. Where a normal
HTTP HTTP (Hypertext Transfer Protocol) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, wher ...
URL A uniform resource locator (URL), colloquially known as an address on the Web, is a reference to a resource that specifies its location on a computer network and a mechanism for retrieving it. A URL is a specific type of Uniform Resource Identi ...
might be an OCC URI could be Such a URI
redirects Redirect and its variants (e.g., redirection) may refer to: Arts, entertainment, and media * ''Redirect'' (album), 2012 Christian metal album and its title track by Your Memorial * ''Redirected'' (film), a 2014 action comedy film Computing * ...
to the web when connected and to the local store when disconnected. The
Smalltalk Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
language is a special case because of the ability to save the
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (normal ...
image at
run time Runtime, run-time, or run time may refer to: Computing *Runtime (program lifecycle phase), the period during which a computer program is executing * Runtime library, a program library designed to implement functions built into a programming langua ...
. The possibilities using the REBOL 2.x runtime environment lie somewhere between Smalltalk and Curl 5.0 but may be extended with the release of REBOL 3.0 which is projected for late 2008 (a public alpha began in Jan 2008.)


See also

*
Curl (programming language) Curl is a reflective object-oriented programming language for interactive web applications, whose goal is to provide a smoother transition between content formatting and computer programming. It makes it possible to embed complex objects in s ...
and the Surge RTE for OCC * REBOL as an OCC platform * Seaside for Smalltalk thinner client for OCC *
Rich Internet application A Rich Internet Application (also known as a rich web application, RIA or installable Internet application) is a web application that has many of the characteristics of desktop application software. The concept is closely related to a single-page ...
(RIA) *
Ubiquitous computing Ubiquitous computing (or "ubicomp") is a concept in software engineering, hardware engineering and computer science where computing is made to appear seamlessly anytime and everywhere. In contrast to desktop computing, ubiquitous computing imp ...
*
HTTP HTTP (Hypertext Transfer Protocol) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, wher ...
as a stateless protocol *
REST REST (Representational State Transfer) is a software architectural style that was created to describe the design and guide the development of the architecture for the World Wide Web. REST defines a set of constraints for how the architecture of ...
which is a computing architecture style which eschews CSPD


References

{{reflist


External links


Adobe whitepaper

Curl
as a language designed with CSPD for OCC

model of 'both-sides' computing



on OCC
Occasionally Connected Systems Architecture – a blog post by Udi Dahan
Software architecture