Client / Server Networking Outline Client / Server architecture Client

Outline
Client / Server Networking
• Client / Server architecture
• Web basics
• Browser / Server architecture
James Vorbach, Ph.D.
Client / Server architecture
• In a network, the difference between
‘client’ and ‘server’ computers is primarily
the role played in executing applications
• A client computer,
computer or simply client
client, makes
requests which are satisfied by a server
computer, or simply server
Client / Server architecture
• A server stores a resource shared by two
or more clients
• Typically, servers are more powerful
computers with greater storage capacity
than clients in order to provide sufficient
capacity, process network transactions
efficiently, and provide effective security
Server Types
Two-tier architecture
• Application server – stores shared
programs
• Database Server –stores a particular
proprietary database such as MS SQL,
SQL
Oracle, DB2, Informix, and Sybase
• Web server – stores web pages and webrelated applications
• Traditional two-tier client/server consists of
a client-side application and a relational
database on the server
– Client – processes user input and formulates
a query which is sent to the server
– Server – executes the query and returns the
results to the client
1
n-tier architecture (n > 2)
• 3 or more levels in the network exist
• Client – typically a thin client, which consists of
minimal application-specific software
• Middleware – one or more levels consisting of
application servers
• Backend – database servers
• Example
– Web-based applications such as eCommerce
applications
Web Basics
• The World-Wide Web
– a collection of documents linked together via
the Internet
– The documents include text
text, graphics
graphics, video
video,
and sound; a hypermedia collection
– Hyperlinks embedded in documents allow you
to jump from one document to another.
– The world-wide web is also referred to as
WWW or the Web
WWW standards and protocols
• Uniform Resource Locator (URL)
– standard format for specifying an address on
the Internet
• Form
protocol://server-name/path…
• Examples
http://www.stjohns.edu
ftp://www.porres.org
Motivation
• Client / Server networking increases
productivity and reduces costs by
– Sharing resources across the organization
– Application and database development and
maintenance costs are reduced, since only
the servers store the resources
– Security is improved through control at the
server-level
Web Basics
• Web browser
– a WWW program to view Web pages and
interact with web servers
• Internet Explorer (IE),
(IE) Safari,
Safari Firefox
WWW standards and protocols
• HyperText Transfer Protocol (HTTP)
– a protocol for transferring Web documents
• File Transfer Protocol (FTP)
– a protocol for transfer files over the internet;
used for updating pages on web sites
• HyperText Markup Language (HTML)
– a non-proprietary language for creating Web
pages which is interpreted by a browser
2
WWW standards and protocols
• Search Engine
– a WWW program used in connection with a browser
to search for information on the Web based on
keywords and/or categories.
• Google, Yahoo
Browser / Server Communication
• Browsers communicate with web servers
via hypertext transfer protocol (HTTP)
• HTTP is stateless, i.e. no memory
– When
Wh a web
b server receives
i
a URL ffrom a
browser, it responds with the corresponding
web page then ‘goes to sleep’ until the next
request
Browser / Server architecture
• Two–tier
– Browser (client) sends a URL to a web server
– Web server responds with a web page written in
HTML
• N–tier
– Browser sends data from a user form to the server
– Web server passes the data to the appropriate
server-side application which constructs a query
– Database server executes the query and returns the
results
– The server-side app packages the results in HTML to
be returned by the web server to the client browser
Embedded Applications
– Web pages may contain applications written
in languages other than HTML; such
application are embedded within a page using
special tags
• VBscript, JavaScript, and Java are interpreted by
browsers
– The user is transparent to the running of
embedded applications in a browser
3