扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
其实要让新的.NET应用系统和现有的Midas/DataSnap应用系统整佑在一起不困难,要解决的问题就只是让.NET客户端呼叫到Midas/DataSnap应用系统以及如何在两个执行环境中进行数据型态的转换。
使用.NET的InterOp2技术就可以让.NET客户端呼叫到Midas/DataSnap应用系统,至于数据型态转换就有点困难。最简单的想法就是让两边都使用XML来交换数据,但是唯一的麻烦就是Midas/DataSnap在许多方法中都是以OleVariant的型态来封装数据,因此.NET的客户端必须知道如何处理Midas/DataSnap传递来的OleVariant资料封包,并且从其中撷取出以XML封装性的真正数据。
还好我们可以在Delphi『隐诲』的文件中找到一丝曙光:
原来OleVariant/Variant可以对映成.NET的System.Object或是Delphi.NET重新定义的TObject。
有了这两个知识之后我们就可以让.NET客户端和Midas/DataSnap应用系统整合了,在『Delphi.NET多层应用系统开发技术研讨会』中,我从 BDE的项目开始讨论如何移植到.NET,接着讨论dbExpress项目,最后讨论移植Midas/DataSnap应用系统整合并且开发.NET的Windows From和ASP.NET应用程序来呼叫并且使用Midas/DataSnap应用系统提供的服务和数据, 例如下图是Win32 VCL Form以及.NET Windows Form同时呼叫COM+的Midas/DataSnap服务器的执行画面:
而下面是最后在研讨会中的范例,我使用Delphi 2006开发一个ASP.NET的应用程序来呼叫Midas/DataSnap应用系统提供的服务和数据并且显示在浏览器中,您可以看到使用Delphi 7开发的VCL Form应用程序也在执行,而且Midas/DataSnap的COM+服务器也在运转中同时提供Win32和.NET的客户端服务。
《Delphi.NET多层应用系统开发技术研讨会》是有关Delphi/Delphi.NET多层应用系统开发的第一个研讨会,在下次DevCo将会举办第2次的『Delphi.NET多层应用系统开发技术研讨会』,内容是讨论如何在桌面型,主从架构,以及多层架构中都可以重复使用由ECO开发出来的企业逻辑模型。
我知道我大陆的同事这星期也要开始在4个城市进行Delphi2006技术研讨会,这是3,4年以来我第一次无法去大陆进行研讨会,在此先祝福他们顺利,成功了。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者