C@lic@ 2.0 1 an Oxford Brookes University dissertation project.
This project presents and tries to demonstrate a new kind of web applications: the distributed web-computing applications.
Distributed applications usually involves different programs specifically built and compiled for particular O.S. (Operating Systems). So that most of the time a significant part of the worldwide O.S. market share are either forgotten or released centuries later.
On August 2009, the Operating Systems Market Share was reported by StatCounter to be:
Windows XP 73% Windows Vista 20% Mac OS X 4% Linux 1% Others 2%
So, not only developers usually have to deal with a particular O.S. and waste time on specific support for all the others but also program languages extra installations in order to make their applications runnable.
A typical example concerns the Microsoft C Sharp language which requires the .NET framework 3.5 (that in turn requires the .NET framework 3.0 that in turn needs the 2.0 and so on).
The example does not end there: as the .NET framework is not included by default on Windows XP, this actually brings the global runnable clients percentage down to something like 56% (considering the 20% users using Windows Vista plus half of the ones using Windows XP). So that for an application supposed to run on 9 in 10 computers, we just downgraded to 1 in 2.
In short, these prerequisites can be particularly annoying and reduce consequently the number of users being able (or willing) to run it.
This brings the following issue:
Could it be possible to remotely compute all sort of things, free from all kind of installations and extra resources?
The answer has been no for a long time. Java apart (requiring to be installed at least once), there were no real solution to that issue. Still, the Java technology had an advantage on its concurrents: it was in some way O.S. free, the editor (Sun Microsystems, Inc) taking in charge the language interpreter compilation for all the available O.S.
But it recently became plausible thanks to the web services (also called web applications). The main challenges remaining were to get an application able to compute on every web browser [O.S. independent] and link all remote computations together to realise a large distributed computation.
Calica 2.0 was built upon Web 2.0 standards that involves the following technologies and principals:
- Cascading Style Sheets
- eXtensible HyperText Markup Language
- Asynchronous Javascript and XML 2
- Uniform Resource Locator
- Representational State Transfer 3 architecture
As such, Calica 2.0 aims to run on every personal computer regardless of their Operating System manufacturer. Only one condition is required: to possess a [web] browser released past 1998; it merely includes:
Microsoft Internet Explorer 4.0 NOT SUPPORTED Microsoft Internet Explorer 5.0 - Microsoft Internet Explorer 5.5 - Microsoft Internet Explorer 6.0 SUPPORTED Microsoft Internet Explorer 7.0 SUPPORTED Microsoft Internet Explorer 8.0 SUPPORTED Apple Safari 2 - Apple Safari 3 SUPPORTED Apple Safari 4 SUPPORTED Mozilla Firefox 2.0 - Mozilla Firefox 3.0 SUPPORTED Mozilla Firefox 3.5 SUPPORTED Mozilla Camino 1.0 - Mozilla Camino 1.5 SUPPORTED Mozilla Camino 1.6 SUPPORTED Google Chrome - Netscape - Opera - Konqueror -
In order to actively interact with its web clients, Calica 2.0 was also coupled with several server-side technologies, listed below:
- Apache web server
- Personal Home Page scripting language
- MySQL DataBase Management System
Get enough reading? Launch
Calica 2.0 now!
1 graciously hosted by iCreation.
2 therefore supposes that the client web browser supports Javascript, and has it enabled.
3 described in: Architectural Styles and the Design of Network-based Software Architectures (Roy Thomas Fielding, 2000).