MIS 385/MBA 664 Systems Implementation with DBMS/ Database ManagementChapter 9 – Client-Server EnvironmentClient/Server SystemsApplication Logic in C/S SystemsClient/Server ArchitecturesFile Server ArchitectureFile server architectureTwo-Tier ArchitectureAdvantages of Two-Tier ApproachAdvantages of stored proceduresTwo-tier architectureThree-Tier ArchitecturesThree-tier architectureAdvantages of Three-Tier ArchitectureApplication PartitioningCommon Logic DistributionsRole of the MainframeMiddlewareTypes of MiddlewareDatabase MiddlewareClient/Server SecurityKeys to Successful Client-Server ImplementationBenefits of Moving to Client/Server ArchitectureUsing ODBC to Link External Databases Stored on a Database ServerODBC ArchitectureMIS 385/MBA 664Systems Implementation with DBMS/Database ManagementDave [email protected] (email)http://www.davesalisbury.com/ (web site)Chapter 9 – Client-Server EnvironmentDefinition of termsList advantages of client/server architectureExplain three application components: presentation, processing, and storageSuggest partitioning possibilitiesDistinguish between file server, database server, 3-tier, and n-tier approachesDescribe and discuss middlewareExplain database linking via ODBC and JDBCClient/Server SystemsNetworked computing modelProcesses distributed between clients and serversClient–Workstation (usually a PC) that requests and uses a serviceServer–Computer (PC/mini/mainframe) that provides a serviceFor DBMS, server is a database serverApplication Logic in C/S SystemsGUI InterfaceProcedures, functions,programsDBMS activitiesProcessing LogicI/O processingBusiness rulesData managementStorage LogicData storage/retrievalPresentation LogicInput–keyboard/mouseOutput–monitor/printerClient/Server ArchitecturesFile Server ArchitectureDatabase Server ArchitectureThree-tier ArchitectureClient does extensive processingClient does little processingFile Server ArchitectureAll processing is done at the PC that requested the data – fat client Entire files are transferred from the server to the client for processingProblems:Huge amount of data transfer on the networkEach client must contain full DBMS Heavy resource demand on clientsClient DBMSs must recognize shared locks, integrity checks, etc.FAT FAT CLIENTCLIENTFile server architectureTwo-Tier ArchitectureClient is responsible for I/O processing logic Some business rules logicServer performs all data storage and access processing DBMS is only on serverAdvantages of Two-Tier ApproachClients do not have to be as powerfulGreatly reduces data traffic on the networkImproved data integrity since it is all processed centrallyStored procedures DBMS code that performs some business rules done on serverAdvantages of stored proceduresCompiled SQL statementsReduced network trafficImproved securityImproved data integrityThinner clientsThinner Thinner clientsclientsDBMS only DBMS only on serveron serverTwo-tier architectureThree-Tier ArchitecturesThin Client – PC just for user interface and a little application processing. Limited or no data storage (sometimes no hard drive)GUI interface (I/O processing)BrowserBusiness rulesWeb ServerData storageDBMSClientClientApplication serverApplication serverDatabase serverDatabase serverThinnest Thinnest clientsclientsBusiness rules on Business rules on separate serverseparate serverDBMS only on DBMS only on DB serverDB serverThree-tier architectureAdvantages of Three-Tier ArchitectureScalabilityTechnological flexibilityLong-term cost reductionBetter match of systems to business needsImproved customer serviceCompetitive advantageReduced riskApplication PartitioningPlacing portions of the application code in different locations (client vs. server) AFTER it is writtenAdvantagesImproved performanceImproved interoperabilityBalanced workloadsCommon Logic DistributionsProcessing logic could be at client, server, or both Processing logic will be at application server or Web serverRole of the MainframeMission-critical legacy systems tend to stay on mainframes Client/server systems tend to be small workgroup systemsProblems moving mission critical systems from mainframe to distributedDetermining which code belongs on server vs. clientIdentifying potential conflicts with code from other applicationsEnsuring sufficient resources exist for anticipated loadRule of thumbMainframe for centralized data that does not need to be movedClient for data requiring frequent user access, complex graphics, and user interfaceMiddlewareSoftware that allows an application to interoperate with other softwareNo need for programmer/user to understand internal processingAccomplished via Application Program Interface (API)The “glue”“glue” that holds client/server applications togetherTypes of MiddlewareRemote Procedure Calls (RPC) client makes calls to procedures running on remote computerssynchronous and asynchronousMessage-Oriented Middleware (MOM) asynchronous calls between the client via message queuesPublish/Subscribepush technology server sends information to client when availableObject Request Broker (ORB)object-oriented management of communications between clients and serversSQL-oriented Data Accessmiddleware between applications and database serversDatabase MiddlewareODBC–Open Database ConnectivityMost DB vendors support thisOLE-DBMicrosoft enhancement of ODBCJDBC–Java Database ConnectivitySpecial Java classes that allow Java applications/applets to connect to databasesClient/Server SecurityNetwork environment complex security issuesSecurity levels:System-level password securityfor allowing access to the systemDatabase-level password securityfor determining access privileges to tables; read/update/insert/delete privilegesSecure client/server communication via encryptionKeys to Successful Client-Server ImplementationAccurate business problem analysisDetailed architecture analysisArchitecture analysis before choosing toolsAppropriate scalabilityAppropriate placement of servicesNetwork analysisAwareness of hidden costsEstablish client/server securityBenefits of Moving to Client/Server ArchitectureStaged delivery of functionality speeds deploymentGUI
View Full Document