学了2年delphi,越学越不明白,微软那里从com到dcom到com+和mts,最近又出了 .net。 borland先是bde然后ado还有websnap和clx到底他们要怎么样?
midas和.net 是不是冲突了?那为大虾能说明白一点吗?技术走向是什么?

解决方案 »

  1.   

    *******************************************************************微软那里从com到dcom到com+和mts,最近又出了 .net。 borland先是bde然后ado还有websnap和clx到底他们要怎么样?
    ******************************************************************
    要怎么样呀,很简单,就是要让我们程序员以后写程序可以用自己喜欢的语言写。   举个例子,你用vc写了个COM组件,用Java写了个EJB组件,用delphi写了个应用程序,而你在这个应用程序里面要调用COM里面的某个方法来实现一个特殊的功能。但是,这个功能已经在EJB组件里面用Java实现了,考虑到代码重用,COM就直接调用EJB组件里面的这个方法。
       但是,大家都知道,在COM里面调用EJB会很麻烦,因为涉及到数据的转换,在COM里面已经限制死了封装数据的格式,但是在EJB里面是用另外一种完全不同的格式来封装数据的,这样,在传递数据时,肯定会有差错。
       那么,是否就只有把这个方法再用vc在com里面再写以便呢?呵呵.....如果是只有一个方法的话,或者可以这么考虑,但是,如果是一个企业级的COM组件的话,该怎么办,大家都知道,在企业级的com里面,不会只有少数几个方法的,可能几十,甚至几百个方法,如果这些方法在别的EJB,或者Corba组件里面已经实现了的话,那么,我们直接拿来用的话,岂非很好。
       于是,程序员动脑筋在这个com,ejb之间定义一个彼此都认同的格式/标准来传递数据,于是,通过一个简单的标准,成百上千行的代码得到了重用。
       是否这样就完了呢,如果我这个ejb组件又要调用另外的corba组件的话,又该怎么办?又要定义一套格式/标准。而如果这个corba组件是用其他的语言实现的话,可能还涉及到各种语言的数据结构的约定,c里面就没有数组,但是object pascal里面有数组类型。如果组件输出的结果是数组的话?C就要用别的方式来接收这个数组。接收过程中你能保证不出问题吗?    
       怎么办呢?于是xml出现了,soap出现了,web service出现了,任何系统都认同文本格式,这是个不争的事实,而xml由于其标准已经被所有的商家接受了,所以用xml来传递数据几乎是最好的方式,可以约定,要求所有的组件在输出结果时,都把结果转化成xml格式,然后,要求所有的语言在接收和传出参数时都用xml格式,这样,所有的应用程序和组件之间传递数据都不成问题了。
       soap就是一个传递数据的标准,它要求所有的输入输出都换成xml格式,然后定义了一个标准,什么类型的数据怎么转换成xml格式的文本。
       web service呢?就是基于soap的组件的接口,所有的组件都按照soap这个标准来输出接口,这样,组件与组件间,应用程序与组件间调用彼此的方法都解决了。
       .net正是基于这种思想而出的。几乎所有的.net书籍都花了很大篇幅来将soap和web service。
       在.net中,提出了CLR(Common Language Runtime),某种语言只要是符合这个标准,在.net中就可以用这种语言来写程序。现在已知的语言有18种,其中就有目前几乎所有在用的写应用程序的语言(basic,c/c++/C#,java,object pascal,javascript,jscript......)
       以上是对.net的解释,不知是否有说错,请大家指正。
       至于bde-ado-dbExpress, websnap/datasnap(midas4),是因为bde在早期推出时,那时Microsoft的开发工具连接数据库还是什么破东东oledb,odbc,rdo.dao,标准的不断转换,让用vb的程序员痛苦不堪,而用delphi的程序员却可以享受borland带给我们的快捷高效的数据库连接技术(bde)。然而,随着ado的推出,因为ado的优点不比bde差,而且与windows系统的紧密结合,使得在很多方面ado都比bde强(在windows系统上),于是,borland为了让delphi程序员可以在windows系统上面用到这种高效的数据库引擎,就封装了ado,祭出了ado Express组件,带给了delphi程序员很多方便。但是因为ado也还有很多缺点,其中最主要的就是只能在windows下面用,而且bde也渐渐不能适应新的技术了,所以borland就研制新的数据库连接技术dbExpress,这种新的数据库连接技术与DataSnap(Midas4)结合,会取得非常好的效果,而且可以在任何平台下用,所以borland渐渐的不发展bde,而转向deExpress和DataSnap。至于websnap,是一种类似asp的技术,用来做web开发的,似乎很少人用。不知道。
        clx是kylix的控件库,类似于windows下面的vcl,在linux下面用的,kylix是linux下面唯一的可视化开发工具,你说呢borland要干什么呢?
        midas和.net冲突了吗?没有觉得呀。除非microsoft放弃com/dcom。
      

  2.   

    技术走向嘛?不就是面向服务嘛。看看李维的《delphi6/kylix2 soap/web service 程序设计》就知道了。
      

  3.   

    那么.net是不是可以理解为com/dcom的xml版(运行在com+上)?
    clx是不是会替代vcl?
      

  4.   

    听课了,谢谢liaoqianlin(清溪流泉)同志!
      

  5.   

    实际看看去年的《程序员》杂志中李维写的文章就知道
    这borland和microsoft中其中的奥妙了!
    都是为了自己的商业利益而已!
      

  6.   

    是啊,MS为了VC++好卖,就把VB的很多功能做掉了,为了vb好卖,就把VC++搞得异常复杂,呵呵,作为商人真够狠的!我们还在追求所谓的技术,实际上被玩弄了,呵呵(纯属个人观点,大家不要扔鸡蛋)
      

  7.   

    事实上,.net的思想就是类似于Delphi的VCL。为什么这么说?如果把Borland有自己的操作系统,那么当VCL和Borland的操作系统结合的时候就是一种和.net类似的架构。(事实上microsoft就是用操作系统的优势来压制其他的开发工具生产商,不是吗?)如果用过.net的话,就知道所谓的命名空间中的各种类,事实上就是和Delphi的VCL一样。不过从目前的情况看,好象Java,VC.net,C#,VB.net都是用的差不多的思想。不过,好象没有多少人为Delphi写VCL,但是很多人为Java和C/C++写类库,这对于学习Delphi的人来说无疑是一个打击。但是从C#的出现来看,Anders好象把Delphi的优点毫无保留地移到了C#里面,从C#是倾向于组件的这点来看,就知道了。所以可以看出,VCL是一个很成功的思想,不过为什么没有人为Delphi写组件库,那就不得而知了..........
      

  8.   

    面向组件与soap/webservers开发是目前的热点.
    至于你说的模糊,也许你很少关注技术的发展,
    假如delphi总是老一套,哪也许就没有现在这么
    兄弟姊妹来追逐了.
      

  9.   

    那么borland的走向呢?她自己的midas,她的vcl/clx,她的数据引擎,
    又怎么发展呢?怎么整合微软和sun的技术?难道会放弃或完全支持某个
    系统 ?delphi的前途呢?哪个大虾再说的明白些,关于软件体系的发展,
    对我们吃软件饭的人实在太重要了,可惜并不是每个人都明白。
      

  10.   

    3大平台竞争 Borland谁都不得罪作为软件开发工具的供应商,Borland在DOS时代提供的Turbo C,风靡一时,成为经典。时过境迁,Borland大中华区总裁刘珍妮认为:把握市场脉搏,兼容多种平台,在竞争中创造一种与市场同步的动态美,才是Borland在开发工具舞台上大显身手的重要手段。 美国Borland软件公司大中华区总裁 刘珍妮 ●时间:2002年8月15日上午 ●地点:北京新世纪写字楼美国Borland软件公司中国分公司 ●人物:美国Borland软件公司大中华区总裁 刘珍妮《中国计算机报》执行总编 卢山 ●主题:软件开发工具企业的平台选择战略 在平台竞争中保持中立 
    卢山:现在,软件开发工具市场基本是Java、.NET和Linux三种平台在相互竞争,而Borland与这三个平台都有非常密切的合作。请问在这些竞争对手之间,Borland是如何给自己定位的?Borland的整体战略是什么样的? 刘珍妮:我们的定位是在这三大平台的竞争之中保持中立,取得市场竞争中的平衡点。Borland公司战略的核心就是跨平台,即用同一个或界面相同、使用相近的一组开发工具,方便地支持Java、.NET和Linux这些“主流”环境和平台,并争取在每一个环境和平台中都做得最好。为了达到这个目的,我们必须从技术创新的角度加强与软件开发人员的沟通,而且我们不但要了解不同开发人员对于开发平台的不同喜好,还必须认识到,不同的应用需要不同的开发工具,客户也会根据他们的需求来选择开发工具。这就是Borland所看到的各平台并存的市场空间。Borland就是要在这个市场中谋求发展,提供最好的工具和技术。这就是Borland所看到的各平台并存的市场空间。 卢山:虽然这三大平台在市场中并存,但是如果从市场细分方面来区分,这三个平台是否会有各自的侧重点呢?你认为在这三个平台中,谁更能代表未来的发展方向? 刘珍妮:虽然三大平台都力争成为市场中惟一的标准,但是因为它们具有各自不同的特点,因此还是有一定的市场侧重:Java 将会在局域网和电子商务等企业级应用比较广泛;相比之下,.NET比较年轻,在应用方面还处于发展前期,然而微软推广.NET的决心很大,相信它会得到快速发展;至于Linux平台,由于得到业界支持,在中国普及得很快,不过由于Linux自身的特点,它主要是针对中小型的应用。 对于未来市场的方向,我认为,这三大平台之中没有谁有能力独霸整个市场。我们的观点是,在未来三至五年的时间里将会是一个三足鼎立的局面,三个平台在竞争中并存的趋势将延续。这也决定了Borland公司独特的市场定位。 以价值融合不同伙伴 
    卢山:在Borland的合作伙伴中,微软实施的是.NET战略,Sun推崇的是Java平台,这两家都是很有个性的公司。那么在分别与他们合作的时候,Borland如何实现平台选择中的中立的定位? 刘珍妮:在Borland的策略中最重要的一点是——使客户认可我们的产品所能提供的价值。Borland的产品可以实实在在地为不同的平台提供具有价值的应用,因为我们的出发点是为最终用户服务,让使用不同平台的用户都享受同样的应用,我们不会偏袒某一阵营。例如,对Sun来说,Borland产品为Java平台的价值体现贡献颇多。我们的JBuilder在Java IDE市场中排名第一,靠的就是立足这个平台提升其价值。 微软曾经使用过我们的专利技术,同时微软也是Borland的股东之一。这种关系能够使我们两家公司更好地合作。推广.NET平台,需要有相应的开发工具支持,这就给了Borland一个很重要的价值体现的机会。在微软推出自己的.NET开发工具之前,Borland就推出了第一个基于.NET的商业开发工具;在微软宣布.NET战略的时候,我们也作为合作伙伴被邀请参加。当Borland的价值在支持不同平台的两个阵营中都能体现的时候, 就容易被接受。 卢山:微软既是Borland的股东之一,又在开发工具上与Borland的产品形成竞争而你们也支持微软的.NET平台 那么你们如何认识与微软这样的合作伙伴之间的关系﹖ 刘珍妮:从技术的角度看,我们相信将来是各种平台并存。.NET也会占一个重要份额。我们与微软确实存在竞争。但在市场中,既不会有100%的合作,也不会有100%的竞争,重要的是找到彼此之间的共同点和合作的基础。比如在今年5月份召开的Borland开发者大会上, 作为白金赞助商,微软给了我们很大支持。而同时Sun也给了我们很大支持。这两家公司同时出现在Borland的舞台上。他们都是我们的合作伙伴。 把握住市场脉搏 
    卢山:Borland曾经历过不少波动,你认为当初Borland滑入低谷的主要原因是什么? 刘珍妮:从1983年成立起,Borland曾经走上顶峰,也遇到过波动。当初公司滑入低谷的原因主要是当时的管理层没有看到市场发展的趋势和方向。其实市场总是波浪式发展,在公司到达一个顶峰的时候,管理者必须有一定前瞻的眼光,看得到未来发展的方向,抓得住这个方向,并使公司朝着该方向转型,那么公司才能得到持续发展。现任公司总裁兼CEO Dale Fuller上任后调整战略,并且加强公司管理,提高工作效率,终于使公司走出低谷。在市场低迷的情况下,Borland已经连续保持了9个季度的持续增长,股价从1999年以来也一直上涨,整个股票价格翻了一番多。 卢山:现在IT公司的股票大多都在下跌,那么你认为这有什么深层原因,是由于互联网泡沫破灭,还是对IT的需求已经降低? 刘珍妮:从工业发展历史来看,每一样新的东西发明出来,就会造成一个泡沫,离我们最近的就是互联网造成的泡沫。其实这是新的发明对市场推动的力量造成的。但是当应用跟不上市场的发展时,就会令泡沫破灭。然后再经过整合调整,新出现的应用就会继续推动市场向前发展。这是一个规律,而不仅仅是市场需求降低的原因。降低的只是过时的市场,这时候会有新的市场增长点出现。公司要发展,就必须看准方向,把握住市场脉搏。 卢山:那么在互联网泡沫破灭之后的应用时代中,Borland将如何把握市场走向呢? 刘珍妮:在过去,各种大而全的软件包价格昂贵,做一个项目动辄上千万美元。即使是那样,大家仍然抢着购买。但是在当前的环境下,公司的CEO和CIO们不得不认真考虑投资回报率。以前是要抢速度,大家都毫不吝惜地对IT进行大笔投资。现在就不同了,虽然要投资IT,但是更多地会考虑公司是否能够收回在这个投资。因而出现了一种趋势,公司CEO们会从资源利用的角度去考虑,分步骤投资来满足不同阶段的要求,而不是一步到位。因此,我们就必须在市场细分上做足功夫,充分了解不同客户在不同阶段的需求,然后在产品上做出针对性调整,实现市场份额的进一步扩大。 提升中国市场价值 
    卢山:你认为对于Borland公司来说,中国的市场潜力体现在什么地方? 刘珍妮:据统计,中国目前有几千家软件开发公司,总共有大约30万软件工作人员。这支庞大的开发队伍将会为Borland提供强大的市场支撑。在这些软件工作人员中,有的喜欢用Linux,有的喜欢用Java,有的喜欢.NET,而这些开发平台Borland都能支持。我们的任务就是要让中国的软件开发者能够使用他们喜欢的工具,为市场开发出更好的软件产品。这是Borland的业务优势所在。 Borland去年10月才进入中国,还处于起步阶段。我们要用更好的服务来增加我们带给客户的价值。一方面要加强本地合作,建立一个网络,让开发人员不仅仅看到产品本身的价值,还能够体会到产品使用中服务的价值。如果这些问题解决好了,那么这30万软件开发人员带来的巨大市场前景将使Borland在中国得到非常大的发展。对此我们很有信心,我们的计划是在未来的三年里,实现80%到100%的年增长率。 卢山:Borland将会用什么策略完成在中国市场上的快速跨越和拉伸? 刘珍妮:就目前来说,我们首先要在市场中建立良好的分销渠道,这对于一个软件公司来说非常重要。我们已经找到了一些合作伙伴,例如在分销工具类中,我们的合作伙伴是佳杰;在高端的分发类产品上,我们的合作伙伴是EBRIDGE。在中国我们还有很多提供解决方案的合作伙伴,像亚信、中科软件等。Borland还会尽力去寻找更多的合作伙伴。在业务的启动上,我们将从几个方面入手:一是正版化运动,虽然只开始了不到两个月的时间,但是我们已经在公司业绩上看到了效果;另外,我们要建立行业销售队伍,直接面对电信、金融、政府等领域的大客户,了解他们的需求,为他们提供更好的支持。寻求在电信行业中的发展是我们全球业务中的一个趋势。 把战略眼光放长远 
    卢山:你觉得国内的软件企业与国外软件企业在管理方式上最大不同是什么?目前国内软件企业的情况是数量多,但规模小,你认为这有哪些方面的原因? 刘珍妮:这与公司对未来的整体规划有很大关系。目前,国内很多软件企业只看到比较具体的东西,把精力放在做具体的项目上面,目的是尽快积累资金,扩大公司规模。但是在埋头做项目的时候,往往会使公司无暇考虑整体定位和长远目标,造成目光相对短浅。如果一个公司想要得到长期发展,公司当前的业绩与未来的定位、选项和计划都同等重要。一家国际化的大公司必须要看到市场前进的方向,然后去创建一个市场,才能获得成功。这不仅要求公司有实力,更需要一个很好的理念,使公司正确把握市场发展方向,然后才可以创建一个新的市场。近几年来,在中国也出现了很多有实力的大企业,比如亚信、中兴,他们就是把握住了现在发展很快的电信这个市场,并在其中找到了自己的定位。这和公司的掌舵人很有关系,要看他是否有把公司做大的愿望,还是仅仅想赚一笔钱。 而在刘珍妮看来,Borland是一家在不同平台、不同开发领域都长袖善舞的公司。对她而言,来Borland供职对自己更具挑战性。刘珍妮抱着把Borland做成可提供用于开发、分发和集成软件应用技术领导企业的理想回到了北京。 刘珍妮认为,中国信息化建设进程加快,为信息化服务的软件开发公司也急需得心应手的开发工具,庞大的软件工作人群为Borland提供了强大的市场支撑。从6月Borland Delphi 6中文版和JBuilder 7的推出,到已经拉开帷幕的Borland首届程序员大赛,再到即将发布的Kylix3
      

  11.   

    那么borland的走向呢?
      見上面Borland大中華區總裁 刘珍妮 答記者問她自己的midas,她的数据引擎,
      大家都知道,各種數據庫提供的 API 都很不一致,這樣就導致了開發人員在連結不同數據庫時要熟悉各種不同的API.
      但是,從Microsoft的ADO,Borland的BDE/dbExpress.我們可以看出他們都是為了提供一個統一的接口(封裝了各種不同的 API ),讓開發人員在連結不同的數據庫時,可以用相同的技術(ADO,或者BDE/dbExpress).這樣,開發人員可以免去熟悉不同API的麻煩.
      而Midas--目前是DataSnap--的目的就是為"分布式(N-tier)開發"而出現的,在Delphi3推出Midas1的時候,那時候的開發工具商(Microsoft,Sybase)都還沒有"分布式"這個概念.這本身就說明Borland在戰略目光上的長遠.更何況目前分布式開發已經成為主流,在這種情況下,你說Borland會放棄嗎她的vcl/clx,
    在軟件開發領域,可視化是一個永恆的話題,從dos到windows,從turbo c/turbo pascal/microsoft c/microsoft basic到Borland C++Builder/Boaland Delphi/Visual C++/VB,乃至到現在的Linux下面的命令行的編程到Kylix,這都給程序員帶來的巨大的便利.而VCL/CLX是被業界公認的最好的可視化組件庫(都說MFC好,接近底層,但是結果呢?Charles Petzold都說MFC是一個非常失敗的設計(參看Programming Windows with C#)),但是你要問vsl/clx怎麼發展,那我也不知道,這個要根據以後會朝甚麼方向發展來看,目前看來是朝服務(Web Service)發展,但是這個好像也被VCL/CLX給封裝了.而且封裝的很好,你如果不滿意的話,他也不會拒絕你調用底層的API,這是Borland的一貫做法(封裝而不拒絕底層調用).所以,目前還不敢評說vcl/clx會怎麼樣.delphi的前途呢?
      Delphi的前途嗎?看你怎麼看,其實Delphi的優秀處在於他的VCL,大家都知道,其實語言本身並沒有甚麼本質的區別.你說C++好,那是指他的類庫豐富,要甚麼有甚麼,你說Java好,我想可能也是這個原因.唯一的區別可能就是在他們的用處,Java是一門網絡語言,出現的目的就是網絡編程.你看到過幾個人用Java去寫小應用程序?用到Java的場合幾乎都是為中大型企業的系統平台整合.這在硅谷表現尤其突出.  至於Delphi目前的情況,可能是和他的Web開發方面的特點有關係.這點你可以去深度論壇
            http://forum.vclxx.org/default.asp
    看看,這裡是 李維 寫的一些話//不知道Borland将来在Delphi的Web方面有什么动作。
    //现在历历数来Delphi开发Web已经有好几套元件了:
    //WebBroker
    //WebSnap
    //InternetExpress
    //IntraWeb
    //EWF
    //ActiveX
    //其中,前4个都是Borland的纯Web方案
    //然而就这样而言,好象Delphi的Web不知道会以哪一套组件为轴心。
    //Borland是 不是应该把这些资源进行一番整理呢?
    //我看Borland好像不太修葺InternetExpress了。可是我觉得这是一个很有
    //用的东西,给他好好整整还能够用在许多Web场景中,别说是添加新功能,
    //就是把它整顿的彻底稳定也可以。
    //Gordon Li翻译成中文是不是"郭顿李"?嗯, Delphi/BCB對於Web的支援一直是我心中的痛, 也是我經常和國外Delphi Product Manager爭吵的事情之一. 當初Ben Riga如果能夠聽我的建議, 那麼Delphi/BCB將會是Window上制做Web最好的工具之一.不過現在Delphi/BCB和未來的工具在這方面似乎已經開始改善, IntraWeb應該是主要的解決方案. 未來IntraWeb如果能夠和MDA(Model-Driven Architecture)的元件架構整合, 例如Bold, 那應將會是最好架構.最新我在準備STRUTS的Seminar, 看了這麼多的Web技術, 真是覺得每一個solution都有本身的問題, 因此動了寫一篇Web Dilemma, Programmer's Dilemma. 寫寫我的看法和想法.Gordon Li我們是翻為"戈(哥)頓, 李"吧.李維关于软件体系的发展,
    那是軟件工程的課題了,你去查閱相關的資料吧.可能是朝並行程序設計方面發展.
      

  12.   

    不好意思,上面是在繁体系统下面的一段话,所以看起来比较乱,但是,各位可以到深度论坛去看看李维说的关于BorCon2002的解说,
    下面是相关的连接地址:http://forum.vclxx.org/topic.asp?TOPIC_ID=17292&FORUM_ID=40&CAT_ID=7&Topic_Title=%A7%F5%A6%D1%26%2324072%3B%A1A%26%2335762%3B%26%2335762%3BBorCon2002%A4%DA&Forum_Title=%A7%F5%BA%FB%C5%AA%AA%CC%B1M%B0%CFhttp://forum.vclxx.org/topic.asp?TOPIC_ID=21376&FORUM_ID=40&CAT_ID=7&Topic_Title=%A7%F5%A6%D1%26%2324072%3B%3F%26%2320851%3B%A4%5FDelphi%AA%BAWeb%26%2324320%3B%26%2321457%3B%A5%5C%AF%E0&Forum_Title=%A7%F5%BA%FB%C5%AA%AA%CC%B1M%B0%CF如果各位不能登陆的话,请在www.borland.com.cn的社区中选择深度论坛登陆.可以看到台湾borland的产品经理所说的发展趋势.
      

  13.   

    长知识,谢谢各位大虾的关心,小虾的关注。告诉大家一个好消息;我找到了
    一份好工作,在东软。面试的时候主考官问了好几个这个贴子里的东东。感谢csdn的同志们,谢谢。
      

  14.   

    谢谢楼主提了这么个好问题, study!
      

  15.   

    从三大平台(windows,java,linux)来讲,borland的产品好像更注重windows. 
    给我的感觉是:1 windows .net 和java one 的思路应该是一样的,不过各有优缺点.2 linux 也应该接受java的思路.3 borland的midas虽说是最早的分布是产品,
    但现在已经被windows(从com/dcom/com+到现在的.net)和 java追上了.4 clx作为跨平台的构架,可能会替代vcl的地位.不知道这么想对不对??另外一点,我们可不可以认为web service将是构件(功能)的标准?会不会成为二进制的标准?
    如果是那样,肯定很有意思:我们开发的程序,在不停的调用网络上的应用.但却不是
    b/s结构(当然也可以做成b/s结构).更可以肯定的是:这下软件公司成了电力公司,成了自来水公司.呵呵,媒体上又该发明一个新名词:IAP(网络应用提供商).有志之士,赶快下手啊!^-^
      

  16.   

    liaoqianlin(清溪流泉) 讲的挺不错
    听课了
    收藏
      

  17.   

    1. Com+
    2. 多层应用
    3. 各种开发语言的融合
    4. Free Software
      

  18.   

    严重表扬liaoqianlin(清溪流泉) 同志!!!
      

  19.   

    严重表扬liaoqianlin(清溪流泉) 同志!!!
    study
      

  20.   


    up.up. up.up. up. up.