编译文章——面向服务的IT架构(四)by AMT 张纯棣

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

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

 

David SprottLawrence Wilks

CBDI Forum

20041

编译 AMT 张纯棣

 

服务架构

SOA的核心是如何在第一个命令被提出时便对服务进行管理。我们一直强调的服务是沟通服务提供者和消费者的关键。因此我们需要一个服务架构来确保服务不会退化为接口的状态,即便他们拥有自己的身份或者可以在集合内被独立管理。

CBDI开发开发出了业务服务总线Business Service BusBSB)这个概念,旨在满足上述要求。BSB是一个关于某一特定业务领域内可用服务的逻辑试图,例如人力资源或者物流等等。他帮助我们回答以下问题:

¨          我们需要什么样的服务?

¨          什么样地服务是我可用的?

¨          什么样的服务可以在一起被操作?(根据常识和业务规则)

¨          还有什么替代服务可以使用?

¨          服务和服务译本之间的关系是什么?

我们不让开发者独立的去发现各种单一的服务,并把这些服务放到同一个环境下,相反地,让BSB作为整个活动的起点,指引他们实现一个一致的集合,组装到一起。

BSB的目的是使共同的业务说明、制度等都统一到总线级别,而不是在每个独立的服务层面。例如,总线上的服务应该都遵循同样的语义标准,与同样的安全策略相一致,同时都指向一致的全局领域。它也要利于一系列一致的、低级别的业务架构服务的实施,便于他们集成到同一总线上其他较高级别的业务服务上(例如,他们可以使用同样的产品代码有效服务)。每一个业务领域都要为流程和项目开发一个词汇表和业务模型。

对于服务架构来说,关键的一个问题是“对业务总线公开的服务的范围是什么?”一个过于简单的答案是“在业务级别上对其进行分离”。然而,这一答案实际上还需要解释——最好有一些启发式的解释以保证服务是满足业务条件的最低级别的共同分母,而且也是面向消费者的,同消费者达成的协议,对业务产生一定的意义和价值。这里最关键的一点在于,存在一个聚集和协作流程,该流程在实施组件时是独立进行的,见图2的说明。通过将这一流程分开,我们就有了足够的灵活度允许暴露的服务按照需求进行调整而不改变其内部的组件。总的来说,分离的级别将被按照这样的方式来开发:服务所处的级别都是与消费者有关的,且适合消费者的需求。这些级别可能是以下的一个或几个:

¨          业务服务

¨          面向服务消费者

¨          与服务提供者和消费者达成一致

¨          将低级别的基于实施的服务融入到对业务有意义的服务中

¨          适于外部用户使用

¨          与事先存在的连接设计相一致

2:分离的级别

 

SOA平台

分离的关键是定义一个虚拟的平台,这一平台与一系列的实际平台是等同的。虚拟平台的目的是实现服务与服务实施的分离,使其尽可能完整,并允许各组件在各种提供服务的实施平台上建立,使服务提供没有任何实施依赖性。

虚拟SOA平台由一个包含开发平台和实施平台的蓝图组成。蓝图提供了开发和实施应用时的指导,以保证公开的服务与同一个结构化原则相一致,并且该原则是与管理和消费者对于服务的理解相关。

当一定数量的不同应用可以同时共享一个架构时,当架构上不同部位的关系是一样的时候,那么我们就可以说这一架构具有一个统一的风格了。这一风格可能通过不同的方式来实施;它可能是一个统一的技术环境、一套策略、框架或者实践等等。一个虚拟平台组分实例包括:

¨          主机环境

¨          消费者环境

¨          中间件

¨          集成和组装环境

¨          开发环境

¨          资产管理

¨          公开与发现

¨          服务级别管理

¨          安全架构

¨          监控与评估

¨          诊断与故障

¨          消费者/订购者管理层

¨          Web服务协议

¨          身份管理

¨          认证

¨          引入与译本

 

企业SOA

