当前位置: 首页 > news >正文

部署SOA的五大核心原则

本文讲的是部署SOA的五大核心原则,【IT168 资讯】近几年来,SOA始终热度不减,不过其部署却总是令人挠头。这里,几条指导原则也许可以帮助你走上正轨。
  SOA不仅仅是一种时髦说法,现在已经不乏一些应用。多数大型企业已经开始积极实施一些SOA方案,目的是利用它灵活的体系对业务做出接近实时的反应。其中,SOA提供了一种改变多年来功能紊乱的系统的方法。IDC认为,到2009年时与SOA相关的软件花费将接近150亿美元。
  部署了SOA后,企业可以在动态环境中借助于现有的系统,提取应用实质将之转化为服务,并快速地转换成为新的解决方案。但是,如何才能达到目的呢?一个SOA有许多不确定因素,它往往很难重新部署,而且指导原则也不是孤立的。
  值得庆幸的是,在如此多的SOA部署中,可供汲取的经验教训也是非常丰富的。以下的五点就是其中最重要的建议:了解痛处;定义价值;理解透彻;相信群众;关注长期。
  一、了解痛处
  在当前的2000家跨国公司中,很多企业的体系架构已经妨碍了业务的改变能力。比如,最近企业行为管理机构(BusinessPerformanceManagementInstitute)的一项调查表明,仅有11%的管理人员说他们能够跟得上技术变化,来满足业务需求——这其中40%需要IT支持。
  更糟的是,根据《CIO》杂志的调查,36%的受访者表示,他们公司的IT信息技术部门或者存在“重大困难”(27%),或者“根本不能”(9%)跟上技术变化。
  事实上,IT在支持业务变化方面也要承受着可怕的变化。当IT需要在几年内而不是几个月里满足新产品线、市场或是合并的需要时,CEO们几欲抓狂。的确,在很多公司中,IT已经成为业务成功的惟一限制因素,如果它继续停滞不前,就会扼杀整个业务。
  这就是问题所在,解决它能为很多公司带来极大的实惠。我们不应忘记,SOA的响应能力是它的主要价值和益处。
  二、定义价值
  企业实施SOA有两个主要理由。首先,通过重新利用服务,企业能够节省更多的开发费用。这些服务可能已经被建立在公司内部和外部,更多的服务在系统间被再度使用,这能够帮助企业得到更大的投资回报;其次,SOA能够加快改变IT基础设施,并且适应业务的变化需求,这是一个巨大的战略优势,能够让企业在长远发展中得到更好的机会。
  几个因素可以帮助你衡量服务再用的价值,这其中包括再用服务的数目、服务的复杂性,以及系统间服务再用的次数。每个服务的复杂性是价值评估的关键,它们可以被定义为函数数字或是目标分数,从而用来对服务进行整合。
  虽然给出投资回报的具体数字比较困难,但并非绝无可能。你需要查明业务的几个方面,包括随时间变化的程度、适应这种变化的能力,以及相对的价值变化。在某些特殊的时期(包括业务重组等),随时间变化的程度就会反映到具体的数字上。例如,一家造纸公司在5年内只是经历了5%的变化,而同样的时间内一家高科技公司可能会经历80%的改变。
  当评估SOA未来的价值时,它的本质将会正确地描述你的业务当前适应变化的能力,以及引入SOA后预计得到的能力提升。每个人都能从现实的预期中受益。
  最后,变化的相对值就是所赚到的钱——这是业务变化所带来的最直接效果。例如,只需要低廉的花费,SOA就可以帮助那些希望变得更具竞争力的零售公司通过建立一个常客购买程序,从而获取更多的收入。我们甚至可以说,没有SOA,这样的程序是完全不切合实际的。
  三、理解透彻
  虽然很多人对于什么是SOA都有各自不同的见解, 但是很少有人知道如何才能获得成功。每一种情况都有所不同,因此也找不到一套规范的、固定的规则。不过,还是有一些共通的模式能帮助你看清前方的路。
  首先,你应该了解你的业务目标、确定成功的定义。你是在帮助经营业务,推动技术层次转化,并且积极影响结果。
  其次,你应该定义你的问题范围。你不能指望改变整个世界,因此需要在企业内部定义你的SOA范围。多数的SOA最好在小步骤中实施,例如迁移一个单一的部分或是某部分的一些到SOA。宏大的计划很少为一个完整的企业采纳,而小的成功部署会及时带来更大的战略成功。
  接下来,就是选择技术。很多人这一步走得并不好,而在没有对要求理解透彻的情况下,我们就无法正确选择SOA技术。想要成功,标准和产品的结合常常需要进行试验,以确定采用的技术是否可行。事实上,在选择正确技术上花费的时间应该和拓展SOA的时间差不多,这是完全值得的,因为一个错误的选择最终会导致SOA部署的失败。
  最后是测试和评估,这也是一个循序渐进的过程,关乎到SOA如何测试和完成。测试计划很重要,由于测试SOA解决方案的确很困难,因此SOA的扩展性也可能超越你所能想到的应用范围。虽然这些测试非常繁复,但是很有必要。
  四、相信群众
  SOA是由人来建设和管理的,因此你必须考虑到SOA对人员和企业架构的影响。这里有两个需要关注的方面:建设SOA的人员的“SOA文化素养”,以及将会使用到SOA服务与界面的人员的技能水平。
  从事建设SOA工作的人员必须洞悉企业的传统架构以及SOA的思路、方法和技术。对于大多数企业来说,这种要求有些苛刻,早期可能需要外部咨询机构提供指导,而对方法和技能的培训应当是长期的工作。
  如果没有这种支持,很可能出现的情况是:参与SOA工作的人员以及SOA项目本身将失败。这时候要么雇用为公司播下“SOA知识种子”的咨询人员,要么雇用适合完成SOA项目的新人,这两种方式都不容易,但它们能够拯救SOA项目。
  最后,应该考虑一下那些利用服务、流程、数据提取的人员。SOA将怎样改善他们完成工作的方式?你将如何培训他们?你怎样支持他们?你如何得到他们提出的改进建议?应该尽早思考这些问题。
  五、关注长期
  SOA是一项长期的解决方案,不要指望短期内得到可以衡量的投资回报。对于大多数企业来说,SOA的价值需要经过几年而不是几个月才能得到体现。鉴于很多企业是按季度运营,预算和目标每月都在发生变化,因此这可能令人难以接受。这也导致像SOA这种复杂而系统化的长期项目在一些企业中很难长时间得到维持。如果你的企业不能理解需要长期部署才能带来变化,那么SOA可能不适合你。
  最好的建议是,争取得到来自企业最高层的投资和承诺,保护SOA的部署,并且说服其他人接受SOA对于企业的长期价值和重要意义。缺少任何一项,结果都会是失败。如果只是作为又一个权宜之计来实施,SOA只会给企业技术基础设施带来更多的复杂性,而一旦企业缺乏对SOA的长期部署,甚至最简单的才成功的可能性都很小。

