【vfp开源代码栏目提醒】:网学会员为广大网友收集整理了,C/S体系结构结构应用系统开发技术 - 数据库,希望对大家有所帮助!
5.1C/S体系结构概述5.2客户端开发工具介绍5.3ODBC技术5.4ADO技术5.5 C/S体系结构的网络数据库应用系统开发5.6 习题5.15.1C/SC/S体系结构概述体系结构概述5.1.1C/S体系结构相关概念–C/S技术在结构、开发环境、应用平台和开发方式上已经非常成熟。
C/S结构的基本原则是将计算机应用任务分解成多个子任务由多台计算机分工完成克服了终端/主机结构中主机负担过重用户界面不友好等缺点因而得到了广泛的应用。
–C/S系统有3个基本部分组成客户机、服务器和中间件Middleware。
1.客户机–客户机运行数据请求程序并将这些请求传送到服务器。
客户机软件由网络接口软件、支持用户需求的应用程序以及实现网络能力的实用程序组成。
网络接口软件提供各种数据传输服务。
C/S结构数据库应用系统中客户端的主要功能如下5.15.1C/SC/S体系结构概述体系结构概述1管理用户接口。
2从用户接受数据。
3处理应用逻辑。
4产生数据库请求。
5向服务器发送数据库请求。
6从服务器接收结果并格式化结果。
2.服务器在服务器上执行的计算称为后端处理。
后端处理设备是一台管理数据资源并执行数据库引擎功能如存储、操作和保护数据的
计算机。
服务器软件既包括遵循于OSI或其他网络结构的网络软件又包括由该服务器提供给网络上客户机的应用程序或服务软件。
5.15.1C/SC/S体系结构概述体系结构概述1从客户机接受数据请求。
2处理数据请求。
3格式化结果并传送给客户机。
4执行完整性检查。
5提供并行访问控制。
6事务处理失败后执行事务恢复。
7优化查询和更新处理。
服务器按硬件性能可分为大型机服务器、小型机服务器、工作站服务器和PC机服务器。
5.15.1C/SC/S体系结构概述体系结构概述3.中间件中间件保证了网络中各部件软件和硬件之间透明地连接即隐藏网络部件的异构性尤其保证不同网络、不同DBMS和某些访问语言的透明性即下面三个透明性1网络透明性。
2服务器透明性。
3语言透明性。
由于用途不同存在着不同种类的中间件。
主要有数据访问中间件、远程过程调用RPC中间件、分布式事务处理中间件、对象调用中间件以及面向消息的中间件等。
本书后面介绍的ODBC属于数据访问中间件提供客户机上的应用程序访问服务器上关系数据库的机制以隐藏计算机网络的复杂性多数这类中间件是基于SQL的。
C/S模式体系结构示意图如图5-1所示。
5.15.1C/SC/S体系结构概述体系结构概述客户机客户机用户用户用户客户机数据库服务打印服务文件服务文件打印机数据库 客户机中间件服务器图5-1C/S模式体系结构示意图5.15.1C/SC/S体系结构概述体系结构概述5.1.2 C/S环境下应用成份的分布通常一个典型的C/S应用程序由4个部分组成如图5-2所示。
1用户界面的显示逻辑这是与用户交互的应用
代码。
它完成屏幕格式化、屏幕信息读写、窗口管理、键盘及鼠标管理等任务。
最流行的形式是各种图形用户界面GUI。
2应用逻辑这是根据输入数据来完成业务处理和规则的应用
代码。
这些
代码通常是用3GL或4GL编写。
3事务逻辑这是应用程序中用DML语句编写的
代码在关系DBMS中一般是采用SQL编写。
4数据管理这是应用程序中由DBMS完成访问实际数据库的程序。
在理想的情况下DBMS的数据管理相对于应用的业务处理来说是透明的。
虽然DBMS不属于应用程序本身但它是分布式处理的基本组成部分。
5.15.1C/SC/S体系结构概述体系结构概述应用程序界面显示逻辑应用逻辑事务逻辑数据管理数据库终端GUI3GL4GLSQLSQLServerOracleDB2等图5-2C/S环境下组成应用程序的4个组成成分5.15.1C/SC/S体系结构概述体系结构概述在C/S环境下通常把界面显示逻辑和应用逻辑驻留在客户机上而把事务逻辑和DBMS功能驻留在服务器上。
如图5-3所示是支持C/S模式的SQLServer系统情况。
图5-3SQL Server支持C/S模式界面显示逻辑应用逻辑事务逻辑数据管理客户端服务器端SQLServer5.15.1C/SC/S体系结构概述体系结构概述5.1.3 C/S体系结构的技术特点1按功能划分服务器是服务的提供者客户机是服务的消费者。
C/S根据服务的观点对功能进行了明确的划分。
2共享资源。
3不对称协议。
4定位透明性。
5基于消息的交换。
6可扩展性。
5.2.1VisualBasicVisualBasicVB是由全球最大的软件公司Microsoft公司研制和开发的。
VB不仅是一种程序设计语言也是一个开发数据库应用或其他应用的工具。
其特点有1VB提供了多种数据库引擎。
2
VB具有先进的模块化程序设计功能。
3VB简单易学适合各种开发人员使用。
4VB具有广泛的应用背景。
5.2.2DelphiDelphi是全球著名的开发商Borland公司于1994年发布的用于开发数据库应用程序的工具它集中了第三代语言的优点以ObjectPascal为基础扩充了面向对象的能力并且完美地结合了可视化的开发手段。
其典型特点如下1Delphi与其他软件开发工具相比在许多方面有一定突破。
2
Delphi被称为是第四代编程语言它具有简单、高效、功能强大的特点。
3Delphi作为开发工具它具有很高的应用程序开发完成度。
4Delphi作为一个快速
软件开发工具除具有强大的用户界面设计功能外还具有广泛的数据库支持和强大的数据库存储功能。
5应用Delphi可以方便地进行传统C/S结构及基于Web的C/S结构应用开发。
5.2.3VisualFoxProVisualFoxPro是Microsoft公司推出的最新一代全32位、面向对象的数据库开发管理工具。
具体地讲
VFP有以下一些特点1完全的32位开发环境增强了工程和数据管理。
2支持C/S开发模式。
3面向对象的程序开发环境完善的开发工具。
4提供了功能强大的向导使得能够快速开发应用。
5对小组开发环境给予了很好的支持它允许多个开发人员同时访问数据库对象并且提供了VisualSourceSafe等工具协同和管理小组开发环境中源
代码的更新。
5.2.4PowerBuilderPowerBuilder是面向对象的可视化软件开发工具。
它由美国著名的数据库应用开发工具生产厂商Powersoft公司1995年已被Sybase公司收购于1991年6月首次推出。
PowerBuilder特点如下1PowerBuilder是专业的C/S系结构应用程序开发工具。
2内置数据库
管理系统。
3支持多种数据源和功能强大的数据窗口技术。
4功能强大的PowerScript编程语言。
5PowerBuilder支持交叉平台。
5.2.5 Java1995年5月Sun Microsystems公司在“Sun World 95”大会上正式推出Java语言
Java是一种网络编程语言它最大限度地利用了网络资源AppletJava小应用程序可以跨平台、跨操作系统、跨网络地运行。
1平台独立性。
2安全性高。
3多线程技术。
4支持分布式应用。
5半编译半解释语言。
5.3 ODBC5.3 ODBC技术技术5.3.1 ODBC的概念和作用–为了对不同的数据进行透明的访问就需要开放的访问接口。
其中开放式数据库互联ODBCOpenedDatabaseConnectivity是使用最广泛的接口之一属于中间件技术。
–ODBC是一种用于访问数据库的统一界面标准由Microsoft公司于1991年底发布在短短几年中即被数据库界广泛接受已成为事实上的工业标准。
它应用数据
通信方法、数据传输协议、DBMS等多种技术定义了一个标准的接口协议允许应用程序以SQL为数据存取标准来存取不同的DBMS管理的数据。
ODBC为数据库应用程序访问异构型数据库提供了统一的数据存取接口API应用程序不必重新编译、连接就可以与不同的DBMS相连。
–在C/S结构的数据库应用系统中ODBC标准使得不同的数据源可以提供统一的数据访问界面客户端应用通过ODBC接口可以实现对不同数据源的访问。
5.3 ODBC5.3 ODBC技术技术5.3.2 ODBC的结构ODBC是一个分层体系结构如图5-4所示。
它描述了嵌入ODBC的应用程序和ODBC组成部件之间的关系它由4个部分构成包括ODBC数据库应用程序Application、驱动程序管理器DriverManager、DBMS驱动程序DBMSDriver和数据源DataSourceName。
1应用程序–应用程序的主要功能是调用ODBC函数递交SQL语句给DBMS检索出结果并进行处理。
应用程序要完成ODBC外部接口的所有
工作。
–应用程序的操作包括连接数据库向数据源发送SQL语句为SQL语句执行结果分配存储空间定义所读取的数据格式读取结果处理错误向用户提交处理结果请求事务的提交和回退操作断开与数据源的连接。
–应用层提供图形用户界面GUI和事务逻辑它是使用诸如Java、VisualBasic及C这样的语言编写的程序。
应用程序利用ODBC接口中的ODBC功能与数据库进行操作。
5.3 ODBC5.3 ODBC技术技术2驱动程序管理器驱动程序管理器是一个动态连接库DLL用于连接各种数据库系统的DBMS驱动程序如SQLServer、Oracle、Sybase等驱动程序管理应用程序和DBMS驱动程序之间的交互作用。
驱动程序管理器的主要功能如下1为应用程序加载DBMS驱动程序。
2检查ODBC调用参数的合法性和记录ODBC函数的调用。
3为不同驱动程序的ODBC函数提供单一的入口。
4调用正确的DBMS驱动程序。
5提供驱动程序信息。
。
5.3 ODBC5.3 ODBC技术技术SQL Server驱动程序Oracle驱动程序DB2驱动程序Sybase驱动程序FoxPro驱动程序驱动程序管理器ODBC数据库应用程序SQL Server数据源Oracle数据源DB2数据源Sybase数据源FoxPro数据源数据库数据库数据库数据库数据库图5-4ODBC的分层体系结构5.3 ODBC5.3 ODBC技术技术3DBMS驱动
程序从图5-4中可以看出应用程序不能直接存取数据库其各种操作请求要通过ODBC的驱动程序管理器提交给DBMS驱动程序通过驱动程序实现对数据源的各种操作数据库的操作结果也通过驱动程序返回给应用程序。
当应用程序调用函数进行连接时驱动程序管理器加载驱动程序。
根据应用程序的要求驱动程序完成以下任务1建立应用程序与数据源的连接。
2向数据源提交用户请求执行的SQL语句。
3根据应用程序的要求将发送给数据源的数据或是从数据源返回的数据进行数据格式和类型转换。
4把处理结果返回给应用程序。
5将执行过程中数据库系统返回的错误转换成ODBC定义的标准错误
代码并返回给应用程序。
6根据需要定义和使用光标。
5.3 ODBC5.3 ODBC技术技术ODBC规范定义的驱动程序有两种类型即单层驱动程序和多层驱动程序。
但是从应用程序角度来讲所使用的ODBC都是一样的。
1单层驱动程序。
不仅要处理ODBC函数调用还要解释执行SQL语句即执行DBMS的功能。
所以单层驱动程序实际上具备一个DBMS的功能。
2多层驱动程序。
只处理应用程序的ODBC函数调用和数据转换它将SQL语句传递给数据源服务器由DBMS解释执行SQL语句实现用户的各种操作请求SQLServer驱动程序就属于这种。
多层驱动程序与DBMS的功能是分离的客户端软件由应用程序、驱动程序管理器、多层驱动程序和客户端网络支撑软件组成服务器端由数据库引擎、数据库文件和服务器网络支撑软件组成。
5.3 ODBC5.3 ODBC技术技术4数据源数据源DataSourceName简称DSN是驱动程序与数据库系统连接的桥梁数据源不是数据库系统而是用于表达一个ODBC驱动程序和DBMS特殊连接的命名。
数据源分为以下3类1用户数据源即用户创建的数据源。
此时只有创建者才能使用并且只能在所定义的机器上运行。
任何用户都不能使用其他用户创建的用户数据源。
2系统数据源所有用户和在WindowsNT下以服务方式运行的应用程序均可使用系统数据源。
3文件数据源文件数据源是ODBC3.0以上版本增加的一种数据源可用于企业用户ODBC驱动程序也安装在用户的计算机上。
5.3 ODBC5.3 ODBC技术技术5.3.3ODBC数据源的配置和连接1配置ODBC数据源–下面以某单位图书馆管理信息系统为例讲述具体ODBC的设置方法。
–假设图书管理服务器已安装了SQLServer2000创建了一个名为books_management的用户数据库图书管理应用程序要从该数据库中存取数据。
在使用ODBC建立与后台数据库的连接时通过DSN名指定使用的数据库。
这样当使用的数据库改变时不用改变程序只要在系统中重新配置DSN就可以了。
DSN是应用程序和数据库之间连接的桥梁主要设置DSN名、ODBC驱动程序类型以及数据库等信息。
5.3 ODBC5.3 ODBC技术技术1单击“开始→设置→控制面板→ODBC数据源”启动ODBC数据源设置程序如图5-5所示。
数据源文件有3种类型其中“用户DSN”和“系统DSN”是常用的2种数据源。
图5-5 ODBC数据源设置之一5.3 ODBC5.3 ODBC技术技术2以创建“系统DSN”为例说明。
在图5-5中的“系统DSN”选项下单击【添加】按钮系统弹出创建数据源对话框如图5-6所示选择“SQLServer数据库驱动程序。
图5-6 ODBC数据源设置之二5.3 ODBC5.3 ODBC技术技术3单击【完成】按钮系统弹出创建新数据源位置的对话框如图5-7所示。
在“名称”文本框中输入数据源名称books在“说明”文本框中输入对数据源的说明图书管理数据库。
在“服务器”文本框中选择数据库服务器名称在此选择Server。
图5-7 ODBC数据源设置之三5.3 ODBC5.3 ODBC技术技术4单击【下一步】按钮弹出如图5-8所示的对话框选择登录方式。
在这里选择第二种方式“使用用户输入登录ID和密码的SQLServer验证”方式输入数据库的用户名称和密码。
单击【下一步】按钮。
图5-8 ODBC数据源设置之四5.3 ODBC5.3 ODBC技术技术5系统弹出如图5-9所示的对话框选择“更改默认的数据库为”
列表框找到books_management数据库单击【下一步】按钮。
图5-9 ODBC数据源设置之五5.3 ODBC5.3 ODBC技术技术6这时系统弹出如图5-10所示的对话框选择SQLServer数据库支持的语言以及其他一些选项单击【完成】按钮。
图5-10 ODBC数据源设置之六5.3 ODBC5.3 ODBC技术技术7在创建完成数据源之后进行数据源选项的测试如图5-11所示。
图5-11 ODBC数据源设置之七5.3 ODBC5.3 ODBC技术技术2ODBC数据源的连接ODBC数据源配置完成后就可以与客户端程序进行连接了。
连接用来保持正在访问数据的一些状态信息以及连接者的信息。
在客户端程序中要访问数据库必须先创建与数据库的连接然后打开连接该数据库才真正可用。
5.4 ADO5.4 ADO技术技术5.4.1 OLE DB和ADO概念–ODBC在数据库编程方面是一个很大的进步它定义了简单的运行时接口可以用来进入和使用许多种类的数据库。
然而ODBC也有一些缺陷如ODBC是一个基于过程的接口它的整个ODBC接口的定义是由一些函数所构成的不方便编程人员的
学习和使用并且它还不易扩展和集成。
为此Microsoft公司提供了一种对各类应用程序均适用的、采用ODBC接口、通过结构化
查询语言SQL对数据库进行访问操作的总体方案即OLE DB。
它是一组组件对象模型COM接口是一种数据访问的技术标准封装了ODBC的功能目的是提供统一的数据访问接口。
–OLEDB将传统的数据库系统划分为多个逻辑部件部件间相对独立又相互通讯。
5.4 ADO5.4 ADO技术技术1消费者Consumers。
消费者是使用OLEDB对存储在数据提供者中的数据进行控制的应用程序。
除了典型的数据库应用程序外还包括需要访问各种数据源的开发工具或语言等。
2提供者Providers。
提供者是暴露OLEDB的软组件。
提供者大致分两类即数据提供者DataProviders和服务提供者ServiceProviders。
3业务组件BusinessComponent。
业务组件是利用数据服务提供者专门完成某种特定业务信息处理的、可重用的功能组件。
5.4 ADO5.4 ADO技术技术2ADO–ADOActiveXDataObjects即ActiveX数据对象技术构建于OLEDBAPI之上提供一种面向对象的、与语言无关的应用程序编程接口。
–ADO的应用场合非常广泛且支持多种程序
设计语言不仅兼容所有的数据库系统而且提供相同的处理方法。
ADO不仅可在VisualBasic这样的高级语言开发环境中使用还可以在服务器端脚本语言中使用这对于开发Web应用在ASPActiveServicePages的脚本
代码访问数据库中提供了操作应用的捷径。
ADO是一个ASP内置的服务器组件它是一座连接Web应用程序和OLEDB的桥梁运用它结合ASP技术可在网页中执行SQL命令达到数据库访问的目的。
ADO最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。
ADO在关键的应用
方案中使用最少的
网络流量并且在前端和数据源之间使用最少的层数所有这些都是为了提供轻量、高性能的接口。
如图5-12所示显示了ADO与OLEDB以及ODBC之间的联系。
5.4 ADO5.4 ADO技术技术应用程序ADOOLE DBODBC驱动非关系数据MailVideoText等OLE DB驱动关系数据SQL ServerOracle等LOEDB/ODBC桥图5-12 ADO应用模型5.4 ADO5.4 ADO技术技术5.4.2 ADO功能ADO支持开发C/S和B/S应用程序的关键功能包括1独立创建对象。
使用ADO不再需要浏览整个层次结构来创建对象因为大多数的ADO对象可以独立创建。
这个功能允许用户只创建和跟踪需要的对象这样ADO对象的数目较少所以工作集也更小。
2成批更新。
通过本地缓存对数据的更改然后在一次更新中把它们全部写到服务器。
3支持带参数和返回值的存储过程。
4不同的游标类型。
包括对SQLServer和Oracle这样的数据库后端特定的游标的支持。
5可以限制返回行的数目和其他的查询目标来进一步调整性能。
6支持从存储过程或批处理语句返回的多个记录集。
5.5 C/S5.5 C/S体系结构的网络数据库应用
系统体系结构的网络数据库应用系统开发开发5.5.1 C/S体系结构的开发环境1开发环境的选择原则1符合各种主流的技术标准。
2符合企业信息化的整体技术战略。
3符合未来技术的发展方向。
4满足开放性、可扩充性的要求。
5与现有的应用系统具有良好的兼容性。
6与最终的应用环境尽量一致。
5.5 C/S5.5 C/S体系结构的网络数据库应用系统体系结构的网络数据库应用系统开发开发2硬件环境1服务器。
在C/S结构的应用系统中服务器主要用来进行数据存储、管理响应客户机的请求并提供相应的服务因而服务器的选择首先要考虑其可靠性、安全性及并发能力。
一般而言选择服务器时还要考虑以下几个性指标1可管理性。
2可用性。
3高性能。
4可扩展性。
5模块化。
5.5 C/S5.5 C/S体系结构的网络数据库应用系统体系结构的网络数据库应用系统开发开发2客户机。
在C/S结构的应用系统中开发的着力点在客户机因此客户机负担也相对较重用户可根据客户端所承载的应用来选择客户机。
由于目前PC机性能越来越高而且使用灵活、兼容性好支持大量流行的开发工具因而一般选取PC机作为客户机。
3网络拓扑结构。
基于C/S体系结构的数据库应用系统由于其本身的特点限制一般适合于安全性要求高、使用范围小、地点相对固定且要求处理大量数据的场合。
因此可选择局域网LANLocal Area Network作为开发和应用的网络平台而LAN
常用的网络拓扑结构一般有以下3种1星形结构。
2总线形结构。
3环形结构。
5.5 C/S5.5 C/S体系结构的网络数据库应用系统体系结构的网络数据库应用系统开发开发3软件环境基于C/S体系结构的数据库应用系统开发的软件环境一般应满足下述原则1采用目前成熟的开发技术开发环境规范便于调试。
2平台搭建与实际运行环境一致便于投入使用。
3保证数据高度共享、高度安全方便扩充、维护4采用先进、高效的面向对象的分析和设计方法保证开发的应用系统具有极高的可维护性和可靠性。
5充分考虑软、硬件之间及操作系统与其他软件之间的兼容性。
5.5 C/S5.5 C/S体系结构的网络数据库应用系统体系结构的网络数据库应用系统开发开发5.5.2C/S体系结构的网络数据库应用系统的开发步骤基于C/S体系结构的网络数据库应用系统的开发过程可采用结构化方法及面向对象相结合的方法来开发一般按下面步骤进行1系统开发准备2需求分析3概要设计4详细设计5系统实施与转换6系统维护和评价在上面的开发步骤中用户对象、函数、结构、窗口、菜单、数据窗口等对象的创建步骤可以按照用户的开发习惯进行选择。
1名词解释客户机服务器中间件ODBC2C/S结构有哪些技术特点3简述客户机、服务器、中间件的主要功能。
4简述ODBC的结构和组成。
5什么是驱动程序管理器其主要功能是什么6DBMS驱动程序有哪2种类型主要区别是什么7什么是ODBC数据源有哪3种类型8什么是OLEDB它的基本功能是什么9什么是ADOADO支持开发C/S和B/S应用程序的关键功能有哪些10C/S体系结构网络数据库应用系统的开发环境的选取原则是什么11C/S体系结构中的硬件、软件如何选择12开发C/S体系结构的网络数据库应用系统的步骤有哪些