Client And Server Architecture And Software Computer Science Essay

Published:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

The term of client/server was first used in the 1980s in reference to personal computers (PCs) on a network such as a manager of printers, file server and more. The actual client/server model started gaining acceptance in the late 1980s. The client/server software architecture is made to be versatile, message-based and modular infrastructure that is intended to improve usability, flexibility, interoperability, and scalability as compared to centralized, mainframe, time sharing computing mostly the software is customized depending of the usage of the server. (Sadoski, 2000)

In this assignment, I've decided to research on Client/Server Architecture and Software that is used in the Internet for the Internet Applications. That is widely used today and future in the world wide community. Hence this assignment will cover the aspects of the hardware and software used between the structures of the client/server architecture and how does it feasible to the users today.

Furthermore this report will also cover the technical aspects of the client/server architecture which will be explained in detailed to ensure the understanding for any users. The users as well are able learn of how to appreciate the Internet structure and applications more deeply as how they learn how to use it.

2.0 Objectives of Research

The objectives of this research of this assignment are as follows:

To investigate the usage and understand of Client/Server Architecture.

To identify the term of Client-Server architecture and software.

To determine which structure is suitable for which field of architectures such as in Banking, E-Commerce and Education.

3.0 Research Description

Usually any users (individual or company) that whom would like to set up a structure of specific tasks in their field, they would consider what are their primary goals and how are they planning to do it. Therefore it is best for users to investigate the most feasibility option of client/server architecture on what they are planning to do, like for example file sharing is suitable in which client/server architecture with the provided budget.

Hence in this research, I'll be investigating the most optimal and high efficient way for users to create a structure (architecture and software) for their purpose and how the work related to the Internet.

4.0 Technical Areas of Research

One of the definitions of are the client-server model of computing it is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. (Reese, 2000) In this term it explains the relationship and the interaction of transfer of data and information between the client and servers based of how they are connected and certain conditions that is set up.

Screen shot 2011-04-10 at 2.57.11 PM.png

Figure An example of Client/Server 3-Tier Model

In client/server architecture, the structure consists of the main 2 elements that form the architecture which are clients and servers.

4.1 What are clients?

Clients are computers or other devices that are connected on the network that they rely on the server for its resources. (Shelly & Vermaat, 2010) In basic terms, clients are referred as a user that uses the computer who request information (data & etcetera) from the server (either data storage or a data centre) or use its processing power to execute a desire result. A client is also an application or system that is able to accesses a remote service on another computer system, known as a server, by way of a network. (Sadoski, 1997)

4.1.1 Types of clients

Thick Clients

Thick clients, also called as heavy clients are full-featured computers that are connected to a network that has the ability of storing data on its own hard drive and processing data itself without a server. (TechTerms.com, 2005)

Thin client

Thin clients function like a thick client, but it lacks off hard drives and typically do not have extra input & output (I/O) ports or other unnecessary features for any peripherals. Since thin clients do not have hard drives, it does not have any application software installed on them. Instead, they run (execute) programs and access (fetch) data from a server. (TechTerms.com, 2005)

Hybrid client (Diskless node)

Hybrid client is a mixture of thick and thin clients that has the ability to process data locally, while relying of a server for storage purposes.

4.1.2 Comparison of Clients

Local Storage

Local Processing

Thick Client

Yes

Yes

Hybrid Client

No

Yes

Thin Client

No

No

1

Table : The Summary of abilities between three types of Clients.

4.2 What are servers?

A server is also called a host computer, which controls the access to the hardware, software and other resources on the network and provides a centralized storage area for programs, data, and information (Shelly & Vermaat, 2010). In the computer networking field, a server is a program that operates as a socket listener (Stevens & Cower, 1992) that is used for two-way communication link between two programs running on the network either LAN or WAN. Hence its basic function is to act as either a data centre (data storage) or as a controller in the specific network such as firewall, filterer and program executer, printer manager and more.

4.2.1 Usage of Servers

Servers are usually used as data storage, web servers, print server and database servers in small, medium, enterprise (SME) and large scale organization. They are mainly and widely used for business, education, military and etc.

