按:本文是《程序员》技术编辑5月份对普元公司高层进行采访后撰写的,由于各种原因未能公开发表。经征得原作者同意,在我的blog上登出,供关心者讨论。
这一步要跨到美国人前面——普元高端专访
“中国有很多人对美国有一种莫名其妙的崇拜,好像中国只能沿着美国的道路往前走。而普元要走的这一步,就是要跨到美国人前面。”——刘亚东
普元软件董事长刘亚东常常调侃说中国是“天上掉下个软件业”,按照他的观点,中国的软件产业,很大程度上是基于非经济理由而存在和发展起来的,而且十几年来并没有发挥应有的作用。作为一家软件企业的董事长,对于中国软件产业整体上采取了这样一种批判态度,这是很不寻常的。既然对软件业有着如此清醒的认识,又为什么要进军这个行业?建立在这样一种认识基础之上的软件企业,又有着怎样的抱负和策略?又是怎样具体化到普元的技术产品上的呢?而这些理念,对于开发者们又有什么样的启发呢?带着这些疑问,我们采访了普元软件董事长刘亚东和副总裁程朝晖。
1. 刘亚东:中国的机会在于跨越
记者:刘博士,我觉得您的选择很奇特。您是亚信的创始人,在互联网和电信行业有那么深厚的背景和成功的经验,为什么会在互联网还处在高峰的时候转向软件业?而且您一直认为中国软件产业有虚浮的成分,为什么又进入这个行业?
刘亚东:创立普元当然不是一个草率的决定,我离开亚信之后思考了很长时间,前后有半年多,很多的思路和决定是在那个时候就确定下来的。我对于中国软件业过去这十几年的成绩是持一个批判的态度。很多人都抱怨软件产业发展慢,很弱小,抱怨其他行业信息化意识淡薄,素质低下等等,但是很少有人想一想,如果中国的软件产业真的为其他行业创造了很大的价值,人家怎么会淡薄你?软件说白了是为其他行业提供信息装备的行业,你必须提供适用的装备,帮助别人提高生产力,才能够实现自己的价值。中国软件产业不够强壮,毛病要多从自己身上找,不要一做不好就说别人管理不规范、业务不规范。恰恰是这种不规范的环境,才给中国软件提供了独特的机会。而我们很多人的这种抱怨,折射出发展思路的问题,那就是无视中国特殊的产业环境,始终亦步亦趋跟着美国后面走,认定了美国的今天就是我们的明天。
记者:这是一般人的思维,有什么不对吗?
刘亚东:这实际上是一种削足适履。美国的环境跟中国的环境是很不一样的。美国是在一个很成熟的商业和管理环境中一点点地进行技术探索和改进,而中国商业和管理水平很低,而且处在持续的激烈变化之中,相对来说技术上起点却很高,有后发优势。中国人写软件跟美国人写软件应该是很不一样才对。认识到这一点之后,我进一步判断,中国软件走自主路线,实现跨越式发展的时机已经成熟。创立普元的时候,我们看到J2EE、构件技术、Web Services和XML四项重要技术都已经成熟,我们能够把它们整合起来,开发出支撑应用的应用基础中间件,应对快速的、剧烈的业务变化。而在普元产品的开发和应用过程中,我们又逐渐意识到,我们在做的这个东西,是很多人很希望实现的、而又没有条件实现的,是非常符合中国国情的技术方向。美国人也做过这个东西,2亿美元投下去,5家公司全部失败,说明这个方向不符合美国的国情。构件化技术是用来构造新系统的,美国没有那么多的新系统需要构造。美国有大量的遗留系统,有很多是用类似COBOL、Ada之类的古董语言写的,没有人能维护它了,需要的就是EAI,把这些系统用Web Services整体包一层,用SOA这样的技术以黑盒子的方式把它们整合起来,以后再也不用管了。
记者:您的意思是说美国需要SOA,而中国还是应该以构件化技术为主流,是吗?
刘亚东:是的。美国的IT项目目前有70-80%是已有系统的整合,集成为主,开发为辅,所以他们需要用SOA这样的技术把各个业务系统集成起来,各个公司业务集成起来。美国在全世界宣传的Web Services和SOA,似乎是通用的分布式计算架构,但实际上是用于集成的,他们说的跟做的并不一样。中国的情况正好倒过来,绝大多数的项目是新建项目,开发为主,集成为辅,我们的关键问题是怎样高效地开发出可随需应变的,体系结构透明的软件系统。这就需要一个类似EOS这样的构件中间件平台来支撑。
记者:其他的企业也这么想吗?
刘亚东:我们的很多伙伴,比如神州数码、亚信科技、东软等等,更不用提金蝶、用友,多多少少都有类似我们EOS的产品,可见中国的企业普遍认可这个技术方向。不过,这么多面向行业的企业各自为战做相似的产品,这件事情本身从产业上来讲很不经济。普元专门来做这个方向,实际上是产业链的优化,大家都可以集中精力把事情做好。往前想一步,其实这个世界上大部分的国家都是像中国这样的,目前面临的主要是信息基础架构的建造问题,所以普元的技术有着广泛的应用空间。再往前想一步,美国也不可能永远就停留在这些黑盒子整合的水平上,他们也要进步,也要重新构造基础信息架构,把黑盒子变成白盒子,到那个时候,他们也要用类似普元所提倡的构件技术。
记者:也就是说,这次我们可能会走到美国的前面?
刘亚东:是的。我们今天在做美国明天要做的事情。中国大多数行业都不具有这样的一个特点,从这个意义上来说,软件业面临难得的机遇。关键在于,我们不要亦步亦趋跟在美国后面,重复他走过的道路。我们面临的产业环境要求我们去做美国明天才会去做的事情,一开始就必须随需应变,一开始就必须采用标准技术,一开始就用构件构造应用,一开始就把系统构造成透明的白盒子。而这样的工作,美国要到未来才会去做,这样的技术,至少有20年的生存周期。
记者:听起来很激动人心。
刘亚东:实际上我们中国的很多产业都可以走在美国前面,比如铁路,美国的铁路系统很陈旧,欧洲的铁路系统很先进,但也很昂贵。中国完全可以造出自己的高速铁路系统,而且可以造得很便宜。这是需要我们有后发优势,当然应该面向未来,跨越前进。只不过其他产业中大部分的技术归根到底还是从国外引进的,而普元致力于把一个完全原创的技术提供给国内各行业。
记者:但是据说中国的高铁要采用进口方案,普元的技术能不能够先进到足以应对外部竞争的程度?
刘亚东:我们对自己的技术有信心,特别是这项技术是跟我们众多合作伙伴共同在实践中锤炼出来的,而且会越来越成熟。退一步说,其实我主张国家对中国的软件市场实施保护,扶植民营软件企业健康成长。现在是一个技术过剩、生产力过剩的时代,唯一宝贵的就是市场资源。中国有这么大的市场,没有理由拱手让于外人。
记者:您主张国家直接干预市场?这似乎跟现在主流的意见不一致。我们了解到的大部分软件业人士,对于国家干预软件产业都非常反感。
刘亚东:其实这是两个层次上的问题。主张国家力量干预,是说国家应该在宏观上保护国内的市场资源,帮助国内民营软件企业发展,这方面国家必须有所作为。反对国家干预,是说作为国家,不要既当裁判员又当运动员,亲自插手搞出一大堆靠衙门吃饭的公司,在市场上制造不公平竞争,使得真正认真搞技术的民营企业得不到发展。在这方面,国家应该无所作为。这两个方面,干预与不干预,有所作为与无所作为,并不矛盾,恰恰是和谐的。
2. 程朝晖:天下大事,必作于细
记者:程先生,您在IBM、BEA做了10年,应该说经历了中间件技术在中国发展的全过程,有着深厚的技术背景。您选择加入普元,是否表明您对于普元的技术路线特别有信心?
程朝晖:自从我加入普元以来,很多人都问过我类似的问题。当然,做出这么大的一个决定,肯定是经过了多方面的考虑,但是如果我不是对普元的技术路线、核心团队和领军人物有充分信心,当然不会做出这样的决定。普元从2001年开始做平台技术,跟国外领导厂商同步,技术上也处于最先进的水平上,而且在四年的时间里证明了这个技术方向在中国具有强大的生命力,这些当然给了我很充足的信心。另外一点,普元的技术路线不仅仅在理念上是合理的,在实践中也得到了证实。普元在2003年以前是既做项目,也做平台,在这个过程中对中国软件生态环境有了深刻的认识,那就是面向行业的集成开发商在目前条件下很难做大做强,没有核心技术,最终只能是靠体力辛辛苦苦打工。大批散、小、碎的集成商,本质上是依赖客户关系在发展,而这些客户关系必然是局部的、地域的、受行业限制的,可扩展性很差,做不大。随着企业越来越重视利润,集成商们需要使用类似普元EOS这样的基础平台,借助于比较合理的软件产业链条来提高开发效率。于是普元在2003年中进行了一次技术战略转型,转型后则是专心专意做构件平台。两年来的实践证明,这个转型是非常正确的。所以普元给我的印象是,对产业有深刻的认识,对技术有独立的思想,在实践中有成功的经验。整个市场的大环境给普元提供了难得的机会,而普元的技术、核心团队和领军人物又有把握这个机会的能力和实践,所以我认同普元,加入普元。
记者:普元EOS到了5.0,目前只支持J2EE,不支持.NET,是因为.NET有什么不足吗?
程朝晖:我在软件产业工作了十多年,学到了一个道理,天下大事,必作于细。所谓天下大事,是说你规划的这个方向必须是前景广阔的,不能说连三、五年之后都两眼一抹黑。其次开始动手的时候,一定要smart,要顺应时势,集中力量做好最应该做的事情,这就是必作于细的道理。从技术上讲,普元的架构平台是中立于底层基础架构的,无论是J2EE、.NET或者CORBA,理论上都可以作为EOS平台的基础架构。但是在实践中,目前来讲J2EE无疑是最主流的企业开发平台,J2EE的市场对于构件平台的认识和接受速度会更快,而且J2EE平台开放度更高,门槛更低,对我们的开发工作来说更加容易。相比之下,.NET虽然本身也是一个很好的、很有潜力的平台,但在企业应用,尤其是在大型企业的应用开发方面成熟度还有待提高,开放度和市场的活跃程度也显得不足。实际上,我们有把握在6个月之内在.NET平台上实现EOS,但是目前来说还是应该集中精力在更主流的J2EE上做好做透。
记者:中国软件企业有一个思维定势,或者说习惯,就是凡事自己动手。我知道有很多面向业务的集成厂商也在自己做类似的平台系统。您怎么看这件事?
程朝晖:你的观察很正确。我早在10年前作中间件的时候就发现,中国有不少大的集成商都在自己做中间件。表面上看起来这很奇怪,你做集成的厂商为什么自己去干这种似乎是与效益无关事情?其实深层次看,这是很合理的。因为这些集成商在长期的项目开发中逐渐发现有很多基础性的工作是共通的,是所有项目都需要的。与其每次都重新做一遍,不如自己构造可复用的基础设施,这样就可以大大节省今后项目建构的开销。所以做这些工作实际上是产生了很大的效益。但是随着公司业务的不断发展,这些厂商逐渐发现,维护和改进这套平台所需要投入的代价变得越来越难以承受,而市场上有这样的产品,比如BEA Tuxedo,功能更强,体系结构更完整,而且对未来的规划很清晰,这就是他们要的东西。相比之下自己的那一套东西需要投入技术上的精锐力量来维护,又不能直接产生价值,考虑到这些,大部分的公司都会自动放弃掉自己的东西,转而使用由专业厂商提供的专业中间件产品。这件事情10年前围绕中间件技术发生过一次,现在围绕构件平台技术又发生了。最近我发现不少面向业务的公司也在做自己的构件平台。这个问题怎么看待?从好的角度来看,这说明这个技术方向是正确的,确实是企业需要的东西,要不然为什么大家都“不务正业”去搞这个?从坏的方面来看,很显然,土法炼钢,遍地小高炉的做法是不经济的。比如某家国内领先的集成商,他自己有一个构件平台,每年维护费用超过1000万,而且越来越吃力,还不能产生直接经济效益,何必呢?如果采用普元的平台,不但可以节省大笔支出,优化技术人员结构,而且可以从平台的销售中直接获得利润。因此总体的趋势一定是分工越来越明晰,平台软件一定要由独立的厂商提供,产业链越来越合理,10年前发生在中间件技术市场的事情,现在一定会发生在构件平台市场中。
记者:如果类似普元这样的构件平台推广开来,开发者的工作方式有什么变化?
程朝晖:现在“开发者”的概念其实比较笼统,具体分下来是好几类人,比如做UI层的人,做业务逻辑的人,做数据架构的人。构件平台技术推广以后,这几类人的角色会非常得清楚,彼此之间的合作也会更加协调。为什么会有这样的效果?因为构件技术提供了一个很清晰很灵活的架构。应用软件开发中,架构是最重要的、起决定性因素的工作。架构设计不当,一个项目就注定是短命的,业务一变化,整个推倒重来。而在构件平台上开发,先天地就享有一个成熟而灵活的架构,可以以此为基础轻松地设计出符合需求而且能够随需应变的应用架构,所以架构师会很高兴。架构定义好之后,编码的程序员可以集中力量做自己最擅长的工作,而开发业务逻辑的程序员因为有了一大堆顺手的原子构件,可以用图形化的方法,像做CAD一样地来开发应用,开发效率和质量也可以获得很大提高,所以程序员们也会很高兴。
记者:用图形化的构件来拼装应用程序,这是不是意味着普元将来会做MDA?
程朝晖:MDA中的模型更多的还是指面向业务的模型,层面更高一些。普元的技术目前致力于通用的、与行业无关的基础构件开发,应该说与MDA不在一个层次上。但是从长远来讲,普元做MDA方案是水到渠成的事情,因为我们已经打下一个坚实的基础。
记者:面向行业的集成商如何提高开发效率和质量,这个问题应该说是目前软件技术领域里的一个公共问题。除了普元提倡的构件化的思想之外,直接面向业务的平台也是一种解决思路。持这种观点的人认为是否构件化并不重要,关键是要构造层次足够高的、直接面向业务的软件平台,使得开发者在其上开发时,可以直接使用特定于业务的概念来构造应用。普元对于这种解决思路怎么看?
程朝晖:这当然是一个合理的解决思路,但是并不是普元要走的路。一个显而易见的事实是,平台越靠近业务,就越被局限在一个狭小的空间中。从另一方面来说,这种自上而下的思路也容易导致身份的模糊,尤其是现在的环境下,做这种平台的公司往往免不了要自己去开发工具,自己开发平台,甚至亲自投入集成项目中,这样你的形象就不清晰,就很难被融入到一个健康的产业链条中。普元采用的是自下而上的发展思路,定位很清楚,专心基础构件平台,依靠与伙伴的合作来提供面向行业的高层构件。你会发现,面向业务平台的提供商往往面对的是各企业的信息化部门,提供一些内部管理系统,而普元则能够融入主流的产业链中,直接为大型集成商提供服务,帮助他们快速开发面向业务的软件系统,这个层次,我认为纯粹的业务平台是达不到的。当然,发展路线不同,但各有各的特长和生存发展空间,从技术上讲,也决不矛盾,甚至将来有融合的可能。
记者:普元的构件技术跟EJB有着密切的亲缘关系,但是最近两年,在J2EE社群掀起了Agile风暴,以Spring为代表的轻量级容器框架逐渐成为潮流,并且将直接影响EJB的下一代规范。面对这股潮流,普元的技术是会原地坚守呢,还是发生某种重大的变化?
程朝晖:普元非常重视这种发展趋势,而且坦率地说,原地坚守是不可能的,我们当然会“与时俱进”。轻量级容器的发展对于普元现有的技术来说当然是一种挑战,但这种挑战也是有利的,一方面,J2EE这一层越来越好用,这当然有助于我们开发出更简单、更易用的构件,另一方面,一些低层的问题得到了解决,必然促使我们向更高层次跨越,构造出贴近应用层的核心构件,说具体一些,比如构件化的报表,构件化的门户,构件化的工作流,在构件的核心层面把上层的一些因素融会贯通起来。这才是我们的核心优势。
记者:这一两年新技术和新的概念很多,总的来说给人的感觉是山雨欲来风满楼,软件产业的面貌可能会发生很大的变化。很多程序员面临这种局面还是很困惑的,对于他们,普元有什么建议?
程朝晖:从我了解到的情况来看,中国有很多程序员实际上是偏于系统层,对于他们,我觉得问题不是很大。即使MDA了,总还要有5%系统级代码要写,能够把代码写好的程序员总有用武之地,关键是要做深做专,以不变应万变。专家总是需要的,看你能不能挤到这5%里。而在另外一个层面上,大部分做应用的人恐怕必需要准备好面对这场变革,大环境的变化是产业自身不断优化的要求,是不可能阻挡的。从这几年的情形来看,趋势是十分明显的,不容置疑。大部分应用开发人员必须认真思考,业界需要的究竟是什么样的知识和技能,并且根据需求改变自己的方向。当然也不用紧张,罗马不是一天建成的,这个转向也是需要时间,程序员们只要对技术保持敏锐,稳扎稳打,完全可以在实践中顺利完成过渡。还是那句话,天下大事,必作于细。