程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi中MIDAS是什麼(MIDAS之一)

Delphi中MIDAS是什麼(MIDAS之一)

編輯:Delphi
 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方法來把前台變動的數據寫回到後台數據庫中.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved