introduction to · technologies, like eyesoft, a portage-based web software installation system....

17
INT TRODUCTION To The Web Operating System Submitted B V Sem. (Compu Govt. Engg. Colle N By:- Vijay Soni uter Engineering) ege, Ajmer

Upload: others

Post on 07-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

INTRODUCTION

INTRODUCTION

To

The Web Operating System

Submitted By:

V Sem. (Computer Engineering)

Govt. Engg. College, Ajmer

INTRODUCTION

Submitted By:- Vijay Soni

V Sem. (Computer Engineering)

Govt. Engg. College, Ajmer

God
Typewriter
God
Typewriter
God
Typewriter
Page 2: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

Written in : PHP, XML, JavaScript

Platform : Cross-platform

Available in : Multilingual

Type : Web Operating System

License : AGPL

Website : http://eyeos.org

Introduction :

WebOS and Web operating system are terms that describe network services for Internet scale

distributed computing, as in the

scale of the web operating system extends across the Internet, like

“More generally, WebOS refers to

browser and does not depend on any particular local operating system

In a way the term is a misnomer, because it doesn’t mean a ‘real’ Operating

sense - like Linux or Windows. A better term is probably ‘Web Desktop’…

WEBTOP is another name for WebOS…

PHP, XML, JavaScript

Web Operating System

http://eyeos.org

and Web operating system are terms that describe network services for Internet scale

distributed computing, as in the WebOS Project at UC Berkeley, and the WOS Project.

scale of the web operating system extends across the Internet, like the web..

“More generally, WebOS refers to a software platform that interacts with the user through a web

browser and does not depend on any particular local operating system”

In a way the term is a misnomer, because it doesn’t mean a ‘real’ Operating System in the traditional

like Linux or Windows. A better term is probably ‘Web Desktop’…

WEBTOP is another name for WebOS…

and Web operating system are terms that describe network services for Internet scale

WebOS Project at UC Berkeley, and the WOS Project. In both cases the

a software platform that interacts with the user through a web

System in the traditional

Page 3: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

What Is EyeOS?

eyeOS is an open source web desktop following the cloud computing concept that seeks to enable

collaboration and communication among users. It is mainly written in PHP, XML, and JavaScript. It acts

as a platform for web applications written using the eyeOS Toolkit. It includes a Desktop environment

with applications and system utilities. It is accessible by portable devices via its mobile front end.

These services turn the desktop into a service that runs on the Internet rather than on the local

computer. As these services include a file system and application management system, they increasingly

overlap with the functionality of a traditional desktop computer operating system

From a technical point of view, eyeOS is a platform for web applications, created with the idea to

make easier the development of these applications. Nowadays there are many web related

technologies such as PHP, XHTML, CSS, Javascript, and it is required to know a lot of languages

and understand a big number of concepts to create web applications. Furthermore, each web

browser interprets this code in a different way and each version and PHP configuration behaves slightly

different from the rest.

EyeOS seeks to satisfy these problems and some others derived from the web development, offering to

the programmers a homogenous platform for their web applications, using only PHP and

Javascript delegating to the system the resources management, the communication with the

browser, the security, etc…

Basic structure of eyeOS :

The platform is created over a client-server architecture, where eyeOS is the server and the client

usually is a web browser.

Page 4: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

Cloud Computing

Cloud computing is Internet-based computing, whereby shared resources, software, and information

are provided to computers and other devices on demand, like the electricity grid.

� Cloud computing is a natural evolution of the widespread adoption of virtualization, Service

oriented architecture and utility computing

� This frequently takes the form of web

through a web browser as if it were a program installed locally on their own computer

� Some of the larger IT firms that are actively involved in cloud computing are Fujitsu, Micro

Hewlett Packard, IBM, VMware, NetApp and Dell.

� Cloud Computing Is a Service

o IaaS - Infrastructure as a Service

o PaaS - Platform as a Service

o SaaS - Software as a Service

Cloud Computing

based computing, whereby shared resources, software, and information

rovided to computers and other devices on demand, like the electricity grid.

Cloud computing is a natural evolution of the widespread adoption of virtualization, Service

oriented architecture and utility computing

