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中间件最大化大数据价值指南

    对于技术专业人员,管理大数据已经越来越重要。研究表明,越来越多的组织开始处理大数据,但即使是有多年的经验的工作人员,也会造成很多麻烦。

  • OSGI教程

    OSGI服务平台提供在多种网络设备上无需重启的动态改变构造的功能。为了最小化耦合度和促使这些耦合度可管理,OSGI技术提供一种面向服务的架构,它能使这些组件动态地发现对方。

  • 业务流程执行语言BPEL(升级版)

    BPEL即业务流程执行语言,是一种使用XML编写的编程语言。用于自动化业务流程,也曾经被称作WSBPEL和BPEL4WS。广泛使用于Web服务相关的项目开发中,优点为具有可移植性和有效保护了投资。

    BPEL是一门用于自动化业务流程的形式规约语言。用XML文档写入BPEL中的流程能在Web服务之间以标准化的交互方式得到精心组织。这些流程能够在任何一个符合BPEL规范的平台或产品上执行。 所以,通过允许顾客们在各种各样的创作工具和执行平台之间移动这些流程,BPEL使得他们保护了他们在流程自动化上的投资。

  • 复杂事件处理CEP教程

    在金融服务和其他行业中,如何使那些重要且具有战略意义的业务信息以高速数据流的方式到达企业变得尤其重要,而复杂事件处理(CEP)就是这一过程的代名词。复杂事件处理具备了分析高速数据流并鉴别重要事件的能力,虽然对这些事件的鉴别过程是复杂的,但结果却是无价的。下面我们就来介绍一下复杂事件处理。

TechTarget

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