三层体系结构中应用服务器端接口设计的大讨论(100分)

  • 主题发起人 主题发起人 p_jz
  • 开始时间 开始时间
P

p_jz

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手,大家好.三层体系结构的设计是当前的热门话题.应用服务器的设计更是重中之重.
所以想请大家在此发表高见,互相交流一下.
 
中间件的设计是关键的,呵。。我现在除了会在中间层加一些操作数据库方面的功能
和系统维护方面的功能外,对什么在中间件上实现企业逻辑,我现在还是不太会应用。
哪位有方面的经验请发表看法。
 
三层结构中最关键的是中间层,是业务逻辑表现的地方,各层应做到相互独立,
这样才程序更加灵活,适应用户需求的变化。当然,我也在探索三层结构的设计与应用,
希望能与各位经常交流,探论。
 
设计中间件时封装多个对象,然后在远程方法中调用这些对象
 
我的做法是分开的,例如:生管、人事、物料等的COM+均分开为独立的。这就是所为的企业逻辑。
 
协调对象,控制对象如何管理其它对象,包括协调对象,控制对象模块用什么建立
 
MTS调用、管理。
 
我也一直在考虑这个问题,我想大家可以看一下ADO,ADO的实现本身是COM,ADO可以说
是很成功的。我感觉它提供的对象、接口对于我们都很清晰,我们写COM+组件也便是
这个方向。
 
中间件应该处理大量的应用逻辑,用户只需发出请求,但我做的并不成功,中间件只作了与
数据库的接口,还有并发数不能超过十个,不知道如何解决。
 
这是个很有意思的问题。
 
ADO确实很成功
 
李维说不应在一个接口中定义所有的方法和属性,
定义多个接口也不是最好的选择。
他说应使用许多不同的企业对象来共同完成工作,这应该在分析阶段就被设计好。
我不明白的是怎样用企业对象管理,请具体一点说。怎样实现?
 
我觉得delphi5的pooler例程对我们有些启示:
它的客户端是连接一个容器对象(其实是automation object),
而这个容器对象必须解受一个协调对象(poolmanager)(其实是object)的管理;
当容器对象中存在接口资源时,poolmanager就生成一个rdm给用户(这个rdm是个内部线程,
客户端不能直接访问.这就有利于实现资源的重用)
....
暂时理解到这里,请大家指正!!
 
其实使用物件导向跟使用数据导向是很不同的,在Delphi中的实现也大不相同,至于你要
怎么干,那就看你知道多少,了解多少,可以怎么去干了。
 
我现在也在做三层的程序,但是总觉得无法把业务合理的分成不同的对象。
比如说提交一张出库单,
1:商品库存中数量减少
2:然后提交出库单记录。此时需要判断库存数量,如果不足不能提交出库单。
应该把1、2两步放在一个业务对象中由服务器处理。
还是分成两个对象,让客户端自己做。
服务器处理,如何方便的在用户提交数据时处理错误信息并返回客户端。
客户端处理,失去 独立处理业务逻辑 的优势
 
应该是把商业逻辑都放在服务器端的。
 
在RemoteData中实现了多个接口,在客户端如何调用
 
同意CJF的观点,这也应该是标准做法。
不过实际作的过程中,还是有些让人手足无措的感觉,还请高手能传授些经验 :)
 
我的想法是相重的数据库模块。结构如下:
Client--->RemoteServer------>MTS------>RemoteServer-------->DataServer
客户端 远程模块(接口) 远程模块(数据库) 实际数据库
这只是暂时的想法,请提出意见。
 
三层结构"似乎"是潮流!
但编程并不是赶潮流,所以还得看看那种方式比较有利于解决你的问题。
如果是一些比较简单的,那就用不着牛刀。
nTier只有在复杂的企业逻辑中才会发挥出作用。
 

Similar threads

后退
顶部