李维、周爱民畅谈Borland ECO

ECO是Borland/CodeGear基于模型驱动架构的,第一个在.NET平台上实现出来的、强大的模型驱动架构框架。ECO允许开发人员使用模型驱动开发的软件工程方法,结合BDS的Together进行各种.NET应用系统的开发,让开发人员真正体验到结合ECO和BDS所具有的不可思议的、高效的开发能力。

 

周爱民:ECO只能用于.NET吗?可不可以用于开发普通的WIN32程序?
李维: 是, 目前的ECO III是能run於.NET上, 在Win32平台上和ECO相近的是Bold. ECO Team未來可能會推出Win64的版本


周爱民:想了解一下ECO与UML有什么联系吗,模型开发与原来的事件驱动开发主要有什么区别?
李维 : ECO使用UML來設計企業模型. 原来的事件驱动开发的可重覆使用率比起ECO來的低. 例如你使用事件驱动开发的C/S程式很難立刻變成Web 2.0的程式, 可是如果使用ECO設計你的企業模型, 那麼這個ECO企業模型可以重覆使用在C/S, Web, Web+Ajax中.


主持:想了解一下ECO与UML有什么联系吗,模型开发与原来的事件驱动开发主要有什么区别?
周爱民:ECO与UML有非常紧密的关系。但一个是模型描述上的,一个是企业级的实现。具体来说,ECO是MDA/MDD的一个具体实现,而UML是一种建模语言。就象,Pascal是一个语言,Delphi/BDS/VCL等等是实现一样。

 


主持:模型开发与原来的事件驱动开发主要有什么区别?
周爱民 :这个话题,在我看来,一个不同在于设计者在开发流程中的作用。模型驱动开发时,设计人员在整个过程中都会产生影响。而事件驱动时,就没有这个效果。不过,我非常想听听李维先生对此的感受。

 


周爱民:李维老师,能否谈一下您那本ECO著作吗?
李维 : 那本ECO我寫了10個多月,感覺很興奮也很驕傲,因為這是全世界第2本ECO的書,更是第1本中文ECO的書. 由於這一本書,ECO R&D Team也向我要一本,他們也開使注意大中華地區.我個人想這一本書代表我們中國人的技術不會輸給外國人.

 


周爱民:李维老师,能否谈一下您那本ECO著作吗?
李维 :最近我一直也在看Ruby的東西,其實我發現很有趣的是Ruby之所以這麼讓我感覺親近是因為我在Ruby中也看到了很多和ECO非常類似的概念和技術, ActiveRecord : ECO.

 

周爱民:想问一下ECO如何和TDD来结合?
李维 : 好問題. ECO R&D在開發ECO本身時也使用TDD. 我也建議ECO R&D在未來在ECO中加入融合ECO和TDD的功能. 如果有了這個功能就太好了,這代表我們可以在高階階段就測試我們的企業模型,達到”設計階段就測試”的境界.

 

周爱民:李老师,ECO对开发人员来说,学习的门坎高吗?
李维: 有一點高,你需要會Delphi/C# + UML + OCL,但是一旦你習慣之後你會發現你已經愛上他了. 其實現在許多其他的工具也一樣要求很多啊.例如Ruby也是要你會Ruby + Rails + 類似ECO的概念.只是ECO提供了視覺化設計介面,而RoR是用code.

 

周爱民:否谈一下微软的VS开发与ECO开发的区别和优势
李维 :啊,VS就是IDE + .NET Framework. ECO是MDA/DDA. ECO的優勢是一旦你的企業模型設計完成之後可以被WinForm, ASP.NET, Web Service使用. 而VS是要你寫3次.

 

周爱民:ECO架构开发是不是也是一种MVC架构的DELPHI应用呢?
李维 : ECO是使用MDA/DDA的開發框架,MVC目前大都使用在Web中,ECO不只可以做Web,它可以開發各種企業框架. 如果ECO再加上MVC,就會成為最強大的.NET Web框架,

 

