在VFP中建立C/S机制,第1张

在VFP中建立C/S机制,第2张

1.客户服务申请表

在应用中,人们常常把C/S应用分为两部分:客户端程序驻留在网络的前端工作站(一台微机)上,服务器处理程序在网络后台。其分布结构见图1。当客户端(在工作站上)以请求的方式提出所需的服务时,服务器不需要关心客户端程序的功能,只需要响应请求即可。

在这种结构中,服务器的硬件必须有足够的处理能力,这样才能满足每个客户的要求。

从概念上来说,“服务器”的含义非常广泛,数据库服务器只是其中之一。数据库至少应提供数据访问、处理和加工等服务,以及完善的安全保护和数据完整性,并允许多个客户端同时访问同一个数据库。因此,客户可以专注于自己的工作,而无需考虑数据安全性、优化和完整性的基本处理。

客户端应用程序除了向服务器发出请求之外,还需要对服务器返回的信息(包括数据和指令)进行分析,并据此进行一些再处理(比如向操作者显示相应的数据,要求额外输入一些数据等。).

中间件是C/S系统中的一种系统软件,负责连接客户机和服务器。客户端和服务器之间连接的最底层是网络硬件,但对于应用程序级别的程序员来说,关注的焦点是他们在软件上的通信链接。由于C/S的环境复杂,涉及多种规章制度和协议,需要依靠中介软件来有效降低工作难度。中介软件可以将用户从复杂的通信程序、硬件平台和操作系统中分离出来,数据通过中介软件在客户端和服务器之间流动,客户端和服务器通过中介软件进行稳定的访问,这无疑大大降低了程序员的技术难度和工作量。

目前有很多关于中介的标准和软件,ODBC就是我们在Vi sualFoxPro上看到的。它位于客户端和服务器之间,有效地隐藏了C/S操作的复杂过程。

二、设计C/S系统的基本原则

这里我们只考虑客户端和服务器在不同硬件平台上的C/S系统(即基于网络的C/S系统),在设计时应遵循以下原则:

1.尝试让客户端为特定用户完成事务。

因为服务器是多个客户端共享的,如果每个用户的具体处理都放在服务器上,会增加服务器的工作负载,从而降低其响应速度,延长客户端应用的等待时间。因此,尽量让客户端完成特定用户的事务处理,以减轻服务器的负担,提高C/S系统的整体性能。

2.尽量让服务器管理所有的共享资源。

共享资源包括数据、一些外围设备(如扫描仪、打印机等。)和基本的服务处理(比如通讯),这些应该由服务器来管理,以保证所有用户都能享受到。对于共享数据,由服务器集中处理也有助于保证数据的完整性、一致性和安全性。

3.最小化客户端和服务器之间传输的数据量。

网络之间的数据传输可能会导致数据错误、丢失、延迟、故障和其他问题。传输的数据越多,出现问题和恢复的可能性就越大。而且网络上大量数据的积累必然会减缓系统对其他客户端的响应速度,同时影响客户端之间以及客户端与服务器之间的通信(通信也是共享资源)。因此,减少网络中的数据传输量有助于保证C/S系统的整体性能。

4.坚持本地数据存储和管理。

这是为了减少网络上的数据传输量,减轻服务器的压力,增强服务器对请求的响应,提高C/S系统的整体性能。

根据以上原则,在设计基于数据库的C/S系统时,可以把接口表现部分(如输入输出接口)放在客户端,数据管理部分(如查询、存储、更新、优化等。)在服务器上。其他处理逻辑要具体情况具体分析。例如,对于计算密集型处理,计算部分可以放在客户端,而一般约束处理涉及数据特征(如完整性、安全性、一致性等。)可以放在服务器上。

数据的分发也要合理安排。提供给客户共享的数据应放在服务器上(作为远程数据处理);对于自己专属的数据,应该放在自己的客户端。

第三,在VisualFoxPro中建立C/S的机制

用VisualFoxPro构建C/S系统时,采用ODBC作为中介软件,客户端与服务器端的通信由ODBC完成。此时,每个应用程序通过自己的驱动程序连接到数据库,ODBC通过自己的驱动管理器管理ODBC与驱动程序的交互,程序员可以使用同一个程序调用与不同的数据源进行通信。

目前Windows下的ODBC驱动和驱动管理器都是以DDL(动态数据链接库)的形式实现的。在VisualFoxPro的ODBC支持下,客户的应用程序可以实现以下功能:

①建立或断开(远程)数据库;

②VisualFoxPro可以通过现有的驱动程序与Ora cle 7.0、SQLServer、MSParadox等数据库连接。其他种类的数据库只要能提供自己的驱动程序,也可以和VisualFoxPro链接;

③进行常规操作(如修改、查询等。)对远程数据库进行操作,并获得相应的操作结果;

④接收基于ANSIError的错误信息;

⑤检测表、记录、视图、索引等。在远程数据库上;

⑥为所有用户提供统一的登录界面。

VisualFoxPro是C/S的前端开发工具,通过ODBC访问后端数据库有两种方式:SPT (SQL直通)和RemoteViews(远程视图)。SPT提供的函数类似于低级文件函数,用户可以使用这些函数直接访问后端数据库。用户在使用SPT时,需要使用一组以SQL开头的函数来编写“open join”、“错误检测”、“命令交付”等指令。VisualFoxPro中有两种视图:本地和远程,可以同等操作。当在ViewDesigner中创建远程视图时,有必要解释要在远程数据库中访问或修改的“部分”和范围。当这个视图建立后,我们可以用“日常”VisualFoxPro命令操作它,就像使用Visual FoxPro的本地表一样。

访问后端数据库时,必须先加入。在VisualFoxPro中,可以通过join来创建远程视图,通过修改其属性来优化各部分之间的通信。VisualFoxPro中有两种联接:隐式联接和命名联接。在这里,连接被视为对象。以下是连接中一些常用的属性:

属性内容描述

密码连接时使用的密码。

ODBC连接的数据源的类型。

PacketSize确定用于连接的网络数据包的大小。

用于加入注册的字符串。

异步确定使用的连接是同步的还是异步的。

用于创建光标的联接的名称。

用户标识

确定共享连接是否可以共享。

PatchMode确定批处理模式。

……

使用SPT访问后端数据库时,必须使用命名连接。

在一般应用中,远程视图可以与SPT结合使用。可以在本地数据库中定义后端数据源的远程视图,然后通过form(或FormSet)对连接的数据源进行日常操作。这是一个简洁实用的C/S系统应用程序。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 在VFP中建立C/S机制

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情