Posted by admin | Posted in General | Posted on 17-12-2011
Tags: Amazon, Application Architecture, Cloud, Computer Mainframes, Computer Network, Computer Students, Computer Utilities, Computing, Computing Solutions, Data Storage, Datacenter, Dealmaker, Drastic Change, Economic Rationale, Google, Heavy Changes, Introduction To Java, Java, Minimal Maintenance, New Computing, Server Environment, Storage Applications, Virtualization
This article is a brief introduction to Java cloud computing.
The cloud computing model enables configurable computer-utilities on demand through a computer-network. Examples are servers, data storage, applications and services. In general cloud computing is a fast and easy way to compute with minimal maintenance and interaction of a service provider.
The term “Cloud” has derived together with the “packet switching-concept. Because data that was send didn’t go over a preconfigured line, the road the data would take to reach the destination was unknown. A network in which the route of the data was unsure was called a cloud from then on. In cloud computing it is not about connections anymore, but about infrastructures.
The first definition of Cloud-Computing was formulated in 1997 by Ramnath K.
Chellappa as the following: “Cloud computing will be a new computing paradigm where the boundaries of computing will be determined by economic rationale rather than technical limits alone.”
Around the year 2000, Software as a service (SaaS) became very increasingly important. Salesforce.com used technologies from Google, Yahoo and other companies to create business solutions. Microsoft made SaaS bigger by offering web-services and Amazon modernized its datacenter. Because of these three companies, cloud computing could grow like it did.
In 2005 Amazon came to the market with its web services and in 2007 Google, IBM and a few universities started training computer students the complex techniques of cloud computing.
An important dealmaker for cloud computing is the possibility to virtualize a server environment. The success of cloud computing is fairly parallel to the success of virtualization. In the first decennia of the computer, mainframes and terminals where used. Cloud computing goes back to this system.
Most Java cloud computing solutions require heavy changes in the application architecture and in the source code. The most drastic change is that programmers need to package the part of code to be run remotely within some kind of Runnable or Actor. This means no parameter passing, no results returned, no exception thrown, no recursion, etc. All these features are to be reimplemented and simulated by hand, losing all the power of the Java language. On the other hand, when the notion of parallelism is present in the programming language, unlike Java, all these restrictions disappear.
An important goal of Java is “write once, run anywhere”. This is unfortunately not true for Java cloud computing. Ideally, one would like to have the exact same source code with pieces running in parallel on different kinds of hardware, such as could-based remote servers and hardware accelerators such as GPU cards and manycore chips.
