SOA应用巧解传统企业的IT架构之痛

日期:2010-4-29来源:IT商业新闻网

SOA   IT架构   松耦合结构   二次开发   

  由于公司在过去一年时间内业务量增长4倍,原有的业务流程已经远远不能满足业务需要——IT系统承载的负荷越来越重,多次发生系统宕机或故障,业务部门的抱怨越来越多。在现实面前,我们被迫对IT系统进行调整以应对业务流程。

  老板提出的IT目标是IT系统必须有灵活性,有余力接受公司业务进一步增长的挑战,但同时又不能影响原有的业务增长轨迹。而原有IT架构难以解决的最大难题之一是,技术层难以随着业务层的需求变化而灵活变身,而硬要改动技术层,则需要技术人员把系统上下左右分拆和重新焊接,不但成本昂贵,而且伤筋动骨,后患难测。因为原有系统中各子系统、各模块之间是一种"紧耦合结构",拆分和沟通很不灵活。

  原有系统的复杂度很高,为完成系统功能,定义了很多复杂的接口,并且代码相当复杂。比如,要想完成数据的抽取转换装载功能,我们必须针对不同的需求,重构这一功能模块。这些工作量和成本都非常巨大。

  以上这些因素都迫使我们在应用新的IT架构时必须考虑商业成本和灵活的系统架构模式:首先,新的架构必须降低IT系统结构的复杂度;其次,需要减少系统的运营成本,同时,增加系统的灵活性。

  柳暗花明IT架构规划遇到SOA

  公司的IT规划包括三个层面上的内容:一是战略层面的规划,它主要确定的是信息化的大方向;二是IT项目层面的规划,它确定的是每一个具体IT系统的建设的目标范围,以及方案、实施计划与投资;第三是IT架构规划, 它是IT规划的核心内容,是公司战略与IT目标的支撑框架,是联接公司战略与具体每一个IT项目之间的桥梁。

  随着信息化建设的深入,IT架构成为公司信息化建设的核心问题,公司原有的IT规划,缺位主要表现在没有进行深入IT架构规划,在公司战略与IT系统之间,没有细化的框架联接,这种不完整的IT规划,导致造成巨大的IT投资风险和浪费。

  就在我们关于如何规划IT架构经过多次会议讨论无结果而陷于绝境的时候,柳暗花明之处,SOA出现了。因为SOA使IT架构的构建机制发生了史无前例的变化,所以系统规划一旦加入SOA因素,企业就必然重新考虑IT规划的技术架构。

  SOA变革基础架构

  以前,随着业务需求和网络技术的发展,笔者公司产生了大量为满足产品或服务需要的软件系统,如:ERP、CRM、OA、SCM等。但这些系统一般都是单独实施、独立存在,由于数据标准不统一、接口不一致,系统间往往缺少联系与合作,这也就导致每一个系统成为一个孤岛。

  SOA(面向服务的体系结构service-orientedarchitecture)与其说是一种技术,不如说是一种的思维方式。它是一项大胆的基础架构变革,表达我们如何通过技术和协同工作来实现业务变化。

  与面向对象的技术架构不同,SOA架构所需要的服务模块可以分布在更为广泛的分布环境中,而不必像面向对象技术架构那样,需要使用大块的可重用去构建一个全新的系统。通过合理的部署,SOA系统可以改善原有的IT系统效率,使得原有的那些应用系统更具有柔性。

  SOA架构的革命性思路是在传统的业务层和技术层之间增加一个服务层,服务层通过一套协议或规范把应用程序从底层技术层调出来,加以封装,再根据业务层需求灵活组合。

  服务层不依附于任何特定技术平台,能够在业务层和技术层之间沟通、组合,业务应用系统就变成了“松耦合结构”,想用什么功能就调用什么功能,需要什么功能就装配什么功能,改动调整非常方便。而且这些构建在各种各样系统中的"服务"可以以一种统一和通用方式进行交互。保证系统灵活性,另外,还可以保证"服务"的重复利用。

  SOA让二次开发成本降低为零

  在参与的项目中,有一个架构设计小组和两个开发小组,其中一个开发小组主要开发面向客户的应用服务,另一个开发小组主要开发核心系统服务。经过一段时间的工作,我们发现那些在业务流程中最基本最通用的功能是可以抽取出来,使用SOA架构进行重构。并且,系统的开发部署时间以及系统的性能这两个检验系统是否成功的两个关键标准都得到极大的改善。

  ①SOA降低成本。我们成功构建了一个通用的服务功能模块,在下一次开发时,我们可以直接调用这一功能模块。从这个意义上讲,第二次开发时的开发成本为零。

  ②SOA架构使管理统一。对于SOA系统而言,要想成功实施一个系统,必须从企业整体来通盘考虑,成立专门的架构设计小组,确定整个企业业务流程运作的最佳路径。这样整个业务流程及信息系统的管理将会实现统一管理,改变过去各部门、各业务环节脱节的现象。

  ③SOA架构从一开始就显示出ROI,因为SOA反对四处出击,是按成本受益顺序确定服务开发的优先级。通过仔细的规划,启动成本就能限制在现有预算内。经过一段时间后,服务模块的重用会确保以后每个新业务应用程序的启动成本很低。在实施开始时设置好基线,确保可测量性,避免临时修路的效果。

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

