DOIT软件频道 7月23日原创报道:
乔莉:SOA是一个基于可以重用的,性的开发应用的构架体系,这些年来客户对SOA的需求越来越急切,为了满足客户的这些需求,推出了一系列SOA的基础构架产品,这鞋1厂商包括像我们赛思。。。。。。
(乔莉不停的在向客户,也就是晶通的厂长王贵林介绍到底什么是SOA,前后已经念了10分钟的材料。)
王贵林:我有个问题,你刚才这一段里,有一点我听明白了,就是要满足客户的需求,对不对?
乔莉:恩
王贵林:那我现在是你的客户对吧?现在客户最大的需求呢就是。。。能不能把你刚才说的这些东西,用人话给我翻译一遍。
乔莉(凝视王贵林几秒之后):你什么意思啊?我刚才说的哪句不是人话?
王贵林:你刚才说的这些拆开了,每一个字我肯定都认识,可是让你组织到一块儿,怎么就那么乱呢?
上面这段对话,是在电视剧《浮沉》的第九集中,由饰演乔莉一角的白百何与饰演王贵林一角的张嘉译,在后者的办公室——晶通厂厂长办公室——所发生的,如果不是在看这部“职场爱情电视剧”的时候偶然听到二者的对话,或许,我已经想不起SOA到底是什么了。
SOA着实在中国市场火过一段时间,就像今天的云计算。
今天,此时。如果和别人谈起IT,你不得不对云计算发表些“1、2、3点”的——或许憧憬未来或是咬牙切齿——的看法,否则别人就会认为你过时或是根本没有什么创新的东西,而如果把时光倒回到5年或是8年前,同样的一幕,会发生在你没有与别人高谈阔论SOA的时候。
现在的热点是云计算与大数据,不再是SOA,曾经有些力推SOA的公司已经消失,曾经有些热捧SOA的公司已经对此三缄其口,甚至有些SOA曾经的玩家直接就告诉他们的客户——那些还想知道SOA的客户——“SOA已死(有事无事都不要烧纸?)”
但当我们在《浮沉》再度听到SOA,听到面向服务架构,听到满足客户的需求这些IT销售们曾经常挂在嘴边的话时。难道我们就真的在今天的IT市场再也看不到SOA的身影?难道苗头刚现的NG-SOA(下一代SOA)只不过是昨日黄花?难道在晶通这样的一个大厂里面,如果改制挪到今天,乔莉嘴中不断出现的,难道就应该成为云计算或是别的什么东西?
或许,我们能从晶通——这个虚构的、亟待改制的——老国企身上,看到SOA,以及NG-SOA对企业改革、创新与发展的重要作用,又或者,什么也没有——我们只好接受“SOA已死”的论断,扭头不再去看到底什么是NG-SOA。
电视剧《浮沉》剧照
晶通:两千多人的厂和SOA有什么关系?
在小说和电视剧中,晶通是一个曾经辉煌、先进和令人骄傲的地方大厂,虽然小说和电视剧中都未指明晶通厂到底生产的是什么,到底又因何盛事、因何而衰落,但从电视剧中我们也能或多或少的了解这个厂子的大致情况,以及他与SOA的“不解之缘”。
从剧中台词王贵林的台词不难看出,晶通大约有1800多名在岗员工,以及数百人的离退休人员,这是一个上世纪50年代建厂,在80-90年代红极一时的传统的、老式的国企。而从厂名“晶通电子厂”上来看,晶通厂是一个典型的当年广泛存在于长江三角洲的电子元件生产厂,规模宏大且一直在计划经济的体制内生产国家——但并不一定是市场——需要的电子元器件。
很显然,老国企消耗的人力物力较多,但是生产效率,产品质量却比较落后,导致晶通的企业效益越来越低,这当然也是老国企的通病。从大致的电视剧剧情来看,晶通厂是典型的设备陈旧、技术落后、管理僵化、产品丧失竞争力的电子元器件企业,我们可以将其大致划归到制造业中。
SOA仍然是重要的企业应用基础
而从后期讨论在改制中讨论是上马CAM还是AAM系统的情况来看,显然AAM是不存在的(准确的说,AAM确实是某一软件的缩写,但与晶通风马牛不相及),CAM与晶通的关系倒是有的可说:CAM (computer Aided Manufacturing,计算机辅助制造)的核心是计算机数值控制(简称数控),是将计算机应用于制造生产过程的过程或系统——对于制造业企业来说,尤其是晶通这样的电子元器件企业来说,CAM系统确实是其迈进现代化不可或缺的产品技术平台。
至此,我们已经可以开始着手研究晶通与SOA的关系了,因为我们发现了两个关键词:制造业和CAM。
晶通厂与SOA:最适合的选择
我们先来谈谈CAM的话题。一般来说,我们很少将CAM和SOA联系起来,因为CAM的应用领域与设备——数控机床等设备——更为紧密,而和企业软件平台的架构关系并不多,但CAM却与另一个与SOA紧密相关的软件有着密切的联系,那就是CAD——计算机辅助设计。
CAD与SOA所产生的关联大部分情况下来自于对动态数据的要求,几年前就有供应商推出基于SOA的CAD集成方案。其应用环境类似于此:企业拥有ERP软件,同样也具备CAD界面功能,但其设计目的只是实现从CAD工具中导入和导出数据。这种集成方案就产生了两个互相单独和分割的产品数据管理(PDM)数据库,进而引致数据同步的问题。基于SOA的CAD解决方案将web服务技术植入其SOA架构中,使工程设计和制造共享PDM数据,实现了“实时CAD与PDM”的集成。更进一步的,是让不同的CAD工具——企业很可能有不少于1种的CAD——分享标准的DPM数据和功能。
但总的说来,这只是SOA与CAD的结合,CAD在设计到制造的后期与CAM的关系更多一些,不过CAM与SOA的关系只能称得上是“简介联系”。
当然,还有晶通厂的制造业企业这个背景,这也是SOA领域在2008年前后最为火热的行业。
客观的来说,SOA与制造业有着非常紧密的联系,制造业也是“最有活用SOA可能性的行业的其中之一”。中国制造业已经逐步离开小型的家庭作坊式的运作模式,诞生了一大批大中型制造企业,如今国内的制造业对信息化的需求也不单单是5,6年前的ERP或者简单的财务管理系统,企业需要将包括原材料的采购、产品加工生产、产品研发及销售管理等通过信息化系统进行很好的管理,特别是和上下游产业的合作伙伴等,为此,企业部署了一大堆信息化管理系统,包括PLM、MES、SCM、CRM、ERP等等,
就像是晶通厂,即便是从改制的负责人上,就能够看出晶通厂在于志德与王贵林两人身上难以跨越的管理与协作难题,再加上本身一个老厂的时间跨度长,又不免曾落入国企信息化的“大干快上”时代,晶通厂不可能没有几个不像样的或是版本号老掉牙的软件系统,从这一点上来看,晶通厂应用SOA架构是不可不为的事情。(插一句话,从对SOA的重视和思路上看,显然乔莉所代表的赛思更有敏感性)
复杂的信息架构,复杂的软硬件情况,信息系统之间的数据沟通难免会出现各种各样的瓶颈,而目前,企业内此类信息化问题的解决方法,实施SOA是个不错的选择——SOA的价值在于它的灵活性和可操作性,以及他能够“面向服务”的特性。
对于晶通厂这样的老国企来说,SOA架构的实现可能是必然的,长期的积累带来复杂的应用环境,想必如果在真实的销售案例里,SOA必然会作为CAD、ERP、CAM等等一系列晶通可能用到的企业管理软件的架构基础与方案重点。SOA在这样的老厂有着不可替代的作用。
不过,为什么我们在这几年对SOA会如此陌生呢?或者说,SOA为什么销声匿迹了呢?
SOA:死? 或 生?
“SOA已死。”很多人认为,2008-2009年的金融危机及其引发的全球经济衰退,杀死了SOA——灾难性的影响彻底摧毁了它,而更多的人认为,SOA曾被认为是IT的大救星,现在却证明是一项极其失败的试验,至少对于大多数组织而言如此。
从媒体报道和像是IBM这样的供应商的宣传上来看,SOA这个词的出现频率确实远较几年前少的可怜,尤其是在很多企业的CIO在视频访谈节目谈到SOA的时候,他们都说:“这(SOA)曾经是企业信息化最失败的实践。”但事实是否真的如此?SOA是否已死?我们要尝试着找到答案。
不过,在讨论SOA是否已死的话题之前,我们先要看看什么是SOA。
从官方和普遍的定义来看,面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
它的接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
而通俗的解释则是,SOA被认为能大规模降低成本和增加企业应用的灵活性,通过实施SOA,企业能够简化不同应用平台的管理、信息的共享和应用协同,从而更好地为企业提供服务。
换句话说,SOA提供了这样一种能力:将应用、数据和协同都服务化,它是一种建设企业软件应用的思路和架构体系。可以说“SOA始终是关于架构的,而不是获得资金的方法,或是分析师炒作的对象,也不是特定的中间件平台。在过去的10年间,IT界在理解和改进这种架构风格上已经取得了显著的进步。”
总的来看,SOA确实耗费巨大,因为往往供应商或极大的改变——或是彻底的颠覆——企业的原有软件架构,并让企业用户付出不菲的咨询费用,因此SOA曾被认为是耗费巨大的企业管理平台的改变,这也就是为什么在经济危机之时,SOA会被迅速的忘记和抛弃。
Burton集团副总裁兼研究总监Anne Thomas Manes认为,经济的衰退与“SOA并未创造真正的价值击垮了它自己”,这位分析师认为,除了极个别情况,SOA并未兑现它承诺的好处。在投资百万后,IT系统并未得到改善。许多组织的情况更糟:成本增加、项目延期,系统比以往更脆弱。手握钱袋的人们对此已感到厌倦——“鉴于2009年的预算紧缩,许多组织消减了他们SOA项目的资金。”
但她也表示,她的立场并非是对SOA所提倡的面向服务、信息共享、应用灵活、业务整合的否定,她仅仅认为,作为一个词汇“SOA”已经凋零,但是作为实践方式“SOA”对于任何的企业的发展而言还是非常重要的。她认为,以SOA的精神——方法、架构和理念——去实施EAI(企业应用整合)是非常有必要的,只是恰巧在经济衰退的时候,企业往往首先放弃的都是软件方面的投资,这也就导致很多项目和计划都被搁置,从而导致我们很少看到SOA这个词。
从另一个角度来看,既然很多计划被搁置,SOA的实施项目被停止,炒作、推动或是销售SOA的供应商的动力也就被弱化,我们自然难以从媒体或是供应商那里看到更多有关SOA的话题,但事实是,我们至少能从一些大型供应商那里看到持续更新的、围绕着如何实现企业SOA理念的软件平台与中间件的更新。
尤为重要的是,SOA的死亡被认为很大程度上是“人为原因”:供应商或集成商、服务商并未真正开始去部署SOA,而只是拿着SOA当幌子做热点销售而已。以SOA面向服务的实质以及其理念体系来看,同先期实施的成本较低的点到点的应用相比,长远来看,SOA产生的规模经济效益可以带来更好的投资回报率。
而另一方面,作为“面向服务”理念的鼻祖之一,SOA这一最重要的精神不仅被继承而更被发挥,我们现在看到的云计算——公有云、私有云或是混合云——都是以“‘面向服务’,将软硬件作为一种服务,将服务作为一种能力”提供给企业为核心的。面向服务的理念不死,SOA也就不死。
但时隔多年——Anne写那篇著名的阐述SOA已死的文章的时候是2009年的5月——SOA又被IBM不断提起。这是一次短暂的回光返照?还是SOA一次新的、真正的机会?SOA又有什么新的突破和变化么?
IBM:SOA未死,进化成下一代SOA
与Anne的观点类似,IBM软件集团WebSphere整合软件全球总经理Michael Curry认为,“显然,SSOA是个好架构”,他在IBM Impact 2012高峰论坛上引述分析机构Gartner的表述称“让 SOA 成为一个必须的先决架构。是时候为您的 SOA活动赋予活力了,这次专注于架构,而不是技术。”而Queensland Motorways公司CEO Phil Mumford认为“SOA 的优点是我们可以业务需求无缝地更改我们的组件。它可能是一个业务流程或一个全新的业务模型。”
Michael Curry不是第一次表述类似的观点,因为IBM公司一直认为“SOA是解决各种技术挑战的基础”。
“我们推出的下一代SOA不仅仅是从内部SOA整合,我们已经把它扩展到移动通信平台,能不能通过移动的手段实现SOA,能不能把我的SOA扩展到物理世界,用物联网感知到未来的一些信息,所以我能够通过下一代SOA把这些信息全部整合在一起,所以你可以看到下一代SOA会更加强大,而且外围会更加大。” Michael Curry认为,大数据、云计算、移动应用和社交商务给了SOA新的机会,而不是“加速了SOA的死亡或是远离”。
IBM认为,在复杂的当下,企业业务因为云计算、物联网、大数据、移动应用和社交商务等等新的IT环境而不断变化和发展,这也就推动了SOA的进化——IBM一直认为SOA并没有死,只是因为业务的需求而被更多的融合其理念而非“SOA”这个名词。于是,NG-SOA(下一代SOA)应运而生。
在下一代SOA中,IBM强调的不再仅仅是内部应用的整合,而是将企业内部的应用与外部的世界相连。
“我们在做的时候,已经不仅仅是注重于内部系统的整合,我们已经开始注重于除了内部系统以外,我们能不能把外部的系统,比如能不能把物联网整合到SOA架构里面去,能不能把移动应用整合到SOA的架构里面去,所以整个对外的整合,包括云上的应用,我们能够把我们自己企业的应用和经销商、合作伙伴的应用很好的整合企业,有没有这种能力提供这样的服务。” Michael Curry表示。
他认为,从基本上来讲,SOA的设计原则是没有改变的,企业需要有SOA这样的一种环境,才能够达到基本的灵活性,应对未来快速变化的趋势,但下一代SOA有其特殊的关键标准,它将不仅仅从内部解决企业的应用、信息与业务整合问题,而是也能够方便的把企业的外部系统、应用、数据、终端,甚至是客户的系统更容易的整合到企业的SOA平台中。因此,下一代SOA需要做到五件事。
NG-SOA:五大标准 三大特性
Michael Curry认为,第一个标准就是连接能力——能够连接企业的内部应用程序和云应用程序,尤其是关键应用程序的快速、本机连接,并使用“常见的集成模式,能快速集成已打包的应用程序”。此外,还需要保证可靠的消息传递,确保应用程序被正确同步,继而跨内部和外部的应用程序无缝的工作。
“我们发现公司不再是有固定的系统,而且更多的是要有最好的应用,把所有好的应用整合在一起,而这些是来自不同的供应商,有些是在企业内部的,有些是不在企业内部的,就有这样一种能力帮你把这些东西快速连接在一起、简便连接在一起、灵活在一起,这是很重要的,而且是可拓展、安全、可靠的,所以你的SOA必须能够做到这一点。” Michael Curry举了一个医疗设备供应商的例子来说明“连接”的重要性。
在这个例子中,更好的将ERP、CRM和制造应用连接在一起,将信息动态化的传输和共享,能够及时改变材料流程、根据业务情况动态的调整,从而避免不用大规模停止生产的业务调整——从这一点来看,连接性对于晶通厂同样重要。
Michael Curry认为第二个关键点是能讲企业整合之后的应用程序扩展到移动设备。他表示,如果通过下一代SOA架构将企业数据扩展到移动应用程序,在移动应用和企业应用之间创建安全、可靠的双向连接,能够极大地改变和适应企业业务应用的变化。
“我们发现有很大一个趋势,要把他们企业的应用、业务的应用部署到他们雇员或者业务合作伙伴的设备上,也就是要把现有的应用拓展到雇员当中,这样他们有一个移动的设备,这样也改变了公司对于移动的看法,可以使他们的维护人员更有效,因为他们可以实时通过移动设备获取相关信息,同时使得零售销售人员能够更好的支持客户。”据他表示,通过建设下一代SOA,美国TBC公司的收入增加了10-15%,节省了70%的费用。
不过,Michael Curry也谈到在移动设备上对NG-SOA的要求,即能够优化通信效率以节省带宽并延长电池使用寿命,以及“为移动应用程序提供端到端的安全和策略管理”。
有趣的是,在第三点中Curry就提到了物联网。这是一个现在无法回避的问题——连微波炉都有IP地址了!他表示,下一代SOA将面向越来越多的物联网设备,比如说某一个汽车上的传感器或是某一件设备上的数据终端。因此,下一代SOA需要能够提供连接到远程传感器、仪表和其他设备的可靠双向链接(注意,是双向而不是单向从设备上拾取数据的连接方式),占用资源较小,提供将交易管理无缝扩展到设备上的能力以及利用事件和活动监视器的扩展,获得更灵敏的企业响应能力。
正如他在演讲资料中展示的那样,无论是物流行业的传感器、家中的仪表、运营管理单位的控制器、商店中的RFID和离岸应用上的SCADA,这些设备或终端都是业务或应用的新的扩展,能够很好的将某一件商品的RFID实现可追踪,实现企业业务应用对其的全程监控,也是现在制造业上的重点领域——从这一点上看,晶通厂或许也需要下一代SOA?
第四点看起来就和晶通厂的关系不大了。
对于一家老国企来说,玩玩微博发布个消息也就是它最大可能的社交网络应用,而Curry的第四点就是关于企业“发布API并将企业连接到社交技术环境”。
“这也是全球范围内的一个趋势,比如说福特汽车,它可以发布一系列的服务,比如说维护方面的服务,这些API就可以让TBC这样的公司利用(TBC是Curry谈到第二点时提到的轮胎供应商)。主要是在你发布API之后,公司和公司之间就可以协作。”Curry以沙特阿拉伯的例子展示了政府如何通过开放API给企业(尤其是私营企业)、政府不同职能部门之间的基于API的协作来提神国家的综合行政水平。
如果说第3、4点对很多中国企业来说还略显遥远,Curry认为第四点不可能没有人关心,那就是“提供可以满足大数据需求的服务规模和质量”,他认为,随着数据的爆炸,数据来源和数据量都成几何级数增长,下一代SOA“必须提供强大的可扩展性来应对新信息的冲击”。
“数据量的上升,在任何时间不会出现失掉某些信息或者宕机的发生。另外,还有客户的期望,不管是自己的员工,自己的消费客户和合作伙伴,这些服务总是可用的,总是能够得到连接的,我们也不能接受这样一些信息的延误,我们需要动态、实时的(数据)。”Curry谈到,在应对大数据时,保持安全性也是下一代SOA需要考虑的话题之一。
至此,SOA与下一代SOA的话题已经告一段落,Curry也在后面介绍了IBM实现下一代SOA的三个重要组件:WebSphere Message Broker(实现应用的连接性、实时的连接与消息传递)、IBM Mobile Foundation(一次开发运营在多个平台上,SOA的无缝扩展实现)以及IBM Business Process Manager(以人和系统为核心的流程设计平台),仅从名字上我们就能够大致的了解这三款软件在下一代SOA上的作用。
如果想了解它们的具体功能和特点,当然IBM也会提供丰富的资料,在此就不再赘述——我们谈的话题毕竟是SOA、下一代SOA与火热的电视剧《浮沉》的关系与所引申出的SOA理念的发展问题。
总的来说,SOA现在是叫SOA也好,叫NG-SOA也罢,我们最终看到的是SOA理念在当下的新解读和工作重点。SOA已经从企业内部应用和消息的整合,继而转变为以“连接-传输-扩展”为核心的企业应用平台统一架构。对于企业来说,SOA未来——或者说是下一代SOA——的作用是将企业与整个环境连接起来,传输数据的同时将应用与业务扩展到整个环境中去,并以服务化的能力提供为基础。
就SOA自身来说,这与云计算的目标是不谋而合的,同样是服务化、同样是规模化的扩展(从平台到应用,从企业内部到企业外部)、同样是传输(把信息在私有云、公有云和混合云内部及云之间传输信息、迁移应用)。因此,下一代SOA的核心将是以移动化、物联化的企业应用为核心,实现面向云计算的企业应用软件与管理平台的服务化架构。
话题回到文章的开头,回到晶通厂。虽然下一代SOA对于晶通厂来说还有些遥远,但是对于中国如此众多的制造业企业以及其他希望信息化实现国际化、现代化与灵活性的企业来说,下一代SOA仍然是值得重视的企业业务应用理念和机构。
SOA未死,SOA已经蜕变成为下一代SOA。另外要记住的是,SOA是理念和架构,而非卓越的技术或是产品。
?