Delphi.NET多层应用系统开发技术研讨会
从上个星期就开始有朋友问我为什么很久没有更新Blog了,其实我想我写Blog已经很勤快了,这次10多天没有更新Blog想当然是我又开始出差了。上星期台湾进行了『Delphi.NET多层应用系统开发技术研讨会』,在DevCo重新在台湾举办活动1,2个月之后,的确发现慢慢的一些客户开始回流来参加研讨会了,这是个好现象,也让我有机会和一些朋友谈谈他们的工作近况以及他们希望能够听到什么主题的研讨会。而之所以DevCo会在上星期举行『Delphi.NET多层应用系统开发技术研讨会』就是因为许多朋友都在询问如何把应用程序移植到.NET以及如何让他们能够使用ASP.NET开发新的Web应用程序但是又能够同时使用现有的Midas/DataSnap应用系统。
其实要让新的.NET应用系统和现有的Midas/DataSnap应用系统整佑在一起不困难,要解决的问题就只是让.NET客户端呼叫到Midas/DataSnap应用系统以及如何在两个执行环境中进行数据型态的转换。
<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"><img height="398" alt="" width="531" src="http://tkfiles.storage.msn.com/x1phiCZJPhsUYg-Rf0H_plhORTWNMjgFIHt76JwRq26c6f1TGqbOJIItzXC0q1zmURx2gBIAD1v3DR_hKj9siTA_rsqJ6UKKgG8whUkAMxl3BMtMxE3iuEK_W2VedABA5QwupJYJDX4hyc"><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: 398.25pt; HEIGHT: 298.5pt" alt="" type="#_x0000_t75"><imagedata src="file:///C:%5CDOCUME~1%5CADMINI~1.1F0%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.jpg" o:href="http://tkfiles.storage.msn.com/x1phiCZJPhsUYg-Rf0H_plhORTWNMjgFIHt76JwRq26c6f1TGqbOJIItzXC0q1zmURx2gBIAD1v3DR_hKj9siTA_rsqJ6UKKgG8whUkAMxl3BMtMxE3iuEK_W2VedABA5QwupJYJDX4hyc"></imagedata></shape>
使用.NET的InterOp2技术就可以让.NET客户端呼叫到Midas/DataSnap应用系统,至于数据型态转换就有点困难。最简单的想法就是让两边都使用XML来交换数据,但是唯一的麻烦就是Midas/DataSnap在许多方法中都是以OleVariant的型态来封装数据,因此.NET的客户端必须知道如何处理Midas/DataSnap传递来的OleVariant资料封包,并且从其中撷取出以XML封装性的真正数据。
<shape id="_x0000_i1026" style="WIDTH: 398.25pt; HEIGHT: 298.5pt" alt="" type="#_x0000_t75"><imagedata src="file:///C:%5CDOCUME~1%5CADMINI~1.1F0%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image003.jpg" o:href="http://tkfiles.storage.msn.com/x1phiCZJPhsUYg-Rf0H_plhOfUMCKEoCkAyQRHMxxJarvXSJDOYTEEz35S94Oyar_OE_MfA21F0pdV0eRNAzE_xEX34R_6gWE50WOsmYTcaA0CSaqkdoKfSEhdXp1h3e2DfDVaWcFoRCzI"></imagedata></shape>
还好我们可以在Delphi『隐诲』的文件中找到一丝曙光:
<shape id="_x0000_i1027" style="WIDTH: 398.25pt; HEIGHT: 189.75pt" alt="" type="#_x0000_t75"><img height="253" alt="" width="531" src="http://tkfiles.storage.msn.com/x1phiCZJPhsUYg-Rf0H_plhOb9ua80j0uo9PwXgP0gGOSO_rl0DumrBYdVab9CHdpGnEEpZDrfRn1SLGCaj1k6lcOfCbWF4n30cbX4pdKTGPdeclpSgNoF4Io1H9CLFtuE9TDMS2tupv7A"><imagedata src="file:///C:%5CDOCUME~1%5CADMINI~1.1F0%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image005.jpg" o:href="http://tkfiles.storage.msn.com/x1phiCZJPhsUYg-Rf0H_plhOb9ua80j0uo9PwXgP0gGOSO_rl0DumrBYdVab9CHdpGnEEpZDrfRn1SLGCaj1k6lcOfCbWF4n30cbX4pdKTGPdeclpSgNoF4Io1H9CLFtuE9TDMS2tupv7A"></imagedata></shape>
原来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服务器的执行画面:
<shape id="_x0000_i1028" style="WIDTH: 398.25pt; HEIGHT: 298.5pt" alt="" type="#_x0000_t75"><img height="398" alt="" width="531" src="http://tkfiles.storage.msn.com/x1phiCZJPhsUYg-Rf0H_plhOaQCV34SyiBM-HfF1QIekKNlbM8v8rgOCVSIySCYjTxSOxKRMZAskHrJ-fLP9cgmaIIXh7Gh7U-za-sv0I1YEn2Ec5AuLPZVzGWwntXUQIBUF1yBxsYYwa8"><imagedata src="file:///C:%5CDOCUME~1%5CADMINI~1.1F0%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image007.jpg" o:href="http://tkfiles.storage.msn.com/x1phiCZJPhsUYg-Rf0H_plhOaQCV34SyiBM-HfF1QIekKNlbM8v8rgOCVSIySCYjTxSOxKRMZAskHrJ-fLP9cgmaIIXh7Gh7U-za-sv0I1YEn2Ec5AuLPZVzGWwntXUQIBUF1yBxsYYwa8"></imagedata></shape>
而下面是最后在研讨会中的范例,我使用Delphi 2006开发一个ASP.NET的应用程序来呼叫Midas/DataSnap应用系统提供的服务和数据并且显示在浏览器中,您可以看到使用Delphi 7开发的VCL Form应用程序也在执行,而且Midas/DataSnap的COM+服务器也在运转中同时提供Win32和.NET的客户端服务。
<shape id="_x0000_i1029" style="WIDTH: 398.25pt; HEIGHT: 298.5pt" alt="" type="#_x0000_t75"><img height="398" alt="" width="531" src="http://tkfiles.storage.msn.com/x1phiCZJPhsUYg-Rf0H_plhOS6ZqkVW3p464AhgoLNHcJbeGG4jc6TsYv6jYIyq0JoiYRV3uaTdpTeQyKv-G88IvvVLwowntmH7Gn75HkBQVl7DDP2_hAR76BNnVRwbRCzyvwh3hZds7s0"><imagedata src="file:///C:%5CDOCUME~1%5CADMINI~1.1F0%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image009.jpg" o:href="http://tkfiles.storage.msn.com/x1phiCZJPhsUYg-Rf0H_plhOS6ZqkVW3p464AhgoLNHcJbeGG4jc6TsYv6jYIyq0JoiYRV3uaTdpTeQyKv-G88IvvVLwowntmH7Gn75HkBQVl7DDP2_hAR76BNnVRwbRCzyvwh3hZds7s0"></imagedata></shape>
『Delphi.NET多层应用系统开发技术研讨会』是有关Delphi/Delphi.NET多层应用系统开发的第一个研讨会,在下次DevCo将会举办第2次的『Delphi.NET多层应用系统开发技术研讨会』,内容是讨论如何在桌面型,主从架构,以及多层架构中都可以重复使用由ECO开发出来的企业逻辑模型。
<shape id="_x0000_i1030" style="WIDTH: 398.25pt; HEIGHT: 298.5pt" alt="" type="#_x0000_t75"><img height="398" alt="" width="531" src="http://tkfiles.storage.msn.com/x1phiCZJPhsUYg-Rf0H_plhOSLgxK8fvg_gAOqxmbReRJOEig-dgSLrYoi8_VGOEqPDidZoKY0bKY4rZvI7APGf6RQow4d0FjkhZwjEhBAY4v4b1nOmOKx8t3Di0FYSZJkYvSiiBhQYYEQ"><imagedata src="file:///C:%5CDOCUME~1%5CADMINI~1.1F0%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image011.jpg" o:href="http://tkfiles.storage.msn.com/x1phiCZJPhsUYg-Rf0H_plhOSLgxK8fvg_gAOqxmbReRJOEig-dgSLrYoi8_VGOEqPDidZoKY0bKY4rZvI7APGf6RQow4d0FjkhZwjEhBAY4v4b1nOmOKx8t3Di0FYSZJkYvSiiBhQYYEQ"></imagedata></shape>
我知道我大陆的同事这星期也要开始在4个城市进行Delphi2006技术研讨会,这是3,4年以来我第一次无法去大陆进行研讨会,在此先祝福他们顺利,成功了。
李维先生简体版博客由博文视点陈元玉编辑负责繁转简以及版式设计,如有疑问敬请您与编辑联系,联系方式:
chenyy@broadview.com.cn
分享到:
相关推荐
本论坛项目就是基于Delphi.NET进行开发的,旨在为开发者提供一个交流平台,分享Delphi.NET开发经验,解决技术问题。 在Delphi.NET开发中,有几个关键的知识点值得深入探讨: 1. **Delphi.NET语法**:Delphi.NET...
总的来说,《高效Delphi.NET开发》是一本全面覆盖Delphi在.NET平台开发技术的书籍,无论是初学者还是经验丰富的开发者,都能从中受益。通过阅读此书,读者将能够精通Delphi.NET的各个方面,从而在.NET平台上实现高效...
《高效Delphi.NET开发》是一份专为程序员和软件开发者准备的宝贵资源,它深入探讨了如何利用Delphi工具进行高效的.NET平台应用开发。这份资料包含了一本详细的技术书籍——"High_Performance_Delphi.NET_Development...
2. **.NET Framework基础**:深入浅出地解释.NET Framework的架构,包括Common Language Runtime (CLR)、Assembly、元数据、类型系统和垃圾回收机制,为Delphi.NET开发打下坚实的基础。 3. **Delphi.NET语法**:...
3. **FireMonkey跨平台开发**:学习 Delphi 的 FireMonkey (FMX) 框架,它支持多平台应用开发,包括 Windows、macOS、iOS 和 Android。了解如何利用 FireMonkey 在 .NET 平台上实现跨平台功能。 4. **Delphi .NET的...
《高效Delphi.Net开发》是李维先生撰写的一本专为IT从业者和Delphi...通过阅读本书,读者不仅可以掌握Delphi.Net的开发技术,还能了解到如何将Delphi的优秀特性与.NET平台的广阔生态相结合,提升自己的软件开发水平。
《Delphi for .Net 开发人员指南》是一本专门针对使用Delphi进行.NET框架开发的图书,光盘代码包含了书中各个章节的实例源代码,帮助读者深入理解和实践Delphi与.NET平台的集成开发。这本书可能涵盖了从基础到高级的...
Delphi.NET是一个集成开发环境(IDE),它是Borland公司为.NET Framework开发的应用程序而推出的产品。这个IDE结合了Delphi的强大 Pascal 编程语言与微软的.NET平台,旨在为开发者提供快速创建Windows桌面应用程序的...
Delphi 开发分布式多层应用系统核心技术 Delphi 开发分布式多层应用系统核心技术是指使用 Delphi 编程语言和开发环境来构建高效、可靠、灵活的分布式多层应用系统。这种技术可以满足当前企业应用系统的需求,提高...
《Delphi5.x分布式多层应用系统篇》是由王维编写的教程,旨在深入探讨如何利用Delphi 5.x开发高效、稳定且可扩展的分布式多层应用系统。本教程结合理论与实践,为读者提供了丰富的开发经验和实用技巧。 Delphi 5是...
Delphi.NET技术宣传讲稿 李维 大中华区CTO 2003或2004年 <br>Borland上个月终于卖掉其视为“鸡肋”的CodeGear,而且怎么看也算“贱卖”了 李老师现在也离开了他工作10年的Borland,去向未知 <br>...
5. **跨平台开发**:介绍使用Delphi .NET进行跨平台开发的方法,如何利用FireMonkey或其他工具创建能在不同操作系统上运行的应用程序。 6. **UI设计与Windows Forms**:深入探讨Windows Forms的设计和实现,以及...
Delphi分布式多层应用程序开发 清晰度不错
《Delphi 5.x 分布式多层应用系统篇》是李维先生撰写的一本关于使用Delphi 5.x开发分布式多层应用系统的经典著作。这本书深入浅出地讲解了如何利用Delphi 5.x的强大功能构建高效、稳定且可扩展的分布式应用程序。...
**Delphi 多层应用开发套件:DCNF** Delphi 是一款强大的对象 Pascal 编程工具,由 Embarcadero Technologies 开发,主要用于构建桌面应用程序。在企业级开发中,多层应用架构(N-Tier)是常见的设计模式,它将应用...
Borland Together宣传讲稿PPT <br>有关Delphi和.NET的技术讲座 主要谈了如何开发高效的.NET应用程序,有关.NET程序开发的注意事项等。 提纲: 基本概念;效率样例;Managed程序会比较慢吗?;如何...
《Delphi 5.x 分布式多层应用系统篇》PDF书,对于用Delphi的GGMM们,没看过也应听说过李维的关于数据库的三本书,盒子上找到了两本,差这本没找到,现在上传凑齐了吧 ^_^
《Delphi分布式多层应用开发》是一本深入探讨利用Delphi技术构建分布式多层系统的专业书籍。本书由著名IT专家李维撰写,旨在帮助开发者掌握如何有效地利用ADO、MTS、COM+和MIDAS等关键技术,构建高效、稳定且可扩展...