Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Cloud Applications Part I (aka Cloud Computing Definition #3)

Ph. D. Julio Fernandez Vilas
¿Any comments? [email protected]

According to previous posts, the cloud computing (CC) stack has been reduced to just a single cloud computing block (ooops, zip time?). Remember, as stated in first post, cloud services are in fact what I call web 1.5 (just typical web applications), and cloud infrastructure is something that could be defined as “virtualization revisited”, that is, Infrastructure as a Service (IaaS).
So, we must now focus on cloud applications. What is a cloud application? The first possible definition is: “A cloud application is a computer application developed using a standard computer language that can be run on different platforms. One or more resources used by a cloud application are networked resources accessible via Internet. In addition, these resources are exposed via standard interfaces and protocols, and they should be interchangeable.”



Computer Application

Let’s analyze this statement. First of all: “computer application” is a vague term used here to define an application able to run on a client desktop platform (let’s say Windows, Linux, MacOS…) or any connected or loosely connected thin device. Thin device is generic term that includes lots of devices like PDA’s, cell phones, notebooks, wifi- or Internet-enabled devices, like a DS, a Wii, a PlayStation or an Xbox, for instance.

On the other side, a web application is also a computer application, with the difference of running on a server instead of doing it on a client device like the ones mentioned before.

It is very important to note that when we talk about an application here, we are really referring to an application that can be used by end users or other applications. This is a very important matter to take into account, because, as we will discuss in future posts, cloud applications will be the basis for cloud companies, companies targeted in offering value-added applications (VAA).


Standard Computer Language

This is a tricky term to define without hurting somebody. Firstly, one can think in C# (or just .net) or java when the word “standard” arises referred to a computer language. But what is really a standard? If we accept a standard is something broadly used, something that has been used for a long time, we must agree that COBOL, C or RPG, for instance, are standard computer languages.

A very important thing to take into account here is the way applications are developed when they need to access external resources. Web services (and SOAP, and REST, and whatever you need) is the standard when talking about calling or accessing a remote service. This means, as everybody knows, that, nowadays, the standard in remote invocation is SOAP. I didn’t forget DCOM, RPC or EJB, but all of them are platform-dependent, and I don’t take them into consideration when the word “standard” is the key factor.
Although it is normally unknown to a great number of developers, COBOL (or even PL/I) is still used in assurance, stock exchange, airlines, banking, financing, etc., this means that most of the money in the world is managed and transacted using languages and platforms designed in early 60’s. Is this bad? No, absolutely no. In fact, trust me, COBOL or PL/I running on IBM mainframes can very easily call a web service and, of course, they can also easily act as a web service provider.

What does all this means? Web services are the standard in remote invocation, for new and antique languages.


Different Platforms

As stated before when talking about what a computer application is, a cloud application should be able to run on any known platform. There are several categorizations that can be applied to the word “platform”. Firstly, a platform can be defined by a hardware architecture, an Operative System and a computer language. From this point of view, the following list contains several possible platforms:
  • IA64, Linux, PHP (a typical LAMP machine, for example).
  • IA64, Windows 2008 and .net (Winforms or ASP.net applications, for instance).
  • S390, CICS, COBOL (typical COBOL-CICS-DB2 mainframe application).
Another possible classification for platform can be client/server. That is, a cloud application can run in client platform (Blackberry, Symbian, Windows (7, CE, Mobile…), OSX, Linux…), or in a server platform (Linux, Windows, z/OS, AIX…).

Typically, a server platform cloud application can be used in one of two different ways:
  1. As a web application, clients use cloud web application as a traditional web application, accessing it by using its browsers.
  2. As a cloud resources provider. That is, the cloud application uses cloud resources and then is offered to new customers as new value-added clouded resources, once again VAA.
To be continued…


This post first appeared on Ezcloud, please read the originial post: here

Share the post

Cloud Applications Part I (aka Cloud Computing Definition #3)

×

Subscribe to Ezcloud

Get updates delivered right to your inbox!

Thank you for your subscription

×