SOA的最优实施架构是一个基于组件的架构。很多人应该对流程概念和实体组分的概念很熟悉,而且也会理解这些架构的稳定性和灵活性的内在原理,这都为实现一个业务实体和组分实施提供一对一的解决方案。企业SOAESOA)带来两个重要的线索——Web服务和CBD(或者说CBSE)——他们是统一的。结果便产生了企业SOA,它适用于外部使用的Web服务,也适用于内部使用的核心业务服务组件。它已经超越了ESOA的概念。CBDI系列报告对企业SOA有更多的介绍。

 

SOA的原则

SOA是一种企业架构,因此,它是从企业的需求开始的。但是,SOA和其它企业架构方法的不同之处在于SOA提供的业务敏捷性。业务敏捷性是指企业对变更快速和有效地进行响应、并且利用变更来得到竞争优势的能力。对架构设计师来说,创建一个业务敏捷的架构意味着创建这样一个IT架构,它可以满足当前还未知的业务需求。

要满足这种业务敏捷性,SOA的实践必须遵循以下原则:

¨          业务驱动服务,服务驱动技术

从本质上说,在抽象层次上,服务位于业务和技术中间。面向服务的架构设计师一方面必须理解在业务需求和可以提供的服务之间的动态关系,另一方面,同样要理解服务与提供这些服务的底层技术之间的关系。

¨          业务敏捷是基本的业务需求

SOA考虑的是下一个抽象层次:提供响应变化需求的能力是新的元需求,而不是处理一些业务上的固定不变的需求。从硬件系统而上的整个架构都必须满足业务敏捷的需求,因为,在SOA中任何的瓶颈都会影响到整个IT环境的灵活性。

¨          一个成功的SOA总在变化之中

SOA工作的场景,更象是一个活的生物体,而不是象传统所说的盖一栋房子IT环境唯一不变的就是变化,因此面向服务架构设计师的工作永远不会结束。对于习惯于盖房子的设计师来说,要转向设计一个活的生物体要求崭新的思维方式。如下文所写的,SOA的基础还是一些类似的架构准则。

总结

SOA的目标是实现一个全世界范围的协作服务网,这一服务网可以供服务总线调用。采用SOA的架构,对于实现Web服务所承诺的业务灵活性和IT敏捷性具有至关重要的作用。这些效益的取得不是简单的从技术角度来看服务架构,单纯依靠We服务协议也不够,还需要创建一个面向服务的环境,这个环境基于以下几个关键原则(也是我们在文中一直倡导的那样):

¨          服务是重要的概念。Web服务是一系列可以发布服务的协议,保证服务以一种技术中立的、标准的形式被使用。

¨          SOA不仅仅是一个从技术角到来看的服务架构,它还是策略、实践和框架,通过这些我们可以保证正确的服务被提供和使用。

¨          使用SOA实施流程时,关键的一点是确保至少有两个不同的或者相互分离的流程——分别为服务提供者和服务消费者使用。

¨          我们不让开发者独立的去发现各种单一的服务,并把这些服务放到同一个环境下,相反地,让BSB作为整个活动的起点,指引他们实现一个一致的集合,组装到一起。

 

如果想要继续了解如何在Web服务向SOA过度期的规划和管理工作,CBDI提供了“Web服务路径”,可以在以下网站中查到相关资源:http://roadmap.cbdiforum.com/

2750

 

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

数据库营销是个体层面的营销,有别于传统的促销广告。传统促销广告致力于打造以群体消费者为目标的总体品牌……

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

他想一把手所想,成为创始企业家的左膀右臂,他打通各个部门的壁垒一揽全局,他不仅能想,而且去行动,做出……

人月神话专栏IT项目管理十六个字

凡事预则立,不预则废。如果你不知道要到哪里,给你一张地图也没有用。目标驱动要有最基本的计划管理和时间……

CK漫话行銷[原创]借钱借出千万营收

创业智能:想依赖自己的能力赚钱的人,除了要先能证明自己的能力,而且要把能力用在别人没想到的地方。