编译文章——理解面向服务的IT架构(二)(By AMT 张纯棣)

2006-5-24 1:42:46【作者】 AMTeam.org 【进入论坛】
本文关键字 文章交付
广告

理解面向服务的IT架构(二)

 

David SprottLawrence Wilks

CBDI Forum

20041

编译 AMT 张纯棣

 

SOA基础

我们朝面向服务的理念进行过度要起源于Web服务——大约三年前。然而,Web服务也仅仅是更长道路中的一步。服务概念的提出是组分思考方式的一部分,而且,很明显,分布式是最早尝试实施面向服务架构的形式。另外,我们还要注意到,Web服务是SOA这个更广阔概念中的一部分。Web服务是与WSnn协议进行交互的一个程序化接口。因此,Web服务提供给我们某些架构式的特性和收益——特别是在平台独立性、松耦合、自描述和发现——他们也可以通过接口的形式来促使提供者和消费者的正式分离。

服务是一个非常重要的概念:Web服务是一系列的协议,通过这些协议,服务可以被公开、发现并在技术上保持中立,以一种标准的形式进行实用。

事实上,Web服务不是SOA的必须部分,尽管随着时间的流逝,他们会逐渐演变为SOA的必要组成部分。SOA要比简单的定义服务实施,从服务提供者和消费者的角度强调服务质量等范围广阔的多。你可以从CBD和组分技术中找到相似之处。COMUML组分包都从技术的角度对组分进行了强调,但是CBD或者说基于组分的软件开发工程(Component-Based Software EngineeringCBSE)是你确保你所建立的组分与业务保持一致的准则。同样,Web服务纯粹是实施阶段的内容。SOA是方法,不仅仅是一个UML组分包的服务对等部分。

SOA的许多特点都将在最近一期的CBDI报告中进行说明,该报告将两家网络公司公布的Web服务比作了一个规范的基于浏览的访问的替代品,使得用户可以将功能引入到各自的应用中。在某些案例中——很明显,Web服务是有意义的业务服务——例如,促使服务消费者查询价格,生成清单,或者在购物篮中增加一项产品。而另一方面,在另一个组织中,服务可以完全不同。该组织实施了一个总体的API,提供了创建、读取、更新和删除等(CreatReadUpdate,和DeleteCRUD)对数据库进行访问的操作,而且这些操作都是通过Web服务来实现。在这里,这样两种不同的实施方式都是正确的,它需要用户理解潜在模型的含义,并将其与业务规则保持一致,以保证你的数据完整性受到保护。WSDL没有告诉你任何有关业务或者实体的信息。这是一个关于没有SOAWeb服务的例子。

SOA不仅仅是一个从技术角度出发的架构,他还是策略、实践、何框架,通过这些我们可以保证我们所提供和消费的服务都是正确的。

所以,我们所需要的就是一个可以被我们理解的框架,帮助我们理解,什么组成了好的服务。如果像我们在上一个例子中所看到的那样,我们有好多不同级别的有效性,我们则需要一些面向服务的原则指引我们设定策略、基线等等。

这里,我们可以识别出两个很明显的原则:

¨          与接口相关的原则——技术的中立性、标准性和可消费能力:

¨          设计原则——这些都是关于实现质量服务、满足真正的业务需求,并使得业务更容易被使用,增强其本身的可适用性,降低管理的难易程度

有趣的是,第二个原则在某种程度上,可能已被那些具有了较成熟的架构组成部分的组织所强调。然而,当然也是根据我们的经验来看,大部分的组织都会觉得这一级别的原则很难适应。较高质量的组分一般是为了某些核心的应用而设计,可以很广泛的共享并重用这些实例,更一般的来说,用投资上的短期收益是很难感知到我们所承受的投资成本的。

然而,当同样的原则被用到服务领域,现在,我们对于服务需求的理解更加透彻,而且,坦白的说,为了更好的理解成本以及那些不是特别设计的IT系统的效益,业务和IT管理都承受着一个较陡的学习曲线。这里,我们必须清楚——不是所有的服务都需要这样的特征;然而,有一点很重要,那就是:如果一个服务要被多个用户所使用,(正如SOA所需要的那样),那么服务需求就需要一般化,服务需要从实施中分离出来(正如上文中对网络公司的研究),而应用开发者也不需要知道潜在的模型和规则。对于客户应用必须满足的义务的说明,需要正规且精准的被定义,而且服务也需要在一个相关的粒度级别被提供,这一粒度级别要能够将适当的灵活性与业务流程进行融合。

表格1显示了一个好的服务设计所需要具有的特征,这些特征在Web服务和SOA中都是通用的。

Web服务

技术中立

终端平台的独立性

 

标准化的

基于标准的协议

 

可使用的

具有自动恢复和使用的功能

SOA

可重用

使用服务,
而不是通过复制实施的代码而重用

 

可抽离的

服务是从实施中抽离的

 

公开的

精确的、公开的服务接口功能需求说明,
不是实施

 

规范的

与终端提供者和消费者所制定的
规范的义务合同

 

相关的

一定粒度级别所表示的功能,
用户将其识别为一个有意义的服务

表格1Web服务和SOA

如果表格一所总结的原则都得到了满足,那么我们就会得到如下的收益:

¨          我们会得到真正意义的业务与IT实施的同步。许多年来,业务人员并不真的理解IT基础架构。通过良好定义的服务,我们可以从根本上改善与业务部门的沟通,并能真正的超越简单的整合,认证考虑业务与IT流程的融合

¨          一个具有良好形式的服务提供给我们一套管理的方法,并且这些方法是与业务使用具有较高的相关性的。强制性的将服务提供进行分离为我们提供了一个理解服务成本周期的基本方法,了解服务是如何在业务中被使用的。

¨          当服务从实施中被分离,考虑各种交付和协作模型的可选替代方法就变得相对容易且成为可能。没有人期望在未来可预见的未来中,核心的企业应用将会完全被多源集成的服务所完全获取。然而,考虑某些服务将会从外源方面被获取还是有一定的现实意义的,因为获取他们变得更加合适。例如,鉴定服务是一个很好的第三方服务的例子,该服务由于具有了专业性而提高了服务质量,而我们使用一个具有良好信誉的外部鉴定代理所能产生的收益则不言而喻。

2400


 

如果您希望与本文章的作者或其所在机构,进一步交流,请联系:姜小姐
jill.jiang@amt.com.cn | 021-51096826-112 | 在线联系
Acxiom谈数据库营销Acxiom数据库营销5—数据库营销..

数据库营销活动策划能为你提供更宽广的目标视野。数据库营销活动策划过程如下:业务任务:你要达到怎样的目……

刘国强智玩ERP[原创]ERP系统的需求分析模式

ERP软件的实施过程,是一个不断满足客户需求的过程,新需求不断被发现,客户对软件公司的要求也越来越高……

企业信息化杂谈[原创]信息化依赖症& 信息化恐..

患有依赖症典型症状是:什么事都想找个软件或者上个系统,总觉得离开了信息化就不能很好解决问题,解决办法……

王玉荣谈流程[原创]十个经典心理学实验之五..

每当我听到那些对一把手的牢骚话的时候,我就想:这些牢骚,不止是徒劳无益,而且最终杀伤的将是牢骚者本身……