SYSTEM ARCHITECTURE

Learn System Architecture

sample.png

What is Architecture?

Architecture is the fundamental structure of the software. This is typically defined for an application (or a version of an application).

Most applications that are used to store and deliver large amounts of data have one of the following architectures: Thin Client, Thick Client or Smart Client.

As you begin to look at sourcing the right solution for your business, it’s important that you understand the pros and cons of each architecture in order to make an informed decision.

product.png

Thin Client

A Thin Client communicates with a central server which does the work in processing information. This type of architecture can also be synonymous with remote access or desktop virtualisation.

  • Pros
    • Lightweight and low cost.
    • Easy to deploy.
    • Critical data is not stored locally on the client.
    • Reduced security threat.
  • Cons
    • High performing server required. The host server becomes a single point of failure – e.g. if the host server crashes, users may lose their session. This risk is usually mitigated with a predefined fail-over process by building redundancies such as load balancing.
    • Network bandwidth and performance is critical to maintain productivity.

test.png

Thick Client

A thick client is also a client-server architecture that provides functionality independent of the server. This means that processing occurs on the end-user PC. The thick client will still require a connection to a network or central server, but it does not rely on access to the server each time data is input or retrieved.

  • Pros
    • Server is not required to be high-performing as required by a thin-client.
    • Can work offline by storing files locally.
  • Cons
    • Costly to source hardware for each thick client required in the operational environment.
    • Maintenance required on all components, not just the server.
    • Increased security threat.

workflow.png

Smart Client

A smart client uses the internet to communicate with a server-based application through the use of web services.

  • Pros
    • Can work offline.
    • Can work outside local network.
    • Cost-effective.
  • Cons
    • Requires users to install or deploy a runtime (a library that is bound to the program during execution).

user.png

Browser-based Applications

A browser-based application is similar to a Smart Client in that it uses the internet to communicate with a server-based application through the use of web services. However, the application must have internet connectivity to process data.

  • Pros
    • Can work outside local network.
    • Cost-effective.
  • Cons
    • Cannot work offline – relies on internet connectivity.
    • Requires users to install or deploy a runtime (a library that is bound to the program during execution).