周爱民:李老师,我们几次见面,一直都没机会讨论ECO的问题。其实呢,我一直很想问一个问题,就是ECO服务器的部署能力,也就是说,他到底适合怎样的企业应用环境。能够满足哪些部署的需求。他到底适合怎样的企业应用环境。能够满足哪些部署的需求
李维:ECO適合一般的企業軟件應用,不適合做低階開發.在Web上非常適合,ERP/CRM/MIS等國外都很多應用.

周爱民 : 那么就是说,我不能指望用ECO来写一个HOOK,或者写一个~~EN~~象驱动程序这样的东西了。 但我的另一个问题是,如果我有一个互联网门户级的应用,例如CSDN Blogs,那么用ECO是否也能满足部署需求呢?
李维 : 在Ruby中也看到了很多和ECO非常類似的概念和技術, ActiveRecord : ECO.
是, Ruby使用ActiveRecord做ORMapping, ECO本身也包含ORMappng. 隨便翻開一本Ruby的書,你都會看到書上說明使用ActiveRecord的例子,Ruby的書通常都用Code來代表,例如class之間1..N的關係. 這在ECO中可以在類圖中代表, 而且ECO可以表達的不只是OrMapping, 更可以表達企業規則.ECO提供了比ActiveRecord更豐富/更強大的表達力.

 

周爱民:但我的另一个问题是,如果我有一个互联网门户级的应用,例如CSDN Blogs,那么用ECO是否也能满足部署需求呢?
李维 : 完全沒問題. Blog相對比較簡單,ECO可以支援更為複雜的Developer Portal, 例如CSDN整個系統.
周爱民 : 太好了。我实在太期待这种功能了。事实上,这意味着ECO具有门户整合能力,而不仅仅是企业级的应用开发能力。


周爱民 :ECO开发对于数据库的访问性能如何,会不会有比较大的影响?
李维:ECO有利用各种缓存机制和数据池机制,来缓解数据库存取压力。这一点很智能,也能其它企业应用容器或平台的策略一致。

 

周爱民 :太好了。我实在太期待这种功能了。事实上,这意味着ECO具有门户整合能力,而不仅仅是企业级的应用开发能力。
李维: No, 我的意思是說ECO可以完整的設計CSDN整個系統,而不是指ECO提供Portal的能力. 我的意思是說我看CSDN似乎是用ASP/ASP.NET寫的.它包含了許多子系統,因此一定有許多地方有許多重覆類似的code, 如果使用ECO, 那麼這些重覆的code會被大幅降低,整個系統的開發速度會加快.

 

周爱民 : 不过,我对EcoSpace一直感到费解。您能最简单的解说一下它吗?比如说,为什么要有EcoSpace?以及,它更“象”是一个什么东东? ECO的数据访问与持久是不是也是应用ADO.NET技术?
李维:可以使用ADO.NET,也可以使用BDP,在下一版更可以使用DBX4.

 


周爱民:ECO开发对于数据库的访问性能如何,会不会有比较大的影响?
李维: 不一定會有影響,未來的ECO允許使用Stored Proc,在效率方面也加強了許多. 事實上這已經不成為問題了,看Java/JPI, Ruby/ActiveRecord的受歡迎程度,ORMapping已經被大多數人接受並且體會到使用ORMapping/企業模型的好處.

 


周爱民 :有个问题。ECO是for BDS的,是不是说他也可以提供给其它的语言或开发环境使用。例如JBuilder或BCB,或者第三方的例如VS?CodeGear有这方面的计划否?
李维 : 是的,這是相當重要的.而且更重要的一點是,如果你的ECO企業模型設計的沒有bug,那麼你大可以放心的重覆使用在各種應用中, WinForm, ASP.NET, Web Service, mobile. 這代表你的軟件的質量更好.

 


