开源与SOA对信息系统规划会带来什么影响?大体上看,有三个方面:
一是来自技术机制引发的结构、效率、扩展、变更、升级、接口、兼容性等方面;
二是来自TCO(总体拥有成本)方面;
三是应用模式。
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服务器和平台上了。
企业信息化系统作为支持业务的平台,从一开始就应该考虑它的长远性能。采用混合模式 能够显着加快应用开发效率,因为在这种模式下,组织可以利用开源社区的最新创新成果,同时他们还可以高枕无忧--因为自己的创新应用和服务能够在业界最优 秀的基础架构软件平台上部署和管理。
三、信息系统规划必须考虑技术机制的变化所带来的策略性变化
当前信息领域发生了哪些技术机制性的变化了呢?是开源与SOA。
开源对市场的影响不限于软件的许可与收费方面,还表现在系统规划与开发部署方面。据 乐趣科技有限公司的CEO黄山介绍,SOA和开源这两个因素对广大企业的信息系统的规划和产品选择具有很大的影响。他们的门户系统从前端到服务器,全盘都 是开源的产物,仅此一项就为公司节省了至少25万元的支出,同时,利用开源的组件构建SOA的应用比商用软件变得更容易。
他说,企业的CIO应该把开源与SOA同时纳入IT规划考虑的范畴之内,根据企业的 行业和规模属性及子系统的功能选择采用其对应策略,将使企业在中长期内受益。对于中小型企业来说,通过开源的策略来部署SOA会更好,也更加灵活,性价比 更高,如企业构建基于Web2.0的网站,搜索引擎、业务流程引擎等都适合采用开源方式。
黄山总结道:在一般的企业级应用中,开源软件不会遇到技术上的挑战,相反,在构建 SOA时,其开源组件的粒度和粘度正好,尤其是应用服务的开发,开源比商用方式更具优势,表现在:开源阵营的人力成本低而易补充,在开源社区中很容易找到 熟悉J2EE的人,但要在IBM公司以外找到熟悉DB2和 Websphere的人恐怕很难。说到开源策略的优势,黄总将其归为三点:
1.开源使企业系统具有独立性,即公司的IT系统不会被绑定于某一家的商用环境上,以便于企业走独立的技术发展路线;
2.初期投入很小,虽然开源也不意味着完全免费,但总费用上开源小于商用;
3.开源的门槛低,人力资源易于获得,表现为运维、研发时费用更低。
SOA从另一个方面影响企业的信息规划工作。无论从系统开发,还是从部署实施、集成整合来看,SOA都被看成是个革命性的因素。因为SOA使软件系统的构建机制发生了史无前例的变化,所以系统规划一旦加入SOA因素,CEO和CIO就必然重新考虑IT规划的技术方法。
第一种情况,企业IT应用从零开始,CIO考虑的可能就不是从业务需求到ERP系统 选型了,首先应该考虑的是企业如果把自己的业务转化或定义为 Service(服务)及分割服务为不同的组件,把易于变动的流程和环节采用更加松散的耦合方式集成起来,以备日后改造成“随需应变”的结构,以SOA特 有的业务流程语言建立起CIO与业务部门之间充分的沟通渠道,使服务的定义更能满足业务的需求,由于SOA的机制,使企业业务主管与IT主管走得更近,他 们的工作更加主动地统一到企业的经营上来,CIO会把自己的注意力引向业务及长期战略上的发展变化,创建自己的基于服务细分的软件系统,分析、评价、优化 业务流程及提升IT部门自主研发或合作开发的能力将成为CIO必备的职技能,而不是面向冷酷的服务器和系统一方,仅仅进行简单的系统初始化及运行维护方面 的工作了。
第二种情况,企业系统需要改建、扩建、升级与互联,已往CIO关注的是如何搭建信息立交桥和开发接口来使新老或是不同的子系统互联互通,这个过程中,又要把以前进行的工作重新做过一遍,如业务匹配度、产品体系的传承关系、产品选型、接口评估及技术开发方面的支持等。
在 SOA的思路下,CIO在集成方面的工作可能不是“修路和架桥”了,而是分离出存在于旧系统中的“服务分子”,让这些服务与新建的服务分子们再重新组合起 来,至于他们沟通的方式已完全独立化了,不再依赖于产品厂商的技术标准,而是通用的,开放的及要以有多种选择的方式,如Web Services、SOAP、WSDL、ESB等等,企业可以有自己的方式实现SOA来满足支持业务的长远发展。
SOA 导致系统集成的结构方式的变化,不但会冲击软件的编程,还会改变CIO的工作方法。在CIO眼里,企业的信息架构不再是一种已往的那种“焊接”在一起的固 化功能体,遇有变化时必须把系统返回SDK后改去代码,新的SOA架构让CIO们省去了二次开发的麻烦,他们要熟悉的是流程描述语言,对业务的理解及对服 务的分解,通过简单的流程设计、基础配置和参数的调整就可以达到目的。
SOA的系统构建方式,尤其适应于企业的外部联盟系统的规划。中远集装箱运输有限公 司(以下简称为中远集运)的SOA规划的实施对业界具有很大启发,中远集运是中国远洋运输集团 (COSCO)所属的专门从事海上集装箱运输的核心企业。COSCON经营着60多条国际航线及数十条国内航线。船舶在全球超过三十个国家和地区的一百多 个港口。目前拥有120余艘全集装箱船,总箱位逾30万标准箱。
由于行业的特点和公司不同时期IT投资的累积,在实施SOA项目前,COSCON总 共拥有按照不同国家和不同进出口业务的EDI要求划分的21大类EDI应用系统。这些EDI应用系统拥有不同版本,运行在不同的操作系统和硬件平台之上, 形成了彼此孤立、各自为政的小系统群,使得COSCON EDI系统的日常运维成本高、开发效率低,响应速度慢。特别是“911”以及中国加入世贸组织后,面对新的海关法律法规的不断出台的大环境,COSCON EDI系统面临更大的挑战。
据介绍,该平台项目共分两期,目前已经成功完成第一期项目的实施,包括COSCON核心业务梳理、EDI业务需求调研与分析、整体SOA架构设计,以及国内业务的项目详细设计、开发与实施。第二期项目,即国际业务的项目详细设计、开发与实施已于近期启动。
一期项目的成功实施,COSCON成功地完成了中国区9个口岸近60种EDI报文的 功能,COSON不仅实现了自身IT基础设施的整合,也实现了同供应商、大客户和海关之间在国内的关键业务流程整合。如今,COSCON仅需要一个系统、 三台服务器就可以满足整个国内业务EDI的需求。开发人员仅需要进行简单的配置与修改就可以适应业务的变化需求,从而满足客户的要求。
从开发到后期的维护大大节省了人力、物力与成本,提高了工作效率与响应速度。同时, 整个系统由于建立在基于开放标准的平台之上,系统在升级与可扩展性方面的优势更为突出。从企业信息系统的宏观面上看,SOA本身就是个战略,国际上的IT 公司如Unisys更倾向于SOA就是规划的观点。
笔者在与cto和CIO的交流中强烈地感到: SOA对商业化软件套件的冲击是不容忽视的。在过去的IT规划中,都需要描述和规划一下企业未来主要系统的功能模块并以此来选择厂商和产品系列,所以,一 些大而全的、功能强大的但像钢板一样的固体系统倍受大型企业的追捧,现在,CIO们开始抛弃这种“以不变应万变”的做法和观念,代之以“以变应变,随需应 变”的理念和方法论来指导工作。
他们认为,如果CEO不那么短视,给CIO以三年以上的时间,CIO则愿意通过构建 一种可变的、灵活的基于服务的架构来解决企业发展所需要的IT支持问题,而不是拘泥于到底是选择SAP、ORACLE、IFS还是UF或 Kingdee的系统。正因为如此,才引起了软件开发商的警觉和恐慌,纷纷宣布自己的产品本身就符合SOA的要求,更有快速反应的厂商推出了自己的SOA 套件。
四、信息系统规划必须考虑新的商业成本模式
在全球关注IT之ROI的今天,CEO、CIO都不能不把投资的成本考虑在IT规划中。但不同的技术、不同的服务、不同的运营方式都有不同的成本的规律,及早认识和应付这些成本支出,以便于在中长规划中合理配置资源及节约投资具有重大的管理意义。
在比较了TCO之后可以看到,对一般规模的企业,除了像电信、金融和大型电子商务网 站等并发量巨大的应用之外,开源软件技术应是企业起步时的首选。另一方面,如果企业的外部联盟,如供应链对系统结构的变化需求较频的情况下,企业无论是新 建还集成,都不应计较SOA的初始投资,先期投入充分的人力和资金解决好SOA的所有基础准备工作。从笔者的观点来看,中小企业的信息规划应是开源起 步,SOA规划,把企业发展的各个时期主要IT工作和投资都详尽地体现在企业的“五年计划”中。
Austin Liu 刘恒辉
Project Manager and Software Designer E-Mail:lzhdim@163.com Blog:https://lzhdim.cnblogs.com 欢迎收藏和转载此博客中的博文,但是请注明出处,给笔者一个与大家交流的空间。谢谢大家。 |