原文发布时间为:2009-05-21
本文作者:IT168.com
本文来自云栖社区合作伙伴IT168,了解相关信息可以关注IT168。
原文标题:部署SOA的五大核心原则

相关文章:

  • 《社交网站界面设计(原书第2版)》——第二部分 我是某某 第3章 3.0邀你加入...
  • 《中国人工智能学会通讯》——12.24 问题与挑战
  • MYSQL explain详解
  • mvc简介
  • 多线程下HashMap的死循环问题
  • 在gin框架下集成UEditor富文本编辑器
  • 调用百度地图API搜索地名和关键词
  • 听IBM解读什么是认知商业
  • 知名企业采用Saas 羊群效应或催生行业霸主
  • .net分布式压力测试工具(Beetle.DT)
  • Python中str的format()方法
  • 云计算促使IT体制健全
  • Win10 UWP再支持Facebook React Native开源框架
  • 谭浩强 c++程序设计第一章课后习题 第7题
  • 18位业界权威人士定义了18种云计算
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • canvas 绘制双线技巧
  • crontab执行失败的多种原因
  • es6要点
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • oldjun 检测网站的经验
  • React-flux杂记
  • React-Native - 收藏集 - 掘金
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Sublime text 3 3103 注册码
  • tweak 支持第三方库
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 分布式熔断降级平台aegis
  • 力扣(LeetCode)965
  • 每天一个设计模式之命令模式
  • 以太坊客户端Geth命令参数详解
  • 译自由幺半群
  • 翻译 | The Principles of OOD 面向对象设计原则
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #传输# #传输数据判断#
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (四)库存超卖案例实战——优化redis分布式锁
  • (转)h264中avc和flv数据的解析
  • ***利用Ms05002溢出找“肉鸡
  • **CI中自动类加载的用法总结
  • .NET 8.0 中有哪些新的变化?
  • .NET Core 项目指定SDK版本
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • @Autowired标签与 @Resource标签 的区别
  • @RequestMapping-占位符映射
  • [2018-01-08] Python强化周的第一天
  • [30期] 我的学习方法
  • [AIGC] Spring Interceptor 拦截器详解
  • [dfs] 图案计数
  • [Excel VBA]单元格区域引用方式的小结
  • [fsevents@^2.1.2] optional install error: Package require os(darwin) not compatible with your platfo
  • [GN] 后端接口已经写好 初次布局前端需要的操作(例)