EyeOS- Secured Cloud Solution
-
Upload
gurusodhii -
Category
Documents
-
view
223 -
download
1
Transcript of EyeOS- Secured Cloud Solution
-
8/13/2019 EyeOS- Secured Cloud Solution
1/45
EyeOS Secured Cloud
1. INTRODUCTIONThis project is an introduction to the application development for the EyeOS Web
Operating System. Some PHP knowledge is required , and it is not necessary to have experience
in programming with CSS, JavaScript or XHTML, although knowing these technologies will
help you understand better EyeOS and its internal functioning.
1.1 What is EyeOSFrom a technical point of view, EyeOS is a platform for web applications, created with
the idea to make easy the application development. There are currently a lot of web-related
technologies, such as PHP, XHTML, CSS and JavaScript, so it is required to master a lot of
languages and understanding numerous concepts to be able to create web applications. In
addition, every web browser has a different interpretation of the code and every PHP version and
configuration works slightly different from the others. EyeOS intends to cover those and other
problems derived from the web development, offering the programmers a homogeneous platform
to develop their web applications, using only PHP code and leaving to the system the resource
management, the communication with the browser, the security, etc. All you need is a web
browser, Internet access and EyeOS is there for you, always, all the time. EyeOS is one of the
few that is not only provided for free as a service complete with online storage, but is also open
source under AGPL3, so you can install it on your own server. EyeOS is built on PHP and uses a
combination of web standard technologies such as HTML, JavaScript and CSS to create the UI.
This means that it will run on any standards compliant browser. By itself, it doesnt require any
extra plug-in in order to work. All it needs is a PHP 5 capable server, which is the common
denominator for just about any hosting package it doesnt even require a database.
EyeOS is all about entering work and entertainment in a single place. EyeOS is about
removing compatibility issues between applications and operating systems and taking your life
everywhere. EyeOS is available in 30 translations. And is used privatively and professionally
throughout the world rather it is used for public environments, schools, small and large
companies alike or a way to share data with your family. EyeOS has a use in our digital life era.
Department of CE 1
-
8/13/2019 EyeOS- Secured Cloud Solution
2/45
EyeOS Secured Cloud
Figure 1: Centering work and entertainment in a single place
1.2 EyeOS basic structureBefore studying the EyeOS components, we must know its basic structure. The platform is
created over a client-server architecture, in which EyeOS is the server, and the client is usually a
web browser.
CLIENT SERVER
Figure 2: EyeOS Basic Structure
1.3 The KernelThe first step we must take to know EyeOS is the study of its kernel. Since EyeOS is a
Microkernel-Based Platform, the kernel is only thought to unify the system services. In other
words, EyeOS has many services for specific tasks, and the kernel is responsible for its
communication and location.
Department of CE 2
-
8/13/2019 EyeOS- Secured Cloud Solution
3/45
EyeOS Secured Cloud
Kernel
Services Applications
Figure 3: Kernel
1.4 System ServicesThe Services in EyeOS perform low-level tasks. For example, the applications do not
manipulate files directly: instead of that, they use a service designed for that purpose. Thus,
security is guaranteed since the services apply restrictions to the applications' requests. The only
form to communicate with a service is the kernel, must be used.
Service( ) takes 3 arguments :
service( string $servicename , string $functionName [, array $params] );
The first argument specifies the name of the service to call. In EyeOS there are eight
services, and they will be studied later. The second argument corresponds to the function to call,
given that a service is a collection of functions and we must specify what function we want to
use. For example, if we are using the filesystem manager service, we need to specify if we want
to copy, delete or create a file. The third and last argument is an array containing the parameters
passed to the function. For example, if we are using the filesystem manager service, we need to
tell it which file we want to delete.
1.5 LibrariesThe libraries in EyeOS are similar to the services. They too are called using the kernel, but
unlike the services, they do not handle low level tasks (such as files, users or processes), instead
they make the development of applications easier, making available sets of functions the
applications might need. EyeOS includes lots of libraries .
Department of CE, 3
-
8/13/2019 EyeOS- Secured Cloud Solution
4/45
EyeOS Secured Cloud
Libraries can be used by any application. For example:
eyeZip allows to work with ZIP files (extract, compress...)
eyeURL allows to request URLs
eyeXML allows to work with XML files (read, write...)
The way to use a library is very similar to that of a service, being the only difference the fact that
the reqLib( ) function is used instead of service( ). reqLib( ) takes the same arguments as
service( ) :
reqLib( string $libName , string $functionName [, array $params] );
Thefirst argumentis the name of the library to use, such as EyeZip.
The second argument corresponds to the function to use, such as ExtractZip (of EyeZip). The
third and last argument are the parameters passed to the called function.
1.6 EyeOS Code OrganisationIt is important to know how EyeOS is organized to be able to develop applications for. In
EyeOS everything has its right place to be put on. The EyeOS directory tree can be summarized
as:
EyeOS/accounts - Information and credentials about the users.
EyeOS/apps/ - Directory where the applications are located.
EyeOS/extern/ - Files visible from the exterior, such as CSS stylesheets, images, etc.
EyeOS/extras/ - Extra files.
EyeOS/groups/ - Groups directories..
EyeOS/i18n/ - I18n and EyeOS translation directory.
EyeOS/log/ - System logs directory..
EyeOS/system/ - Contains the services, libraries, kernel and globalconfigurations.
EyeOS/tmp/ - Directory where files are stored temporarily.
EyeOS/users/ - Users' directory where all their documents and files are stored.
Department of CE, 4
-
8/13/2019 EyeOS- Secured Cloud Solution
5/45
EyeOS Secured Cloud
2. HISTORY
Establishment:In 2005, a group of young people worked together and put all their efforts in
a new project, a new open source web desktop.
EyeOS: August 1, 2005:
The first publicly available EyeOS version was released as EyeOS0.6.0. At the time, it greatly
participated in creating the definition of a Web Operating System and acted as a concept.
Quickly, a worldwide community of developers took part in the project and helped improve it by
translating, testing and developing it.
June 4, 2007:
After two years of development, the EyeOS Team published EyeOS1.0. Compared with previous
versions, EyeOS 1.0 introduced a completereorganizatio technologies, like eyeSoft, a portage-
based web software installation system. Moreover, EyeOS also included the EyeOSToolkit, a set
of libraries allowing easy and fast development of new webApplications.
July 2, 2007:
With the release of the 1.1 version, EyeOS changed its license andmigrated from GNUGPL
Version 2 to Version3.October 29, 2007:1.2version was launched with full integration
compatibility with Microsoft Wordfiles.
January 15, 2008:
EyeOS 1.5 Gala was liberated. The first version that supported both Microsoft Office and
OpenOffice.org file formats for documents, presentations and spreadsheets. It also had the ability
to import and export documents in both formats using Server Side Scripting.
April 25, 2008:
EyeOS 1.6 included many improvements such as synchronization with local computers, drag and
drop, a mobile version and more.
Department of CE, 5
-
8/13/2019 EyeOS- Secured Cloud Solution
6/45
EyeOS Secured Cloud
January 7, 2009:
EyeOS 1.8 Lars featured a completely rewritten file manager and anew sound API to develop
mediarich applications.
April 1, 2009:
1.8.5 Version incorporated a new default theme and some re written apps like the
Word Processor and the Address Book.
2.1 Associated TechnologiesWith the increasing use of high-speed Internet technologies during the past few years, the
concept of cloud computing has become more popular. In Cloud Computing, users work with
Web-based, rather than local, storage and software. These applications are accessible via a
browser and look and act like desktop programs .With this approach, users can work with their
applications from multiple computers. In addition, organizations can more easily control
corporate data and reduce malware infections. Also, cloud computing makes collaboration easier
and can reduce platform-incompatibility problems. Now, a growing number of organizations areadding to the cloud concept by releasing commercial and open source Web-based operating
systems. While the idea is not new, the proliferation of users and applications distributed over
the Web, including those at scattered corporate sites has made it more interesting, relevant, and,
vendors hope, commercially viable. The Web OS goes beyond basic desktop functionality. It
also includes many of a traditional OSs capabilities, including a file system, file management,
and productivity and communications applications. As is the case with Web-based applications,
the Web OS functions across platforms from any device with Internet access. In addition,
distributed groups can collaborate via the technology
Driving the WebOS:
The WebOS which functions much like a traditional operating system, although it doesnt
include drivers for computer hardware is becoming a subject of increasing interest. One
contributing factor is Internet technologies increasing bandwidth, which enables the faster
Department of CE, 6
-
8/13/2019 EyeOS- Secured Cloud Solution
7/45
EyeOS Secured Cloud
movement of applications and data via the Internet to and from WebOSs. The feasibility of
technologies that could be used in Web-based operating systems, such as a file system that
identifies data by URLs, a location-independent resource-naming system ,and secure remote
execution .EyeOS is an IBM Partner World vendor that uses open source software to create
virtual Linux desktop services that run natively on Linux in a LAMP stack. EyeOS can be used
to create a desktop platform that is suitable to run and manage diverse end user desktops in a
central location from a server platform. The application itself is PHP based and runs on Linux
platforms. When run on Linux on a System z server, many EyeOS desktop images can be
supported by one Linux guest. This is in contrast to most desktops, where each desktop client
requires a Linux guest in the System z to support it. For many System customers, EyeOS
provides a simple, cost-effective way to transform delivery of services to a cloud model, an
approach that is both easy to get started with and that scales over time and volume. There are
also a number of server solutions available. System z has strong virtualization and management
capabilities. The z/VM hypervisor provides proven technology for serving virtual clients. Our
results validate how well System z virtualization scales up and out in this virtual desktop
environment. For businesses that plan on implementing cloud solutions in the near future,
System z should be considered as an integral part of the solution architecture .The objective ofthis project was to demonstrate that System z can host a large number of workstations, provision
these systems quickly, and manage these virtual clients efficiently.
2.2 Technology
With so many different Web operating systems either currently available or in
development, it should come as no surprise that programmers use different approaches to achieve
the same effect. While the goal of a Web OS is to provide an experience similar to using a
desktop OS, there are no hard and fast rules for how to make that happen. The two most popular
approaches rely on Flash technologies or Asynchronous JavaScript and XML (AJAX)
technologies. Flash is a set of technologies that enable programmers to create interactive Web
pages. It's a technology that uses vector graphics. Vector graphics record image data as a
collection of shapes and lines rather than individual pixels, which allows computers to load Flash
images and animation faster than pixel-based graphics. Flash files stream over the Internet,
Department of CE, 7
-
8/13/2019 EyeOS- Secured Cloud Solution
8/45
EyeOS Secured Cloud
which means the end user accessing the file doesn't have to wait for the entire file to download to
his or her computer before accessing parts of it. With Flash-based programs like online
streaming video player, this means you can start watching a film clip without having to
download it first. More than 98 percent of all computers connected to the Internet have a Flash
player installed. That makes flash an attractive approach for many programmers. They can create
a Web OS knowing that the vast majority of computer users will be able to access it without
having to download additional software. AJAX technologies rely on hypertext mark up language
(HTML), the JavaScript programming language, Cascading Style Sheets (CSS) and eXtensible
Mark up Language (XML).It's a browser technology. The HTML language is a collection of
mark up tags programmers use on text files that tell Web browsers how to display the text file as
a Web page.CSS is a tool that gives programmers more options when tweaking a Web site's
appearance. Programmers can create a style sheet with certain attributes such as font style and
colour, and then apply those styles across several Web pages at once. Java Script is a
programming language that allows applications to send information back and forth between
servers and browsers.XML is a mark up language, which means programmers us e it to describe
the structure of information within a file and how it relates to other information. The
"asynchronous" aspect of AJAX means that AJAX applications transfer data between servers andbrowsers in small bits of information as needed. The alternative is to send an entire Web page to
the browser every time something changes, which would significantly slow down the user's
experience. With sufficient skill and knowledge, a programmer can create an AJAX application
with the same functions as a desktop application. Like Flash, most computers can run AJAX
applications. That's because AJAX isn't a new programming language but rather a way to use
established Web standards to create new applications. As long as an application programmer
includes the right information in an application's code, it should run fine on any major Web
browser. Some well known Web applications based on AJAX include Google Calendar and
Gmail. A Sample of Web Operating System There are more than a dozen Web operating systems
in various stages of completion. They include:
EyeOS
AstraNOS
DestkopOnDemand
Department of CE, 8
-
8/13/2019 EyeOS- Secured Cloud Solution
9/45
EyeOS Secured Cloud
3. ARCHITECTURE
Fig 4: Architecture overview
EyeOS kernel uses a structure divided into 4 layers:
Kernel: unified system services.
Services: lower-level functions.
library services: higher-level functions
Applications: can call functions from any layer
Department of CE, 9
-
8/13/2019 EyeOS- Secured Cloud Solution
10/45
EyeOS Secured Cloud
3.1 Service MMAP Vital component in the communications of the application.
route messages to the client application.
Automated service.
3.2 Service VFS It is the EyeOS file system.
implement security systems.
Concatenate 32 random characters.
virtual and real functions.
Provides application development.
3.3 Service - VFS file content
Internally creates two files for each file (virtual functions):
File information
3.4Service EyexGet the XML messages and respond in the same format to the browser
Figure 5: Working of EyeX in kernel
Department of CE, 10
-
8/13/2019 EyeOS- Secured Cloud Solution
11/45
EyeOS Secured Cloud
3.5 Service - Proc
Process Management:
Launch.
Finish.
List.
etc.
Process defines important variables for the application: myPid
myPid : identifies every process.
Checksum : identifies the process in the client-server communication.
3.6 Client-server communication.EyeOS use a two-tier architecture in which one machine acts as both application and presentation
server. The client is the second tier. The application server hosts virtual machines that run
programs and push them to a presentation server, which manages the client connection. The thin
client runs the application and passes user input back to the application server.
Client-side
EyeOS makes use of several technologies on the client (browser) side:
XHTML and CSS are used to display the user interface. The content, however, is created
and changed dynamically by the local JavaScript engine, which uses the DOM for this
task.
The local engine handles communication with the server asynchronously, using AJAX.
Client and server communicate via XML requests/responses. The client always initiates
communication. Each server response specifies a series of tasks to the client engine (e.g.
creating a widget, changing a value of a component, executing JavaScript code embedded
in the message, etc.).
Not all interactions require communication with the server. JavaScript is used to provide
client-side-only interactions
Department of CE, 11
-
8/13/2019 EyeOS- Secured Cloud Solution
12/45
-
8/13/2019 EyeOS- Secured Cloud Solution
13/45
EyeOS Secured Cloud
4. BASIC SERVICES
There are 8 services in EyeOS, which are:
extern
eyeX
log
mmap
proc
sec
um
vfs
They are located in the EyeOS/system/services/ directory.
4.1 VFS, Virtual File System
One of the most important services in EyeOS is VFS, which is the responsible of providing
functions to work with files and directories. Absolutely no operation with files must be
performed directly using PHP functions such as fopen and unlink(). The VFS service must
always be used in these operations. VFS guarantees that a user is unable to read or edit another
user's files. If an application executed by a user requests VFS to read a file over which the user
does not have enough permissions, VFS will return false and will activate the error code
VFS_INSUFFICIENT_PERMISSIONS
Thus, it's VFS that ensures the security and not the applications. The applications do notneed to worry whether the user has enough permissions on a file. The VFS internal work is done
in a modular way. This means that the VFS functioning can be modified using new modules. The
default module is the virtual module, although it can be specified which module to use changing
the value of the VFS_MODULEparameter on the settings.php file. The virtual module uses two
files for every file the user creates. One file is used to store the content of the file and other file is
used to store information about it using the XML format. In addition, the virtual module
.
Department of CE, 13
-
8/13/2019 EyeOS- Secured Cloud Solution
14/45
EyeOS Secured Cloud
concatenates a 32 character length random string to every file name, making it impossible to
guess from the outside the name of a file.
For example, if we call VFS with the virtual module to create a file:
service('vfs','create',array('file.txt'));
The system will actually create two files, being one called:
file.txt_[RANDOM_STRING].eyeFile,
which will store the content of the new file. And another called:
file.txt_[RANDOM_STRING].eyeInfo,
which will contain information about the new file, suchas its author, its real name (file.txt) and
the creation date. VFS always manages these low-level tasks. For example, if we want to delete
the file called file.txt we just need to call VFS once and both files will be deleted:
service('vfs','delete',array('file.txt'));
If we want to open the file to read it:
$fp = service('vfs','open',array('file.txt','r'));
And from here we can use the file resource $fpusing fread(), fwrite()and fclose()from PHP.
The opening modes of VFS open are the same as the fopen()function used in PHP. Apart from
this method using pairs of files, the virtual module has methods to deal with normal files which
do not use the eyeInfo and eyeFile pairs. These methods are called real methods. The real
methods work exactly like the virtual ones, but their name is preceded with the prefix real_. Let's
see an example:
service('vfs','real_create',array('file.txt'));
every user has a home directory to work in. Inside every home directory there are:
conf/ - the configuration files are stored here as real files with XML format.
files/ - the virtual files (using eyeInfo and eyeFile) are stored here, and are visible to the
userfrom the File Manager.
The form to decide whether to use a virtual or a real method is as simple as thinking: Do
I need to work with a user's file or with a configuration file? One detail to bear in mind is that
the real functions do not have the same restrictions as the virtual ones. The virtual functions have
permissions to read and write the files in the files/ directory of a user's home, and to create files
Department of CE, 14
-
8/13/2019 EyeOS- Secured Cloud Solution
15/45
EyeOS Secured Cloud
in the groups' directories where the user belongs .Inside a group's directory, the virtual functions
can only edit and delete files that belong to the user. The real functions have permissions to
create and edit files everywhere in a user's home (including files/, conf/, etc), but they have no
read nor write permissions on the group's folders. These restrictions exist for security reasons. It
would be dangerous that real files of groups could be altered, so they can only be accessed with
virtual functions.
4.2 UM, User ManagerThe UM service manages the users in the system and provides the methods necessary forregistering, logging in, obtaining the path to a user's home, etc. One important characteristic is
that UM provides a global variable accessible at any place, called $currentUser, which
contains the username of the current user
4.3 MMAP Message MappingBefore introducing MMAP, we must first get to know the communication between the client and
the server. The EyeOS applications reside in the server, storing and processing the data in it,
being for the client the medium to visualize and interact with the application. For example, the
client is responsible of displaying a window, or sending a message to the server indicating a
button has been clicked. The communication between the client and the server is done via
messages. A message is a petition made by the client to the server, sending or asking certain
information. Now that we know what a message is, we can move on and explain how MMAP
takes part in this process.
MMAP is responsible for routing every received message in the server to the applications. A
good comparison could be made with a postal system. When a mail arrives to the post central, it
is classified according to its addressee, and finally it is delivered by the postman. MMAP would
do the parts of organizing and delivery, since it classifies and transmits the message to the
applications.
Department of CE, 15
-
8/13/2019 EyeOS- Secured Cloud Solution
16/45
EyeOS Secured Cloud
Messages Application A
Client App A Application B
App BMMAP
Application C
App C
Figure 6: Structure of MMAP
As a final note, you must know that MMAP is an automated service: it does not require any
interaction with the developer at all. Nevertheless, it is important to know how to receive
its messages,.
4.4 PROC
PROC is responsible for the process managing, and provides methods to launch, end, list
processes, etc. When an application is launched with PROC, two very important variables for the
application development are defined: myPid and checknum. myPid is a unique 4 characters
length numerical value that identifies every process and checknum, just like myPid, is a unique
number, although it is 8 characters length and identifies every process in the client-server
communication. In this application, application app1 executes the application app2 and then
it terminates itself.
global $myPid;//Pid of application app1
$pid =$myPid;//We store the pid in another variable
service('proc','launch',array('app2'); //We call launch, indicating the name of the application
to open
service('proc','close',array($pid); //We call close indicating the pid of app1
PROC provides a wide variety of process managing methods, not limited to launching or closing
Department of CE, 16
-
8/13/2019 EyeOS- Secured Cloud Solution
17/45
EyeOS Secured Cloud
applications. For example, the findPidByName() function, locates a given process with specified
pid and returns the name of its application name.
4.5 EyeXThe Mmap service manages the messages coming from the client. All messages have a
response in XML format, which is interpreted by the browser. The response XML contains basic
orders to modify the interface of the client. For example, we create a button that creates a new
window when it is clicked:
BROWSER SERVER
BROWSERSERVER
Figure 7:Structure of EyeX
In the first case, the message goes from the browser to the server. In the second case, the
response to the message includes the orders for the browser to create a new window. The EyeX
service is the responsible for managing the response XML sent by the server. The applications
request EyeX basic operations, such as creating windows or showing an image, and it is EyeX
that transforms those orders in an XML message. For example, we can use EyeX to create a
message box in the browser, just calling EyeX with service():
service('eyeX','messageBox',array('content'=>'This is a message'));
4.6 Extern, external file manage
The extern service allows the client to download files from the server. Those files must be,
located inside the extern/ directory. Extern allows to create URLs accessible from the outside
allowing to host images, CSS files, JavaScript files, etc. Its working is very simple: if we want to
Department of CE, 17
-
8/13/2019 EyeOS- Secured Cloud Solution
18/45
EyeOS Secured Cloud
get a file called style.css inside of a directory called 'test' located in EyeOS/extern/ we just should
use the URL:
index.php?extern=test/style.css
This service exists to allow the developers to use images, stylesheets and other files in their
applications, without worrying about the EyeOS/ directory is not visible from the outside.
4.7 LogLog does not require any interaction with the developer. It works autonomously registering the
system's activity to log files, annotating the time and user of every action. Its presence does not
reverberate at all at the time of building applications.
4.8 SecSec is another autonomous system service, although it reverberates on the developers, unlike the
log service. Sec is responsible of making EyeOS run in a secure environment. To do that, it
disables PHP's magic_quotes and register_globals when initiating. Thus it's not necessary to
worry whether these options are enabled or not: you will always see them disabled.
Department of CE, 18
-
8/13/2019 EyeOS- Secured Cloud Solution
19/45
EyeOS Secured Cloud
5.HOW AN APPLICATION WORKS
5.1 Preparing the environmentAll projects must be developed in an adequate environment. If, for example we are developing
an application for GNU/Linux, it is better to use a GNU/Linux environment, otherwise the task
would become quite a bothersome task. Let's see which requirements our environment should
have:
Subversion Client: we will need it to download the latest EyeOS code.
Apache2 Server: the only server officially supported.
PHP 5: the required version since EyeOS 1.2 and above.
PHP Editor: any suitable text editor is valid.
Our ideal environment is a personal preference: not everybody feels comfortable with the same
applications. The EyeOS team uses all the same environment, which we thoroughfully
recommend:
Official Subversion Client: http://subversion.tigris.org
IDE Eclipse PDT.
A Unix-like OS: OpenBSD, FreeBSD, GNU/Linux etc.
Mozilla Firefox 2.X.
Firebug Extension
ANEC (Add n edit cookies) Extension.
5.2 Downloading the code
The EyeOS code is in a Subversion (our Version Control system) server, and it is organized
as follows:
trunk: contains stable and secure code, and it is the main EyeOS working branch.
unstable: contains applications that do not match the EyeOS quality standard.
tags: contains the freezed code for each version released.
Department of CE, 19
-
8/13/2019 EyeOS- Secured Cloud Solution
20/45
EyeOS Secured Cloud
5.3 Structure of an applicationOne important thing you should know to manage in EyeOS is the structure of an application.
The directory and files tree of an application is as follows:
EyeOS/apps/ -Directory that contains the PHP code of each application
EyeOS/apps/Application/-Application's main directory
EyeOS/apps/Application/apps.eyecode -Initializing and ending code of an application
EyeOS/apps/Application/events.eyecode -Event reception code
EyeOS/extern/apps/Application -Main directory for the external resources of an application.
The files and directorios marked in bold are required for an application to work properly.
5.4 Initializing and ending of an application
The initialization and ending of an application is contained in the apps.eye code file.
This file contains two functions:
ApplicationName_run: function called by PROC when launching an application.
ApplicationName_end: function called by PROC when terminating an application in case itexists.
The only required function in this file is the _run function. Its use varies enormouslydepending
of the kind and size of the application. A graphical application normally uses it to initialize the
User Interface, but non-graphical and small applications concentrate all their code in this
function.
5.5 EventsAn event is described as an interaction by the user with the interface of our application. For
example, when a user clicks a button an event is produced. The generated information of every
event is sent to the server in the form of a message. As we explained above, the responsible part
of treating those messages is the MMAP service. MMAP is able to deliver every message thanks
to the fact that each message contains the checknum of the addressee application and the name of
the event. To deliver the message, MMAP finds a file named events. Eyecode in the directory of
Department of CE, 20
-
8/13/2019 EyeOS- Secured Cloud Solution
21/45
EyeOS Secured Cloud
the addressee application and tries to call a function named ApplicationName_on_EventName,
passing as an argument the body of the message. An example of a valid event function would be:
function eyeNotify_on_reciveNewMessage($params){
if(!$params) {
return false;
}
service('eyex','messageBox',array('content'=>'New message recived'));
}
eyeNotify: name of the application to which the message is addressed.
reciveNewMessage: name of the event received.
$params: parameters sent from the client.
5.6 ExternUsing extern in our application is very easy. We only have to place the file we want to access inextern/apps/ApplicationName/ and then use a URL to the file . The use of extern in an
application is quite useful since it allows to load icons, CSS files, images,etc
Department of CE, 21
-
8/13/2019 EyeOS- Secured Cloud Solution
22/45
EyeOS Secured Cloud
6. FEATURES
6.1 File Sharing Platform
With EyeOS you can manage and save your files with a synchronization between your
computer and a virtual network drive connected with EyeOS..
Fast access to your information from any device with a web browser;
You can create workgroups, managing user profiles and groups
Blackboard to send messages between users and members of your groups; Work
collaboratively with the same document at the same moment
Allows an EyeOS platform to connect with the end users outside the system by allowing
any EyeOS user to share his/her files with everyone, getting a simple
URL for any file which should be shared;
Files links can also be sent via e-mail;
Files can also be shared with a password protection and only for certain groups of users;
6.2 The Base ApplicationsEyeOS comes by default with applications to create and work with Office files (with a
word processor and a spreadsheet program), calendar, diary, email (with POP3/IMAP support)
and much more. EyeOS aims to be a great stable suite for comfortable online work, both
individually and with other users simultaneously.
6.3 Better, Easier Development
Making EyeOS 2.0 applications is easier than ever. The GUI (graphical user interface) is
completely implemented in JavaScript, and the system is based on OOP (object-oriented
programming) and can be expanded or modified by adding classes and methods. The new store
methods (GenericDao) allow you to save and retrieve data from the database transparently: it is
not necessary to know SQL. Creating RIA (rich Internet applications) is easy and fast. Now
EyeOS is a framework that combines JavaScript and PHP: there is no quicker and easier way to
create a RIA.
Department of CE, 22
-
8/13/2019 EyeOS- Secured Cloud Solution
23/45
EyeOS Secured Cloud
6.4 RIA Framework
EyeOS is not only a web desktop with its own valuable applications; it has been designed
from the beginning to enable easy development and creation of new applications. EyeOS 2.0 is
the perfect development framework for quick and easy creation of rich Internet applications. It
has been completely developed with open technology and widely accepted standards such as
PHP, MySQL, JavaScript, log4php, PHPUnit, OpenOffice and others, enabling the system to
function on a common web server without any modifications, and using any standard browser
without any additionalplug-ins installed.
6.5 Open Source
It is simple to access the EyeOS code, because it follows an open development model with a
public SVN, version control system, which tracks the development of the project. Furthermore,
all of the EyeOS code is documented so that you can start using it from day one.
6.6 Develop Easily
Learning to program in EyeOS is quick and easy. And once it is done, you dont have to
worry about the system at all! Thus, it is very easy to create an application. EyeOS hasbeen
designed as a totally extensible system so that anyone can create an application using PHP and
JavaScript and integrate it into the system. Its free software model and free license mean that the
software can be adapted without problems.
6.7 EyeOS as the Cloud ComputingWorking together IBM and EyeOS are making available a sample virtual Linux desktop
Work load for the Solution Edition for Cloud Computing. Clients who choose to the
EyeOS sample workload can:
Accelerate the learning process for cloud computing with an open source software
workload.
Understand the anatomy of cloud images the contain operating systems, middleware and
applications.
Increase the speed to value for the Solution Edition for Cloud Computing.
Department of CE, 23
-
8/13/2019 EyeOS- Secured Cloud Solution
24/45
EyeOS Secured Cloud
7.EXTRASUblquity : Access your documents, files and applicationsfrom anywhere and any device.
Flexibility : From the small business to the big corporation. Also for individual use, there is
an EyeOS for you!
Integration : The EyeOS architecture makes easier and faster the integration of any web
application that you use
Simplicity : From its first steps. EyeOS has been planned and created to be intuitive and easy
to use.
Collaboration : Share files and edit them in a real-timecollaboration suite with other users.
Privacy: Decide where your files are: You can have your ownEyeOS server!
Security: Control your EyeOS. You are who manage rolesand permissions for each user.
Low costs: All in one in a single platform: the best way to optimize time and resources.
Department of CE, 24
-
8/13/2019 EyeOS- Secured Cloud Solution
25/45
EyeOS Secured Cloud
8. STRUCTURE AND API
For developers, EyeOS provides the EyeOS Toolkit, a set of libraries and functions to
develop applications for EyeOS. Using the integrated Portage-based EyeSoft system, one can
create their own repository for EyeOS and distribute applications through it. Each core part of
the desktop is its own application, using Javascript to send server commands as the user
interacts. As actions are performed using Ajax (such as launching an application), it sends event
information to the server. The server then sends back tasks for the client to do in XML format,
such as drawing a widget.
On the server, EyeOS uses XML files to store information. This makes it simple for a user
to set up on the server, as it requires zero configuration other than the account information for the
first user, making it simple to deploy. To avoid bottlenecks that flat files present, each user's
information and settings are stored in different files, preventing resource starvation from
occurring.
Department of CE, 25
-
8/13/2019 EyeOS- Secured Cloud Solution
26/45
EyeOS Secured Cloud
9. WHAT IS THE "EYEOS TOOLKIT"?
The EyeOS toolkit consists in a group of Widgets, which are PHP+AJAX classes prepared
to receive instructions and communicate with the application. Making an application is as simple
as choosing your widgets, grouping them through the addFriend method and adding events to
them (e.g. what should the application do when a button is clicked).
The system will automatically call the events when they are fired, add the app to the Processes
table so it can run in multiple instances (e.g. two or more opened documents in a text editor), and
protect the app against external attacks.
Please note that EyeOS Toolkit comes by default with any version of EyeOS. It's not visible, it's
just under the hood. It lets you to create your apps using it. You will learn more about the EyeOS
toolkit and how to use it on the EyeOS Developers Manual.
9.1 How the Toolkit works
Every visual element of an application has a class that represents it: in other words, every widget
is a class. With this model, adding a widget in our application is as easy as instantiating a class.
All the classes of the Toolkit take as an argument an indexed array when they are instantiated.
This array contains parameters shared in common with other widgets and specific parameters for
each widget. The common parameters of all widgets are:
name the name given to the widget, such as 'window1', 'button2', etc. This name will be
usedto refer to the widget in the application
father the father of the widget. In other words, the widget inside of which this widget is
placed.
If, for example we create a window in our application and want to create a button inside the
window, we must indicate the name of the window as the father of the button. The background is
a layer called eyeApps, which is the father of all windows that are not placed inside another
window.
Department of CE, 26
-
8/13/2019 EyeOS- Secured Cloud Solution
27/45
EyeOS Secured Cloud
X the horizontal coordinate with regard to its father.
Y the vertical coordinate with regard to its father.
Horiz this flag specifies the form in which the horizontal (X) coordinates are taken. If it is
set to 0 (the default value) the pixels are counted from the left. If set to 1, the pixels
are counted from the right.
Vert exactly like Horiz, but with the vertical (Y) coordinates.
The use of horiz and vert is justified: we may want to stick some element to the right or down
border of a window, and those flags eliminate the need to calculate the size of the window to
place the element.
Cent this key is used to center widgets. When it is set to 0 (the default value) nothing is
changed. If it is set to 1, it makes the horizontal and vertical coordinates (X and
Y,respectively) given be ignored, and centers the widget at the center of the father. If
set to 2, the widget is centered horizontally, and when it is set to 3 it is centered
vertically. Aside from these parameters in the array, each widget has its own specific
parameters. We will se an example using a window widget to see this
$myWindow = new Window(array( 'name'=>'Window1', 'father'=>'eyeApps',
'cent'=>1, 'width'=>600, 'height'=>500, 'title'=>'Example1', ));
$myWindow->show();
This example creates a window with a 600x500 pixels size, centered in the screen and with a
title called 'Example1'.
9.2 The JavaScript side and the PHP side
Since EyeOS is executed in the server using PHP and it is visualized in the client, using XHTML
and Javascript, it is necessary a mechanism to communicate both parts.
Department of CE, 27
-
8/13/2019 EyeOS- Secured Cloud Solution
28/45
EyeOS Secured Cloud
An EyeOS application could be defined this way:
Javascript +XHTML PHP
Figure 8:EyeOS Application
The PHP side is where the classes reside, and in the Javascript side there is a system to draw the
widgets, although the programmer does not need to deal with it. To communicate both sides,
Messages are used. They normally consist of Ajax calls that are made by the system when the
user interacts with some part of an application. For example, if the user clicks a button, it emits a
message, an Ajax call to the server, telling it the button is pressed. The most interesting part of
this process is that it occurs automatically, and the programmer only has to worry about creating
the widgets and managing the events in a free way
.
9.3 Messages
The messages in EyeOS are the way to call the events of an application. Those events,
normally being Ajax calls to the server have 3 parameters (although the programmer does not
need to deal with it, since it is automatically handled by EyeOS). The first parameter is the
checknum, a unique random number assigned to every application that lets EyeOS know to
which application a message is directed to.The second parameter is the signal, which is the name
of the event of the application. As said above, with each message received, EyeOS tries to
execute a function from the events.eyecode file called applicationName_on_signal. Most widgets
capable of sending messages use their name as the signal to send. However, their constructor
allows to specify a key named 'signal' to set the name of the signal sent to a desired value.
$myButton = new Button(array('name'=>'Button1', 'signal'=>'doSignal' 'caption'=>'Click me!',
'father'=>'Window1', 'x'=>30, 'y'=>3
Department of CE, 28
-
8/13/2019 EyeOS- Secured Cloud Solution
29/45
EyeOS Secured Cloud
This example creates a button with the text Click me!, that will produce the event 'doSignal'
when clicked. In addition, the messages have a third param, which is their value. This value is
the content of the widget that produces the event. For example, a textbox that sends a signal
when you enter the text on it would send its text. This parameter lets the PHP side to stay
coordinated with the values of the Javascript/XHTML side.
9.4 Serialization
In EyeOS, the serialization consists in storing all the widgets of an application in the user's
session so that the widgets remain available when an event is triggered. Let's see an example: We
create a textbox and a button, and we want to change the text of the textbox to the string 'Hello,
World!' every time the button is clicked.
$myTextbox = new Textbox(array( 'name'=>'textBox', 'width'=>212, 'father'=>'Window1',
'x'=>30, 'y'=>50 ));
$myTextbox->show();
$myButton = new Button(array('name'=>'button1', 'caption'=>'Change text',
'father'=>'Window1', 'x'=>120, 'y'=>90, 'signal'=>'change' ));
$myButton->show();
Now we have the two elements drawn in the window (named Window1). Now we make that
when the message 'change' is received, the event of the events.eyecode file changes the text
inside the textbox:
function ejemplo1_on_change($params=null) { $textBox->setText('Hello, world!');
Since we gave the textbox the name 'textBox' when we created it, we can access this textbox just
by referring it with this name. This way, we can access and modify the textbox using its class
methods. Serializing affects the memory of the server. We may be interested in drawing widgets
without serializing them.
Department of CE, 29
-
8/13/2019 EyeOS- Secured Cloud Solution
30/45
-
8/13/2019 EyeOS- Secured Cloud Solution
31/45
EyeOS Secured Cloud
9.5 Friends
The friends concept in EyeOS is a way to tie widgets so that an event on a widget causes another
widget to refresh its content. As we saw above, when a widget produces an event, it includes in
the message its new content so that the PHP can have its most recent content. However, we may
want the widget to update the content of other widgets when producing an event. For example, in
an application with a button and a textbox, we want to retrieve the content of the textbox when
the button is pressed. To update the content of that textbox when the button is pressed, we must
make the textbox a friend of the button. Let's see an example:
$myTextbox = new Textbox(array( 'name'=>'textBox', 'width'=>212, 'father'=>'Window1',
'x'=>30, 'y'=>50 ));
$myTextbox->show();
$myButton = new Button(array( 'name'=>'button1', 'caption'=>'Change',
'father'=>'Window11', 'x'=>120, 'y'=>90, 'signal'=>'change'));
$myButton->addFriend($myTextbox); //Now the textbox is a friend of the button
$myButton->show();
This way, in the events.eyecode file, we can retrieve the content of the textbox this way:
function example_on_change($params=null) {
$text = $textBox->text;
}
Now $textcontains the text of the textbox at the moment of clicking the button.
Department of CE, 31
-
8/13/2019 EyeOS- Secured Cloud Solution
32/45
EyeOS Secured Cloud
10.GROUPS
Every user is member of at least one group, normally the public group. Each group has a folder
with its name inside the groups/ directory where all the shared files between the group members
are stored. Currently there are few functions for group managing, although both the UM and
VFS services offer some interesting ones:
um_getCurrentGroups: returns a list of all existing groups.
vfs_real_getDirContent_group : returns the contents of the folders of a group.
The files stored in a group do not have any type of restriction to the other members. For example,
user A can delete a file of user B in the group.
Department of CE, 32
-
8/13/2019 EyeOS- Secured Cloud Solution
33/45
EyeOS Secured Cloud
11. SHARING YOUR WORK WITH EYEOS COMMUNITY
EyeOS is an Open Source web operating system and applications platform, and aims to be the
strongest free, open source web development platform out there. This can only be possible with
the work of thousands of people who do release they work as OpenSource and share it with the
rest of the EyeOS community. There are lots of available licenses outthere. We recommend to
use the GNU ones, but you are free to choose whats the best Open Source license for your work.
For this reason, we aim you to release your work (from your very first application to a full
system of applications and system tweaks) in the EyeOS Applications Community:
http://www.EyeOS-apps.org
Department of CE, 33
-
8/13/2019 EyeOS- Secured Cloud Solution
34/45
EyeOS Secured Cloud
12. APPLICATIONS
12.1 Application Areas
EyeOS provides system for the users where they work with EyeOS and all itsapplications,
including Office and PIM ones.EyeOS provides a toolkit to create newapplications easily.
EyeOS can provide schools and universities with a full web platform where students,teachers and
parents will have a personal yet collaborative desktop to work and,communicate between
themselves and get organized inside and outside the school.With a private server, EyeOS can
provide city councils, public library networks, freeInternet points and other public environments
the perfect system for their users to have aweb place to work and communicate with the network
managers, registering once andusing it from every point.One of the main triggers and great
acceptance of people with regard to this service is itsavailability online, which has no
dependencies and has a strong security system,achieving thus be an ideal application for storing
content. This action may be useful for those who travel frequently, for schools that want a
centralized storage and available for intranets and business in general and so on.; Even could be
used in any future as a serviceto replace the need for a harddisk Among the most typical uses are
highlightedSchools: There is a Web system that brings a personal space for each teacher and
student,which can be leveraged to work collaboratively.Also it is best accessed from
anywhereyou have Internet access.Public places may be in libraries or on points that have open
WiFi, allowing users toconnect to have the same meeting place on the Web.Social Organizations
and Companies:Contacts, personal files and communications to which members can access
businesses andorganizations large and small.
12.2 Industry Relevance
EyeOS at CeBIT 2010
EyeOS at CeBIT (Hannover, Germany) explaind and showd EyeOS, Cloud Computingand why
it is necessary to move operating systems and desktops to the cloud. CeBIT isone of the
worlds foremost tradeshow for the digital industry and the No. 1 annualmeeting point for ICT
buyers, sellers, developers and users from around the globe.EyeOS is growing up with customers
Department of CE, 34
-
8/13/2019 EyeOS- Secured Cloud Solution
35/45
EyeOS Secured Cloud
who are looking for a solution on the cloud for itscompany and they are starting to see EyeOS as
an important player to make the finalchoice. Therefore our structure has been increased to attend
their demands. We offer specific programming, branded installation, training and support to the
people/customerswho want to customize or personalize our product for their companies. We are
alsoincreasing our official partners list, to improve our Professional Network, and to be ableto
offer local services at a wide variety of places.
EyeOS and IBM Working together - where EyeOS will be the Sample Workload of the new
System Z serie Solution Editionfor Cloud Computing. System Z is the IBM brand used to
produce their mainframeservers, used worldwide by governments, big companies and thousands
of organizations.EyeOS was approved and introduced to the IBMs Global SolutionDirectory
It also represents its expansion as a powerful, scalable platform working withone of the biggest
IT corporations in the world.EyeOS is designed to access a specific set of applications installed
on the virtual desktop.Using the system, an organization could provide employees with
productivityapplications, its own custom applications, and access to proprietary data. The ability
toaccess these through a single Web-based operating system saves users from needing passwords
to different Web-based services. It also allows the applications to be morecompatible witheachother.IBM is beginning to sell EyeOS pre-installed on its high end servers, but this is not to
sayits will not come onto notebooks and netbooks. The idea is to get people interesting inusing
EyeOS to get them comfortable with cloud computing in their business, so when thetime comes,
they can transition that familiarity to home notebooks. partnership with GMV, which will deliver
new and exciting projects based on the OpenKnowledge, by joining the experience and expertise
from GMV and the Open SourceEyeOS Web Desktop Platform to provide enterprise-ready Web
Desktop Solutions,expanding the EyeOS usageworldwide.
12.3. Research and Development
SCOPE
The Goals ofEyeOS:
Being able to work from everywhere, regardless of whether or not you are using a full-featured,
modern computer, a mobile gadget, or a completely obsolete PC.Sharing resources easily
Department of CE, 35
-
8/13/2019 EyeOS- Secured Cloud Solution
36/45
EyeOS Secured Cloud
between different work centres at company, or working fromdifferent places and countries on the
same projects.Always enjoying the same applications with the same open formats, and forgetting
theusual compatibility problems between office suites and traditional operating systems.Being
able to continue working if you have to leave your local computer or if it justcrashes, without
losing data or time: Just log in to your EyeOS from another place andcontinueworking.A Web
OS runs on any Internet enabled computer or device. This is important for mobileworkers or
people who dont have their own computers and must work out of Internetcafes, libraries, or
schools. Also, Web OS users can work, log out, and then log in later from a different computer.
In addition, because the same Web OS can run on differentcomputers, the technology facilitates
collaboration among multiple work centres. Thetraditional OS runs on only one computer.
Extensions such as the Network File System away for different machines to import and export
local files and remote desktop a way tocontrol one computer by using another device allow
easier access to information frommultiple locations and better user collaboration. However, these
techniques are limited toa set of machines on the same network or specific computers that have
been linked.WithaWeb OS, users can store, find, and otherwise manage files and services,such as
calendarsand email, from a Web desktop. And storing applications, files, and services on an OS
providers servers, rather than on the users computer, makes them harder for a PC or laptop thiefto use.Web OS users dont have to back up or archive work because the providers remote server
handles these functions.The technology also promises to reduce userside long-term computer and
device costs because much of the heavy processing is concentrated in providers remote servers,
SunWeb OS operates across platforms, it eliminates compatibility issues between
applicationsand operating systems. Thus, the same Web OS will run on a Windows, Mac, or
Linuxmachine. Application developers create an application only once for a Web OS, rather than
many times for each of the traditional operating systems. And system administratorshave to
deploy an application only once for a given Web OS. They can then easilydistribute it online to
users. Because the Web OS and its applications are generally basedin servers that can be
monitored and secured from one location, they provide centralizedmalware protection.
12.4. Convergence Of Technology
EyeOS is an open source web desktop following the cloud computing concept. It ismainly
written in PHP, XML, and Javascript. It acts as a platform for web applicationswritten using the
Department of CE, 36
-
8/13/2019 EyeOS- Secured Cloud Solution
37/45
EyeOS Secured Cloud
EyeOS Toolkit. It includes a Desktop environment with 67 applicationsand system utilities. It is
accessible by portable devices via its mobile front edu. EyeOSlets you upload your files and
work with them no matter where you are. It containsapplications like Word Processor, Address
Book, PDF reader, and many more developed by thecommunity.For developers, EyeOS provides
the EyeOS Toolkit, a set of libraries and functions todevelop applications for EyeOS. Using the
integrated Portage-based eyeSoft system,anyone can create their own repository for EyeOS and
distribute applications through it.Each core part of the desktop is its own application, using
javascript to send server commands as the user interacts. As actions are performed using ajax
(such as launchingan application), it sends event information to the server. The server then sends
back tasksfor the client to do in XML format, such as drawing a widget.On the server, EyeOS
usesXML files to store information. This makes it simple for a user to set up EyeOS on aserver,
as it requires zero configuration other than the account information for the firstuser, making it
simple to deploy. To avoid bottlenecks, that flat files present, each user information and settings
are stored in different files, preventing resource starvation from occurring.
12.5. Future Technology
EyeOS 2.0 for developers
EyeOS 2.0 is a development framework for creating RIAs quickly and easily. It has been fully
developed using open technology and widely accepted standards, such as PHP,MySQL,
javascript, qooxdoo, log4php, phpunit, OpenOffice and others, allowing thesystem to work on a
common web server without any modification, and any standard browser, without needing to
install additional plugins.EyeOS 2.0 is much faster than EyeOS 1.x, since it gives much more
prominence toJavaScript. We have completely eliminated the PHP code which is not used for
businesslogic. As a result, the client needs to make fewer requests to the server, and makes
themonly when needs persistence of data or specific business logic.EyeOS 2.0 has also added a
cache system on the client side to eliminate server requests,even when these are for data
persistence.The logical architecture of the system remainsvery similar to EyeOS 1.x, however,
everything has been rewritten from scratch usingdesign patterns with object-oriented
programming, where for example, each system service kernel singleton component.
Department of CE, 37
-
8/13/2019 EyeOS- Secured Cloud Solution
38/45
EyeOS Secured Cloud
The future of computers
With software like EyeOS etc. computer processors, memory and disk space are becoming less
and less important for the average user. Computer specifications will startto drop as will cost.
Smaller laptops will start to become dumb terminals as all processingand the fun stuff is done by
the EyeOS server.
Department of CE, 38
-
8/13/2019 EyeOS- Secured Cloud Solution
39/45
EyeOS Secured Cloud
13. MARKET VIEW
The idea behind EyeOS is that the whole system lives in the web browser. The client must
have only a web browser to work with EyeOS and all its applications, including Office and PIM
ones. This applies to for both modern and obsolete PCs.
There are no license costs with EyeOS: Its Free, Open Source Software. Special
programming, Support & Maintenance up to 24x7, Training and adaptation are offered as
professional services. EyeOS work with private and public companies that are looking for an
internal intranet: big companies that would like to offer a virtual desktop to their customers,
small and big administrations, and the education world EyeOS for Education.
Free Internet Access Points Resources Management Internet & Access Providers Servers
Management EyeOS Mobile Professional Meetings Manager Available Services. These are the
projects that have under consideration and working effectively by keeping in mind to give the
best cloud service. The free public server for everyone that has already reached 4,00,000 users.
EyeOS provides Support Packs for both Open Source and Commercial Edition customers.
Whether you are trying EyeOS for the first time or deploying a mission-critical application, we
have a plan that meets your needs and budget.
Who would like to have a full EyeOS environment with more space, more allowed upload max
file size, the ability of managing users and groups and installing new applications there hasnt
been an officially offered option before.
Were today starting to offer full EyeOS servers, with the following specs:
From 5 GB to 40 GB of space
Unlimited number of users
EyeOS bundled with everything necessary to run inside. The specs and configurations
have been prepared by the EyeOS Team.
Office support enabled and working from the first moment. There is a separated server
(outside the EyeOS servers) only for Office, so the office files conversion is specially fast
Department of CE, 39
-
8/13/2019 EyeOS- Secured Cloud Solution
40/45
EyeOS Secured Cloud
even in the smallest servers, since its done in a much more powerful server inside the
network.
A maximum upload file sized of 1000 MB (you can basically upload almost every file
you want to your EyeOS and keep it online, directly with eyeUpload or through eyeSync
for Windows, Mac and Linux).
Every single server is inside a Virtualized Private Server environment: Your data will be
safe and protected against others access.
You will have the root account inside your EyeOS Server: This means being able to
install new applications, creating work groups, enabling or disabling the possibility to
allow people to create accounts, assigning a maximum space quota per every user.
Department of CE, 40
-
8/13/2019 EyeOS- Secured Cloud Solution
41/45
EyeOS Secured Cloud
14.APPLICATION DOMAIN EyeOS provides system for the users where they work with EyeOS and all its
applications, including Office and PIM ones. EyeOS provides a toolkit to create new
applications easily.
EyeOS can provide schools and universities with a full web platform where students,
teachers and parents will have a personal yet collaborative desktop to work and,
communicate between themselves and get organized inside and outside the school. With a private server, EyeOS can provide city councils, public library networks, free
Internet points and other public environments the perfect system for their users to have a
web place to work and communicate with the network managers, registering once and
using it from every point.
One of the main triggers and great acceptance of people with regard to this service is its
availability online, which has no dependencies and has a strong security system,
achieving thus be an ideal application for storing content. This action may be useful for
those who travel frequently, for schools that want a centralized storage and available for
intranets and business in general and so on.; Even could be used in any future as a service
to replace the need for a hard disk
Figure 9 : Application domains
Department of CE, 41
-
8/13/2019 EyeOS- Secured Cloud Solution
42/45
EyeOS Secured Cloud
Among the most typical uses are highlighted
Schools: There is a Web system that brings a personal space for each teacher and
student, which can be leveraged to work collaboratively. Also it is best accessed
from anywhere you have Internet access.
Public places may be in libraries or on points that have open WiFi, allowing users
to connect to have the same meeting place on the Web. Social Organizations and
Companies: Contacts, personal files and communications to which members can
access businesses and organizations large and small.
Department of CE, 42
-
8/13/2019 EyeOS- Secured Cloud Solution
43/45
EyeOS Secured Cloud
15.ADVANTAGES & DISADVANTAGES
15.1 Advantages Portability,
Decentralization,
Availability.
15.2 Disadvantages
Safety,
Need for fast connection performance,
Isolation of the host system.
Department of CE, 43
-
8/13/2019 EyeOS- Secured Cloud Solution
44/45
EyeOS Secured Cloud
16.CONCLUSION It is designed for developers without experience to develop web applications.
Communication with the user through events.
Creation of the interface using widgets.
Advantages: Portability, decentralization, availability.
Disadvantages: safety, need for fast connection performance, isolation of the host system.
Worldwide availability: As its available through internet
Requires only browser: A browser with java support is more than enough
Dynamic content and design: Interface can be customized according your needs,
windows are floating so that they can be repositioned
Extensive list applications: Office applications, multimedia applications, network
applications and chat applications etc. are available.
Remote storage facility: Through the file browser you can store files over the internet and
edit them as you want.
Browser and Platform independent: All browsers and all operating systems are
supported.
Rich text editing facility
Department of CE, 44
-
8/13/2019 EyeOS- Secured Cloud Solution
45/45
EyeOS Secured Cloud
17. REFERENCES
1. http://www.openwebosproject.org.
2. http://www.engineersgarage.com/articles/web-operating-system-webos.
3. http://www.zdnet.com/blog/web2explorer.
4. K. Arnold and J. Gosling. The Java Programming Language. Addison Wesley, 1997.
5. http://www.ncsa.uiuc.edu/General/CC/CCMetacomputer.html.
6. http://www.sun.com/smi/Press/sunflash/mncrs-profile.html.
7. F. Reynolds. Evolving an operating system for the Web. IEEE Computer.
8. H. Unger, H. Unger, and G. Hipper. LYDIA {load sharing for PVM applications in a
workstation cluster. In Proceedings of PDCS'97, Washington, DC, 1997.