This frequently takes the form of web-based tools or applications that users can access and use

through a web browser as if it were a program installed locally on their own computer

Some of the larger IT firms that are actively involved in cloud computing are Fujitsu, Micro

BM, VMware, NetApp and Dell.

Cloud Computing Is a Service

Infrastructure as a Service

Platform as a Service

Software as a Service

based computing, whereby shared resources, software, and information

rovided to computers and other devices on demand, like the electricity grid.

Cloud computing is a natural evolution of the widespread adoption of virtualization, Service-

d tools or applications that users can access and use

through a web browser as if it were a program installed locally on their own computer

Some of the larger IT firms that are actively involved in cloud computing are Fujitsu, Microsoft,

Page 5: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

History :

The first publicly available eyeOS version was released on August 1, 2005 as eyeOS 0.6.0 in Barcelona

(Spain). 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.

After two years of development, the eyeOS Team published eyeOS 1.0(on June 4, 2007). Compared with

previous versions, eyeOS 1.0 introduced a complete reorganization of the code and some new web

technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also

included the eyeOS Toolkit, a set of libraries allowing easy and fast development of new web

Applications.

With the release of eyeOS 1.1 on July 2, 2007, eyeOS changed its license and migrated from GNU GPL

Version 2 to Version 3.

Version 1.2 was released just a few months after the 1.1 version and integrated full compatibility with

Microsoft Word files.

eyeOS 1.5 Gala was released on January 15, 2008. This version is the first to support both Microsoft

Office and OpenOffice.org file formats for documents, presentations and spreadsheets. It also has the

ability to import and export documents in both formats using server side scripting.[7]

eyeOS 1.6 was released on April 25, 2008 and included many improvements such as synchronization

with local computers, drag and drop, a mobile version and more.[8]

eyeOS 1.8 Lars was released on January 7, 2009 and featured a completely rewritten file manager and a

new sound API to develop media rich applications. Later, on April 1, 2009 1.8.5 was released with a new

default theme and some rewritten apps such as the Word Processor or the Address Book. On July 13,

2009 1.8.6 was released with an interface for the iPhone and a new version of eyeMail with support for

POP3 and IMAP.

Page 6: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

Features :

� File Sharing Platform With eyeOS you can manage and save your files with a synchronitzatoin 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 to facilitate collaborative work between them; • 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;

� The Base Applications eyeOS 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.

� 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.

Page 7: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

� 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 additional

plug-ins installed.

� 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.

� Develop Easily Learning to program in EyeOs is quick and easy. And once it is done, you don’t have to

worry about the system at all! Thus, it is very easy to create an application. EyeOs has

been 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.

� EyeOS as the Cloud Computing Working together IBM and eyeOS are making available a sample virtual Linux desktop

workload 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.

Page 8: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

Extras :

� Ublquity : Access your documents, files and applications

from 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

� Slmpllclty : 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-time

collaboration suite with other users.

� Privacy: Decide where your files are: You can have your own

eyeOS server!

� Security: Control your eyeOS. You are who manage roles

and permissions for each user.

� Low costs: All in one in a single platform: the best way to

optimize time and resources.

Page 9: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

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.

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.

Page 10: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

Working Of EyeOSWorking Of EyeOS

Page 11: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

Screen Shots :

Page 12: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

EyeOS Installation

EyeOS is Open Source Can be Downloaded from Popular Website http://sourceforge.net known for

