三层架构开发中遇到的问题!请高手帮忙解答,谢谢!
先介绍一下我们的系统、改架构的原因,以及程序在三层中的架构思想:
系统:用于生产制造业的ERP,包括:业务、生产、需求计划、采购、品质、仓库、销售、成本、客户关系、人事考勤薪资等模块。数据库是SQL2000。
改架构的原因:主要是因为用户数量的原因,目前有客户用户数超过200了,用两层速度很慢。
三层中的架构思想:
1、客户端:实现所有用户对数据的新增、修改、删除、查询等简单操作。
2、中间层:用ADOConnection进行数据库连接,ADOQuery做数据集,TDataSetProvider做连接;用多个远程数据模块来放各个业务功能中的数据集,这样便于统一管理维护,因为数据表很多,500多个。在两层中这是一定要做的。
3、除简单数据添加删除操作之外,其它数据处理,如:转单,单据自动生成,数据分析,汇总查询等都在中间层实现,把所有业务逻辑放在中间层。
上面是大致思想,不知道这样对不对,请有经验的朋友指教一下。
因为首次接触三层,好多技术细节不明白,也没有经验,所以请大家多多指教。
另外,在实作过程中,参照了李维的《Delphi 5.x 分布式多层应用系统篇》一书,但还是遇到了一些问题,想向大家求教:
1、中间层中Type Library的使用还是不太清楚,上面那些快捷按扭各自新建相关的对象,具体怎么用呢
2、关于接口的说明也还是很糊涂。比如,在接口下面新建一个方法之后,这些代码在哪里去实现;
3、我看到别人的程序,在中间层除了数据模块之外,还有很多PAS文件,里面也有相关逻辑运算,客户端是怎么于这些单个的PAS文件中的方法联系起来的?
4、我想建多一些远程数据模块,把每个业务功能模块中要用的数据集放在各自的远程数据模块中,在客户端用SharedConnection来连接,这样统一管理维护。但是不知道怎么来实现,要怎么配置不清楚。
5、在建第一个远程数据模块的时候,系统自动生成了一个PAS文件,一个接口,可以在里面加入自己的方法,这个方法有参数,类型、返回值等,那些类型是针对于Windows的吧,和Pascall的不一样,这个我明白,因为中间层是一个COM组件,要想通用肯定类型也要和平台统一。但是如果我要返回自定义类型,可不可以呢?哪些自定义类型可以返回?
6、为了实现上面第4点中的想法,我又新建一个远程数据模块,想实现多个数据模块让客户端连接,可是我发现在DCOMCNFG中多出了我另外新建的这个数据模块的名字,这是为什么?一个EXE文件运行过后,在DCOMCNFG中出现了两个。我看到别人的程序里面有多个数据模块,但中间层运行过后在DCOMCNFG中只有一个组件服务器呀。
三层架构的书太少了,好多知识都没有讲到,网上搜也都只是做一个三层的简单的程序做示范,好多深入的内容都不提,但是在实作的时候就很棘手了。李维的书上有讲,但像这些细节也没提。所以在这里把问题散出来,希望大家帮帮我,谢谢!
相关推荐
SQL三层架构的解答
关于SQL的三层架构的讲解,有助于理解SQL
三层架构,够不够---DDD眼中的三层架构(附C#源代码实现)
发布于2012-5-8相对于目前日新月异的新概念,新名词,三层架构已经算得上元老了。虽仍有争议,但业界更多的是共识。足够简单、清晰,我仍要提醒的是,注意层之间连线的箭头,非常之重要,借用UML的定义,箭头表示依赖关系。也就是说,必须先有数据层,才有业务层,然后才有表现层。这又怎么样,小问题。不,这是一个大麻烦!我们暂时靶这个话题放一放,挑个比较新一点的东西。业务域驱动开发(DDD)近年也是风生水起,红红火火,但它是什么,是怎么回事,似乎就不如三层架构那么妇孺皆知了。以业务域为系统的核心,所有其它与业务无关的内容对这个核心来谈,都是外部服务/功能。这里,出于本文说明的需要,独立出了两个较为特别的
Delphi XE7手机三层DEMO
Delphi XE技术:Datasnap三层 Server端: windows 8操作系统下win 32应用程序; TServerMethods1中,定义了过程(参数strSQL为SQL语句):function MyGetData(const strSQL: string): OleVariant;过程中,使用了TClientDataSet数据集的Data属性回传数据; Client端: windows 8操作系统下win 32应用程序以及安卓中的apk 优点: delphi程序员可直接开发安卓、IOS与windows程序 缺点: 安卓环境下程序很大……
.net三层架构.rar
.net 三 层 架 构 初 学 者 实 用,老鸟可以提高。可以直接拷贝的项目,添加使用。后续又更多学习资源, 希 望 大 家 互 相 学 习 , 多 提 宝 贵 意 见。
西门子LOGO!常见问题解答.rar
西门子LOGO!常见问题解答rar,西门子LOGO!常见问题解答


数据库相关
