SAM and Client/Server

What is Client/Server?

An extract from a previous paper:

The topology of SAM is a File-Server one, where the data for an individual School is located in a backend (BE) MS-Access database. This database resides on a NetWare 4 server (currently Minos) in a folder specific to the School. Each SAM user in the School has an MS-Access front end (FE) database installed on their PC. This FE database has effectively no data but all the forms, queries, procedures & report definitions that make-up the users view of the database. The FE databases use table links to access data in the tables of the shared BE database. The security and accessibility of the databases is controlled via allocation of users to NetWare groups which have the relevant access rights to the required server based folders.

The alternative topology for systems such as SAM is the Client-Server approach. Here the data again resides away from the users PC (Client), in a BE database on a server so that it can be shared by all users. But now the FE client database doesn't link directly to the tables in the BE database as if that database was on the users own PC, it makes requests for data to a database server. The database server is an application running on the remote server that (simplistically) receives requests for data in the form of SQL statements from the client PC. The database server effects the SQL and returns the resultant data to the client PC for display in forms or inclusion in a report. In many application this can be a more efficient approach as only the data required by a form or report is passed over the network and is processed by the local database application. This may be only one record! In the File-Server topology every record involved in executing the SQL statement must traverse the network and be assessed by the local database application.

Avantages of Client/Server

Disadvantages of Client/Server

Issues in moving to Client/Server

Implementation Plan

  1. Test PC based implementation of current SAM backend with local mySQL database and current SAM frontend on MS-Access97
  2. Test server based implementation with mySQL backend on a Unix server
  3. Enhance SAM data structures and application design for client/server requirements
  4. Trial web (read only) access to SAM data (Tom Rosenbloom, SHiPSS/IT-Services)
  5. Implement data structure changes to facilitate SITS and SAM compatibiliy
  6. Implement data structure changes for Schools enhancements

Conclusion - make the move to a Client/Server implementation of SAM

Ray Burnley, SAM Developer, 26-Jul-2001

_______________________________________________ Project SAM