我看 MIDAS

最初听说 MIDAS 是在一本台湾作者(后来知道是李维)写的 Delphi 3 的书里, 书上介绍了用 Delphi 3 进行多层(这里说的多层大多数情况下是指三层)数据库 应用系统开发的技术(作者称为 N-tier),虽然多层技术是一个好东东,但用 Delphi 3 开发还是有点头痛的。作者也是这么认为,但他说 Borland 正准备推出一项被称为 MIDAS 的新的多层数据库应用系统开发技术。据 Borland 说这是一项非常先进, 非常好用的技术,这让人觉得 Borland 有吹牛的嫌疑。虽然 Borland 向来不像 Microsoft 那样以雷声大雨点小甚至于光打雷不下雨而著称。比如说去年的时候听说 Microsoft 从 Borland 挖走了 Delphi 2 的主要开发人员 Anders(据说他还是 Borland 的创始人之一,是最早的 Turbo Pascal 1.0 的主要开发人员)去搞 VC6 , 号称要与 Borland C++ Builder 一较高下,结果一看实在不怎么样。何况据说今年6月 Borland 与 Microsoft 达成某种交换协议取得了 VC5 的一些技术,使新的 Borland C++ Builder 4 完全支持了 VC5 的程序。最近在街上还看到了 VC7 的盘, 也不知是不是真的,没听说 Microsoft 什么时候出了 VC7 。不过就算是真的, 我也很怀疑它能 Visual 到什么程度。 但总之每一样被说得天花乱坠的东西总是比较容易引起怀疑。

        </p><p>我第一次真正见识 MIDAS 应该是在 Delphi 4 企业版中, 虽然在 Delphi 
          3 中已经有了 MIDAS 的雏形(就是那个 N-Tier), 而且是已经可以用于开发多层数据库应用系统了,只是还不叫 MIDAS 
          ,好象还很难用, 何况那时我对多层数据库应用系统还不感兴趣。C++ Builder 3 中的 MIDAS 应该可以算是 MIDAS 
          了,因为 Charlie Calvert 在他那本著名的 C++ Builder 圣经 《Borland C++ Builder 
          3 Unleashed》一书中已经将 BCB 3 中的多层数据库应用系统 开发技术称为 MIDAS ,不过我都在用 BCB 5 
          了, BCB 3 的东东早忘了,况且我从不用 BCB 搞数据库,我习惯于用 Delphi 干这种工作。 </p>
        <p>直到一见之下,不得不承认&ldquo;名不虚传&rdquo;。 Borland 的 MIDAS 是 Multi-tiered 
          Distrubted Application Services 的缩写,即&ldquo;多层分布式应用服务&rdquo;, 巧合的是在古希腊神话中有一位 
          弗里吉亚(Phrygia)的国王也叫弥达斯(Midas, 也有叫迈达斯),而关于此人有一个故事:他在树林里捕获了聪明的精灵西勒诺斯 
          (Selenus),他是酒神 狄奥尼索斯(Dionysos,也有叫迪奥里休斯 Dionysus) 的养育者和教师。 Midas 
          国王最后将 Selenus 送还酒神,酒神许以点金之术, Midas 便有幸成为一个在希腊神话中以巨富著称的人物。 不知 Borland 
          将这项技术命名为 MIDAS 是否含有这方面的意义呢?我想是有的, 正如 DELPHI 的名称不也是来自希腊神话吗?相信 MIDAS 
          也不全是巧合。 不过随着 Internet 铺天盖地地袭来,像 MIDAS 这样的分布式应用开发技术无疑将成为一项 &ldquo;点金之术&rdquo;,即使成不了巨富,发点小财应该不成问题的。/Nov.-99 
        </p>
        <p>现在 Borland 的 Delphi 已经发展到了 5.0 了, 其中所用的 MIDAS 
          是最新的 MIDAS 3 ,在最新的 C++ Builder 5.0 中, 所用的也是 MIDAS 3 。在过去的 MIDAS 
          中,你的每一个使用 MIDAS 的程序都要向 Borland 购买单独的 Licence ,这当然是指应用服务器了,不可能包括&ldquo;瘦&rdquo;客户的 
          (废话如果用 ActiveForm 的话怎么买 Licence )。我认为这样很不好, 这在一定程度上妨碍了 MIDAS 技术的广泛应用,虽然说用了 
          MIDAS 可以不必为每个客户端程序向数据库系统的厂商购买 Licence (但应用服务器还是要的,在 Delphi 5 和 C++ 
          Builder 5 的 Developer's Guide 的第 14 章第二页中的 Note 有此提醒: You must purchase 
          server licenses for deploying your MIDAS applications. ),也许可以少花一些钱,但主要是麻烦。 
          现在有一个好消息:那就是在企业版的 Delphi 5 和 C++ Builder 5 中所配的 MIDAS 3 带有 Licence 
          (见安装过程中的信息: Delph 5(或 C++ Builder 5) Enterprise includes a full 
          development license for MIDAS ), 这也就意味着用正版的 Delphi 5 或 C++ Builder 
          5 开发 MIDAS 系统不必再为每个应用服务器向 Borland 购买 Licence 了。我觉得 Borland 早就该这样干了, 
          那 MIDAS 也不会在推出两三年后的今天还少有应用。 </p>
        <p>MIDAS 3 的特点主要有: <br/></p><p>
          一、支持三种应用服务器类型: CORBA ( Common Object Request Broker Architecture 
          , 公用对象请求代理体系)、 MTS ( Microsoft Transaction Server ,微软事务服务) 和 RDM 
          ( Remote DataModule ,远程数据模块); <br/></p><p>
          二、支持四种&ldquo;瘦&rdquo;客户连接方式: CORBA 、 DCOM ( Distributed Component Object Model 
          , 分布式组件对象模型 )、 Socket (需要运行 ScktSrvr.exe ,这是一个运行在 SysTray 中的程序,也可以作为 
          NT 的服务运行,有源程序)、 http (需要 Web Server 如: IIS 或 PWS , 并要安装运行一个 ISAPI 
          : HttpSrvr.dll ,有源程序),其中 http 是 MIDAS 3 中新加入的; 另外,还支持 Borland 的 
          OLEnterprise 和 Entera ,这是两种比 DCOM 更强大的中间件连接方式; <br/></p><p>
          三、MIDAS 3 和 Internet 紧密结合。新增的 InternetExpress 使 MIDAS 3 如虎添翼。 </p>
        <p>当然,MIDAS 也不是唯一的分布式应用系统开发工具。 用 Microsoft 的 VB 
          加上 MTS/DTC ( Distributed Transaction Coordination , 分布式事务协调)也是一个不错的选择,相信 
          VB 程序员们一定更喜欢这个东东, MS 称这种以 COM/DCOM/COM+ 为基础的分布式体系为 DNA ,我是在一些 MS 
          的文档中见过这种说法, 原先也不知道是什么的缩写,但可以肯定不是&ldquo;Deoxyribonucleic Acid-脱氧核糖核酸&rdquo;, 
          我原来猜测会不会是&ldquo;Distributed Network Architecture-分布式网络体系&rdquo;, 后来才查到是 &quot;Distributed 
          Internet Infomation Architecture&quot; ( 也有叫 &quot;Distributed Internet Architecture&quot; 
          的 ), 我还猜对了两个词嘛,XiXi。即便如此, MIDAS 3 由于具有无可比拟的跨平台性、 灵活广泛的连接方式以及和 Internet 
          的紧密结合,是当之无愧的最好的分布式系统开发工具之一。 </p>
        <p>总之, MIDAS 实在是一个好东东,我喜欢! </p></div>
        <p align="right">猛禽 Nov.-99,Apr.9-2k</p>