|
盒子资源分类 |
|
|
|
|
DCNF for Delphi 多层应用开发套件(2008.06.03) 增加对Delphi 7 支持 |
|
关键字:Delphi Midas |
来 自:原创 |
平 台:Win2k/XP/NT,Win2003 |
下载所需:0 火柴 |
深浅度:中级 |
完成时间:2008/5/28 |
发布者:vinson_zeng |
发布时间:2008/6/3 |
编辑器:Delphi7;Delphi 2006 |
语 种:ENGLISH |
分 类:数据库 |
下载浏览:2266/14228 |
|
|
|
|
DCNF for Delphi 多层应用开发套件
DCNF 采用RSOMC(Remote Service Object Method Call)远程服务对象方法调用机制,分层结构实现. 1.网络通信适配层 2.服务对象管理层 3.应用业务层(For Delphi VCL 组件)
容易学习,灵活的扩展机制.兼容原有的应用开发环境(譬如:VCL DB 控件), 利于旧系统迁移(大部分成熟的应用软件都是C/S结构,其业务功能非常完善, 为了能在互联网上直接使用,技术解决方案大部分为VPN,远程桌面等, 采用第三方支持技术实现,加重用户使用运维成本,并没有直接提升产品本身价值) 所以采用一种平滑的迁移技术方案,从而提高产品的竞争优势,延长产品生命周期.
传统Win32客户端应用模式 Win32 GUI Client->Application Server->Service Object Adapter->Service Object Pool(Stateless)->DBMS(Oracle,DB2,MS-SQL..)
浏览器客户端模式 Web Browser(IE/Firefox)->Web Server(IIS)->Application Server->Service Object Adapter->Service Object Pool(Stateless)->DBMS(Oracle,DB2,MS-SQL...)
3.1.基于记录行级的提交(Insert,Delete,Modify)前后事件触发机制 在成熟的C/S结构中,大部分的业务逻辑都是在数据库端以储存过程或者触发器等机制实现. 而作为面向Internet的多层结构应用,严格来说,业务逻辑应该在应用层实现,而不是数据库 端.譬如:销售订单审核,业务实现是将表头某个标记字段值改变同时触发执行其他业务逻辑. 如果应用层直接提供触发机制,那么在应用层封装业务逻辑非常容易,相反,那就得在数据库中 实现了.
3.2.自动记录分页 为什么要将记录分页?在大部分的C/S结构应用软件中,几乎是没有这种机制,因为基本上C/S 结构应用软件的测试/生产环境都是在本地局域网中,通信质量是可以保证的(但是我们经常会 听到用户说,系统越用越慢,可想而知,数据可是每天都在增加,而带宽可不是.这时候软件产商 大部分都是建议用户做硬件升级来解决).那么在Internet环境中,通信质量就更重要,就如Google 一样,如果10000个用户同时都键入"中国"来搜索,然后将所有查询结果全部一次性下载到本地, 估计Google的服务器得趴窝.
3.3.多表一次性提交和自动事务管理 我们都知道Midas中的TClientDataSet提供ApplyUpdates方法用于将变动过的记录集提交保存. 但是并不支持多表关联一次性提交.譬如:销售订单有表头和订单明细组成,在提交张订单的时候, 如果表头提交成功而订单明细提交失败那就麻烦了.
3.4.无状态自动数据代理 一说用Midas实现多层结构应用,我就想到TRemoteDataMoudle中一堆的 TClientDataSet/TDataSetProvider/TDataSet控件,导致无论开发还是维护都费时费力. 采用无状态数据代理模式,简化应用层的服务实现.提高产品的开发与维护质量.
安装使用DCNF开发套件之前,请确认将 将文件 dcnf_win32.dll 已存在system32目录,并已使用regsvr32.exe 注册 dcnf_win32.dll.
Demo 程序提供的是在Delphi环境应用开发中最常见的单表和主从表在DCNF模式下的处理实现. |
|
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们! |
相关文章 |
|
|
|
相关评论 |
|
共有评论18条
当前显示最后6条评论
|
zh2000 |
2008/6/6 12:08:41 |
请问如何处理 DBX? 能否发个 DBX 的 DEMO...呵呵 3afax@163.com ...3Q |
vinson_zeng |
2008/6/6 23:29:49 |
To zh2000: 使用其他数据库驱动,主要是调整 uBasis_SvcObject.pas 中对应的数据库连接定义, 代码我已发出,如果还有什么问题,欢迎大家一起探讨:)
呵呵,DCNF 并没有指定使用那种数据库驱动,因为ADO比较普遍,所以在创建Demo 的时候,我就直接用了ADO. |
zh2000 |
2008/6/8 14:22:42 |
3Q....看来要慢慢研究一下...呵呵 |
donghaixiaoxiao |
2008/6/24 8:57:28 |
拿一堆的Dcu来干啥?要是广告。你就直接说广告好了 |
handsuninfo |
2008/7/8 17:46:46 |
怎么收费?了解一下 |
lyqf |
2010/10/18 8:58:37 |
这类软件不敢用的 |
我要发表评论 |
查看全部评论 |
|
|
|