三层模式,几个客户端模块,安装在不同的客户机上,完成不同功能,中间服务器端用DCOM实现,后台SQLServer2000
构想:讲客户端的各种功能模块封装在中间应用服务器中,通过接口对客户端提供服务,即客户端请求,中间服务器处理然后返回结果的那种,具体怎么实现,小弟不太明白,希望各位大虾们指点指点,万分感激!

解决方案 »

  1.   

    我觉得如果你的数据量不是很大的话,我觉得应该把数据库--应用程序服务器--客户端一般很多书中都有讲到的,DELPHI 中有创建的模板,很容易的,多去看看书。用DCOM方式来建立,不过, 建议楼主用SOCKET 方式来和应用程序服务器连接比较好。
      

  2.   

    TO xieyongxiang(闲人) :
        这两种方式效果会有很大不同么?客户端与应用服务器之间的连接是比较频繁的,即业务处理
      

  3.   

    DCOM是不能穿透外部防火墙的,如果要跨网络的话最好还是用SOCKET方式
      

  4.   

    DCOM是不能穿透外部防火墙的,如果要跨网络的话最好还是用SOCKET方式
    为什么?
    学习!
      

  5.   

    看书啊!!用SOCKET方式好啊!!
      

  6.   

    建议楼主找本书来看看,推荐《Delphi7程序设计与开发技术大全》中邮出版的。虽然不是很经典的书,但是小弟目前也在看着,感觉还不错,能学到不少的东西。个人觉得用SOCKET方式较DCOM方式要稍微好一点点。因为DCOM是不能穿透外部防火墙的。
      

  7.   

    三层结构具体实现的小例子:
    一、APPLICATION SERVER的创建:
    1、新建一个APPLICATION;
    2、新建一个远程数据模块remote data moudule(命名为APPSRV);
    3、在RDM中添加数据集组件TTABLE,连接一个数据库和一个表;
    4、在RDM中添加DATASETPROVIDER组件,其DATASET=>TABLE;
    5,保存(apptest)编译运行。二、CLIENT与APPLICATION SERVER的连接:
    1、启动刚才建立好的应用服务器程序;
    2、新建一个APPLICATION;
    3、添加一个DECOMCONNECTION组件,其属性ServerName=>应用服务器程序.远程数据模块(apptest.APPSRV),ComputerName=>应用服务器所在的的电脑名称(本地的留空即可);
    4、添加一个ClientDataSet,其属性RemoteSrever=>DECOMCONNECTION;
    5、添加DATASOURCE组件,DATASET=>ClientDataSet;
    6、……………………………………………………接下来该干什么干什么去吧………………
      

  8.   

    如果是用SOCKET方式的话……
    1、在启动做好的应用服务器程序的时候还需要启动scktsrvr(默认位置:C:\Program Files\Borland\Delphi7\Bin);
    2、在客户端上添加一个SocketConnection组件,其属性ServerName=>apptest.APPSRV,Address=>应用服务器的IP地址(本地的为127.0.0.1)
    3、………………其他的就不用说了吧-_-!PS.小弟也是刚开始接触C/S结构和分布式结构数据库应用程序开发,有些地方可能不对,还请大家批评指点,有兴趣的朋友也可以和我联系 [email protected] 大家一起学习交流(我向大家学习!!)。
    谢谢~~
      

  9.   

    to gdstyzh01(飞梭流金) :我是想使用应用服务器接口提供服务的,但这样用OLEViant将数据传给中间应用服务器时,是不是得有好多得打包过程呢?