网站地图
  
  高级搜索
  首页   技术论坛   博客 派计划   产品中心   资源中心   银弹在线   商城  





构件化与SOA    
#1楼
给作者发送短消息 给作者发送短消息 实名会员 
查看用户其他信息
总分 341 分
财富 807 goCom币
威望 141
排名 第 57 名
段位 新手必读

  前段时间听到有人提到“构件化”和SOA的区别,一时之间竟也没人说得清楚。从别人那里了解到的想法是:构件是“从底下看的”,构件与构件之间的关系应该是紧耦合的;服务(Services)是从系统的角度看的(我的理解:从外观上看的),服务之间的关系是松耦合。也有人说构件化和SOA是一样的。

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

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

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

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

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

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

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

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

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

2007/10/25 9:55
管理员于 2007/10/29 09:10:31 对该贴进行了分值操作, 30 goCom币 和 3 专家分 。理由为 精品贴


SOA中国关键任务广受认可    SOA博客精英 万元奖金现已发送    IDC白皮书《软件商成长路线图》    软件开发2.0技术大会
Primeton BPS 频道火热上线    goCom积分调整    派计划:专业、权威、影响力    goCom户外:烧烤+游戏
 

Re: 构件化与SOA    
#2楼
给作者发送短消息 给作者发送短消息 实名会员 
查看用户其他信息
总分 1879 分
财富 1497 goCom币
威望 2043
排名 第 15 名
段位 新手必读
 

Re: 构件化与SOA    
#3楼
给作者发送短消息 给作者发送短消息 实名会员 
查看用户其他信息
总分 1147 分
财富 2401 goCom币
威望 609
排名 第 21 名
段位 新手必读
 




发表回复
账号用户名   密码   登录
内容:url email imgsrc image code quote
范例 Example
bold italic underline linethrough   


 [更多...]