一种多层结构在Delphi中的实现方法

文档序号:6346190阅读:502来源:国知局
专利名称:一种多层结构在Delphi中的实现方法
技术领域
本发明涉及一种多层结构在Delphi中的实现方法,特别涉及的是DELPHI中怎么利用MDIAS技术实现。
背景技术
在传统的二层C/S结构数据库应用中,客户端的机器执行应用程序,连接到后端的数据库服务器中存取应用系统所需资料,因为应用系统的企业逻辑都编写在客户端的应用程序中,造成客户端非常臃肿,且当应用系统需求改变时,所有在客户端的应用程序都必须改变,使维护成本太高。多层结构是因网络发展的需要而出现的产物,运用面向对象技术,分离用户界面和企业逻辑,解决了两层结构的维护成本高,客户端臃肿等弊端,且改善了延展性。在Delphi中采用MIDAS技术,运用C0M/DC0M/C0M+或CORBA标准,为多层结构的开发提供了强大功能,增加了开发人员的生产力。为了解决这些问题,多层结构应用体系应运而生,即在传统的二层C/S模型中放入应用程序服务器。应用程序服务器简单地说就是一个包含企业逻辑的应用程序,开发人员以一种特定的组件形态,如 Microsoft C0M/DC0M, CORBA 对象,或 Enterprise JAVA Bean等,封装企业逻辑的程序代码,这种经过封装,能够执行特定企业功能的对象被称为“企业对象”,把这些企业对象分发到应用程序服务器中,开发人员在开发应用程序时就可以使用这些企业对象提供的服务。分布式多层结构把整个应用系统的执行分成数个不同部分并且执行在不同的机器中。其中应用程序服务器作为中间层集中实现企业逻辑,协调多层之间的请求,并掌握数据集定义的全部细节和远程数据库服务器进行通信,这样客户端应用程序就重点放在显示数据和与用户交互上,客户端应用程序甚至都不需要知道数据在那儿。

