信息化 频道

SOA实施过程中的十大技巧

    【IT168 信息化

    SOA实施过程中的十大技巧

    深入一点去分析,你会发现面向服务架构所能带来的诸多好处是值得付出的。但是,如果你只是刚刚开始这个过程,你能够确保你的业务以及IT基础结构足以处理好这其中的各种复杂性问题么?如下则是例举的关于SOA成功实现之前的十点技巧,可以尽量避免在实施过程中的过多错误,过高成本以及交付不足的各异难题。

    为了展现更多的业务价值,面向服务架构的技术与实现已经赢取了来自CIO和执行团队足够多的关注,越来越多的IT管理层人员将面临着第一次SOA尝试的前景。根据AMR研究机构的学术研究报告可知,就在去年的时间里SOA的影响范围已经扩大了一倍以上。Gartner分析公司坚信,到2010年为止,SOA架构体系会深入到百分之八十以上新的大型系统中,或是部分的影响其构建设计。

    SOA为企业提供了独特的优势,这集中体现在了分布式和自动化的IT环境。

    “我们之所以愿意采用SOA其中之一的原因就在于SOA可以实现不用打破重组的前提下让事情发生改变。” 来自ZapThink分析机构的资深分析师以及董事会成员Ronald Schmelzer这样说道,“我们所做的就是要将这种灵活可变的方法引入到企业架构当中去。”

    但是,Gartner分析公司专注于企业级架构的资深分析师以及副总裁Randy Heffner对此表示了疑惑,“SOA的实施将为整个环境带来很多我们所无法预计的复杂性问题,而这些并不会一如我们最初开始执行时所看到的那样简单”。

    “对于这些听说过SOA的人而言,当然我理解的这一个群体应该是站在一个比较高的层次上去看待这个架构体系问题的,这一部分的人在开始之前肯定会有个一个非常重要的事要做,那就是仔细考虑是否已经准备好了一切从而去实施SOA。他们可能会说,‘是的,我们已经计划好了明年开始正式引入SOA,但是且慢,行业中对于SOA的讨论总是有着不同的方式,那对于我们而言具体的意义应该如何?’” Heffner说道,“毋庸置疑,这需要一段时间才能真正着手去实施SOA。”

    为了能够更好的帮助企业中为SOA实施而焦虑不安的决策执行人员,我们特定对Schmelzer和Heffner进行了探讨,并总结出了如下的十条关键技巧从而能够给予SOA成功实现足够的帮助。

    1. 切记,这是一个架构体系

    随着SOA所引发的浪潮越演越烈,许多供应商也开始更多的与SOA关联到一起。但是进一步的市场营销手段或是其他的宣传反而带来了不良的影响,人们往往忽视了SOA的主要特征,而把一些技术甚至一些产品作为SOA的具体表现,归根结底,SOA是一个架构体系。事实则是如此,SOA作为架构体系的存在是不依赖于任何特定的技术或方法的。

    “架构体系不是某种具体的技术,他们更多指的是一种设计理念。” Schmelzer如是说,“我们可以通过多种技巧和技术实现SOA,因为我们在遵从SOA设计原则的基础之上去实现了整个架构。比如说,如何处理抽象,如何处理松散耦合,如何处理异质性,以及如何处理流程。”

    他相信,能够真正实现SOA的企业必须是在开始筹划他们的面向服务项目之前就深知这一原则的企业。

    2. 不要将SOA与We把服务混为一谈

    这必然应该放在首要的位置。根据SOA这些日子的发展看来,很多企业似乎有着一个不太准确的印象,那就是认为面向服务架构的所有内容仅仅只是关于Web服务的。Schmelzer指出,事实上,SOA所指的服务包括了企业内部所有类型的服务。有着这样错误认识的企业必定无法对SOA应用的优势有深刻理解:这是一个可伸缩的,灵活的企业级架构体系。

    “诚然SOA和Web服务两者的发展密切关联,但是,你可以在没有使用Web服务的情况下成功的实施面向服务架构,反之,即便你将很多的Web服务整合在一起也并不能说这就是面向服务架构。”他如是说道。“这就好像是将一大推的木材堆积到了一起但你不能称其为房子。”

    3. 功能优先而非产品优先

    如果你想要寻找一个最简单的方法打破所有SOA成功实施的希望,那就是让你的设计水平向后发展。而在SOA架构体系中,过多的依赖产品必定会让你的SOA架构设计有所局限,而这正是Schmelzer和Heffner所共同认定的一点。

    “人们在说,‘我需要SOA’,那么让我们购买EMC所提供的解决方案吧,然后我不用再弄清楚我需要建立什么样的服务,我不用再弄清楚这是一个什么样的架构。而这样的做法就是一种退步。” Schmelzer指出,“你必须要清楚,在建立你的服务之前考虑好这些服务将用来做什么,如何使用,而同时,你可以使用超过两百种不同的方法去建立起这个服务。”

    Heffner也对Schmelzer的观点表示了赞同:“即便是在做SOA平台设计工作,也应该时刻明确一点,那就是以功能为重而不是产品为重。更好的理清楚什么样的功能是你所需要的,你才能更好的认识到从现有的产品中获得什么样的好处,而新的产品又能为你带来什么样的帮助。”

    4. 不要用面向服务理念指导所有应用

    Schmelzer还说道,一个企业中并不是所有的应用都是完全符合面向服务架构的,所以,千万不要试图将所有的应用都强套上面向服务的帽子。

    “如果你针对一些不会发生变化的环节采用了SOA,那你只是为这些应用增加了不确定性,同时也对整个流程的效率带来了坏的影响,不会有任何好处。”他这样补充。

    举例来说,一个企业不会想着要将SOA引入到电汇的流程中去,因为面向服务可能不会给这个流程带来有效的改变而仅仅只是徒增了可变性,Schmelzer指出这些都是毫无意义的。在这个情况下最好的办法则是让这项流程采用其自由的服务。Schmelzer解释了在将应用交付进SOA项目之前对功能就SOA适宜性的检查能够更好的让技术与应用结合起来。

    “你需要准确的知道SOA应用带来的好处而不是盲目的追随这样一种理念。深入分析,明确SOA是否会在这些应用中带来改变?会体现在哪些方面?而整个过程对于成本和应用复杂性的问题会不会增加?这些都是需要事先明确的关键所在。” Schmelzer强调,“只有当你的结论都是肯定,你才可以放心的引入面向服务。”

    5. 可增性SOA是一件好事

    企业在选择SOA实施的时候往往会采用两种不同的方式,一种是逐步实施以短期收益为重不断加并积累起后期的需求,另一种则是为了一个长远的目标而采用了较为复杂和较难处理的架构方式。两者相比,前者无疑会在SOA发展重带来jiaoda 的获益。

    “也许你希望你所在企业的所有事只要能够实现面向服务的全部实现面向服务,但是,这并不意味着你需要在同一时间里全部的实现这个需求。” Schmelzer说道,“其实,你大可从一些小的应用开始着手而不是选择一些关键的,这时候即便失败也不必付出惨痛的代价。”

    这样看来一些小的,颗粒级的项目对于SOA的实现是非常有意义的。因为这样一来对于小型的业务情况能够有个比较清楚和正确的认识,而这些短期的项目也能为将来大型项目的成功打下基础。

    “专注于你眼前的迫切需求并在短期项目中提供基于SOA架构的解决方案,这才是当务之急。” Heffner解释道,“因为只有解决好了这些短期项目你才能够为将来的长期项目做好准备。”

    6. 重视近期回报而非长远目标并考虑如何将其汇总成为最终的目标

    毫无疑问,在你开始着手于小型项目的同时,考虑好如何让其收益更多为长远目标服务是一件至关重要的事。

