This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
ObjectivesObjectives Definition of termsDefinition of terms List advantages of client/server architectureList advantages of client/server architecture Explain three application components: Explain three application components:
presentation, processing, and storagepresentation, processing, and storage Suggest partitioning possibilitiesSuggest partitioning possibilities Distinguish between file server, database server, Distinguish between file server, database server,
3-tier, and n-tier approaches3-tier, and n-tier approaches Describe and discuss middlewareDescribe and discuss middleware Explain query-by-example (QBE)Explain query-by-example (QBE) Explain database linking via ODBC and JDBCExplain database linking via ODBC and JDBC Explain VBA and Microsoft AccessExplain VBA and Microsoft Access
All processing is done at the PC that All processing is done at the PC that requested the data requested the data
Entire files are transferred from the server Entire files are transferred from the server to the client for processingto the client for processing
Problems:Problems: Huge amount of data transfer on the networkHuge amount of data transfer on the network Each client must contain full DBMS Each client must contain full DBMS
Heavy resource demand on clientsHeavy resource demand on clients Client DBMSs must recognize shared locks, integrity Client DBMSs must recognize shared locks, integrity
Two-Tier Database Server Two-Tier Database Server ArchitecturesArchitectures
Client is responsible for Client is responsible for I/O processing logic I/O processing logic Some business rules logicSome business rules logic
Server performs all data storage Server performs all data storage and access processing and access processing DBMS is only on serverDBMS is only on server
Advantages of Three-Tier Advantages of Three-Tier ArchitecturesArchitectures
ScalabilityScalability Technological flexibilityTechnological flexibility Long-term cost reductionLong-term cost reduction Better match of systems to business Better match of systems to business
Challenges of Three-tier Challenges of Three-tier ArchitecturesArchitectures
High short-term costsHigh short-term costs Tools and trainingTools and training ExperienceExperience Incompatible standardsIncompatible standards Lack of compatible end-user Lack of compatible end-user
Placing portions of the application Placing portions of the application code in different locations (client vs. code in different locations (client vs. server) AFTER it is writtenserver) AFTER it is written
Loosely CoupledLoosely Coupled Massively Parallel Processing (MPP)Massively Parallel Processing (MPP) Multiple CPUsMultiple CPUs Each CPU has its own RAM spaceEach CPU has its own RAM space
Types of MiddlewareTypes of Middleware Remote Procedure Calls (RPC) Remote Procedure Calls (RPC)
client makes calls to procedures running on remote computersclient makes calls to procedures running on remote computers synchronous and asynchronoussynchronous and asynchronous
Message-Oriented Middleware (MOM) Message-Oriented Middleware (MOM) asynchronous calls between the client via message queuesasynchronous calls between the client via message queues
Publish/SubscribePublish/Subscribe push technology push technology server sends information to client when available server sends information to client when available
Object Request Broker (ORB)Object Request Broker (ORB) object-oriented management of communications between clients object-oriented management of communications between clients
and serversand servers SQL-oriented Data AccessSQL-oriented Data Access
middleware between applications and database serversmiddleware between applications and database servers
System-level password securitySystem-level password security for allowing access to the systemfor allowing access to the system
Database-level password securityDatabase-level password security for determining access privileges to tables; for determining access privileges to tables;
read/update/insert/delete privilegesread/update/insert/delete privileges Secure client/server communication Secure client/server communication
Direct-manipulation database languageDirect-manipulation database language Graphical approachGraphical approach Available in MS AccessAvailable in MS Access MS Access translates QBE to SQL and vice MS Access translates QBE to SQL and vice
versaversa Useful for end-user database programmingUseful for end-user database programming Good for ad hoc processing and prototypingGood for ad hoc processing and prototyping
Using ODBC to Link External Using ODBC to Link External Databases Stored on a Database Databases Stored on a Database
ServerServer Open Database Connectivity (ODBC)Open Database Connectivity (ODBC) API that provides a common language for application programs API that provides a common language for application programs
to access and process SQL databases independent of the to access and process SQL databases independent of the particular RDBMS that is accessedparticular RDBMS that is accessed
Required parameters:Required parameters: ODBC driver ODBC driver Back-end server nameBack-end server name Database nameDatabase name User id and passwordUser id and password
Additional information:Additional information: Data source name (DSN)Data source name (DSN) Windows client computer nameWindows client computer name Client application program’s executable nameClient application program’s executable name
Java Database Connectivity (JDBC) is similar to ODBC – built specifically for Java applications
Visual Basic for ApplicationsVisual Basic for Applications VBA is the programming language VBA is the programming language
that accompanies Access 2000that accompanies Access 2000 VBA provides these features:VBA provides these features:
Ability to perform complex functionalityAbility to perform complex functionality Error handlingError handling Faster execution than macrosFaster execution than macros Easier maintenanceEasier maintenance OLE automationOLE automation Programmatic controlProgrammatic control Ease of reading for programmersEase of reading for programmers
Event-driven – nonprocedural programming Event-driven – nonprocedural programming that detects events and generates appropriate that detects events and generates appropriate responsesresponses