SOA关键问题解答

 
   | |

导读:本文讲述了企业用户存在各种各样模糊的认识,在这样的状况下部署SOA,可能会把企业的业务带入歧途,了解SOA的关键问题,可帮助CIO避开SOA部署中的陷阱。

关键词:SOA 面向服务架构 SOA部署 企业用户 Web服务

 
正在加载数据...

  面向服务导向架构(Service Oriented Architecture,SOA),企业用户存在各种各样模糊的认识,这些模糊认识很可能将企业的SOA项目引入误区,在这样的状况下部署SOA,可能会把企业的业务带入歧途,了解SOA的关键问题,或许可帮助CIO避开SOA部署中的陷阱。

  1. 为什么不同的人对SOA有不同的解释?

  SOA的定义取决于你在组织业务中的角色。

  对于业务执行人员,SOA创建了企业希望向其客户和合作伙伴或组织的其他部分公开的一组服务。对于IT架构师,SOA是一种体系结构样式,此样式至少需要有服务提供者、请求者和服务描述。对于程序员,SOA是一个由标准、工具和Web服务等技术加以补充的编程模型。

  当然,企业信息技术系统及流程管理人员之所以存在似是而非的SOA概念,还可能因为软件厂商没有向企业用户解释清楚SOA的含义。比如,SOA中的服务(Service)并非我们理解的传统企业服务,而是软件开发的专业用语,指技术层面的、细颗粒度的功能模块,还远未达到与企业业务流程直接对应的程度。软件厂商在强调SOA给企业带来巨大商业价值的同时,并没有具体阐释这一点。

  2. 业务流程管理(BPM)和SOA是何关系?

  BPM与SOA既可以单独部署,也可以组合使用。

  如果企业的IT系统比较简单,企业规模比较小,用同样的一组IT人员就可以控制所有IT系统,那么,部署一个不使用SOA的BPM套件,就可以获得快速创建、执行和监控/管理业务流程的能力,而不必部署SOA。但是,如果BPM套件由一个IT小组部署,而同时使用来自另一个IT小组的系统服务,那么SOA就可以帮上忙了。

  如果企业的IT系统足够复杂,可以考虑将BPM和SOA组合使用,通常在SOA上实施BPM解决方案可以获得更大的业务灵活性。如果BPM项目达到一定的范围和规模时效果才能显现,最好先开发出BPM,而将SOA组件留待以后考虑。

  最好一开始就让业务流程团队和IT架构团队保持持续良好沟通,针对未来进行可行性规划。例如,BPM套件本身应该能够提供丰富的连通性,以便无需全面应用完善的SOA来使得BPM运行,不要让BPM与SOA成为互不连通的两套系统。

  3. “瀑布式”开发与迭代式开发哪个适合SOA?

  企业部署SOA最好是通过迭代模型来实现。

  迭代模型将标识一组对业务非常关键且价值高的功能来进行服务支持工作。此模型可随后供后续服务支持项目和活动使用。如果采用传统应用程序开发时使用的“瀑布式”开发方法部署SOA,可能导致创建仅能部署一次的服务,而无法在以后对其进行重用。

  使用迭代式开发部署SOA,可通过允许组织逐步纳入到系统中,从而减少出现业务故障的风险。同时,任何组织接受和容纳更改的能力都是有限的,迭代式开发可确保引入新的流程和系统带来的更改非常适应企业的容量,且不会在企业中引起大的混乱。

  同时,在SOA中,新功能并不一定总是仅受单个业务部门(Line Of Business,LOB)的约束,需要考虑很多跨组织的依赖关系,迭代式开发也有助于解决跨组织的协调。

  4. Web服务与SOA是一样的吗?

  Web服务仅仅是目前最流行的SOA实现技术,但并非可以用于开发SOA的唯一技术。

  SOA与Web服务(Web Service)的数量无关。对于SOA来说,真正有价值的是对于Web服务的再利用而不是Web服务本身。即使将所有信息技术系统都用Web服务实现,也不见得就等于部署了SOA。有些企业使用了太多的Web服务来做同样的IT服务,结果部署SOA的效果非常差。将Web服务等同于SOA,很容易发生在一些希望快速实现SOA但是并未真正理解SOA的企业身上。

  很多SOA项目都涉及到集成遗留数据,此类数据包含在使用MQSeries和CORBA(Common Object Request Broker Architecture)等“旧”技术的系统中。其中的许多技术都已针对SOA进行了调整,不管有没有Web服务都可使用。事实上,企业可以只使用MQSeries、CORBA甚至远程过程调用(Remote Procedure Call,RPC)技术就能实现SOA。
 
  5. 所有应用程序或环境都适合部署SOA吗?

  不是所有的应用环境都适合部署SOA,很多情况下,部署SOA的效果可能会适得其反。

  SOA可以根据需求通过网络对各种应用组件进行分布式部署、组合和使用,从而满足用户统一服务界面、快速部署新业务等需求。但是,如果企业的IT系统并不复杂,系统基本上都建立在同一架构上,整合系统并不困难,那么实施SOA并不能给企业带来太多好处,反而可能会带来负面影响。

  专家认为,针对某些应用程序或IT环境,SOA可能并不值得推荐。比如,不需要组件或者应用集成的、独立的、非分布式的应用程序;应用范围非常狭小或者生命周期短的应用程序;建立在同一架构上的应用程序环境等等。对于一些企业来说,采用了单一厂商的技术和产品,拥有同一架构的IT环境,就不需要那么急迫地实施SOA,或者实施的效果并不是很明显。

  有些企业很多年前就已经成形了业务支撑系统,虽然经过了很多次修修补补,但都一直在正常运作。专业人士认为,这种结构老、补丁多、又肩负重任的系统,与其用SOA动大手术,还不如等这种系统寿终正寝,重新开发符合SOA架构的新系统,进行自然淘汰比较好。

  6. 企业应该如何着手部署SOA?

  部署SOA应该制定明确的路线图,循序渐进。

  企业部署SOA时最好先制订一个清晰的路线图,然后从单个应用程序开始构建SOA架构,可以先从比较简单的应用开始。这样,企业可以在做出全面部署SOA之前先衡量投资回报率,并在出现大的问题之前积累足够的经验。

  当企业计划部署SOA项目时,CIO要注意各种细节,比如,供应商提供的软件是否支持Web服务和SOA;开发某些应用程序时,该应用是否要支持其他业务需求;哪些应用需要嵌入对Web服务的支持等。如果企业大规模部署SOA,还需要建立企业服务总线(ESB),通过ESB提供服务请求。当然ESB的建立也需要一个过程,CIO必须注意部署节奏。

  尽管目前已经可以找到很多关于SOA的知识,但部署SOA仍然非常困难。其中最直接的原因在于SOA需要企业部门之间的高度沟通,而且要求整个企业都为变革做好准备。变化带来的问题解决之后,可能又会出现技术问题。因此,企业部署SOA需要提前做好各种各样的准备,并且有长期的详细计划安排。


