我看 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>直到一见之下,不得不承认“名不虚传”。 Borland 的 MIDAS 是 Multi-tiered
Distrubted Application Services 的缩写,即“多层分布式应用服务”, 巧合的是在古希腊神话中有一位
弗里吉亚(Phrygia)的国王也叫弥达斯(Midas, 也有叫迈达斯),而关于此人有一个故事:他在树林里捕获了聪明的精灵西勒诺斯
(Selenus),他是酒神 狄奥尼索斯(Dionysos,也有叫迪奥里休斯 Dionysus) 的养育者和教师。 Midas
国王最后将 Selenus 送还酒神,酒神许以点金之术, Midas 便有幸成为一个在希腊神话中以巨富著称的人物。 不知 Borland
将这项技术命名为 MIDAS 是否含有这方面的意义呢?我想是有的, 正如 DELPHI 的名称不也是来自希腊神话吗?相信 MIDAS
也不全是巧合。 不过随着 Internet 铺天盖地地袭来,像 MIDAS 这样的分布式应用开发技术无疑将成为一项 “点金之术”,即使成不了巨富,发点小财应该不成问题的。/Nov.-99
</p>
<p>现在 Borland 的 Delphi 已经发展到了 5.0 了, 其中所用的 MIDAS
是最新的 MIDAS 3 ,在最新的 C++ Builder 5.0 中, 所用的也是 MIDAS 3 。在过去的 MIDAS
中,你的每一个使用 MIDAS 的程序都要向 Borland 购买单独的 Licence ,这当然是指应用服务器了,不可能包括“瘦”客户的
(废话如果用 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>
二、支持四种“瘦”客户连接方式: 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
的文档中见过这种说法, 原先也不知道是什么的缩写,但可以肯定不是“Deoxyribonucleic Acid-脱氧核糖核酸”,
我原来猜测会不会是“Distributed Network Architecture-分布式网络体系”, 后来才查到是 "Distributed
Internet Infomation Architecture" ( 也有叫 "Distributed Internet Architecture"
的 ), 我还猜对了两个词嘛,XiXi。即便如此, MIDAS 3 由于具有无可比拟的跨平台性、 灵活广泛的连接方式以及和 Internet
的紧密结合,是当之无愧的最好的分布式系统开发工具之一。 </p>
<p>总之, MIDAS 实在是一个好东东,我喜欢! </p></div>
<p align="right">猛禽 Nov.-99,Apr.9-2k</p>