Sunday, April 4, 2010

Exercise: 4 Network and Web programming frameworks

1. Describe the important and distinguishing properties of Peer to Peer computing with the client/server architecture?

Client/Server and peer-to-peer architecture are both very important type of computer architecture which is being intensively used. Both architectures are vastly distinct from each other and also equally important in their aspects.

Client/Server as the name suggests is divided into two groups i.e. one central server and rest of computers as the workstations. In this architecture, the server controls all the workstations by storing all the files and resources in it which other clients can access. Whereas in peer-to-peer architecture, all the computers acts both as a server and client which shares resources that everyone can access.

Since all the data and files are stored in the central server, it can control the security and accessibility of the files giving access to the clients that only have permissions. Hence, security feature can be a plus point to the client/server architecture. However, in client-server networking, if there is an increase in the workstations then it can drastically reduce the bandwidth of the network whereas it works completely opposite in the case of peer-peer network, where the bandwidth as well as storage capacity increases with the increase in nodes.('client-server', Wikipedia, 2010)

The example of client/server architecture is a web browser which is a client application that requests information from the remote server. And example of peer-peer architecture is vast range of p2p softwares such as Limewire, Kazaa.


Reference:

“Client-Server.” Wikipedia. 2010. Wikimedia Foundation, Inc.. Rerieved on 25th March, 2010 from http://en.wikipedia.org/wiki/Client-server

“Peer-to-peer.” Wikipedia. 2010. Wikimedia Foundation, Inc.. Retrieved on 25th March, 2010 http://en.wikipedia.org/wiki/Peer-to-peer

2. Frameworks for development. Compare and contrast any TWO of:

a. Java

b. .NET

c. Ruby on Rails

d. Turbo Gears

e. Google Gears

f. AJAX frameworks

“Google Gear is an open source software that allows web application to become more powerful by adding many new features to the web browsers” ('Gears', wikipedia, 2010). It is an extension of web browsers which enables features such as giving offline access to some online tools by downloading the content to local drive (Karch, n.d.). For example, Google Gears can enable emails from gmail to be viewed offline by downloading the emails in local database, so that it can be accessed in the place with no internet connection.

Turbo Gears is also a web application framework designed in Model-View-Controller (MVC) and is written in Python Programming language. It integrates a number of useful tools which makes development of web application in python quick and easy (Dangoor, 2006, p. 17, ¶ 1.).

Both Google Gears and Turbo Gears were launched for making the web application run faster, easier and more convinient. The simailarities between both frameworks are it both uses database such as SQLite for storing data locally.

Reference:

Dangoor, K. (2006). TurboGears Author Kevin Dangoor provides a Quick Look at TurboGears the Python agile web platform. 5(1) , Retrieved 1st April 2010 from http://www.o3magazine.com/o3/issue5/o3-i5-72.pdf

“Gears (Software).” Wikipedia. 2010. Wikimedia Foundation, Inc.. Retrieved on 31th March, 2010 from http://en.wikipedia.org/wiki/Gears_(software)#cite_note-2

Karch, M. (2008). What is Google Gears?, Retrieved on 31th March, 2010 from http://google.about.com/od/googledownloads/p/google_gearspr.htm

No comments:

Post a Comment