问:能给出COM组件(.DLL 动态链接库,以可执行文件扩展名.DLL保存)和Web服务组件(以.ASMX文件扩展名保存)之间有什么样的区别?为什么他们对事务逻辑使用一个以.dll为扩展名的文件来替代? 答:用户使用COM有两种截然不同的方法:一是作为进程中的DLLs,另一个是作为远程服务(分布式COM)。当COM是被用作进程中的时候,组件是典型地fine-grained(组件期望有很多的API(应用程序编程接口),它们中的每一个都返回一个小数量级的数据)。既然DLL运行在调用进程中,那么它也需要调用方拥有这个DLL的拷贝。这意味着任意一个时间的DLL版本,任意一个应用,需要DLL被建立起……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
问:能给出COM组件(.DLL 动态链接库,以可执行文件扩展名.DLL保存)和Web服务组件(以.ASMX文件扩展名保存)之间有什么样的区别?为什么他们对事务逻辑使用一个以.dll为扩展名的文件来替代?
答:用户使用COM有两种截然不同的方法:一是作为进程中的DLLs,另一个是作为远程服务(分布式COM)。当COM是被用作进程中的时候,组件是典型地fine-grained(组件期望有很多的API(应用程序编程接口),它们中的每一个都返回一个小数量级的数据)。既然DLL运行在调用进程中,那么它也需要调用方拥有这个DLL的拷贝。这意味着任意一个时间的DLL版本,任意一个应用,需要DLL被建立起来(因为DLL通常会和这些应用捆绑到一起)。这也意味着任何数据库或者其他的数据存储需要通过DLL,这个DLL需要从每一个DLL已经被安装的应用里面可被利用(意思是所有的合适的驱动需要被正确的安装完成)。这些需求带来了很多令人头疼的问题。
与之形成比较的是Web服务和分布式COM,服务提供商提供的客户端远程登录。这允许服务提供商来压缩任何的数据库或者数据易用逻辑,而不需要客户端了解它。Web服务和分布式COM也允许服务提供商可以被versioned,而不需要去升级任何客户端。
来自分布式COM的Web服务自身区别就是在它们的协同作业能力中。Web服务作业通过操作系统和平台(Windows,UNIX,C#,JAVA,等等),通过互联网(因为比较二进制的分布式COM协议,他们更倾向于经由规则的超文本传输协议HTTP来访问),并且比较分布式COM,甚至允许更高级的组件。举例来说,你可以扩展你的数据结构而不需要破坏你的客户端。
作者
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
API设计如龙生九子 各不相同
IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。
-
从头开始实现领域驱动设计
领域描述业务;它是驱动企业的概念和逻辑的集合。如果遵循领域驱动设计(DDD)这一本质,那么领域就是应用程序中最重要的组成部分。
-
走出思维定式 数据库/大型机现代化不再是问题
升级和改变组织的主要利益驱动应用的前景,正处于一个压倒性的位置,所以组织将要面临一系列的改变。