部署SOA
 用户分析企业成功部署SOA五大核心原则
 CIO该如何把握部署SOA的最佳时机
 怎样设计和部署SOA
 几大要素指引成功部署SOA
 企业部署SOA时面临的挑战
 CIO成功部署SOA项目需明白六个模糊认识
 企业部署SOA有五大原则
 CIO在部署SOA过程中的五大隐患
 数据中心要克服SOA环境误区
 SOA关键问题解答
 多企业SOA实施方案是最新的抗衰退趋势
 企业SOA实施的成熟度研究
 SOA迈向成功的八扇“门”
 电信企业SOA部署六步走
 用自动黑箱框架加快应用部署
 强化性能管理 克服SOA环境误区
 如何使SOA计划获得成功
 使用Reservation模式实现SOA事务
 SOA的好处、坏处以及尴尬之处
 再议SOA十大谜思 SOA双方都有错
 七步教你如何成功部署SOA
 SOA:从成长到壮大

原文出处:http://www.zdnet.com.cn/
 
来源:zdnet.com    
 
 
 
 
 

SOA实施

 
就好像是医疗保健行业相当不错地风化了经济衰退,所以一些厂商已经在最近期待投资。甲骨文和Axolotl公司在2010年医疗卫生信息与管理系统协会……
 
虽然你可以在没有SOA实践的情况下使用云计算,你也可以在不使用云计算的情况下利用SOA,但是云计算的真正价值是使用服务、数据和流程……
 
许多基于服务的新应用跨越了单一组织的边界,在集成这些扩展系统时,数据定义经常是最可怕的挑战压力。加州个独立系统运营商(ISO)就是个实例……
 
Harris公司气象学家使用SOA将天气信息集成到下一代空运系统。上个月在亚特兰大举行的美国气象协会(AMS)会议上,他们探讨了这项工作。
 
现在微软Azure市场上有售,早期企业采用者开始在应用程序上进行移植。自从开发人员专门从事.NET云平台,微软可能就再三思考调查其他云厂商。

热门技术手册排行

 

随着开源技术越来越成熟,一个稍有开发经验的人通过学习就可以用开源的产品和技术构建一套可用的系统。对于从事软件开发的人员,尤其是对Java或动态语言相关领域的人来说,“开源”也许是他们最喜爱的单词。但是,很多时候我们需要的不仅仅是一个可用的系统,而是希望这个系统开发更简易、性能更高和扩展性更好等。这确实是一个令人头痛的问题。本指南很多地方都是点到为止,要深入了解相关信息的读者请借助参考资料、网站等自行挖掘。

 

本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。

 

业务流程管理(business process management,bpm)不是一个新概念,甚至不是一个新名词。它是从相关的业务流程变革领域,如业务流程改进(bpi)、业务流程重组(bpr)、业务流程革新中发展起来的。流程管理技术也是从早期的工作流管理、eai、流程自动化、流程集成、流程建模、流程优化等技术中发展起来的。

 

TOAGF是一个架构框架,简而言之,TOGAF是一种协助发展,验收,运行,使用,和维护架构的工具。它是基于一个迭代(Iterative)的过程模型,支持最佳实践和一套可重用的现有架构资产。

 

云计算的概念越来越流行,Amazon、Google和IBM是第一批将云计算引入公众视线的公司。云计算就是新的Web2.0,一种既有技术上的市场绽放。

 

Mashup是一个非常cool的新的应用程序种类。如果你想真正的了解它们,我们需要回过头来看看你现在的计算机,其实它就是一个非常好的帮助你理解mashup的模型。现在开源的操作系统无疑是非常好的apis的集合或应用程序编程接口,帮助开发者去构建其应用程序。计算机本身也是一个很好的为用户提供接口的例子,键盘和鼠标可以被理解为你通过计算机的接口而使用的不同的应用程序。本技术手册为读者提供了一些相关信息,如果需要深入了解mashup,读者可以借助其他参考资源。

查看更多
 
 

登录TechTarget中国

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