“将眼前的这些迫切需求作为你整个长期的SOA平台目标的基础收益,能够更好的在近期项目和长远项目之间取得平衡。” Heffner说,“同时你也可以逐步认识到利用现有产品可以实现怎样的交付项目,而在将来的项目需要有哪些提升。因为不可能存在一个企业可能提供一大桶的基础设施预算用以疯狂购物,去享受购买各种新的SOA产品所能带来的乐趣。”

    7. 从一开始即将安全性考虑进架构中

    在整个SOA的实施过程中,有一个重要的问题则是这个过程将会引入一系列的治理和安全问题。

    “你将拥有着一大堆的服务,任何人都可以创建起一个服务,任何人都可以对这些服务进行修改,那可想而知这里面将会涉及到多少难以预测的问题。” Schmelzer对此说道。

    但是问题在于很多的SOA架构师并不能够完全的处理好在这个过程中的安全隐患,甚至在他们逐步增加的SOA实施项目中他们并没有认识到即便是一些小的项目也同样需要安全方面的考虑。

    “他们可能会说,‘好了,我并不需要任何的治理,因为我仅仅只是在这个环境中使用一两个服务,所以我要做的只是将他们处理好即可’。” Schmelzer说,“但是问题在于最基本原理实际上应该是基于对服务的计划而不在于是否真的使用了这些服务。如果你得出的结论是仅仅只是在对某一两个服务的使用上那为何又要通过对所有服务的挑选而做出合适的选择?对于那些根本不会用到的服务在最初建立的时候就应该避免掉。”

    将安全措施和治理工作引入到流程中的目的则是在于避免引发混乱,他说道。

    “如果能够正确的使用治理,那么在服务建立的初期一些矛盾的服务或是一些多余的服务即可以有效的规避掉。”他如是说道,“更为重要的一点在于,人们应该基于一定的策略去选择可以整合到一起的服务,并在生产环境中基于基础架构所能支持的基础上有效的提高他们的使用范畴。而在这个过程中,治理正是起到了这个策略的功效。”

    8. 期待着SOA技术能够带来很大的转变

    Heffner警示那些作为初期的SOA在业务方面的采用者需要更多的期待在未来数年的时间里技术方面的革新将会更好的支持这样架构理念的执行。这也是为什么局部渐进思想在SOA实施过程中非常有效的原因所在。

    Heffer 说,“随着SOA技术作为供应商、厂商的前景、技术以及标准逐渐成熟,当你投资新的产品以及技术时,首先也是关键的是将之看作是在未来两三年内需要重新返工的战略投资。在SOA标准领域还有许多需要成熟的地方,情况将有所改变。”

    9. 从供应商那里争取更好的有用产品

    正是因为各个供应商也在不断的发展当中,企业可能从他们的这些变化中获得更多在技术方面的好的影响,这也能更好的帮助企业实现其SOA目标。Heffner鼓励企业能够更强的推动供应商调整其技术产品,从而更好的为企业的业务运作和回报做出有效的SOA投资。

    “如果是我的话我将会推动厂商,让他们提供的投资模式通过更能符合我业务模式的平台产品能够具体验证。”他说道,“告诉供应商,‘在这个短期运作内有多少的商业价值存在而我也希望能够把握住这些价值,如果我所获得的投资模式并不能实现这些价值那我可能不会再有能力购买其他的任何产品’。”

    10. 寻找一个有意愿成为合作伙伴的供应商

    同样,你对供应商的选择也会是你能否真正达到SOA目标的关键所在,Heffner说。在整个谈判过程中你需要让与你接触的供应商清楚的认识到将会获得什么样的好处,以及你的短期和长期的目标是如何处理的。对他们强调你不会一下就购买了他们全部的产品,但不意味着不会陆续购买。

    “告诉他们,我们是对你们的产品有长期承诺的,但目前我们只想要这么多,这是我们目前愿意付出的价格。随着我们的扩展,我们将随后付出这个价格。而当我们将它发展为企业级别的时候,我们将付出这个价钱。谈判要在前期进行,让厂商能看到发展的轨道,他们的责任就是实际交付这些价值以让我们购买额外水平的产品。这只是你如何去创造性的谈判,如何呈现卖方机会的问题罢了。”

0
相关文章