Occasionally Connected Computing
Encyclopedia
Occasionally connected computing (OCC) is a term used in computing
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...

 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
Rich Internet application
A Rich Internet Application is a Web application that has many of the characteristics of desktop application software, typically delivered either by way of a site-specific browser, via a browser plug-in, independent sandboxes, extensive use of JavaScript, or virtual machines...

 (RIA).

Software architecture

Occasionally connected computing is a software architecture
Software architecture
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both...

 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
Client-side persistent data
Client-side persistent data or CSPD is a term used in computing for storing data required by web applications to complete internet tasks on the client-side as needed rather than exclusively on the server. As a framework it is one solution to the needs of Occasionally Connected Computing or OCC.A...

 (CSPD), while not permanent data as in a central data store, are a common implementation of an OCC framework on non-handheld devices such as personal and laptop computers. As the local data store on PDAs commonly exceeds several Gigabytes, OCC becomes more viable for handheld devices.

OCC frameworks and implementations

In the case of the Curl language an alternate URI
Uniform Resource Identifier
In computing, a uniform resource identifier is a string of characters used to identify a name or a resource on the Internet. Such identification enables interaction with representations of the resource over a network using specific protocols...

 scheme is used to identify a resource which is to be used for OCC. Where a normal HTTP URL
Uniform Resource Locator
In computing, a uniform resource locator or universal resource locator is a specific character string that constitutes a reference to an Internet resource....

 might be
{url "http://www.your-office.com/your-site.php" }
an OCC URI could be
{url "curl://occ/reconnect-as-needed" }
Such a URI redirects
URL redirection
URL redirection, also called URL forwarding and the very similar technique domain redirection also called domain forwarding, are techniques on the World Wide Web for making a web page available under many URLs.- Similar domain names :...

 to the web when connected and to the local store when disconnected.
The Smalltalk
Smalltalk
Smalltalk is an object-oriented, dynamically typed, reflective programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human–computer symbiosis." It was designed and created in part for educational use, more so for constructionist...

 language is a special case because of the ability to save the bytecode
Bytecode
Bytecode, also known as p-code , is a term which has been used to denote various forms of instruction sets designed for efficient execution by a software interpreter as well as being suitable for further compilation into machine code...

 image at run time.
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) and the Surge RTE for OCC
  • REBOL
    REBOL
    REBOL is a cross-platform data exchange language and a multi-paradigm dynamic programming language originally designed by Carl Sassenrath for network communications and distributed computing. The language and its official implementation, which is a proprietary freely redistributable software are...

     as an OCC platform
  • Seaside for Smalltalk thinner client for OCC
  • Rich Internet application
    Rich Internet application
    A Rich Internet Application is a Web application that has many of the characteristics of desktop application software, typically delivered either by way of a site-specific browser, via a browser plug-in, independent sandboxes, extensive use of JavaScript, or virtual machines...

     (RIA)
  • Ubiquitous computing
    Ubiquitous computing
    Ubiquitous computing is a post-desktop model of human-computer interaction in which information processing has been thoroughly integrated into everyday objects and activities. In the course of ordinary activities, someone "using" ubiquitous computing engages many computational devices and systems...

  • HTTP as a stateless protocol
  • REST
    Representational State Transfer
    Representational state transfer is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation...

    which is a computing architecture style which eschews CSPD

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK