File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Associate Certification (SCJA,OCAJ 5/6) and the fly likes What is thin-client & what is fat-client? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Certification » Associate Certification (SCJA,OCAJ 5/6)
Bookmark "What is thin-client & what is fat-client?" Watch "What is thin-client & what is fat-client?" New topic
Author

What is thin-client & what is fat-client?

Kaydell Leavitt
Ranch Hand

Joined: Nov 18, 2006
Posts: 688

In the SCJA exam-objective written by Sun, they call HTML using JavaScript "thin-client" and they call HTML using Applets "fat-client".

Why? Both JavaScript and Applets are client-side scripting languages. So, both JavaScript and Java Applets are downloaded from the web-server to the web-client (the web-browser). So why do they call JavaScript "thin-client" and call Applets "fat-client"?

Also, I disagre with Sun calling Swing applications "fat-clients". It seems to me that a Swing application can either be a thin-client or a fat-client, depending upon how the application is implemented. If you choose to use Swing in combination with a JDBC driver and put the business logic in the app running on the desktop, that is "fat-client", but if you use Swing and use RMI, or Sockets, or JAX-RPC, or you use stored procedures and put the database code on a server, that is "thin-client", right? So a Swing app may be either thin-client or fat-client, right?

Kaydell
[ May 26, 2007: Message edited by: Kaydell Leavitt ]
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 39575
    
  27
First off, I wouldn't call Java (which is what applets are written in) a scripting language - it's full-blown programming language. I don't want to get into an argument about what exactly differentiates both concepts, but I think we can agree that there is no scripting going on in applets.

The phrase "thin client" has been used to mean different things. E.g., on the hardware side it is/was used for things like Suns/Oracles extinct concept of a network station (I forgot the exact name) that was supposed to host just the JVM, and then download all applications from a server. Similar to that is something like Citrix remote Windows desktop, which is a thin client wrapper around a fat Windows instance sitting somewhere else.

On the programming side it's generally used to mean that not an executable program is involved (like Java classes), but a description of what to display (like HTML). JavaScript muddles the water a bit, because it introduces executable content, whereas pure HTML thin clients relied exclusively on the server for executing anything.

Looking at it from the resource point of view, whereever Java is involved -no matter how many layers of the architecture it implements on the client- it surely is a fat client just by virtue of it needing a JVM to run.


Ping & DNS - updated with new look and Ping home screen widget
Kaydell Leavitt
Ranch Hand

Joined: Nov 18, 2006
Posts: 688

OK. I think that I understand now. Applets are "fat" because you have to invoke the JVM on the computer that is running the web-brower and that takes more resources on the client than invoking the JavaScript interpreter, so JavaScript is "thin".

And, likewise, Swing is "fat". Also because it requires you to run the JVM on the client side.

But, I still think that where the database code is, still contributes to "fatness" or "thinness" of a client.

Kaydell
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 39575
    
  27
But, I still think that where the database code is, still contributes to "fatness" or "thinness" of a client.


If you mean "fat vs. thin" to be on the architectural level, yes. As I tried to convey, "fat vs. thin" can be discussed on several levels, software architecture being one of them, hardware being another, and GUIs being a third.
Kaydell Leavitt
Ranch Hand

Joined: Nov 18, 2006
Posts: 688

Thanks for the help Ulf.

Kaydell
 
 
subject: What is thin-client & what is fat-client?
 
Similar Threads
Why Swing client at all?
Pros And Cons Of Thick Client/Thin Client
Can't find topics re. Thin-clients using HTML and Javascript
Is a client that uses PL/SQL considered to be thin or fat?
Java Thin Application Client