These days I’m previewing OCC — Occasionally Connected Computing Architectures. This is an architecture where client application may continue working even when off-line (though the functionality or data freshness may degrade within a given limit under which user may continue his work). As the traditional online applications are too much dependent on the network health and availability while the networks are prone to problems (See Wikipedia article Fallacies of Distributed Computing) such applications suffer too much from network problems. But by making it ready to work in both off-line and online modes, these applications may be made much more usable and productive.
How It Works
Cache Locally — Sync When Connected
It keeps some sort of local storage of data/service messages when off-line and synchronizes with the server when gets connected. There may be different implementations but basic idea is the same. Some simple systems may have a local database with replication performed when online. Others may have a local cache for reference data and prepares a message queue for the transactions performed which are forwarded to the server when connected. Similarly, the server may also send some updated info/service messages when connected.
Two Approaches from Microsoft: Service-oriented vs. data-centric approach
Strengths
Continuous Operation When Connection Unavailable/Poor (Though quality of work may degrade)
Rich UI of Desktop Applications
High throughput of Local Applications
Ease of Deployment of Web Applicatiolns
Challenges
Both sides of application must be loosely coupled
The client application must adopt to changing connection status
Conflict Resolution when something may change at both ends
Security
Transaction Management
Current Status of OCC
Due to the poor UI of traditional web applications, the smart client was being pushed hardly by Microsoft and some other vendors were also investing in it (like java Web Start with Swing and Web services in java, SWT from eclipse and Flash). But Google’s AJAX based interactive web applications struck hard into that advancement. But, now, once again people have started talking about RIA (Rich Internet Applications). And OCC supporting vendors are trying to push it once again. Microsoft Silver Light and Java FX are the more famous recent progresses. But still we, the enterprise architects have to wait a little more for a stronger market acceptance. After that we will get enough testimonials, enough patterns, tool support, APIs and components.
References
Wikipedia : Fallacies of Distributed Computing
Microsoft : Occasionally Connected Smart Clients
Adobe White Paper : The Occasionally Connected
Computing (OCC) Model
Filed under: Uncategorized

Check out iscrybe.com for a flash based calendar application. You may be able to use it as an example within your OCC entry.
Interesting! I tried but they have suspended new registration for the time being but existing users may invite others. If you are registered there, may you invite me?
Shahid
Flash based solutions were the early birds and more delighting but as .Net and java are marching forward, I would prefer them as it will be more inclined and integrated with the main stream software development.
Shahid