简体版  |  繁体版   推荐信息: 阅读排行 | 滚动 | 微软SOA高峰会 | 中型企业创新社区 | 随心所欲发新闻
企业软件

构件化与SOA的区别

出处:比特网 作者:Aaron 2007-11-20 15:26 评论
字体大小: | |
它们相通的地方如,复用,两者均强调复用,降低软件系统实施成本;遵循软件设计最经典的思想“高内聚低耦合”;实现技术和设计方法没有约束,如面向对象和结构化编程都不影响其作为Service或构件的“身份”。

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

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

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

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

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

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

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

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

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

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

相关文章
  • 本文关键字:
  • IBM(8606)
  • SOA(3451)
  • IT技术(17911)
  • 软件工程(1201)
  • 网友关注
    热门产品
    编辑推荐
    推荐专题
    更多
    思科
  • 打开网络创新之门
  • 思科公司于北京嘉里中心饭店成功举办了主题为“创新网络,绿色引擎”的思科创新日暨思科新品发布会。
  • 论坛热贴
    更多
    博客精选
    更多
    视频推荐
    更多
  • 让中小企业信息化化繁为简
  • 我们勤哲公司,是一家专注于适应变化的管理软件的一个公司,勤哲本身是有一个含义的,就是英文变化的意思。
  • TMG

    Copyright (C) 1999-2008 Chinabyte.com, All Rights Reserved 版权所有 天极网络

    渝ICP证B2-20030003号 商务联系、网站内容、合作建议:010-82657868

    版权声明 在线提交意见反馈 Powered by 天极内容管理平台CMS4i

    经营性网站备案信息 网警备案 中国网站排名