zoukankan      html  css  js  c++  java
  • delphi中midas是什么

    Delphi中MIDAS到底是什么呢?和他相关组件是什么呢?   MIDAS(Multitiered Distributed Application Services)多层分布式应用服务.
       Delphi所提出的Multi-Tier结构是把原来的Two-Tier前台应用程序内的dbExpress,ADO,BDE,SQL Link,DataMoule,拿到另外一台NT服务器(就是所谓的应用程序服务器),而前台程序只剩下一个可执行文档及MIDAS.DLL,而移到NT服务器上的DataMoule则变成一个COM程序(Remote DataModule).
       注:前台一定要把MIDAS.DLL发布到系统目录下.
       (1)前台程序会通过调用应用程序服务器提供的方法(接口)提出一个请求
          应用程序服务器会响应这个请求,传送一个相应的SQL命令到后台数据库,而后台数据库会把执行SQL命令产生的DataSet返回给应用程序服务器.
          注:Delphi提供了Type Library来帮助应用程序服务器定义COM方法(接口)
       (2)NT服务器上的COM程序是通过中间软件(dbExpress,ADO,BDE,SQL Link)传送SQL到后台数据库.
          当应用程序服务器要把读取到的DataSet传送给前台时,就必须利用DCOM的机制来进行.Delphi提供的TDataSetProvider组件就会把读取到的DataSet压缩并且分割成一段一段的数据包,通

          过DCOM或TCP/IP传给前台.
          注:Delphi提供了RemoteDataModule向导来帮您产生COM程序的结构.
             由于Delphi的程序具备传送DataSet的特别机制,所以Delphi也实现了一个接口叫做IProvider(即TDataSetProvider),来帮助应用程序服务器上的COM程序发送DataSet数据.
       (3)前台程序和NT服务器上的COM程序是通过DCOM的机制互相沟通
          前台的应用程序是通过MIDAS.DLL和应用程序服务器相互沟通,前台的MIDAS.DLL会把接收到的应用程序服务器发过来的数据包再还原成DataSet,丢给前台程序中的TClientDataSet组件.
          注:前台程序必须提供相应的TClientData组件来和应用程序服务器上的每个IProvider(即TDataSetProvider)对应.用户修改前台数据时,修改的只是Cache(缓存)在前台的Dataset,最后

           要通过TClientData.ApplyUpdate方法来把前台变动的数据写回到后台数据库中.

  • 相关阅读:
    佛洛依德
    Python2.7利用Tesseract进行中英文图像识别
    批量生成二维码打包成exe文件
    python基础5—文件 | json序列化
    python基础6—(高阶,匿名,偏)函数 | 装饰器
    python基础4—面向对象
    python基础2—集合框架
    一不小心翻车了-(angularjs 1.6X) 由Eventbus使用异常说起
    简单说下js闭包之setTimeout
    html5上传本地图片,在线预览及裁剪(filereader,canvas)
  • 原文地址:https://www.cnblogs.com/s502/p/3168798.html
Copyright © 2011-2022 走看看