你说的是一个,真三层的模型,就目前国内的山层应用的情况,来看,真三层的用的是少之又少,   先看看他的模型:     1.数据库端,只是一些简单的update,select,语句,这样数据库的,效率就得到了极大的提高。     2.中间件(即应用程序服务),将采用智能agent模式,封装了所有的商业规则,一个agent,客户端的所有商业交易过程,都交由agent
来实现,agent实现所有客户端的角色操作,

解决方案 »

  1.   

    谢谢airhorse(编程至尊宝)。 
    还是不懂,欢迎继续讨论
      

  2.   

    我们现在正在做呢(基于COM+的,和李维书中所说的三层还是有区别的,没有用到delphi的提供的构件,win32界面层倒是用到了ADO夹中的TADOQuery等)
    数据层,只是单一的Insert delete select等等,做了一个可池化的数据库连接组件,集中执行sql
    中间层,提供逻辑组件,一般按照功能划分;每个组件包含多个方法,每个方法提供一个外部调用,完成一项操作。
    表示层,是I/O和界面控制,我们按照用户的需求,提供win32见面和web页面。web页面使用ASP。
      

  3.   

    To slx_7(稻草人):
    数据层如何做一个可池化的数据库连接组件?
    中间层完成一项操作,操作什么?该不会是调用存储过程完成数据处理吧,那我何不
    从表示层直接调用存储过程来得快捷。
      

  4.   

    我做了一个三层的tour系统,前台为客户查讯交款等;中间层包括远程数据模块,以及出错处理
    事务控制,容错处理,付载平衡等等。当然还有一个Database server application
      

  5.   

    请有开发经历的大虾详细讲讲中间层与数据层之间的分工
    中间层要完成什么,数据层要完成什么,怎么规划中间层
    我现一个项目用W2k+Delphi5(ADO)+ COM+ +Sql7,我对采
    用三层模型的必要性有些疑义!?
      

  6.   

    根据我的理解,我举一个简单的例子:
      有10个终端,一台服务器
      你的应用程序服务器放在服务嚣上运行,(当然也可以放在任何一台终端上运行)。
      你的应用程序服务器中有一个database、query、datasetprovider控件
      你的应用程序服务器有一个函数,就是根据用户传来的id号改变query中的内容,使之查找负责人是本号的固定资产。
      终端应用程序有一dbgrid显示应用程序服务器中Query的结果。
      好了,现在这10个人同时在各自机器上以不同id号登录,同时执行本查询。将得到不同的结果。
      这个查询函数就是很抽象的商业规则。
      也许你会认为10个人同时操作时,Query中的内容得乱了套,但事实上,它没有让你失望,这也是midas技术的魅力所在。
     
      

  7.   

    我的理解:
    如果同时执行查询的话,组件对象同时只会服务于一个用户,另一个用户应该处于等待状态,直到这个用户执行完毕,才会释放这个查询的连接,除非创建这个对象的多个实例,我想跟多线程差不多吧,而MIDAS或MTS/COM+都运用到线程,所以能同时服务于多个用户。另外当启动对象出现错误,COM+对象会改变你身份,在组件管理器里面,你会发现没有了关闭或启动的权限,只能重新登录。还望有其它大哥的看法,以后给分。