意料之外的收获!

意料之外的收获!

上星期我在台北、台中和高雄举办了Delphi/Delphi.NET多层应用系统开发技术II的研讨会,讨论了有关MDA/DDAECO相关的技术。这次研讨会除了在台北做Demos时出了一点小问题,在台中和高雄都进行得非常顺利,而且台中和高雄的朋友反应也非常地热烈,有人甚至建议我把全场的研讨会录下来公布在网络上,这样可以让更多的人了解MDA/DDA/ECO开发的好处。

这次的研讨会对于我个人来说也是非常有收获的,这也与本次展示的范例有关,下面我来说说缘由吧。

这是因为当我准备这场研讨会的范例时,一开始我只是想着要如何展示使用ECO开发的好处。由于已经在台湾进行过数场ECO的技术研讨会,我想大多数朋友已经看过许多简单的ECO范例,因此我必须想出一些不错的范例来吸引参加的客户,而且更重要的应该在短短的展示时间之内让客户了解到MDA/DDA/ECO的优点以及使用ECO强大的开发能力。

由于上一次的技术研讨会是有关如何把Delphi Win32以及Midas的应用程序移植到.NET中,因此在此次研讨会中我的想法是展示如何开发多层的ECO应用系统。在.NET虚拟执行环境中要开发分布式应用系统就需要使用.NET Remoting,但是要使用.NET Remoting撰写复杂的系统需要许多的程序代码,而ECO是使用模型驱动开发的框架,主要的目的是希望开发人员能够把开发的焦点集中在业务逻辑的设计,尽量减少特定平台和技术对业务逻辑模型的冲击。因此,当使用ECO进行分布式应用系统开发时也应该尽量降低.NET Remoting对于开发的影响。最好的状况当结合ECO.NET Remoting时应该是透明、简单的。ECO III确实做到了这一点,它借助提供PersistentMapperProviderPersistenceMapperClient两个组件以及预先产生的程序代码,可以立刻让开发人员实现出使用.NET RemotingECO服务器以及ECO客户端应用程序,完成ECO分布式应用架构。

在我成功地完成这个范例ECO分布式应用程序后,我突然了解到,在我实现这个范例的过程中,.NET Remoting并没有对业务逻辑模型有任何的影响,.NET Remoting也是在业务逻辑模型完成之后才加入的特定功能,因此,在理论上使用ECO框架开发应用程序应该可以开发所有类型的应用系统,我的意思是说在业务逻辑模型开发完成之后,可以把它使用在桌面(Desktop)应用系统,主从架构应用系统,Web应用系统,分布式应用系统,甚至是Mobile的应用。

有了这个想法之后我立刻重新设计我的范例,让这个范例展示如何使用ECO框架进行开发的工作。我先使用ECO III建立范例业务逻辑模型,然后展示使用它来开发桌面应用程序,又使用它开发ASP.NET应用程序,再使用于主从架构应用程序,接着结合.NET Remoting开发成分布式应用系统,最后再把它使用在Web Services应用程序中,并且使用Delphi For Win32开发客户端来使用ECOWeb Services应用程序。整个范例一气呵成,让使用ECO框架进行开发充满了乐趣,也充分地展示了ECO框架的迷人之处。下面的图形说明了整个概念:

<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 237pt; HEIGHT: 138.75pt" alt="" type="#_x0000_t75"><imagedata src="file:///C:%5CDOCUME~1%5Clinux%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.jpg" o:href="http://tkfiles.storage.msn.com/x1pFUxp6NG29bXY4hHUvhWU938vgNEsQW76lC8_5YICKBeK-LWq-dQAcsYghghA7h8AxAG5UwDU-_E7qY4Lfwx1v2EN8b943ixMvu6mxgQz5WnQ046UfxrgHkzq-Lgg88cwITx5MYsbklClAgQk7L1-VA"></imagedata></shape>

完成了研讨会的范例准备之后,当初连我自己都没有想到这样的结果,感觉这次举办的研讨会我个人收获也颇多。希望今后DevCo举办的研讨会不但能够让客户觉得值回票价,我们DevCo自己人也能够玩得高兴,宾客尽欢。

李维先生简体版博客由博文视点陈元玉编辑负责繁转简以及版式设计,如有疑问敬请您与编辑联系,联系方式:[email protected]

你可能感兴趣的:(.net,F#,网络应用,asp.net,Delphi)