4.2.2 Server's software

A server Operating Systems (OS) are designed from the ground up to provide platforms for multi-user, frequently business-critical, networked applications and most come bundled with a batch of common server applications, such as Web servers, e-mail agents and terminal services. The main requirements of server Operating System's features are security, stability and collaboration, rather than user interface. (PC World Staff, 2002)

4.3 Mainframe architecture

With the use of mainframe software architectures, all information (data) is within the central host computer (main computer/server). Users interact with the host through a terminal (clients) that captures keystrokes (commands) and sends that information to the host. Moreover, the software of this architectures are not tied to a hardware platform, meaning that the user are able to install any system (OS) and application software that they required to monitor and control their servers. User interaction can be done any capable devices such as PCs and mobile devices. The limitation of mainframe software architectures is that most of the software does not support graphical user interfaces or access to multiple databases from geographically dispersed sites (Sadoski, 1997). Therefore, another method (architecture) has to be used to overcome this limitation such as n-tier types.

Figure A Mainframe Architecture design

4.3.1 Mainframe Hardware and Software

One of the famous company that supply mainframe servers is International Business Machines' (IBM) System z (product) has a 90 - 95% share of the mainframe computer hardware market (Computer & Communications Industry Association, 2008). Hence one of its operating system is z/OS (IBM's bundled OS) or users can choose Linux OS (Red Hat) and other OSes that they prefer and feasibility to their purpose.

4.3.2 z/OS (IBM)

z/OS is a 64-bit operating system for mainframes, that is produced by IBM. This operating system is well secure, scalable, high-performance enterprise operating system on which to build and deploy Internet and Java-enabled applications such as websites, providing a comprehensive and diverse application execution environment. (International Business Machine, 2009)

4.4 File sharing architecture