Hosting Open Source Project..( http://sourceforge.net/projects/eyeos ).

There Are 2 Versions Of EyeOS.

• EyeOS 1.*

• EyeOS 2.*

EyeOS 2.* Server Requirements:

• PHP 5.2.10 • Curl extension • GD extension • Mbstring extension • Mcrypt extension • Mysql extension • Mysqli extension • SQLite extension • PDO extension • PDO MySQL Driver • PDO SQLite Driver • JSON Support • shm memory support • Python 2.5.0

Note : EyeOS 1.* will install on a fresh CentOS LAMP server install however CentOS does not release

the required packages for an EyeOS 2.* install as standard

Page 13: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

Lets Get To The Programming

EyeOS directory structure

It is important to know how eyeOS is organized to be able to develop applications. In eyeOS

everything has a specific place to be located.

The eyeOS directory tree can be summarized as seen below:

eyeos/apps: Directory where the applications are located.

eyeos/extern: Files visible from outside, as CSS style sheets, images, etc…

eyeos/extras: Extra files.

eyeos/system: System directory, it contains services, libraries, the kernel and global configurations.

eyeos/users: Users directory with all their documents and configuration files.

eyeos/workgroups: It contains the files referred to the user groups.

General configuration of eyeOS

One of the most important files that defines the operation of eyeOS is the settings.php file,

which is located on the eyeOS root, along with the index.php file. In this file constants are defined and

later used in all the eyeOS code. For example:

define('SQL_USERNAME', 'root');

which defines the username for the database connection.

Preparing the environment

All the 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 bothersome task. Let’s see which requirements our environment should have:

• Subversion Client: we will need it to download the latest eyeOS code.

• Servidor Apache 2: the only server officially supported.

Page 14: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

• PHP 5.2: the required version since eyeOS 2.0 and above.

• PHP Editor: any suitable text editor is valid.

Furthermore you must have activated the following PHP modules: curl, gd,

mbstring, mcrypt, mysql, mysqli, sqlite, pdo, pdo_mysql, pdo_sqlite, suport shared memory

(recommended), Json support activated (recommended).

We also recommend the use of Mozilla Firefox on its version 3.5. Moreover we suggest the use of the

Firebug extension that makes the application development easier.

Application structure

An important aspect to know is the structure of an application. The directory tree must be as shown

below:

eyeos/apps/ Directory that contains the code of each application

eyeos/apps/applicationname/ Main directory of the application

eyeos/apps/applicationname/applicationname.js GUI code of the application

eyeos/apps/applicationname/applicationname.php Code that receives the messages generated on

the GUI and emits the results.

eyeos/apps/applicationname/info.xml XML that contains the information of the application, it is not

mandatory but its existence is highly recommended.

eyeos/apps/applicationname/extern/ Contains the files of the application that must be accessible

from the browser, such as the images, the EyeOS 2.0 Developer Manual 4 css…

Initializing and ending of an application

When an application is initiated, the system takes care of loading the javascript

code contained in the file applicationname.js. If we want certain code to be executed

when the application starts or we want to load additional javascript code, we must

define the “_run” function on the applicationname.php file and insert the initialization

code on it.

When we close the application the system takes care of free the resources but

offers us the possibility of executing additional code. To do this, we must define the

function “close” in the file applicationname.php.

Page 15: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

Messages

So, in a common way, an application contains two files: applicationname.php

and applicationname.js (besides info.xml). The javascript file is executed by the

browser when the application is initiated. This is the responsible of operating with the

graphic interface of the application and manages all its events.

To interact with the server, the javascript code use de call eyeos.callMessage

which send an asynchronous message and that have as parameters the name of the

message, all the specific parameters and the callback function that will be executed

when the response is returned.

These messages are received by the file applicationname.php which is

located on the server side. This file has a function for each possible message. Let’s

see this on an example:

We can see a snippet of js code that sends the message bellow:

This code, on being executed by the browser would send a message whose name is “whatDayIs”

and that send by parameter an array with a string. On returning from the message, the specified

function would be executed that, in this case, would tell us what day of the week is in a dialog. We must

note that the variable rPars on the callback function contains the results emitted on the return of the

message.

As we have said, this message is received on the server side by a php file. This file is the responsible of

returning the corresponding response:

Page 16: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

As we can see, it describes the behavior of the function that has by name the

name of the message, and returns what day of the week we are.

Complete example

Now that we know how the files are and how the functions affect the behavior of

an application it is the time to see an example:

Demo.php

Page 17: INTRODUCTION To · technologies, like eyeSoft, a portage-based web software installation system. Moreover, eyeOS also included the eyeOS Toolkit, a set of libraries allowing easy

Demo.js

Bibliography :

i. http://www.eyeos.org/

ii. http://forums.eyeos.org

iii. http://sourceforge.net/projects/eyeos/

iv. http://www.linuxjournal.com/content/eyeos-web-based-desktop-os