tags:

views:

496

answers:

4

Is Google Earth a Thick Client (Rich Client) application or a Rich Internet Application? If you read the Microsoft Architecture Guide 2.0, they seem to thing GE is a Thick Client, along with any application which is not rendered in a web browser, or on a mobile device?

I think GE is a perfect example of a RIA, together with Microsoft's Virtual Earth (VE) (Now Bing Maps). The fact that GE is not rendered in a browser shouldn't be the defining characteristic for not making it an RIA. Otherwise the Thick Client Architecture just has to sweep up too much.

Give me your opinions and tell me why you say so.


See also: Should Rich Client Arch be used in Multi Tier Enterprise Systems

+1  A: 

I was under the impression that the difference between thick client and thin client was where the processing happens. My understanding is:

In Google Earth, the real meat of the work happens client side, with the data stored on Google's servers. That would make it a thick client.

However, in Rich Internet Applications (RIAs), the data and the bulk of the processing happens on the server side. There might be some client-side JavaScript, but it doesn't compare to the amount of work done server-side.

Thomas Owens
According to Microsoft, Virtual Earth (which is effectively their version of Google Earth) is an RIA. It's not as simple as Thick and Thin. RIA's could also be thick, but always~ connected?!? In the App Arch Guide, thick clients can also be connected though. What makes VE an RIA if GE is not?
Gineer
RIAs, from my understanding, HAVE TO run in a web browser. If it doesn't run in a web browser, the choice is between thin client and thick client, and that difference is settled only by where the bulk of the processing happens.
Thomas Owens
According to Microsoft: RIA's DO have to run in a browser, but that's what I'm questioning. They do however make no mention about the amount of processing to decide which architecture it is. They simply mention that in an RIA you could make use of client processing and functionality that the default browser does not support. (I.E. SilverLight or ActiveX) Either of those two could be fully fledged apps in their own right. Why then not a WPF or Win32 App, which has is main business components as WPF Services on the server?
Gineer
+4  A: 

Google Earth is a thick client since it has native code that runs directly on the hardware of your local workstation. It also opens sockets by itself to the internet again from the local workstation.

With some fancy caching (which would require a lot of disk) Google Earth could also run without the internet at all. It could also get its data from a Blue Ray Disk as an example.

A RIA application does not have direct access to the hardware of you local workstation. It runs in a sandbox (web browser) and most of the times its code is architecture independent (java, javascript, html, e.t.c)

A RIA application is confined in the browser and does not (normally) do things on its own (reads the disks, opens sockets e.t.c)

kazanaki
Would the .Net run time environment qualify as a Sandbox?
Gineer
My guess is no because a standalone .NET application has unrestricted access to everything (the disk, the network, the printer e.t.c). A Sandbox is supposed to limit the capabilities of code and protect the host machine from unwanted actions. If .NET is a sandbox then by your definition applications such as Paint.NET could be RIA???
kazanaki
Yea, I was thinking around the fact that you could code a .Net app to run in a security sandbox. If this app was then built to make use of server side services for it's business services, it could qualify as a RIA.
Gineer
+1  A: 

The term RIA originated as a marketing term, from Adobe. They were using it to describe Apollo, which was renamed AIR.

Purely as a marketing term, and not a clearly scoped definition, its precise meaning is debatable. Each definition has at least one major counter-example which one would probably not call an RIA.

For example:

  • RIAs is a Javascript application which runs in a browser. i.e. GMail is, but Google Earth is not.
  • RIAs run on the client, but not in the browser, and have a sizeable conversation with an online service. i.e. Tweetdeck is, but so is Thunderbird.

The terms thick/rich client is a similarly contested word, and is set-up to be in contrast with a Thin Client; which IIRC, were diskless terminals that did all processing on the central mainframe.

The JavaPosse had a very good treatment on this subject in this episode.

jamesh
Hasn't really cleared up my question but the link to JavaPosse was at least in Interesting read to note that I was not the only person wondering about all of this.
Gineer
A: 
Gineer
Well in Google Earth EVERYTHING is on the client. The server only offers maps. There is absolutely no business logic/data interaction logic in the server. So according to this image GE is not a rich client.
kazanaki