SOA开发>更多

  • 故障注入注定要成为软件专业人士的必备技能

    尽管云改善了企业迅速发布高质量、高能力应用的能力,但专家警告说要小心这些应用会变得太复杂,难以进行人工测试。

  • 容器与微服务要“联姻” 你对它们够了解吗?

    在虚拟化和云计算领域,容器大概是发展最快、最广为令人兴奋的技术了,微服务则紧随其后。如果把这两大技术结合起来会碰撞出怎样的火花呢?

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • HTML5促进企业移动化服务走向极致

    在企业困扰于传统移动化方式过于复杂时, HTML5凭借其天然的跨平台特性,乘势而起并逐渐得到企业的关注。可是,由于HMTL5标准建立时间不长,展示性能及稳定性更是需要和浏览器有一个良好的兼容,除此之外企业更是缺乏实际应用经验,所以基于HTML5技术的企业级服务市场还处于一片初创状态。

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。

  • 是微服务还是SOA?

    专家认为像“微服务”和“12因子app”这样的术语未必是SOA已死的信号,其实只是旧技术换了个新名字。

技术手册>更多

  • SOA之云开发技术手册

    十年前,面向服务架构突然出现在IT舞台上,而且许多公司已经在SOA应用上进行了大量的投资。现在云计算在IT舞台上更是独领风骚。SOA之于云,云之于SOA的意义又是怎样的。很明显,云计算的成功取决于它能够给现有的SOA实现增加价值的能力。而SOA的使用也促进了云开发。

  • 敏捷扩展:大型网站项目最佳实践

    其实从某种意义上讲,敏捷软件开发是自身成功的一个牺牲品。随着项目的进行,焦点一直集中在需求定义上,一边编写一测试,一边交付工作软件的各个部分,所以可以看出敏捷是多么好,以致于许多组织都在试图扩展它的使用,而不仅只是局限在单一的团队项目中。但怎样才能把敏捷方法从小项目转移到大型项目中呢?

  • 企业敏捷开发实践

    敏捷却是一把双刃剑,这一方法并不是适合所有人,当然也不会适合所有的项目。敏捷要求有合适的团队,合适的业务经理理念,当然也要有适合的项目。没有一种方法是适合一切的,所以本文讲了六种方法来确定你的云项目是否已经足够敏捷性,或者确定你的组织是否足够敏捷。

  • 开源PaaS技术手册

    开源业界向来不太平,关于诸多技术的开源未来足以让很多粉丝兴奋躁动起来。商业软件开始揉进开源技术,开源技术也成为IT大佬们得基础架构,这一种趋势蔓延的缓慢有有力。在广告漫天飞得云计算中,开源的分量有多重?是否走向云端就意味着走向开源?开源的PaaS如何选择?如何为开源项目选择PaaS厂商?哪些服务平台值得我们关注,下面我们一一来揭晓。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • 数据库
  • 服务器
  • 云计算