Thin and Fat Client

Hey can anybody explain what are Thin Client and Fat Clients and how they are used ??
Thanks for your reply in advance.
Regards

'thin client' is a program with a minimum of code and need a remote (or local) server to do the tasks
'fat client' is a program (sometimes a stand-alone) with a lot of code and makes allmost the tasks
for examples:
if you build a stand alone application of you own it will be a fat client
if you write an html page with very few java and that page uses google for example, it will be a thin client

Similar Messages

  • What  is thin and fat client

    Hi,
    I would like to know
    what is thin and fat client.
    what is the difference between thin and fat client.
    How to copy config only client. (No data copy)
    Appreciate for your reply... I will reward the points.
    Thanks
    Atul-

    Hi Atul,
    Thin Clients
    A thin client is designed to be especially small so that the bulk of the data processing occurs on the server. Although the term thin client often refers to software, it is increasingly used for the computers, such as network computers and Net PCs, that are designed to serve as the clients for client/server architectures. A thin client is a network computer without a hard disk drive. They act as a simple terminal to the server and require constant communication with the server as well.
    Thick Clients
    In contrast, a thick client (also called a fat client) is one that will perform the bulk of the processing  in client/server applications. With thick clients, there is no need for continuous server communications as it is mainly communicating archival storage information to the server. As in the case of a thin client, the term is often used to refer to software, but again is also used to describe the networked computer itself. If your applications require multimedia components or that are bandwidth intensive, you'll also want to consider going with thick clients. One of the biggest advantages of thick clients rests in the nature of some operating systems and software being unable to run on thin clients. Thick clients can handle these as it has its own resources.
    <u><b>Thick vs. Thin - A Quick Comparison</b></u>
    <b><i>Thin Clients</i></b>
    - Easy to deploy as they require no extra or specialized software installation
    - Needs to validate with the server after data capture
    - If the server goes down, data collection is halted as the client needs constant communication with the server
    - Cannot be interfaced with other equipment (in plants or factory settings for example)
    - Clients run only and exactly as specified by the server
    - More downtime
    -Portability in that all applications are on the server so any workstation can access
    - Opportunity to use older, outdated PCs as clients
    - Reduced security threat
    <b><i>Thick Clients</i></b>
    - More expensive to deploy and more work for IT to deploy
    - Data verified by client not server (immediate validation)
    - Robust technology provides better uptime
    - Only needs intermittent communication with server
    - More expensive to deploy and more work for IT to deploy
    - Require more resources but less servers
    - Can store local files and applications
    - Reduced server demands
    - Increased security issues
    To copy only config client , there are few more profiles that you can choose in scc8
    SAP_EXBC - SAP_UCSV with cross-client customizing
    SAP_EXPA - SAP_ALL with cross-client customizing
    SAP_EXPC - SAP_CUSV with cross-client customizing
    if it helful reward points are appreciated
    Message was edited by:
            Pierluigi Demaria
    Message was edited by:
            Pierluigi Demaria

  • What is Thin and Thick Client ? Differences between the Two ? Which is Best

    Dear All,
    I like to develop both web-based and also standalone applications. i like to choose the best drivers for my applications. can anybody suggest which one to choose and what are the drawbacks in each driver ?
    Thanks,
    J.Kathir

    Dear All,
    I like to develop both web-based and
    h web-based and also standalone applications. i like
    to choose the best drivers for my applications. can
    anybody suggest which one to choose and what are the
    drawbacks in each driver ?I dont get what excatly you meaned by driver but basicaly a thin client means it only does the prescentation of data to its user and all the logics will be in a server. for every task it will connect to the server.
    In a Thick client it can do more processing and it will connect to the server only for the tasks that it cant perform with the data it has in the client.
    >
    Thanks,
    J.KathirHere is a general comparison between main features of thin/thick(fat) clients
    Both thin and thick clients has their own advantages and disadvantages. most of time one wins when other fails.
    1. Thin client extencvely uses the server to all its operations which will increace the network traffic and the load on the server. as a result the perfomance of the client will depend on the load and the resources available for the server
    2. But all the logic is in the server so if you are developing multiple clients for the same application (Ex:- Standallone app, Web client, Mobile clients......) you will not need to duplicate logic in each client.
    3. Fat clients reduce the load on server and less dependant on the server. but since they are fat they will take more processing power and memory on client computers.
    4. If you are developing multiple clients as menctioned in 2 you will need to duplicate the logics written the clients

  • What is thin client and Fat Client

    Hi Experts,
    I would like to know about Fat Client and Thin client in detailed words.
    Thanks and Regards.
    Chilla..

    Hi Chilla,
         The thin clients are clients that reduce the load on servers.
    Let me explain hw thin clients will get works.
         Thin clients are stores,all required library files in you local system,so that the  corresponding applications which are using will be used the library files in your local system and it get execute and where as in the case of Fat clients the library files are not stored in your local system.
       Please let me know if you have any doubts regarding this.
    Thanks and Regards,
    Chandu.

  • JDBC thin and thick clients

    What is the difference between JDBC thin and JDBC thick clients and their usage ?

    hi,
    in sort tearms,
    Oracle has a thin client driver which mean you can connect to a oracle database without the Oracle client installed on your machine.
    Thick client would need the Oracle Client database drivers etc.. Drivers include JDBC-ODBC bridge drivers JDBC drivers depending on tns resolution.
    thanks

  • Fat Client and Thin Client

    Hello, everyone
    I am a newbie with websphere 5. I am wondering if anyone know fat clients(Swing GUI) work with websphere. I know thin clients(web-based interface) work with websphere. My scenario is like this and this is all experimental purposes:
    I want to program a Swing GUI interface as the client that accesses the enterprise javabeans that is installed on websphere. So the Swing GUI is the client and Websphere is the server, which makes it a 2-tier Application. My question is basically, does websphere only work with web-based application or does it work with both desktop application clients and web-based application clients also?
    Any Ideas?

    Thanks, that's the kinda of straight answer I am looking for. I have been researching for this answer to this question for a long time and even posted several similar questions on Java forum, but no one seemed to have a straight answer. What I was thinking of programming is:
    client/server program using websphere.
    Client:
    GUI interface using Swing that is just like a regular desktop application and not a web browser (I notice the most common application using websphere are web based applications like portals).
    Server:
    Using Websphere to accept connection when requested by the client and act as a bean container, which holds EJBs. The EJBs will connect to the database (mssql server) to pull data from.
    Does this sound OK and can this be done using Websphere? I am using Websphere 5.
    Thank you, I am just a newbie in j2ee, just trying to get started in this area of programming.

  • Diff between Thin client and Rich client

    Hi Everyone,
              Can someone give me a clear picture of the what is the diff between Thin client and Rich client.
    Thanks,
    Krishna

    Hi,
    thick client (rich client) has/stores all the data inside itself
    so it can do application processing without the server with data
    thin client uses resources from host computer (from server)
    and wihtout that you are not able to work with that kind of client
    does that answer your question ?
    Regards,
    michal

  • Difference bewteen thin client and thick client

    Hi:
    can someone explain the difference between the thin client app and thick client app?

    Thin Client: Little to no logic on front end. Typically a 3 tier architecture. Example is a web browser
    Thick Client: Typically a client-server type architecture where some business logic/processing occurs on the front end

  • HFM Thin Client and Thick Client

    Hi
    can anyone tell me what is HFM thin client and thick client
    Thanks

    Thick client is the actual application client view. Most administrators limit that view to only them and provide a workspace (the thin client) as a method of accessing hfm. This is because more can be done in terms of metadata and security changes in the thick client than the thin client.

  • JNLP and launching a Fat Client application (.exe)

    Hi,
    Is JNLP the correct technology to use if I want to launch a Fat Client application (Mozilla Firefox) from a portlet.
    I realise I am jumping outside the whole portal and web environment by doing this but I want to make sure I am on the right track.
    Are there any examples of this type of scenario that I could use and look at ? The examples I have seen thus far are all related to java based applications.
    If someone could point me in the right direction I would be grateful.
    Thanks,
    Portal_Man.

    OK, I think I now know how to trick to not look for that dependency.
    Please ignore the question.

  • What is fat client

    Hi guys ,
    As Integration builder needs Java web start for starting since it is a fat client.What do you mean by fat client ???????????????

    Fat client is basically a client (computer) in a client server architecture which provides rich functionalities without depending much on Server.
    In XI case, the Integration Builder is the Fat Client because, it does provide rich functionalities depending less on XI Server as such.
    You must be well aware that initially when you click for Integration builder it takes times, that is because it is taking time to load all the .jar files necassary to run this FAT client.
    A fat client in client-server architecture networks typically provides rich functionality independently of the central server.
    Fat Client provides both Local storage and Local processing as compared to Hybrid Client which provides only Local processing and thin client which does not provide any of these.
    One case say the web browser can be a thin client.

  • Differences between Oracle JDBC Thin and Thick Drivers

    If any body is looking for this information...
    ============================================================
    I have a question concerning the Oracle JDBC thin vs. thick drivers
    and how they might affect operations from an application perspective.
    We're in a Solais 8/Oracle 8.1.7.2 environment. We have several
    applications on several servers connecting to the Oracle database.
    For redundancy, we're looking into setting up TAF (transparent
    application failover). Currently, some of our apps use the Oracle
    <B>JDBC thin</B> drivers to talk to the database, with a connection
    string that like this:
    <B> jdbc:oracle:thin:@host:port:ORACLE_SID </B>
    In a disaster recovery mode, where we would switch the database
    from one server to another, the host name in the above string
    would become invalid. That means we have to shut down our application
    servers and restart them with an updated string.
    Using the Oracle <B>OCI (thick)</B> driver though, allows us to connect
    to a Net8 service instead of a specific server:
    <B> jdbc:oracle:oci8:@NET8_SERVICE_NAME </B>
    Coupled with the FAILOVER=ON option configured in Net8, it is
    then possible to direct a connection from the first server to
    the failover database on another server. This is exactly what
    we would like to do.
    My question is, from an application perspective, how is the Oracle
    thick driver different from the thin driver? If everything
    else is "equal" (i.e. the thick driver is compatible with the
    app servers) would there be something within the the thick/OCI
    driver that could limit functionality vs. the thin driver?
    My understand, which obviously is sketchy, is that the thick
    driver is a superset of the thin driver. If this is the case,
    and for example if all database connections were handled through
    a configuration file with the above OCI connection string, then
    theoretically the thick driver should work.
    ============================================================
    <B>
    In the case with the Oracle, they provide a thin driver that is a 100% Java driver for client-side use without the need of an Oracle installation (maybe that's why we need to input server name and port number of the database server). This is platform indipendent, and has good performance and some features.
    The OCI driver on the other hand is not java, require Oracle installation, platform dependent, performance is faster, and has a complete list of all the features.
    </B>
    ========================================================
    I hope this is what you expect.
    JDBC OCI client-side driver: This is a JDBC Type 2 driver that uses Java native methods to call entrypoints in an underlying C library. That C library, called OCI (Oracle Call Interface), interacts with an Oracle database. <B>The JDBC OCI driver requires an Oracle (7.3.4 or above) client installation (including SQL*Net v2.3 or above) and all other dependent files.</B> The use of native methods makes the JDBC OCI driver platform specific. Oracle supports Solaris, Windows, and many other platforms. This means that the Oracle JDBC OCI driver is not appropriate for Java applets, because it depends on a C library to be preinstalled.
    JDBC Thin client-side driver: This is a JDBC Type 4 driver that uses Java to connect directly to Oracle. It emulates Oracle's SQL*Net Net8 and TTC adapters using its own TCP/IP based Java socket implementation. <B>The JDBC Thin driver does not require Oracle client software to be installed, but does require the server to be configured with a TCP/IP listener. Because it is written entirely in Java, this driver is platform-independent.</B> The JDBC Thin driver can be downloaded into any browser as part of a Java application. (Note that if running in a client browser, that browser must allow the applet to open a Java socket connection back to the server.
    JDBC Thin server-side driver: This is another JDBC Type 4 driver that uses Java to connect directly to Oracle. This driver is used internally by the JServer within the Oracle server. This driver offers the same functionality as the client-side JDBC Thin driver (above), but runs inside an Oracle database and is used to access remote databases. Because it is written entirely in Java, this driver is platform-independent. There is no difference in your code between using the Thin driver from a client application or from inside a server.
    ======================================================
    How does one connect with the JDBC Thin Driver?
    The the JDBC thin driver provides the only way to access Oracle from the Web (applets). It is smaller and faster than the OCI drivers, and doesn't require a pre-installed version of the JDBC drivers.
    import java.sql.*;
    class dbAccess {
    public static void main (String args []) throws SQLException
    DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
    Connection conn = DriverManager.getConnection
    ("jdbc:oracle:thin:@qit-uq-cbiw:1526:orcl", "scott", "tiger");
    // @machineName:port:SID, userid, password
    Statement stmt = conn.createStatement();
    ResultSet rset = stmt.executeQuery("select BANNER from SYS.V_$VERSION");
    while (rset.next())
    System.out.println (rset.getString(1)); // Print col 1
    stmt.close();
    How does one connect with the JDBC OCI Driver?
    One must have Net8 (SQL*Net) installed and working before attempting to use one of the OCI drivers.
    import java.sql.*;
    class dbAccess {
    public static void main (String args []) throws SQLException
    try {
    Class.forName ("oracle.jdbc.driver.OracleDriver");
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    Connection conn = DriverManager.getConnection
    ("jdbc:oracle:oci8:@qit-uq-cbiw_orcl", "scott", "tiger");
    // or oci7 @TNSNames_Entry, userid, password
    Statement stmt = conn.createStatement();
    ResultSet rset = stmt.executeQuery("select BANNER from SYS.V_$VERSION");
    while (rset.next())
    System.out.println (rset.getString(1)); // Print col 1
    stmt.close();
    =================================================================

    Wow, not sure what your question was, but there sure was a lot of information there...
    There really is only one case where failover occurs, and it would not normally be in a disaster recovery situation, where you define disaster recovery as the obliteration of your current server farm, network and concievably the operational support staff. This would require a rebuild of your server, network etc and isn't something done with software.
    Fail over is normally used for high availablity that would take over in case of hardware server failure, or when your support staff wants to do maintenance on the primary server.
    Using the thin and thick driver should have ZERO affect on a failover. Transparent failover will make the secondary server the same IP as the primary, therefore the hostname will still point to the appropriate server. If you are doing this wrong, then you will have to point all your applications to a new IP address. This should be something that you tell your management is UNACCEPTABLE in a fail-over situation, since it is almost sure to fail to fail-over.
    You point out that you are providing the TNSNAME, rather than the HOSTNAME when using the thick driver. That's true within your application, but that name is resolved to either a HOSTNAME, or IP ADDRESS before it is sent to the appropriate Oracle server/instance. It is resolved using either a NAME server (same as DNS server but for Oracle), or by looking at a TNSNAMES file. Since the TNSNAMES files profilerate like rabbits within an organization you don't want a fail over that will make you find and switch all the entries, so you must come up with a fail over that does not require it.
    So, the application should not be concerned with either the hostname, or the IP address changing during fail over. That makes use of the thin or thick client acceptable for fail over.
    Don't know if this will help, but this shows the communication points.
    THIN DRIVER
    client --> dns --> server/port --> SID
    THICK DRIVER
    client --> names server --> dns --> server/port --> SID
    client --> tnsnames     --> dns --> server/port --> SID

  • Java Fat Client App Move from 1.3.1_07 to 1.3.1_20 Question

    We have a third-party java fat client GUI front-end application here at work that is no longer under support from the vendor (they've moved to a web-based version to which we haven't yet upgraded). The version we have was originally developed and delivered with JRE 1.3.1_07, which we continue to use and push with our new build versions. Since 1.3.1_07 doesn't have the updated DST tables, the app displays the wrong time on its GUI. To upgrade to JRE 1.3.1_20, which does have the updated DST tables, can we simply copy the JRE folder and its subfolders and their contents over the 1.3.1_07 JRE folder we use in our builds? Or do we need to do something more than that? (I've done a low-level test of that and it seems to work...)

    A regular JRE installation will create a new directory; the old one can be deleted. In the Windows registry (if you are using Windows) you'll find entries to all versions, which you can clean up also. You will find versions 1.3=1.3.1_07 etc.
    Many software, especially application servers, come with their own java packaged as subdir. So also your solution is possible.
    At the moment you are slightly misleading the systems about the actual version you are using. So I would opt for a new install. Also a newer version (I am already using 1.6) should be considered. If it works, everything works faster.

  • JMS architecture question for fat client/server.

    Hi. Is JMS suitable for fat client-server architecture where a certain number of fat client applications (like a few hundreds) open connections directly to the JMS provider? Is it going to have scalability problem when the number of connections grow?

    Depending on your JMS provider, this may be a very suitable architecture. The Sun MQ JMS Cluster was architected exactly for this problem. If the number of connections onto a single broker becomes too much of a burden for this broker, it can be put into an MQ cluster and share the number of connections. Of course, the number of connections a broker can handle will be totally dependent on the resources available to it. OS, CPU, memory, other applications running on the same machine, etc....
    TE

  • Fat Client-Web based architecture design help ?????

    Hellow experts
    i have recently joined a java project
    which is a fat client-web based application.
    clients can work from any location or place using the internet
    they will connect to the web server which will be provide the data
    to the clients application
    i am working on the improvement of architecture n design of the project
    pls help me in deciding the best and the fastest way to develop this application further.
    i am designing a framework based on my experience and
    am also doing some research on whats latest which can accelerate
    and improve the development process.
    here's what i have and want to know what u think abt it.
    pls suggest some new good frameworks if you are aware of.
    Technologies to be used
    Fat client front end : Java Swings
    Web server : Tomcat,Struts
    Database : Mysql
    FrameWorks
    Client side
    XXXView.Java(is the GUI layer) (where xxx is any module specific name)
              |
    XXXWebHandle.java(this java file will have the code to
    connect to the webserver using the apache httpclient)
    it will call a struts action file specifically
    the data collected from the gui components will be transformed
    into xml and sent to the struts action file.
    Server Side
    xxxaction.java(this file will parse the xml data from client side
    and save it to the datbase using jdbc statements
    it will also retrive data and metadata from database using jdbc queries
    and convert it into xml and send it back as http response to the XXXwebhandle.java
    which then parses back the xml data and puts it on the GUI components of XXXview.java files.
    THe Problems
    1) the conversion of database query resultset to xml at server and the xml back to fields data
    takes a lot of time and is cumbersome to code as we need code the xml
    defination pattern for every data exchange between server and client.
    we need to remove XML .................is it possible????
    can we send data back to client as java objects and if yes then how??.
    2) right now we are making JDBC calls to mysql database using a common Utility class file
    created for handling all kinds of sql statements and return the data via a hashtable object.
    We need to use a ORM tool here............dont know which to use and how to use.
    heard of hibernate and EJB.pls suggest which one to use
    Overall i would appreciate if someone can suggest me good architecture.
    is there any framework readily available for developing these kinda apps
    pls guide or give me links where i can get info abt this.
    thanks
    Jags

    Hellow experts
    i have recently joined a java project
    which is a fat client-web based application.
    clients can work from any location or place using the
    internet
    they will connect to the web server which will be
    provide the data
    to the clients application
    Okay. As an aside, you can 'fatten' up a standard web page with technologies such as Pushlets or Ajax.
    i am working on the improvement of architecture n
    design of the project
    pls help me in deciding the best and the fastest way
    to develop this application further.
    i am designing a framework based on my experience and
    am also doing some research on whats latest which can
    accelerate
    and improve the development process.
    here's what i have and want to know what u think abt
    it.
    pls suggest some new good frameworks if you are aware
    of.
    Technologies to be used
    Fat client front end : Java Swings
    Web server : Tomcat,Struts
    Database : Mysql
    IMO, you should take a look at Eclipse's SWT in addition to Java's Swing. SWT has outstanding performance and looks native. Struts is not a web server. Place that entry instead down in 'frameworks'. MySQL is a good database, but I prefer Postgres, which is also free and implements more of ANSI SQL.
    FrameWorks
    Place Struts here. Also consider using Spring on your server side. BTW, what is Struts doing other than acting as a Controller? Presumably your fat client is the View. No?
    Client side
    XXXView.Java(is the GUI layer) (where xxx is any
    module specific name)
              |
    XXXWebHandle.java(this java file will have the code
    to
    connect to the webserver using the apache
    httpclient)
    it will call a struts action file specifically
    the data collected from the gui components will be
    transformed
    into xml and sent to the struts action file.
    Any thoughts of using either RMI, SOAP or JAXB since you will have Java objects on both ends of client and server?
    Server Side
    xxxaction.java(this file will parse the xml data from
    client side
    and save it to the datbase using jdbc statements
    it will also retrive data and metadata from database
    using jdbc queries
    and convert it into xml and send it back as http
    response to the XXXwebhandle.java
    which then parses back the xml data and puts it on
    the GUI components of XXXview.java files.
    So, a database exists. Fairly normal stuff there.
    THe Problems
    1) the conversion of database query resultset to xml
    at server and the xml back to fields data
    takes a lot of time and is cumbersome to code as we
    need code the xml
    defination pattern for every data exchange between
    server and client.
    Again, take a look at JAXB, SOAP and/or XMLBeans.
    we need to remove XML .................is it
    possible???? Yes
    can we send data back to client as java objects and
    if yes then how??.RMI + Java Serialization or JAXB/SOAP/XMLBeans.
    2) right now we are making JDBC calls to mysql
    database using a common Utility class file
    created for handling all kinds of sql statements and
    return the data via a hashtable object.
    No, no no. Hashtable (and all Maps) have no type-safety. You can introduce lots of programming errors casting from Object to another type. It is far better to create an actual Java object that will hold the data. It seems to take more time, but you will have far fewer runtime errors in your application during development, which IMO, actually speeds up the process overall.
    We need to use a ORM tool here............dont know
    which to use and how to use.
    heard of hibernate and EJB.pls suggest which one to
    use
    Hibernate and, to a lesser extent, JDO are popular now.
    Overall i would appreciate if someone can suggest me
    good architecture.
    is there any framework readily available for
    developing these kinda apps
    pls guide or give me links where i can get info abt
    this.
    Rapidly? Hard to say. I would steer clear of full blown J2EE with EJB's or MDB's if you want to speed up development. Ruby on Rails also generates some press for rapidly putting sites together.
    thanks
    JagsYou are welcome. Best of luck.
    - Saish

Maybe you are looking for

  • How to open the created site on another computer in iWeb

    I have an interesting problem. I have created a complex site on my computer and now I would like to be able able to open it and work on it on another computer in iWeb. But whatever I try does not work. I published the complete site to a folder and th

  • Unable to select Create checkbox

    Hello everyone, I created an entity object and selected create,remove,validate checkboxes in java tab for EOImpl class but after I click appy and go to EOImpl class, I dont see any create() in EOImpl. I went ahead and clicked edit EO, and then unchec

  • Pass a record ID without using the URL

    I need to pass a record ID when a user clicks a link, but I don't want to pass it via the URL. I can't figure out how to do so. I have built a forum, and the forum users want to be able to quote a post and the respective replies. So, just like this f

  • Error ! Specify positive values only

    Dear Gurus, Error : Specify positive values only Message no. 00126 Is it possible to create Negative value in PO line at item level? through condition type or any other method? But, Over all PO at header level will be positive. I dont want to go thro

  • Usb ethernet adapter, create network

    I'm trying to use the usb ethernet adapter to create a network notebook wi-fi.  I've had major headaches getting usb ethernet adapter to work, but when it is working and I try to create a network, problems reoccur with the adapter.  Can I expect to c