- Describe the important and distinguishing properties of Peer-to-Peer computing with the client/server architecture?
- 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
Answer 1:
Peer-to-peer technology and client/server technology are the fundamental linchpins of the Internet operations. Both provide users with the data they require, however, they differ in how that data is distributed, fetched and provided.
P2P is a distributed network architecture composed of participants (sometimes called peers, seeders or nodes) that make a portion to the resource that is requested directly available to the network. The distributed nature of P2P networks increases robustness, by enabling peers to find the data without relying on a centralized index server. As a result, there is no single point of failure in the system. Today, number of applications and technologies with heavy or sole reliance on P2P is astoundingly large and growing e.g. file shearing networks, Skype telephony, cloud computing, chat rooms etc. Peers are both suppliers and consumers of resources, in contrast to the traditional client-server model where only servers supply, and clients consume.
Client/server architecture, in contrast to P2P, relies on splitting or partitioning the tasks between servers (machines that store and provide data) and clients (computers that request data). This type of architecture is the most prevalent on the Internet today. It can also operate on the local networks where servers work not only as Web-services provides but also as print servers, file storage or media servers.
For detailed comparison of P2P and client/server architectures please refer to the following paper:
ftp://ftp.tik.ee.ethz.ch/pub/students/2002-2003-Wi/SA-2003-16.pdf
Answer 2:
Java vs .NET
Java, developed by Sun Microsystems is an object oriented language that has been heavily influenced by C and C++ syntax. Initially developed to run on set-top boxes only Java has been ported to other devices and various operating systems and now powers mobile phones, PC computers, Internet technologies and household devices. .NET developed by Microsoft from its beginning has supported multiple programming languages and at its core remains platform agnostic and standardized so that other vendors can implement it on other platforms. Most common languages running on .NET framework are c#, Visual Basic, J# and Visual c++. The key difference between .NET platform and Java is that although Microsoft is opening up a channel to developers in other programming languages, and it is opening up a channel to non-.NET components by integrating XML and SOAP into their messaging scheme is is essentially a closed-source environment. While .NET has been successfully ported to other operating systems e.g. Linux and project MONO, most if not the big majority of development with .NET is for Windows systems only. Java however, has always been designed with open-source application in mind and run on any major platform e.g. Windows, Linux, Solaris, Apple ("write once, run anywhere"). Development life cycle, time and effort is comparable in both frameworks. However, .NET, according to some developers who master in both, is easier to create a desktop application in, with a comprehensive and detailed development environment - Visual Studio. Java developers can also us well equipped development environments such as Eclipse or NetBeans, however, Java language development has been largely focused on server side, not desktop application creation.
References:
http://en.wikipedia.org/wiki/Peer-to-peer accessed on 11.04.2010
http://compnetworking.about.com/od/p2ppeertopeer/a/p2pintroduction.htm accessed on 11.04.2010
http://www.oreillynet.com/pub/a/oreilly/java/news/farley_0800.html accessed on 12.04.2010
http://it.toolbox.com/blogs/paytonbyrd/java-vs-net-the-professional-software-developers-survival-guide-part-2-the-path-of-the-programmer-continued-3-of-6-1349 accessed on 12.04.2010
http://www.theserverside.com/news/1365389/J2EE-vs-MicrosoftNET-A-comparison-of-building-XML-based-web-services accessed on 12.04.2010
No comments:
Post a Comment