Server
In most common use, a server
is a physical computer (a computer
hardware system) dedicated to running one or more services (as a host),
to serve the needs of the users of other computers on the network. Depending on
the computing service that it offers it could be a database
server, file server, mail server,
print
server, web
server, gaming server, or some other kind of server. In
the context of client-server architecture, a server
is a computer program running to serve the requests of other programs, the
"clients". Thus, the "server"
performs some computational task on behalf of "clients". The clients
either run on the same computer or connect through the network. In the context
of Internet Protocol (IP) networking, a server
is a program that operates as a socket
listener. Servers often provide
essential services across a network, either to private users inside a large
organization or to public users via the Internet.
Usage
The term server is used
quite broadly in information technology. Despite the many
server-branded products available (such as server versions of hardware,
software or operating systems), in theory any computerised process that shares
a resource to one or more client processes is a server. To illustrate this,
take the common example of file sharing. While the existence of files on a
machine does not classify it as a server, the mechanism which shares these
files to clients by the operating system is the server. Similarly, consider a
web server application (such as the multiplatform
"Apache HTTP Server"). This web server
software can be run on any capable computer. For
example, while a laptop
or personal computer is not typically known as a server, they can in these
situations fulfill the role of one, and hence be labelled as one. It is, in
this case, the machine's role that places it in the category of server. In the
hardware sense, the word server typically designates computer models
intended for hosting software applications under the heavy demand
of a network environment. In this client–server
configuration one or more machines, either a computer or a computer appliance, share information with each
other with one acting as a host
for the other. While nearly any personal
computer is capable of acting as a network server, a dedicated server will
contain features making it more suitable for production environments. These
features may include a faster CPU, increased high-performance RAM, and increased
storage capacity in the form of a larger or multiple hard
drives. Servers also typically have fault tolerant features, such as redundancy in power
supplies, storage (as in RAID), and network connections. Servers became common in the
early 1990s as businesses increasingly began using personal computers to
provide services formerly hosted on larger mainframes
or minicomputers.
Early file servers housed multiple CD-ROM drives, which were used to host large database
applications. Between the 1990s and 2000s an increase in the use of dedicated
hardware saw the advent of self-contained server appliances. One
well-known product is the Google Search Appliance, a unit that
combines hardware and software in an out-of-the-box packaging. Simpler examples
of such appliances include switches, routers, gateways, and print
server, all of which are available in a near plug-and-play
configuration. Modern operating systems such as Microsoft
Windows or Linux distributions rightfully seem to be
designed with a client–server architecture in mind. These operating
systems attempt to abstract hardware, allowing a wide variety of
software to work with components of the computer. In a sense, the operating system
can be seen as serving hardware to the software, which in all but low-level programming languages must
interact using an API.
These operating systems may be able to run programs in the background called
either services or daemons. Such programs, such as the
aforementioned Apache HTTP Server software, may wait in a sleep state for their necessity to become
apparent. Since any software that provides services can be called a
server, modern personal computers can be seen as a forest of servers and
clients operating in parallel. The Internet itself
is also a forest of servers and clients. Merely requesting a web page from
a few kilometers away involves satisfying a stack
of protocols that involve many examples of hardware
and software servers. The least of these are the routers, modems, domain name servers, and various other servers
necessary to provide us the world
wide web.
References
1.
Comer, Douglas E.; Stevens, David L. (1993). Vol
III: Client-Server Programming and Applications. Internetworking with
TCP/IP. Department of Computer Sciences, Purdue University, West Lafayette, IN
47907: Prentice Hall. pp. 11d. ISBN 0-13-474222-2.
Client
Client is an application or system that accesses a service
made available by a server. The server is often (but not always) on
another computer system, in which case the client accesses
the service by way of a network.[1] The
term was first applied to devices
that were not capable of running their own stand-alone programs,
but could interact with remote computers via a network. These dumb
terminals were clients of the time-sharing
mainframe computer. The client–server
model is still used today. Client and server can run on the same machine and
connect via Unix domain sockets, or other inter-process
communication techniques such as shared memory,
or named
pipes. Using Internet sockets a user may connect to a service operating on a
possibly remote system through the Internet protocol suite. Servers set up listening
sockets, and clients initiate connections that a server may accept. Web
browsers are clients that connect to web servers
and retrieve web
pages for display. Most people use email
clients to retrieve their email from their internet service provider's mail storage
servers. Online
chat uses a variety of clients, which vary depending on the chat protocol
being used. Multiplayer online games may run as Game Clients on each local
computer. Increasingly, existing large client applications are being switched
to websites, making the browser a sort of universal client. This avoids the
hassle of downloading a large piece of software onto any computer you want to
use the application on. An example of this is the rise of webmail. In personal
computers and computer workstations, the difference between
client and server operating system is often just a matter of marketing -
the server version may contain more operating system components, allow more
simultaneous logins, and may be more expensive, while the client version may
contain more end-user software.
Fat
A fat client, also known as
a rich client or thick client, is a client that performs the bulk
of any data processing operations itself, and does not necessarily rely on the server. The fat client is most common in the
form of a personal computer, as the personal computers or
laptops can operate independently.Programming languages and/or development
tools for rich clients typically include Delphi, .NET
Framework, Java and Visual
Studio.
Thin
A
thin client is a minimal sort of client. Thin clients use the
resources of the host computer. Athin client's job is generally just to
graphically display pictures provided by an application server, which performs the bulk of
any required data processing. Programming environments for thin clients include
JavaScript/AJAX (client side
automation), ASP, JSP,
Ruby
on Rails, Python's Django, PHP and other (depends on
server-side backend and uses HTML pages or rich media like Flash, Flex or
Silverlight on client).
References
Sadoski,
Darleen. Client/Server Software Architectures – An Overview, Software
Technology Roadmap, 1997-08-02. Retrieved on 2008-09-16.
0 komentar:
Posting Komentar