设为首页  加入收藏 投稿
| 首页 | CIO | 新闻 | SOA | 案例 | 产品 | 方案 | 专业文库 | 专家坐堂 | 行业E化 | 资料室 | 下载 | 培训 | 博客 | 论坛
当前位置:支点网 >> 专区 >> SOA专区 >> SOA知识 >> 正文

构件化与SOA的区别

作者:Aaron   点击数:   更新时间:2007年11月21日

  前段时间参加一个会议,有人提到“构件化”和SOA的区别,一时之间竟也没人说得清楚。朱三元老师概括了他自己想法说:构件是“从底下看的”,构件与构件之间的关系应该是紧耦合的;服务(Services)是从系统的角度看的(我的理解:从外观上看的),服务之间的关系是松耦合。也有人说构件化和SOA是一样的。

  我以为两者虽然有些相通的地方,但它们是不一样的。

  它们相通的地方如,复用,两者均强调复用,降低软件系统实施成本;遵循软件设计最经典的思想“高内聚低耦合”;实现技术和设计方法没有约束,如面向对象和结构化编程都不影响其作为Service或构件的“身份”。

  他们不同的地方有哪些呢?

  第一,从服务对象看,构件化源自软件产业本身的需要,服务于软件生产商,而SOA源自软件应用者的需求,如有一定信息化程度的企业团体,即是服务于企业的。

  第二,从服务角度看,SOA针对的是业务架构,而构件化针对的是功能或技术架构。亦即,一个服务实现的一定是一个具体的业务目的,而一个构件实现的是一个功能(一个功能通常都没有明确的业务目的,如“报表功能”、“数据持久化”)。当然,构件分“通用构件”和“领域构件”,领域构件实现的就是某个应用领域里的通用的业务需求。但即使如此,这个被实现的业务需求也是尽量通用的,而不针对某个具体业务目的。

  第三,存在形式和存在方式不一样。服务需要部署并且可以运行,并且符合某种Web Service标准,构件可能只是一个代码包。服务可以独立运行,构件不可以。构件如果不被使用则这些代码无法被运行。

  第四,服务的应用与平台无关,构件的应用往往会受到特定技术参数的约束。服务不管是用什么语言开发的、发布在什么平台上,对使用者来说都是一样的;而构件对使用环境往往比较敏感。如:某某打印构件只能用在.net平台。

  第五,他们的生命周期不同,服务可能随着企业业务的调整而卸载,而构件可以存在于多个软件系统中,只要这些软件系统仍然在使用,构件的生命周期就还没有结束。

  最后,到目前为止,SOA的定义和实施均有相关的规范标准,而构件的定义、规范标准则相对模糊。按照最宽泛的对构件的理解,只要精神是复用的,就可以称之为“构件”,甚至包括非代码的文档。

 

来源:支点网
责任编辑:caoyu(Email:caoyu@topoint.com.cn)
【字体: 】【发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口】【投稿】【论坛

综合搜索: 新浪 搜狐 google 百度

::相关信息:: 关键字:构件化|SOA
·构件化与SOA的区别
·OASIS努力为SOA提供SDO
·实施SOA需要新的IT角色与技术突围
·报告称SOA被过分夸大 普及遭遇壁垒
·SOA:是世界大同还是理想国
·将技术融入业务 希望十年后没人谈SOA
·SOA与中间件亲密接触 关系密切但不依赖
·实施SOA需要新的IT角色
·理解智能SOA体系 帮助企业升级
·辛儿伦:微软面向SOA的架构变革
::相关评论::
::发表评论::
·请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
·严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
·用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
·本站管理员有权保留或删除评论内容。
·评论内容只代表网友个人观点,与本网站立场无关。
阅读此文章的人还浏览过
支点简介 | 加盟支点 | 交换链接 |电子杂志| 联系我们 | 网站地图 | 广告服务
主办:中国软件行业协会管理软件分会
北京极地支点科技有限公司 版权所有 京 ICP020449