三大因素阻碍SOA成功实施

2009-1-7    | |
打印本文章
RSS

导读:三大因素阻碍SOA成功实施,使大企业能够有效运转的普通业务结构实际上会阻碍有效的面向服务的架构SOA的开发。部门利益或影响SOA整体实施效果。

关键词:SOA实施 业务结构 面向服务架构 SOA

正在加载数据...

  使大企业能够有效运转的普通业务结构实际上会阻碍有效的面向服务的架构(SOA)的开发。

  分级机构对SOA的冲击

  IT部门之外的大多数企业雇员在一个团队中、一个部门、一个单位或某种类似的分级结构中工作。这种组织模式很长时间一直有效地适应大企业、政府和军队的需要。可以理解的是,在这种组织结构中的人通过这种体系中他们所处位置的环境看世界。但是,当IT解决方案要求来自企业各个部分的代表的意见时,这种组织结构给SOA带来挑战。

  软件世界经过许多年发展成熟到了分析与设计成为非常细化的流程的程度。IT世界中的多数人目前相当熟悉用于收集业务需求和开发系统架构的主要技术。主题专家(SME,有时叫做领域专家)的角色现在在软件开发项目中很常见。这一角色很好地服务于构建传统上满足业务单位需要的业务线系统――软件竖井,如果你愿意这样称呼的许。直接利用业务专家的知识使开发团队可以开发契合业务单位需要的解决方案。这个流程绝不简单,但它至少是常见的、得到充分了解的。

  部门利益或影响SOA整体实施效果

  一个独特的SOA挑战是它需要将来自企业各个部门的SME召集起来。SOA构建一个新的协作的知识基础,描述企业如何在一个高于单个业务线之上的水平运行。来自每个业务线的代表必须参与分析SOA的需求和能力。如果每个业务单位拥有自己的IT人员,这种人可能也要参与。

  这不只是让更多的人提供意见、解释自己部门的需要的问题。随着参与这个分析过程的人员数量的增加,观点的数量也在增加。业务单位代表可能看到被他们亲近自己的业务单位所歪曲的分析,而忽视其它业务单位的观点和需要。这实际上是意料之中的,因为每个人都在他们熟悉的领域中发挥作用,可能没有意识到其它领域并不以同样的方式运行。通常,SME是自己所在部门的领导人,可能持一种“一切都是关于我”的态度;这里的“我”实际上就是我的部门。这种态度很少是有意的,但代表着我以前写过的SOA和集成项目中相当常见的系统偏见形式。我喜欢会与许多代表一起开会,以鼓励参与者看到更大的图画。

  在我从事的行业中,我常常参加有来自财务、会计和运营(售后)以及IT的代表参加的会议。这些团队成员都对企业中的某一数据流有着独特的观点,但每个成员只看到一个部分。这种数据的陈述对于每个部门是不同的,但基础实体是相同的:订单和相关财务数据。

  财务人员通常关心收入如何计账,收益如何计算。会计人员实际上不关心这些细节,而希望确保总账准确反映财务的意图,满足GAAP(通用会计准则)和审计要求。运营团队一般更关心让订单通过批准流程和外部系统之间的流动,常常不知道会计或财务人员对财务方面的看法。当财务部门认可可能部分收到的收入时,常见的冲突出现了;会计人员说这违反了他们的GAAP;运营人员说你不能在不破坏他们的流程的情况下分割订单。同时与这些代表讨论这些问题使他们可以了解其它部门如何对待同样数据的不同方面。当来自每个业务线的领导人面对其它业务线的现实时,这常常软化他们对妥协的抵制。最后,他们都在同一个团队中。

  按照定义,SOA旨在将人们联合在一起来构建用于整个企业的系统。这导致另一个问题:个性差异对群体动力的影响。这种情况只会因许多代表参加的这些会议而变得更糟,因为邀请所有人参加的原因是他们的不同需要。很常见的是群体中的某个人(这个人通常能言善辩或深受尊重)获得对出现这类会议的设计决定的不适当的影响。为了消除这种影响,我希望混合大小群体会议以及一对一的后续会议(或预备会议,但这要小心)。这样做有助于过程中出现的筛掉大量的信息和分歧的观点。这种群体动力影响在跨国企业中甚至更加显著。

  沟通障碍对SOA的影响

  最后的问题是传统软件分析中的常见问题:沟通障碍。一个问题的答案可能由于问题的提出方式会差别很大。这可以是基本交流技能和提出问题的语境的结果(就我而言,语境是交流的一部分,因此也许我这里赘述了)。当讨论已有流程的细节时,询问抽象的问题常常生产一个过于具体的答案。即,答案可能过于针对执行,无助于企业架构师了解问题的范围以及这个使用案例的特殊变化。

  例如,讨论可能涉及来自SME的意见,“我们必须接收来自X、Y和Z的格式A、B和C的订单。”重要的是不要过于迷失在当时的细节中。这会让你偏离抽象理解的重要踪迹,与执行细节分离。微妙而有破坏性的问题是在这么具体后可能很难回到抽象。但是,你仍需要细节。非常奇怪的是,这种难点可能出现在SME或业务分析师身上;或者,它可能涉及整个群体。有时,你对此毫无帮助。尽你最大努力做笔记;但是一定要知道能力或服务实际接收订单。可能存在具体客户的执行差异,但这种现象出现在分析流程链下游的位置。

  我经常使用的一个技巧是以3种不同的方式询问SME同样的问题,一般不在同一个会议中。这种交流常常可能遵循这样的模式:

  “那么,什么是订单可以遵循的可能的工作流(状态变化)?”

  “有没有订单可以走另一种不同的路径的时候吗?”

  “如果存在例外并且订单必须进行没有规定的状态变化的话,你怎样做?”

  使用来自以另一种方式重述的回答的信息可以让SME超越他们的立即或当前执行去思考。他们将透露更多真实的要求,而不是当前的能力。这在讨论SOA需要的业务能力时甚至更重要。

  为使之顺利进行,及早确定一个设想。将它有效地与SME和参与SOA分析的其他成员交流。首先,你的设想将是SOA可以为企业所做的事和流程将如何开始。随着时间的发展,这种设想由最初的一般陈述演进为被分析的企业的具体设想。这种设想发挥着使你可以以清晰和非技术方式向SME(他们越来越知道SOA)传达SOA介绍性的和抽象的概念。你可以开始交流这种设想,也许向支持你的高级IT管理层,但是企业将迅速承认它并推动它的演进。这正是拼图变成一幅完整图画的地方。

  Dan Rosanova是Nova Enterprise Systems公司主要咨询师。该公司是专业从事企业应用和Microsoft BizTalk Server解决方案的咨询机构。Rosanova在提供金融、保险、电信和医疗行业中Windows、Solaris和Linux平台上的企业解决方案方面有着10年的经验。

