何为midas?是不是采用这种架构至少要用三台计算机?一台作为客户层的计算机,一台作为业务层应用服务器,另一台再作为数据层的数据库服务器?客户层的计算机是如何经过业务层的应用服务器与数据层的服务器相连的呢??请高手指点!!!!

解决方案 »

  1.   

    MIDAS介绍 
    一:MIDAS概念 MIDAS (Multi-tier Distributed Application Services Suite (多层分布式应用程序服务器)) 是开发多层应用系统使用的中介透明引擎。通过MIDAS,程序员可以通过相同的组件存取不同的后端应用程序服务器(如,COM/DCOM应用程序服务器,CORBA应用程序服务器,MTS中介软件),MIDAS也提供容错能力,负载平衡以及高执行效率的能力。 中介者和功能: u 远程数据中介者(Remote Data Broker):提供客户端存取远程数据的能力。 u Constraint中介者:允许客户端应用程序下载远程数据库对数据设定的constraint。让数据在客户端被数据库的constraint检查。减少网络流量。 u 企业对象中介者(Business Object Broker):允许应用系统开发执行企业逻辑的企业对象。 u 容错能力:当一个客户端联结的应用程序服务器发生错误时,企业对象中介者就会在网络中寻找另一个提供相同功能的应用程序服务器,将客户端联结到该应用程序服务器上,客户并不知道发生的一切。这时必须使用无状态对象。 u 负载平衡:当客户端多于服务器数目时,企业对象中介者自动平衡服务器的连接数目。 二:数据处理 应用程序服务器从数据库取出客户端想要的数据,进行数据封包(data packet),通过Iappserver接口以OleVariant的形式传递给客户端,到达后,通过客户端的MIDASServer整理,加入到ClientDataSet的数据快储内存中,这时,客户端于应用程序服务器的连接断开。 在客户端应用了TclientDataSet的ApplyUpdates方法要求更新时,MIDASServer把更新之前的数据封装在数据封包中,然后再封装被更新的数据(只含被改变的),当应用程序服务器收到这些Delta数据封包之后,Resolver先将其解析, 然后对于每一笔更新的数据,Resolver首先根据第一笔封装的原始数据到数据库中寻找纪录,如果纪录已经被其他用户改变了,MIDAS会把原来客户端传来的数据和数据库中最新的这笔数据一块传回客户端,要求用户决定如何处理。 如果数据更新失败,则MIDAS会把发生问题的数据封装在数据封包之中传回客户端
      

  2.   

    当今流行的中间层服务器:
    MIDAS(COM/DCOM/COM+)
    CORBA(使用IIOP通讯协议)
    Webservice.
      

  3.   

    有这么详细的回答,鄙人十分感谢!!但是俺始终不明白的是为什么delphi自带的关于多层分布式的实例程序(在demos\midas\login目录下)只能单机运行(即便是我将客户端的TDCOMCONNECTION控件的computername属性设为远程服务器计算机的名字,servername属性也用了在服务器端已注册的应用服务器名)????