Tuesday, March 30, 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?

Peer to Peer (P2P) is any distributed network architecture composed of participants that make a portion of their resources directly available to other network participants without any central coordination servers. Peers are both suppliers and consumers of resources, in contrast to the tradition client-server model where only servers supply and clients consume. P2P networks are typically formed dynamically by ad-hoc additions of nodes. The removal of nodes has no significant impact on the network. The distributed architecture of an application in a P2P system provides enhanced scalability and service robustness.

The client-server model describes the relationship in which the server component provides a function or service to on or many clients, which initiate requests for such services. Functions such as email servers, file servers, database servers are built on the client-server model. For example a web browser is a client program running on a user’s computer that may access information stored on a web server on the Internet. The client-server model has become one of the central ideas of network computing. Many business applications being written today use the client-server model.

2. Frameworks for development. Compare and contrast any TWO of:
a) Java
b) .NET

Java and .NET are competing frameworks that has been developing for some years. Java is a programming language developed by SUN Microsystems and released in 1995. Java usually refers to the Java programming language which was designed for use with Java Platform. The Java Platform consists of several programsl, each of which provides a distinct portion of its overall capabilities. Java Compiler converts Java source code into Java bytecode (an intermediate language for the Java Virtual Machine). The Java Runtime Environment complementing the JVM with a Just-In-Time (JIT) compiler and converts intermediate bytecode into native machine code on the fly.

The success of Java and its write once, run anywhere concept has led to other similar efforts or competitor, notably Microsoft .NET platform, appearing since 2002. It incorporates many of the successful aspects of Java. .NET in its complete form is currently only fully available on Windows platforms, whereas Java is fully available on many platforms. .Net was built from the ground-up to support multiple programming languages, while Java platform was initially built to support only Java language. The .NET language still has many similarities to Sun’s JVM. Both are based on a virtual machine model that hides the details of the computer hardware on which their programs run. Both use their own bytecode which Microsoft calls that Common Intermediate Language (CIL)

.NET includes a Java-like language called Visual J# (formerly known as J++) that is not compatible with the Java specification, and the associated class library mostly dates to the old JDK 1.1 version of the language; for these reasons, it is more a transitional language to switch from Java to the Microsoft .NET platform, than a first class Microsoft .NET language. Visual J# has been discontinued with the release of Microsoft Visual Studio 2008.


Reference
Wikipedia (2010). Peer to Peer. Retrieved 1 Apr, 2010 from http://en.wikipedia.org/wiki/Peer_to_peer

Wikipedia (2010). Client-server. Retrieved 1 Apr, 2010 from http://en.wikipedia.org/wiki/Client_server

Wikipedia (2010). Java (software platform). Retrieved 1 Apr, 2010 from http://en.wikipedia.org/wiki/Java_(software_platform)

Wikipedia (2010). .NET Framework. Retrieved 1 Apr, 2010 from http://en.wikipedia.org/wiki/.NET_Framework

No comments:

Post a Comment