周爱民: ECO是for BDS的,是不是说他也可以提供给其它的语言或开发环境使用。例如JBuilder或BCB,或者第三方的例如VS?CodeGear有这方面的计划否?
李维 : 當CodeGear推出C++Builder For .NET時當然就可以使用ECO. BDS中的Delphi/C#都可以使用ECO, 這代表VS只要有design interface就也可以使用ECO. 畢竟ECO是使用C#寫的. WinForm, ASP.NET, Web Service, mobile. 這代表你的軟件的質量更好.

 

周爱民:那请问ECO的下一个版本大概什么时候可以出来呢?
李维 : 現在的ECO是BDS 2006中的ECO III,ECO IV會在BDS下一版Highlander中出現. ECO IV可同時支援.NET Framework和VCL.NET.


周爱民 : 先生刚才说“WinForm, ASP.NET, Web Service, mobile. 這代表你的軟件的質量更好.”。 这应该不依赖.net的平台移植能力吧?我的印象中,ECO的模型应该是平台无关(PIM)的,对吗?

 

周爱民 :如果一个团队需要驱动MDD,应该有什么样的前置条件呢?从哪里开始?——比如每人买一本《DELPHI MDA/DDA程序设计--使用ECO》? ^.^
李维 : 呵呵,no, 每人去找周爱民. 如果想使用MDA/DDA我想一個Team必須有決心,就跟使用SCRUM一樣,因為ECO不光是一個框架,ECO更是一種開發方式和思想. 不過令人高興的是現在很多工具都有類似ECO的地方,只是程度上的不同.例如Ruby/ActiveRecord. 如果你會了ECO,那麼當你去看Java/JPI, Ruby/ActiveRecord會覺得非常的簡單和親切, 就好像你早就都知道那些東西一樣.

 

周爱民 :我的印象中,ECO的模型应该是平台无关(PIM)的,对吗?
李维: ECO在類圖中設計的成果是PIM, 但是一旦你開始產生Code時它就自動轉換成PSM了. 因此ECO的程式是.NET平台的PSM.

 

周爱民 : BDS中的ECO模型有版本管理吗?与DELPHI的历史管理集成在一起,还是需要其它的版本管理? 我已经不习惯没有版本管理的环境了。因为我们的开发人员总会出错,总会忘事,也总会把几天来的成果推翻,从早先的另一个——ECO对象模型——再次做起。这太重要了。
李维 : ECO本身就有versioning機制, 當然你可以直接使用BDS中的StarTeam對ECO的source進行版本管理.

 

周爱民: 谈谈先生的书吧。《DELPHI MDA/DDA程序设计--使用ECO》写完之后,有没有不尽兴之处? 我发现里面写得很全,MDA/MDD开发过程中的各种技术都有涉及,我是挺推荐大家看的。但是对于ECO 4好象少了些前瞻。不知先生可否透露点什么?
李维 : Delphi For PHP已經出貨了,中文版要慢一點.因為Delphi For PHP是在日文OS中測試,他們沒注意到中文OS的問題,因此他們正在解決中文OS的問題. Delphi For Ruby? 我不知道會不會有(可能性不大).但是CodeGear對Ruby非常感興趣,有可能做一個Ruby的IDE

 

周爱民:谈谈先生的书吧。《DELPHI MDA/DDA程序设计--使用ECO》写完之后,有没有不尽兴之处?
李维 : 有,我想寫更多ECO+Ajax的內容,可惜沒時間. 不過我這一陣子會寫一些ECO+Ajax的文章.


周爱民:是对于ECO 4好象少了些前瞻。不知先生可否透露点什么?
李维 :呵呵, 去年底我寫完這一本書時並沒有ECO IV的消息.到了今年才有. ECO IV主要的特點是支援VCL.NET,和效率更為快速的執行表現.

 

周爱民 : 但是对于ECO 4好象少了些前瞻。不知先生可否透露点什么?
李维 :此外ECO IV也大幅強化了延展性的功能.

 

周爱民 : OH...Togther在后续的版本中有什么新消息或强劲的表现吗?
李维:Together的Design Interface會執的更快.Together For Java會加入動態模型執行模擬的強大功能.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值