Client-Server Architecture
Sindhuja P N
Basic Terms
Client Workstation (usually a PC) that requests and uses a service Server Computer (PC/mini/mainframe) that provides a service. For DBMS, server is a database server Operate in a networked environment Processing of an application distributed between front-end clients and back-end servers Clients and servers can reside in the same computer, or they can be on different computers that are networked together
Application Logic in C/S Systems
Presentation Logic
Input keyboard/mouse Output monitor/printer
GUI Interface
Processing Logic
I/O processing Business rules Data management Data storage/retrieval
Procedures, functions, programs
Storage Logic
DBMS activities
Three components of Application Logic
Input output or presentation logic component
responsible for formatting and presenting data on the users screen (or other output device) and managing user input from keyboard (or other input device)
Processing component logic
handles data processing logic (validation and identification of processing errors), business rules logic, and data management logic (identifies the data necessary for processing the transaction or query)
Storage component logic
responsible for data storage and retrieval from the physical storage devices DBMS activities occur here
Three-Tier Architecture
Client Application server Database server
Data storage GUI interface (I/O processing)
Browser Web Server DBMS
Thin Client
PC just for user interface and a little application processing. Limited or no data storage (sometimes no hard drive)
Three-Tier Architecture
Thinnest clients
Business rules on separate server
DBMS only on DB server
Advantages of three-tier architectures
Scalability
middle tier can be used to reduce the load on a database sever by using a transaction processing (TP) monitor to reduce the number of connections to a server additional application servers can be added to distribute application processing easier to change DBMS engines middle tier can be moved to a different platform. Simplified presentation interfaces make it easier to implement new interfaces use of off-the-shelf components or services in the middle tier can reduce costs, as can substitution of modules within an application rather than a whole application
Technological flexibility
Long-term cost reduction
Advantages .contd
Better match of systems to business needs
new modules can be built to support specific business needs rather than building more general, complete applications
Improved customer service
multiple interfaces on different clients can access the same business process
Competitive advantage
ability to react to business changes quickly by changing small modules of code rather than entire applications
Middleware
Software which allows an application to interoperate with other software No need for programmer/user to understand internal processing Accomplished via Application Program Interface (API)
The glue that holds client/server applications together
Database Middleware
ODBC Open Database Connectivity
Most DB vendors support this
OLE-DB
Microsoft enhancement of ODBC
JDBC Java Database Connectivity
Special Java classes that allow Java applications/applets to connect to databases
Processing Logic Distributions
Two-tier distributions Processing logic could be at client, server, or both
Processing logic will be at application server or Web server
n-tier distributions