`
xiebh
  • 浏览: 603990 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

构件化与SOA的区别

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

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

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

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

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

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

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

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

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

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

相关推荐

    构件化与SOA,推进软件生产

    即使近几年炒得火热的SOA也无法为软件公司带来多少的利润和股价提升。难道软件业真的就这样了,还是在等待新的一次飞跃?我们小时候都读过这段“生产力的提高会促进生产关系的改变,而生产关系的改变又会反过来促进...

    软件开发:研究基于构件和soa技术的农业信息化应用开发平台.pdf

    软件开发:研究基于构件和soa技术的农业信息化应用开发平台.pdf

    SOA软件架构的实现

    SOA企业应用架构与标准规范 1.构件化业务逻辑模型 2.标准化技术分层架构 3.规范化管理框架

    同方ezONE平台走实用化SOA路线

    同方ezONE遵循瘦(THIN) SOA路线, 以支持XML, ESB/SOAP为主,同时考虑JBI的实现,部分遵循SCA/SDO的构件化理念、部分JBI理念、坚持Java EE绑定和Web Service,待时机成熟再走向全面的SOA的实用化策略。

    SOA核心理念的应用发展

    构件化技术为不同用户的定制要求提供了可能,把常用功能做成可供选择的构件,用户就有了更为灵活的选择。SOA架构为信息安全提供了新的支持平台。SOA中所提供的服务必需通过权威的认证机构的认证,才能对外发布。这就...

    服务化构件平台

    结合作为企业应用集成通用架构的企业服务总线(ESB)技术,参考先进的SOA架构标准服务组件架构(SCA),服务化构件平台完成了第一个版本的设计研发,它可以帮助我们实现软件构件资产的有序建立与复用,实现高质量的...

    SOA 基于BPM的快速协同开发平

    背景:通过建立以复用为核心的企业...向服务化、模型化、构件化技术,基于开放的技术标准、面向流 程的业务开发和服务编排的整合,从而实现“ 快速构建业务系 统、快速满足业务需求变化、有效进行系统应用集成”的目标

    Hearken平台开发手册V5.0

    核格集成开发平台是集面向构件应用的设计、开发、组装、调试、维护、部署、管理和发布于一体的集成开发环境,为企业提供构件化、可配置、图形化、一体化的软件开发技术,支撑企业信息化应用软件完整的覆盖SOA应用全...

    基于Web服务与SOA的NETCONF网络管理平台通用性研究与实现 (2008年)

    其次,采用SOA的设计思想,用构件的方式来模块化代理端的各种能力,使管理端能够发现并集成代理的能力,从而实现一个通用的管理端。最后按照这种方式开发并实现了一个测试版,证明这种设计方法行之有效。

    普元EOS开发平台

    Primeton EOS® Platform基于JaveEE、Eclipse等开放的技术和平台,采用了先进的SOA架构和标准规范,并通过构件化、图形化、一体化的平台产品为客户提供了完整的覆盖SOA应用全生命周期的支撑,从设计、开发、调试和...

    智慧数字化政务大厅项目建设方案.docx

    2.2.6 构件化开发技术 17 2.2.7 B/S软件结构 18 2.2.8 采用多层软件架构 18 2.3 系统性能 19 2.3.1 基本性能 19 2.3.2 主要性能 19 3. 软件系统 20 3.1 事项管理系统 20 3.1.1 政务服务事项同步 20 3.1.2 个性化服务...

    对计算机技术创新发展的思考

    软件新技术:软件新技术主要关注嵌入式计算与嵌入式软件、基于构件的软件开发方法、中间件技术、数据中心的建设、可信网络计算平台、软件架构设计、SOA与RIA技术、软件产品线技术等。网络新技术:网络新技术包括宽带...

    编程新手真言......

    8.28 可复用与可移殖的区别 190 8.28 再谈可复用 193 8.29 真正的可复用 193 8.30 你能理解XP编程吗 194 8.31 构件与接口,软工 195 8.32 设计方法论 196 8.33 真正的interface 198 8.34 真正的对接口进行编程 200 ...

    服务计算与大数据.pdf

    SOA 的特点有: 1)服务是自包含和模块化的 2)服务支持互操作 3)服务是松耦合的 4)服务是位置透明的 5)服务是由构件组成的合成模块 SOA 的实例: CORBA(Common Object Request Broker Architecture,公共对象请求 ...

    ZStar总体描述

    ZStar是以降低开发代码量、提高代码质量、提高工作效率为目标的软件开发平台,其中有60-80%的项目代码,由ZStar代码生成构件及技术构件来帮助你完成,你只需关注项目中客户个性化需求。 由ZStar构建的项目有比较好的...

    IT培训学习资料计划书.doc

    3、软件新技术 软件新技术主要关注嵌入式计算与嵌入式软件、基于构件的软件开发方法、中间件 技术、数据中心的建设、可信网络计算平台、软件架构设计、SOA与RIA技术、软件产品 线技术等。随着对象技术与分布式计算...

    计算机网络系统设计方案(2).doc

    1.6 开放性原则 系统设计遵循软总线、星型构件化设计原则,各部分遵循标准的规接口,支持各个 部分之间灵活的沟通与联系,在统一的安全机制下,实现信息数据的充分共享与灵活集 成。系统的设计要保持开放性,采用搭...

    drugshop:基于AgileEAS.NET平台开发的一个药店管理系统,包含所有源代码,文档,数据库,可直接运行

    一,AgileEAS.NET SOA中间件应用开发简介在4月,callhot写过一系列的有关于AgileEAS.NET平台... AgileEAS.NET平台基于软件过程改进和构件化的快速开发两方面达到了这一方面的目标,在软件过程改进实践方面,提出了独有

    EOS示例与教程.chm

    02.05.01.01 数据库初始化 02.05.01.02 数据源配置 02.05.02 命名SQL 02.05.02.01 开发页面流 02.05.02.02 开发页面 02.05.02.03 逻辑流开发 02.05.02.04 完善页面流开发 02.05.02.05 测试运行 02.05.03 ...

Global site tag (gtag.js) - Google Analytics