原文出处:http://www.cnw.com.cn/cnw07/Software/News/htm2009/20090106_65310_2.shtml
来源:网界网    
  评论
 
今天,大多数SOA设计技术1,2,3都是以定义服务为中心的。它们使用面向服务的分解原则,以业务流程为基础、企业业务/功能模型……
 
SOA即面向服务的体系结构,这句话,相信接触了企业信息化的人都读过,SOA从一个IT概念发展到如今,已经运用于诸多大型企业中了……
 
面向服务导向架构(Service Oriented Architecture,SOA),企业用户存在各种各样模糊的认识,这些模糊认识很可能将企业的SOA项目引入误区……
 
在SOA(面向服务的架构)的浪潮中,厂商们都积极地重新调整自身已有的产品组合。也都会借此机会大张旗鼓地宣传他们的技术和产品是最适合用户的。
 
SOA专家Dave Linthicum称,当涉及到SOA的问题时,有许多错误的信息。虽然你可能认为经过这么多年之后我们会更好地理解SOA……
本技术手册旨在探讨如何为封装WS-BPEL流程逻辑所需的Web服务设计WSDL定义。因为SOA提倡用“契约优先”的方式来设计服务,所以理解由WS-BPEL引发的这种独特服务契约设计理念,是成功构建有效流程和服务的关键因素。
本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。
本专题分六部分探讨服务定向原则,主要探讨如何将服务定向原则应用于构成服务的自动化逻辑。如何越过单个服务层面,应用作为范例的服务定向并形成能够封装整个企业领域的服务层。
最新更新
专家答疑
技巧
Eric Newcomer
是否存在某些经验法则,让人们在网络互操作性和进程互操作性二者之间做出选择?换句话说,如果我遇到吞吐量问题,是不是就不该选择Web服务了?
Jason Bloomberg
评价“企业mashups”的标准是什么?尤其是在企业mashups和“主机包装”项目的关系上?我们对企业mashups的定义是:丰富网络环境下,一套建立在SOA基础之上的组合……
Rami Jaamour
你能解释一下什么是回归测试吗?怎样才能保证你的回归测试是正确的呢?回归测试旨在揭示所有由软件修改所引起的回归,在当今复杂多变的商业环境下……

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录