发明内容
基于上述问题,特此发明一种多层结构在Delphi中的实现方法;在Delphi中多层结构的基础是 MIDAS (Mult1-tier Distributed Application Service Suite,多层分布式应用服务器组)技术。MIDAS是一些不同技术的集合,无论是应用程序服务器还是客户端,MIDAS技术需要DBClient.dll和MIDAS, dll的支持,这两个动态链接库用于管理数据包,发布MIDAS应用程序时需要发布这个义件。基于MIDAS的多层结构依然分为客户端应用程序,应用程序服务器和远程数据库服务器,MIDAS的数据库应用程序需要一些特殊组件,这些组件共分为4类:(I)远程数据模块。位于服务器端,作为COM服务器或CORBA服务器让客户端应用程序访问它的接口。(2) DataSetProvider组件。位于服务器端,提供IAppServer接口,客户端应用程序通过IAppServe接口获得数据。
(3)连接组件。位于客户端,包括 DCOMConnection, SocketConnection,CORBAConnection, OLEnterpriseConnection,MIDASConnection 和 RemoteServer 等连接组件,为客户端应用程序定位应用程序服务器和IAppServe接口。(4) ClientDataSet组件。位于客户端,访问服务器端的IAppServe接口,它是从TdataSet继承下来的组件。客户端应用程序通过IAppServe接口与应用程序服务器通讯,通讯协议为DC0M,TCP/IP, HTTP, OLEnterprise和C0RBA。通讯协议因客户端的MIDAS连接组件及应用程序服务器上的远程模块不同而不同。在结构上,客户端应用程序通过标准数据控制组件与用户交互,但是它是通过应用程序服务器提供的IAppServe接口获得数据,也是通过IAppServe接口更新数据。所谓“度”客户即指不依赖BDE的数据集(TClientDataSet组件)构成的客户端应用程序。TClientDataSet组件是从TDataSet派生出来的客户端数据集组件,它扮演了与TTable或TQuery同样的角色,但它不需要BDE,它把通过IAppServe接口获得的数据在客户端内存中建立副本,对数据进行操作。直接访问远程数据库服务器的是应用程序服务器。应用程序服务器的关键部件是远程数据模块,在远程数据模块上,TTable, TQuery等BDE数据集组件通过BDE与远程数据库服务器连接访问数据库,DataSetProvider组件输出IAppServer接口,DataSetProvider组件通过DataSet属性与数据集组件相连,这样客户端通过IAppServer接口就可以访问数据。具体实话方法建立多层结构应用系统,必须先建立应用程序服务器,并运行注册之,再建立客户端。下面就以笔者创建的一个三层结构为例来介绍用D elphi实现三层结构的步骤。(假设在应用程序服务器上已设好BDE连接,连到远程数据库服务器。)一、建立应用程序服务器。(在应用程序服务器上建立)(I)使用File菜单下的New Application建立一个新应用程序。(2)创建远程模块。使用File菜单下的New打开New Items对话框,在Multitier选项下,双击 Remote Data Module,设置 Classname 为 rdm, Instancing 及 ThreadingModule属性取默认值。(3)在该远程模块上放一个Queryl (Tqueyr组件),DatabaseName属性中指定为要访问的数据库,如“出版社”。在该远程模块上再增加一个DataSetProviderl (TDataSetProvider 组件),DataSet 属性设为 Queryl, Options 属性中令 poAlloCommandtext 为 true。(设为true,贝U客户端应用程序中TClientDataSet的属性commandtext中的SQL语句就可以通过IAppServer接口传递。)至此,应用程序服务器已创建完毕,运行该应用程序服务器在系统中注册它,在应用程序服务器上运行ScktSrvr.exe文件,这样今后客户端程序就可以调用该应用程序服务器。二、创建客户端应用程序。(在客户端机器上创建)(I)建立数据模块。使用File菜单下的New Application建立一个新应用程序。在New Item中双击Data Module建立一个数据模块(命名为dm),在该模块上放一个连接组件SocketConnectionl (TsocketConnection组件),其IP属性中指定应用程序服务器的IP地址,在Port属性中取默认值211,在ServerName属性中设置应用程序服务器(在这里,应用程序服务器就是上面创建的名为rdm的应用程序服务器。),这样就可以定位应用程序服务器和 IAppServer 接口。在 dm 数据模块上再增加一个 ClientDataSetl (TClientDataSet 组件),其 RemoteServer 属性设为 SocketConnectionl,ProviderName 为 DataSetProviderl。保存该unit为dm。(2)创建用户界面。使用File菜单下的New Form新建一个unit,在该unit中引用上面建立的数据模块单元dm。在用户界面Form上添加DataSourcel (TdataSource组件),其DataSet属性设为dm.ClientDataSetl,即上面数据模块中的客户端数据集组件。添加一个 DBGridl (TDBGrid 组件),DataSource 属性设为 DataSourcel。添加一个 Bttonl 组件,caption属性为“查询”,其click事件中程序代码为:
procedure TForml.Buttonlclick(sender:Tobject);begin
with dm.ClientDataSetl do begin
close;
commandtextselect * from 书’;open;
end;
end;至此该三层结构已创建完毕,保存运行客户端应用程序,点击查询按钮(即Bttonl按钮),则客户端应用程序将激活应用服务器程序,通过IAppServer接口把dm.ClientDataSetl中的SQL语句传到Queryl,Queryl通过BDE访问数据库服务器,查到的数据再通过IAppServer接口传给dm .ClientDataSetl,并在DBGridl上显示出来。
权利要求
1.一种多层结构在Delphi中的实现方法:该方法主要是DELPHI的多层结构的基础是MIDAS (Mult1-tier Distributed Application Service Suite,多层分布式应用服务器组)技术调用方法。
2.根据权利要求1的多层结构在Delphi中的实现方法,此方法主要基于MIDAS的多层结构依然分为客户端应用程序,应用程序服务器和远程数据库服务器。
全文摘要
一种多层结构在Delphi中的实现方法一种分布式多层应用体系的结构、特点及实现技术。分析了用Delphi实现基于MIDAS技术的多层结构及其实现的一种方法。在Delphi中多层结构的基础是MIDAS(Multi-tier Distributed Application Service Suite,多层分布式应用服务器组)技术。MIDAS是一些不同技术的集合,无论是应用程序服务器还是客户端,MIDAS技术需要DBClient.dll和MIDAS.dll的支持,这两个动态链接库用于管理数据包,发布MIDAS应用程序时需要发布这个文件。基于MIDAS的多层结构依然分为客户端应用程序,应用程序服务器和远程数据库服务器。
文档编号G06F9/44GK103092586SQ201110344920
公开日2013年5月8日 申请日期2011年11月1日 优先权日2011年11月1日
发明者杨际荣 申请人:镇江华扬信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1