免费获取|
论文天下网
  • 论文天下网 |
  • 原创毕业论文 |
  • 论文范文 |
  • 论文下载 |
  • 计算机论文 |
  • 论文降重 |
  • 毕业论文 |
  • 外文翻译 |
  • 免费论文 |
  • 开题报告 |
  • 心得体会 |

当前位置:论文天下网 -> 免费论文 -> 计算机论文

分布式多层数据库系统的应用(二)


 第四部分 毕业设计内容
 
4.1分布式多层数据库开发简介
 Delphi提出的MIDAS(Multi-Tier distributed Application Services Suite多层分布式应用服务器组),是把原来Two- Tier数据连接放到了服务器端的COM组件上,客户端只剩下了执行文件和MIDAS.DLL,前台和服务器上的COM组件,通过DCOM机制互相沟通。
 这个多的一层,称为应用程序服务器(Application Server),或者称为中间件。整个工作机制见下图:
 
 这种多层分布式工作机制,主要基于这样几点考虑:
减少客户机的维护量,因为前台程序比较简单;
 把企业逻辑封装在通用的中间件应用服务器中,不同的客户都可以共享同一个中间层(包括Web),而不必每个客户都单独实现企业规则,避免了重复开发和维护的麻烦。由于客户程序相当瘦(这就是现在流行的瘦客户机概念),无论是开发还是发布,都变得简单了。
便于升级,当中间件升级的时候,客户程序可能不需要变化;
实现了分布式数据处理,把一个应用程序分布在几台机器上运行,可以提高应用程序的性能,也可以把敏感部分封装在中间件,为不同的用户设置不同的访问权限,增强了安全性。
减少直接连接数据库的用户数目,减少费用。
 在Delphi 6.0上,在原来的MIDAS基础上,发展了DataSnap技术,在很多细节方面,它提供了原来MIDAS所没有的许多功能,使用上更加方便了。
 DataSnap主要提供客户端和中间件之间的通信,不但支持COM+技术也支持TCP/IP或者CORBA,它们使用类似的界面和方法,其结果由程序自动完成,这就大大扩充了它的应用范围。
 必须要提醒的是,前台机器上除了应用程序以外,还必须把一个MIDAS.DLL文件复值到前台机器上,这个文件在服务器的WINNT\System32目录下。
 
4.2 服务器端程序的建立

    服务器端程序实际上是个COM 工程,它本身连接数据源,再通过接口与客户端联系,这个COM 工程必须注册在服务器上。
 首先建立一个空白的工程,在工程里放置一个Adoconnection组件。然后再建一个远程数据模块file -> New -> Other -> Multitier -> Remote Data Module(远程数据模块)。   Coclass Name : libserver ,Instancing  :执行模式,大部分用Multiple Instance(多重实例),Threading Model:线程模式,建议用Apartment(单元),产生一个窗口,在这个窗口里,可以放入数据控件。
    在Viwe -> Type Libray 中,我们可以看到这个COM 的一些特性。我们也可以记下系统提供的GUID,以备后来使用。加入一个ADOTable,并设置其指向一个数据库。再设置一个DataSetProvider(在DataAccess页)指向ADOTable,这就完成了服务器端的程序设计。
保存,编译,注册(注意,只要运行就自动在本机注册了)。

4.3 客户端程序的建立

    在Two-Tier模式中,客户端(Client)程序是直接和服务器的数据源相连的,而Multi-Tier模式,多个客户端连接的是一个应用程序服务器,因为收费是按客户端数计算的,所以,数据库的使用费用比较低。
    1)建立一个普通的工程。   
 2)放置一个TDCOMConnrction控件(在Datasnap页),属性:在本机注册时,可直接设置以下属性:ServerName:应用程序服务器注册名(server.libserver)   ,Connected=true。这时你可以看到服务器端的COM 程序被激活了。如果在网络上调试,需要给出服务器名:ComputerName:服务器名(自动给出网上邻居)注意: ServerGUID的GUID值是自动给出的。
 3)放置一个TClientDataSet控件(在Data Access页),属性RemoteServer= DCOMConnrction1,ProviderName:=DataSetProvider1(服务器端将被激活),Active=true (激活后将能正常连接)
    4)放置TDataSource,属性:Dataset:指向cdsCustomer。
 这样一个客户端程序就建立好了,其余犹如普通的数据库设计。
 
4.4  客户端实现SQL 查询

    由于在客户端不存在TQuery控件,似乎客户服务器模式是无法做SQL查询的。但是,Delphi很好的解决了这个问题。事实上,只要客户端连接上服务端应用程序,客户端的TClientDataSet就包含了一个名字为Provider的属性,对应到服务器端DataSetProvider的所有默认属性和方法,其中DataSetProvider有一个Options属性,只要让其中的poAllowCommandText=true, 那么,DataSetProvider的poAllowCommandText就可以接受前台来的SQL 命令,并传送给TQuery。
    可以看出,真正传递数据的是DataSetProvider的接口,所以,用这个接口搭建传递SQL 的桥梁是必需的。客户端进行SQL 查询的方法是:
      ClientDataSet.Close;
      ClientDataSet.CommandText := 'SQL语句';
 ClientDataSet.Open;
 
4.5 动态连接应用程序服务器的实现
 
  客户端程序在运行时,需要连接应用服务器程序以取得服务。但是,在系统实际应用的时候,运行应用服务器程序的计算机是经常改变的,因此在客户端程序启动时,应该先找到运行应用服务器程序的计算机的设置。动态连接应用服务器的流程类似于12.3节的动态数据库连接,动态连接应用服务器程序的流程图14-1所示。
 掌握了动态连接应用服务器的流程,就可以具体实现它。下面就将分步骤介绍动态连接应用服务器的实现过程。
在Delphi中新建一个窗体,将单元文件保存为connect.pas窗体的Name属性设为fm_serconfig,Caption属性设为”服务器配置”,运行后窗体如下图所示。
 
 (2) 在“连接设置”窗体中,需要输入应用服务器主机名(

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 2/8/8

相关论文
上一篇:delphi医嘱管理系统[开题报告+论.. 下一篇:商品销售管理系统论文
推荐论文 本专业最新论文
Tags:分布式 多层 数据库 系统 应用 【返回顶部】

相关栏目

自动化相关
计算机论文
工程管理论文
法律论文
医学论文
人力资源
电子专业
电气工程
英语论文
行政管理
电子商务
社科文学
教育论文
物流专业
金融专业
财务管理
会计专业
化学化工材料科学
电子通信
环境科学
经济类
机械模具类
报告,总结,申请书
其他专业论文


关于我们 | 联系方式 | 论文说明 | 网站地图 | 免费获取 | 钻石会员 | 原创毕业论文

 

论文天下网提供论文检测,论文降重,论文范文,论文排版,网站永久域名WWW.GEPUW.NET

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 893628136@qq.com

Copyright@ 2009-2022 GEPUW.NET 论文天下网 版权所有