The origins of a PC networks were based on file sharing architectures where was created for sharing information and files, hence the server act as a slave to downloads the file(s) that is requested from the client from the shared location to the client desktop environment. The requested user job is then run (including logic and data) in the desktop environment. The file sharing architectures work at optimal performance if shared usage of transfer between clients is low, update contention (conflict) is low, and the size of data to be transferred is low. Therefore in order to overcome this limitation, in the 1990s, PC LAN (local area network) computing changed because the capacity of the file sharing was strained as the number of online user grew (it can only satisfy about 12 users simultaneously) and PCs are starting to convert to graphical user interfaces (GUIs) because it became popular (making mainframe and terminal displays appear out of date (Sadoski, 1997) . Nowadays PCs turn into new client/server architecture of file sharing which is Peer-to-Peer Architecture (P2P) because it's easier to use and more widely used.

Figure A File Server with traditional host system with LAN

4.5 Two tier architecture

The definition of "two-tier" is described as the way in which application processing can be divided in a client/ server application. A two-tier application ideally provides multiple connected computers on a network (workstations) with a uniform (constant) presentation layer that communicates with a centralized data storage layer. In the client side the layer that is presented is the "presentation layer", while the data storage layer is the server side.

(Reese, 2000)

The usage of tier client/server architectures enables the user to use the Graphical User Interface (GUI) which is convenient is usually located in the user's desktop environment and the database management services are usually in a server that is a more powerful machine that services many clients and to reduce data redundancy and to ensure data integrity. In the processing management, the process is split into two environments it is to simplify the view for the client to enable a user friendly navigation and view rather than complicity of the server side. The first one will be in the client side's user system interface environment and the other will be on the server side's the database management server environment. There are a number of software vendors that provide tools to simplify development of applications for the two tier client/server architecture which are all based of the feasibility of company/individual's goal and mission. (Reese, 2000)

4.5.1 The two-tier limitations

This client/server architecture is made for an optimal solution for distributed computing of the total numbers of people are from 1 to 100 people interacting on a LAN simultaneously only. It is because the two-tier client/ server architecture does have a number of limitations such as when the number of users exceeds 100, performance begins to deteriorate (slowed) due to the increase volume of tasks. This limitation is a result of the server maintaining a connection via "keep-alive" such as ping messages with each client to test and ensure that the host's reach ability, even when no work is being done. The second limitation of the two tier architecture is that the "implementation of processing management services using vendor proprietary database procedures restricts flexibility and choice of DBMS for applications" meaning that users are tied with limited of variety of application and system software that are compatible with the servers. Last but not least, the current implementations of the two tier architecture provide limited flexibility in moving (repartitioning) program functionality from one server to another because it requires the user to recreate procedural code manually because the server is unable to perform a whole copy the whole structure of the server and procedures. (Reese, 2000)

4.5.3 Deduction

Basically the two-tier architecture design were made for low to medium enterprises that is a simple applications with immediate deadlines that do not require a lot of maintenance are perfect for a two-tier architecture such as light websites that does not require heavy calculation and it used for file sharing (data centre) for an organization. Its main purpose is for reducing data redundancy and ensuring data integrity of depending tasks such as file sharing between employees and managements such as in the departments of finance with human resource (HR).

4.6 Three-Tier Client/Server Architecture

Three-tier client-server architecture is like two-tier client/server architecture but more advance which includes the user interface, functional process logic 

("business rules"), computer data storage and data access are developed and maintained as independent modules, most often on separate platforms. The three-tier as the name three, the layers are divided into 3 categories which is presentation, logic and data tier.

(Eckerson, 1995)

C:\Dropbox\UCTI\Assignments Folder\500px-Overview_of_a_three-tier_application_vectorVersion.svg.png [2] 

Figure Visual overview of a Three-tiered application

4.6.1 Presentation tier

The presentation tier displays the user interface or graphical users interface such services as a browser/client tier that communicate or navigate with all other tiers in the network (application and data tier).

4.6.2 Application tier (business logic, logic tier, data access tier, or middle tier)

The logic tier is a tier that manages and coordinates application, processes the commands, makes logical decisions and evaluates and performs calculation. Then it moves and process data between presentation and data tiers.

4.6.3 Data tier

The data tier is a space where data storage of information and data are kept that is capable of capitalizing on a distributed infrastructure of database servers, networked file systems, and high performance storage systems. (Green & Miller, 2008) As well this tier keeps data neutral and independent from application servers or business logic.

4.6.4 Usage of Three-Tier Client/Server Architecture

4.6.4.1 Java Database Connectivity (JDBC) Architecture

In the three-tier model, the users are able to avoid additional change in the presentation layer of two-tier model due to the constant change. Hence in three-tier, the model enables the user to isolate the database connection so that the presentation does not care anything about the way the users store the data. Therefore the user can take advantage of Java's object-oriented nature and create a system in which your clients talk only to objects on the server which saves cost.

4.6.4.2 Centralized Business Processing (CBP)

The CBP utilizes the middle tier of the three-tier architecture which is the application server. Its function is to handles the data-processing issues that are unable to be processing in the other tiers. The application server is populated by problem specific objects commonly called business objects. It is the conditions and problems that are produced depending of the task that the program it is executing it. Such as in the banking application, the business object will be accounts, customers and transactions. Hence this tier will process a request such as an enquiry of new balance statement in the Automated Teller Machine (ATM) which the business object will communicate between data tier and presentation tier.

4.6.5 Deduction

Therefore, three-tier architecture is often used in the web development field, such as websites. There are commonly found in most e-commerce (electronic) websites which enables features that two-tier architecture can't. The features are the application tier which could enable certain programs like I explained in 4.6.4.2 Centralized Business Processing (CBP) and others such as ASP.NET, PHP, JAVA EE and more. Besides that most database management system or (DBMS) are found in the three-tier architecture.

5.0 Analysis

5.1 Tier Architecture Analysis

5.1.1 The advantages and disadvantages of two-tier architecture

Criteria

Advantages

Disadvantages

Development Issues

Simple Structure (design)

Easy to setup and maintain

(monitor & control)

Complex application rules are difficult to implement in database server because requires more codes for the user (client).

Complex application rules are also difficult to implement in the client side as well produce a poorer performance.

If database were to be changed into business logic it is not automatically enforced by the server and requires the user to distribute and install the new software.

Not portable on other database server platform.

Performance

Acceptable performance between low and medium volume of environment

Business logic and database are physically close (the layers are together), which provides higher performance.

Inadequate performance for medium to high volume, because the database server is requires business logic which is another separate layer. Hence slows down the database operation on the server.

5.2 Architecture Software

5.1.1 Criteria of an organization/individual should consider before choosing

a server Operating System (OS)

Criteria

Reason

Administration

The administrator of the server is able to use monitor and control the server fully or partially depending of the privileges of the users based of the tools that are provided in the OS such is found in web server hosting.

Hardware requirements

The hardware of requirements of the OS must taken into account to ensure the compatibility of the OS to the hardware of the server which is able to run and executed.

Third-Party Applications

The support of third-party application such as file and printer sharing, this could be essential in an organization that requires a lot of black and white documents.

Stability & Security Features Performance

Security and stability features the server must be secured with a good OS to prevent any information leakage or damage due to viruses or hackers which could lead a loss to the organization.

Scalability

Scalability is important as well it ensures how many clients are able to access the system at a time and the scale in the future to newer upgrades if required.

Total Cost of ownership

Last but not least, the total cost of ownership certain server OS are either open-source or closed source (must be licence) hence the user must identify which is most feasible option related to their work of field.

There are multiple types of server OS and they are Windows, Linux, BSD, Solaris platforms and more. Refer to 5.1.2 Server OS Website Market Shares (Numbers of Organization/individual)

5.1.2 Server OS Website Market Shares (Numbers of Organization/individual)

3

In the year of 2007, based on the graph above it shows that Windows' server OS shows the highest number market share it is because the performance that is able to produce among the server OS such an example is the "File Server Performance Comparison" test. File Server Performance Test.png [4] 

FSPT-T1.png [5] 

Hence based of the results above, it shows that Windows Server 3 outperformed Linux server OS (Red Hat Linux). The transfer rate of file in the Windows Server is much faster compared to Linux, thus consumers are attracted with this figure to stick with Windows platform until the year of 2008. While other factors such as Total Cost of Ownership, Linux OS provides free/open software while Windows OS must be bought in order to be used legally. Therefore, in the year of 2007 it is stated why there are still 23.8% + 6.8% users who are users that use Linux OS.

6.0 Conclusion

Till today, the Internet is still expanding with their base structure of Client/Server Architecture. Therefore it is one of the most important internet applications for computer users. The variety of structures is depending the type and function of the of the organization or individual needs. Thus it becomes a challenge for users of how to maintain, monitor, control and to build a structure that is efficient and is able to access by other users.

In a way, a user must investigate and identify the most optimal way of how to achieve their goal if they are working in the related field of Internet Application, by understanding the types of architectures and software that are available today before publishing their work on the net.

Writing Services

Essay Writing
Service

Find out how the very best essay writing service can help you accomplish more and achieve higher marks today.

Assignment Writing Service

From complicated assignments to tricky tasks, our experts can tackle virtually any question thrown at them.

Dissertation Writing Service

A dissertation (also known as a thesis or research project) is probably the most important piece of work for any student! From full dissertations to individual chapters, we’re on hand to support you.

Coursework Writing Service

Our expert qualified writers can help you get your coursework right first time, every time.

Dissertation Proposal Service

The first step to completing a dissertation is to create a proposal that talks about what you wish to do. Our experts can design suitable methodologies - perfect to help you get started with a dissertation.

Report Writing
Service

Reports for any audience. Perfectly structured, professionally written, and tailored to suit your exact requirements.

Essay Skeleton Answer Service

If you’re just looking for some help to get started on an essay, our outline service provides you with a perfect essay plan.

Marking & Proofreading Service

Not sure if your work is hitting the mark? Struggling to get feedback from your lecturer? Our premium marking service was created just for you - get the feedback you deserve now.

Exam Revision
Service

Exams can be one of the most stressful experiences you’ll ever have! Revision is key, and we’re here to help. With custom created revision notes and exam answers, you’ll never feel underprepared again.