职业教育新东方网 > 职业教育 > 计算机 > 软件考试 > 初级资格 > 信息处理技术员 > 文章正文

“开放源代码”与SOA正在改写IT规划方程式

分享到:

2011-10-28 14:35  作者:  来源:互联网  字号:T|T

  IT规划的方法论早已被全球大的IT咨询公司盖棺定论,其真理性和实用性不容置疑。但当IT与应用环境中出现了二个新变量之后:Open Source(开放源代码,以下简称开源)和SOA(Service-Oriented Architecture, 服务导向的架构),过去的经验与规律就已显露了一丝被颠覆的曙光,即企业、政府的CIO和CEO们必须与时俱进、在他们的未定方案和计划中加入这个革命性的因素,以改变信息化方程式的输入与输出值。

  在理论尚待完善之时,实践总是先行一步。

  众多的企业和机构还在睡眼惺忪之际,业内的领头羊和冒险者早已张开了激情的臂膀来拥抱这个先机了。诱惑正在引发商机。IT行业分析公司Gartner 认为SOA将成为创建和交付软件的主导框架,同时预测到2010年时,应用软件收入增长的80%将来自基于SOA的方案,另据美国专注于软件应用领域的咨询公司Zapthink的报告,全球SOA的市场规模将会由2005年的44亿美元猛增到2010年的430亿美元,5年的时间里将有近10倍的增长。另一方面,开源社区也越来越活跃,IBM、Oracle、AMD、BEA等都在支持和实施一些开源计划。很明显,开源不光针对商用,SOA也不光是针对系统集成,这两二因素正酝酿IT的一场技术机制与商业模式的变革。同时这也构成了新的行业“洗牌”动因。

  开源与SOA对信息系统规划会带来什么影响?大体上看,有三个方面:一是来自技术机制引发的结构、效率、扩展、变更、升级、接口、兼容性等方面;二是来自TCO(总体拥有成本)方面;三是应用模式。

  一、开源与商用的混合应用及SOA渐成主流

  目前,企业购买和部署软件系统时都会遇到这样的问题:市场上同类产品有开源与商用之分,由于这两类产品在部署和运维方面都有重大的区别,企业业务的连续性和信息化的规律性要求在制定IT规划时就要有个通盘考虑。类似的技术或项目有很多,哪一个才是最合适的?不同的开源软件一同使用,如何才能更好地集成?对单个项目而言,功能都非常强大,但两者结合却不一定显示出联合的威力。这些软件提供商的开发人员所面临的问题,在如今企业应用开发中已经是司空见惯了。不仅如此,在企业的应用开发中,还常常面临着两难的抉择:开源软件或商用软件?而实际上,企业既需要开源软件,也需要商用软件,这种被称为“混合”(Blended)应用的情况会越来越普遍。

  信息化规划无论是从零开始的,还是承前启后的改建扩建的,都要慎重考虑混合应用的部署问题。由于这两类系统各有自己的优势,企业可以依需要选择适当的混合模式,并有计划地实施,以求得企业在更长的周期内实现无缝集成和安全、平滑地升级, 执行企业可持发展的高ROI技术策略。

  而SOA从另一个方向,为企业IT规划加进了新变量。SOA虽产生于技术层面,但涉及到的就不止是技术问题了,服务架构中的“分子”状态的实体还是服务,无论是企业用户还是开发人员面对服务时系统就是透明的,是可以组合的,随需应变的,企业与市场客户的发展或变化表现为新的组合方式。这些已不是蛊惑人心的市场用语,而是企业与IT厂商的共同实践。

  二、信息系统规划必须考虑同时发挥开源与商用技术的两个优势

  “开源”不等于免费,商用也不等于“丝源不开”。这二者正在博弈,企业用户在这场旷日持久的竞争中越来越多地受益。就IT的用户而言,目前,还不能采取单一方向的价值取向,失去自己的重心倒向“开源”或商用一方。因为,这两者之间还存在着互补的成份。因此,政府、企业和机构的CIO、CEO们,应该从战略的高度对待这些问题, 必须寻找出同时发挥两者优势的“折中方案”。

  对那些采用开放源码的企业来说,他们或许可以得到最好的解决方案,但是,如果无法得到有保证的服务(这些服务在采用商用软件时都可以得到),这些企业无法保护其构筑在开放源码基础之上的IT投资。

  从IT厂商来看,首先正视或支持这种“混合”模式的之一的BEA公司就积极倡导混合模式,这反映到IT规划方面来,意味着让开发人员能够混合搭配最好的开放源代码和商业解决方案,维护无缝的平台,来帮助开发团队开发、部署和管理Java应用与服务。

  今天,绝大多数企业应用是基于Java的,但要有效地管理这些基于Java的企业应用是非常困难和复杂的,因为有过多的标准、编程模型和部署方式。换言之,Java 的发展为企业应用开发提供了一个标准的、丰富的基础平台,但其带来的复杂性和开发效率低下,而这又是开源软件和商业软件混合开发成为主流趋势的一个原因。开源社区已经开发了多种解决方案来降低这种复杂性,但这些解决方案本身也面临挑战:新的发布必须得到有效的管理、集成多种开源组件必须进行严格的测试、多种部署平台增加了复杂性、技术支持可能不符合企业的标准、开发工具可能不支持新兴的技术以及开发和管理人员缺乏。除此之外,开源软件的开发基本上是针对特定的问题进行的,并没有考虑企业应用中不可避免的集成问题,因此单个开源解决方案常常缺乏产品之间的连接部件,无法提供项目扩展所需的集成和迁移途径。

  实际上,商用软件的阵营也在不断地借鉴开源社区的成果。据BEA公司全球客户关系副总裁Franz Aman介绍, BEA与开源社区的合作很密切,开源的是轻量级的,所以BEA从开源社区拿来的东西会进一步开发。开放原代码里有很多很好的技术,例如Spring,它的可靠性就特别强,很多客户都将其应用在WebLogic服务器和平台上了。

  企业信息化系统作为支持业务的平台,从一开始就应该考虑它的长远性能。采用混合模式能够显著加快应用开发效率,因为在这种模式下,组织可以利用开源社区的最新创新成果,同时他们还可以高枕无忧——因为自己的创新应用和服务能够在业界最优秀的基础架构软件平台上部署和管理。

热点课讯

精彩问答

提问