用友U9技术团队与网友见面直面各种质疑
该社区的信息化相关板块,聚集了国内大部分ERP实施顾问,讨论产品线涵盖国内外主流的ERP产品和技术。李新的帖子发布后,立刻在ITPUB社区引发了轩然大波,多达上百位从事ERP顾问和选型,及实施的技术网友参加了讨论,发表自己的见解。
本网站记者又发布《用友U9产品SOA设计架构遭技术质疑》的报道,将事件推向高潮。就在网友争吵不可开交、竞争对手等着看用友U9“出丑”之际,ITPUB社区却发出“直面质疑:用友U9研发技术专家与网友面对面”视频直播预告。这也使整个事件得到了暂时平息,大家都期待着:用友如何面对此次技术质疑。当然也有些人在等着笑话,看用友U9如何收场。
图:IT168视频演播厅现场
2009年8月19日13:30分,用友副总裁、CTO兼U9产品本部总经理黄涛、用友副总裁兼U9总架构师黄义璋、U9高级技术专家董乃文、U9平台技术高级专家方豪一行四人出现在IT168视频演播厅,通过视频与网友就U9和SOA相关问题进行了深入交流。
以下是现场文字交流实录:
主持人:各位网友,大家好,在前不久ITPUB论坛当中关于U9有非常多的争论,U9是基于SOA架构的套件,这是用友历时四年才研发出来的,有些网友使用这个产品的时候有一些质疑,U9架构上是不是合理的,能不能称得上世界级的产品。
今天请来用友公司的副总裁U9产品本部总经理黄涛先生,用友公司副总裁兼U9总架构师黄义璋,这位是用友U9平台技术高级专家方豪先生,这位是U9高级技术专家董乃文老师,各位嘉宾是U9核心研发领导者,今天和大家交流,一方面是回答前一段时间网友提出的问题,同时也欢迎网友随时提问,我们也准备了一个热线,59857681,网友有什么问题可以打进来,这个电话之前在我们论坛当中也进行了公布。
下面请黄涛副总裁给我们介绍一下用友U9研发的过程。[13:48:23]
黄涛:我们当时在财务软件中低端ERP集团管控方面取得了市场份额之一,在中高端市场上跟世界竞争对手还是有一定的差距,这是我们就开发了 U9。U9开发过程当中,我们第一年时间做了很多预练方面的工作,包括开发方式,包括平台,04年下半年就进入了一个核心开发阶段,就是做六个模型,包括服务模型、平台,做开发各种体系的建设,和软件开发的信息系统支撑,我们开发的核心系统就做这方面的工作。
07年U9真正进入大规模开发阶段,08年U91.0上市,08年底U91.5上市,今年 U9 2.0要发布了。到现在为止U9已经包含了生产制造、计划、财务、供应链,包括集团财务管控,包括分销,是一个相对完整的应用体系。
这是U9的开发过程。[13:52:04]
主持人:U9从去年投放市场之后得到了用户的追捧,有一些用户已经抢先试用了U9,请黄义璋副总裁给我们介绍一下用友U9市场推广的情况,哪些用户已经用上这个产品?[13:58:17]
黄义璋:U9从去年5月开始上市,签了客户50多家,这些客户产业的分布是在制造业、流通业、贸易业。从细的行业来讲,U9的客户有做总装的,无线的,视频装备的,有五金的,装备制造的,印刷、电路板等等。目前U9这50多家客户里面,应用模式重复的几乎没有。这50多家客户都有自己一套专用的要求。U9使用过程当中,我们都可以把这些客户上线后或者上线中,他们买的不是一个局部的模块,而是整个的ERP的模块,甚至有些还没有开发的模块,也是用户预定要用的,说基本上在产品开发的时候要纳入进来。
从应用组织复杂度来讲,U9是一个多复杂度的应用,包括多工厂协同应用,多工厂多物流,多工厂多物流多销售的客户都用的很顺畅。
从应用效果来讲,U9能够支撑一个企业CEO对商业模式的创新,当我设计U9的时候,不只重在ERP内部管理,而是支撑整个企业的商业模式。一个企业要在这个环境里面生存,一定要有一个创新的生存价值模式,要有一个很好的IT支持它。方方面面都要考虑到这个产品不仅要解决一个企业的内部的问题,还要帮助企业解决外部的问题,我们的客户也实现了竞争对手无法模仿的创新。以前大家认为用友只能做财务,但是它是从财务一直往下走。客户用了U9以后,整个ERP业务流动非常顺畅,而不会觉得这些流程之间没有办法串联和整合,特别是生产规划、生产调度,在U9里面都是做的比较好的。
再就是实施企业的效果,用户的CEO可以知道自己企业的生产状况、财务状况,通过U9就可以使老板知道流程反映的数据,比如说库存积压的减少,我们一个客户库存积压从7天到1.5天,交货期从5天到2.5天,从这些方面客户觉得帮助比较大。客户选型的时候喜欢U9,因为U9很有弹性,U9的产品不是一个功能性的产品,而是一个架构性的产品,有些产品避免不了修改,在企业应用里面不管你产品做的多厉害,多深度,还没有办法避免修改,而U9是弹性的,一直从订单、采购到库存,都可以随时了解,随时调动。[13:59:03]
内容导航
主持人:下面我们开始回答网友的问题,之前网友提到了很多的问题,而且有很多用户提的问题是真的用U9。[14:00:42]
网友:我想问几个问题,请问一下效率方面的问题,U9适合比较大的集团来用,我想问一下U9在应用方面是怎么考虑效率的?在数据结构层是怎么考虑的?
另外针对一个企业有个性化的需求,这有二次开发的问题,U9在数据质量方面是怎样考虑的,这个标准程序跟二次开发程序是怎么处理的,这个处理过程涉及到我们正常的运行,现在是U9,以后升级了怎么处理?[14:01:44]
主持人:下面请黄涛副总裁回答这个问题。[14:02:01]
主持人:又有网友打来电话。[14:21:00]
网友:用友宣传的时候是说针对世界级客户,这是不是说要和SAP相比?[14:23:55]
黄义璋:世界级是看产品面对什么性质的客户,用友设计这个产品是针对中高端的客户群体,我们要开发一款世界产品给他们使用,这个客户可能是中级的客户。大型客户、高级客户都可以在U9里面慢慢深化和成长,你选了U9就不用花时间去选型,你可以在U9里面慢慢优化你的东西,它不是一个定型的产品,世界级的公司会随着企业成长的规模,U9还是可以适应的。随着企业规模的成长,终端产品国内和国际的技术会用在U9上面。
我们说世界经济在亚洲,亚洲经济在中国,目前中国企业从过去模仿别人的管理,有一天走出去,它变成一个世界级企业的时候,也希望U9可以符合它的要求。如果说世界级的是跟SAP比,这不是我们需要的目的。
[14:24:38]
网友:U9这个产品没有经过世界级的客户验证。[14:26:41]
黄义璋:产品是做应用的,而不是根据企业规模来讲的。我们的产品是要针对一个公司要成为世界级公司支撑它的管理。
一个企业做大、做强是两码事,做大不一定做强,做强不一定做大。通用很大,通用的产品模式没办法支持通用的,所以它垮了。这个客户在它的业务领域要遵循它的规则。
世界级的产品不是说世界级的客户在用,假如说一个美国的公司,他买两个厂来做工厂的整合,他要达到一个世界级的管理,这个IT就可以支撑它。一个跨国公司不一定是世界级的公司,一个跨国公司想在世界各地做物流、财务控制等等,IT就支撑它做世界级的应用。如果一个企业要想达到一个世界级管理的时候,我们的产品可以支撑。[14:27:08]
网友:我们对世界级的定义有一定的差距,我的理解就是跨国公司跨国业务是世界级的,这是必要充分的条件,从我目前所了解的用友这些客户群来看,跨国公司的案例如果有的话也是寥寥无几,我的感觉就是用友在称呼自己为世界级的时候早了一点。[14:29:54]
黄义璋:一个产品策略发展的方向,你要达到一个产品能够出国,在国内要达到相当程度的占有率,U9要达到国际化的时候,你要在国内证明可以被用好。世界五百强的企业在中国都有中场,都有核算中心,如果U9能够在中国企业里面把一些跨国公司的应用支撑,就可以相等于是可以走出去支撑其他国家的应用。
所谓国际化的应用里面,两岸三地的企业也是有的,我觉得世界级的管理不是指世界级企业用的产品就叫世界级的产品。很多跨国公司可以用SAP、Oracle。[14:30:09]
主持人:看来这位网友非常对用友是非常了解的。
这个网友说整个U9的产品核心计算全部通过密码加密算法等等实现,整个过程用了七百多个存储过程,一百个类似于存储过程的标量函数,这种方法怎么实现SOA,同时系统的性能和安全性如何保障?[14:30:34]
黄涛:在U9产品里面有三千张数据表,整个代码有一千万行以上。从这里面可以看出我们存储过程只是在U9代码量当中占百分之一二。
U9的核心逻辑里面,包括网友举例的MRP里面,MRP核算计算是用存储过程实现的。MRP架构是纯粹的存储体系架构,就像UA到SOA架构。这个软件的设计和发布以及部署的头等元素是服务,我们软件是由一个一个服务来组成的,以一个服务的组合完成应用,是这样一个架构的应用系统。存储过程只是一个内部服务而已,存储过程计算技术是有使用场景的。我们根据计算的本质,CPU资源占用,IO资源占用,来决定这个计算逻辑,是放在应用服务器合适,还是放在数据库服务器合适,还是放在前端,在WEB服务器上,甚至在浏览器做控制合适,我们要做这样的分析。这个计算逻辑应该分布在合适的位置上面去,根据这样一个分析,U9用了一部分的代码,是放到存储过程里面实现的。
像这样复杂的企业计算,性能要求是非常高的,我们满足客户应用的要求、性能要求是第一的问题。放在存储过程里面肯定有弊端,就是可一致性和差异。为了可一致性的技术目标忽略了性能目标肯定不是一个合适设计选择,所以我们用了数据库特有的技术提升了我们的性能。
对可一致性的影响,我们只要是可控的,存储过程使用是经过严格的选择,对我们可一致性影响是不大的,我们更好的发挥平台厂商的优势。U9率先支持了Oracle数据库。
关于性能的问题,我们现在在普通的服务器做了八千个并发测试,我们用了四台应用服务器,一台数据服务器,一台报表服务器。[14:31:05]
网友:关于SOA平台我有一些问题,用友U9这个平台用了SOA架构的哪些,还是用了微软的技术?[14:31:39]
黄涛:我们把SOA架构看成非结构性到结构性,从OA到SOA,它是一种软件设计的架构,我们从两方面来做。第一个事情就是符合SOA架构技术,列入OA技术。我们04年下半年到06年下半年,做业务模型,基于业务模型做切割和设计。第二个事情,我们除了采用微软的底层的一些技术架构,采用 WCF技术,我们在上面还做了很多的内容。我们做了我们的服务引擎,实现我们的ESP,我们做了U9的一个开发平台,在这个开发平台上支持服务的建模,流程的建模,支持源数据的描述,支持全过程的开发,基于模型驱动的开发模式,产生相应服务的代码,产生相关的表达逻辑,解决我们公共的性能问题,比如说安全性问题等等。
在平台上我们做了一个开发平台,做了一个运行平台,做了一个运营和部署、管理平台,实现计算资源的监控,服务质量的监控。[14:31:59]
网友:作为U9设计服务,有什么样的流程,能够实现什么样的监控?[14:33:01]
黄涛:要在U9开发平台里面要定义这个服务的接口,对这个服务安全性的要求,这个服务发布的约束和配置,这是我们平台里面服务的建模,然后用我们的模板和代码来实现服务的逻辑,我们可以把这个东西发布到运行环境里面去,然后进行调试和部署。我们在后台可以对这个部署进行监控,我可以把这个服务发布到工厂一,也可以发布到销售公司,实现服务的透明分布,实现分布式的SOA。然后对服务的运营,我们会进行监控,服务的资源部署用了服务器资源可以进行监控和管理,这一套每一步都有相应的平台工具和规范来约束支持它的。[14:33:14]
网友:服务环境实现当中有多少是你们自己的,有多少是微软的?有多少是你们自己实现的?[14:33:31]
黄涛:如果说我们把一个服务发布成WEB服务,还需要我们应用软件开发厂商实现SOA1.2、1.5,这就不要发布U9的时机。我们所有的路线都是通过底层平台厂商的内容来实现的。
SOA的目的不只是解决一个系统的调用方式,SOA的目的是解决列入敏捷的问题,让IT更好的支持业务的变化,它的前提条件是运作服务化,然后把组织能力通过出口的服务体现,通过服务的组合编排来实现灵活的业务过程。架构是一个基础性的东西,如果说十年前开发的软件也支持SOA架构,这就不是SOA架构,而是调用方式。[14:33:46]
网友:用友是用什么实现的?有什么特殊的地方?[14:34:00]
董乃文:其实在产业界对SOA有大量的争论,最近像网上都有一些讨论,最大的争论就是SOA是不是WEB服务,争论到现在还没有更好的答案。SOA不仅是WEB服务,就像咱们说WEB服务的标准,以及不同厂商的数据库,像这些数据处理都在最底层。再往上就是商业服务,再往上就是采购、销售,还有存储过程。SOA回答的问题不是这个东西放在哪一层,而是各个层之间协作的过程,这个东西放在最底层对上面进行很好的结合之后,暴露给消费者,这个目的就达到了。而不是这个东西一定放在存储过程。[14:34:13]
黄涛:用友的SOA最重要之处在哪儿,不是SOA的调用,也不是SOA1.2、1.5的问题,这只是规范,不是特别重要的问题。重要的问题是U9的建模,把所有的应用变成服务。你基于SOA设计的软件,和基于传统的过程化设计的软件,可以实现功能,但结构是不一样的,我有很好的对象、对象模型来实现。SOA解决什么问题呢?业务服务的概念到IT服务的概念。U9里面每一个服务都是和业务服务对应的,这就实现了IT对业务敏捷性的支持,这才是 SOA强调的本意,U9的SOA和其他SOA之间的差异就在这儿。[14:34:27]
主持人:有一个网友问,U9是不是采用了ESP实现落地?不知道你们公司如何看到以ESP为导向建立SOA缺陷的问题?[14:35:03]
黄涛:ESP就是使SOA架构程序变成可能的一种支撑而已,我们注意到像其他的一些厂商,比如说微软只有WCF没有ESP,用友U9实现的时候是实现了我们服务引擎,可以说是类似于ESP的思路,提供了一个技术支撑。那如果说U9的SOA就实现了ESP,这个问题是值得探讨。[14:35:16]
主持人:U9组织架构是不是参照了Oracle,U9是一个优秀的商业平台,有多少功能是用友根据中国的最佳实践总结出来的?[14:35:28]
黄义璋:一个产品有不同的供应方式,有些人反映说U9多组织是参照Oracle,从后功能的角度来讲,产品采购的时候可以有多少货做比例上的分配。如果说要做到第一家供应商做不到的时候,找第二家供应商,第二家供应商做不到就找第三家供应商,这都不是Oracle的功能,是U9内建的功能,这就不能说你是参照它的。
U9多组织,在Oracle里面你可以看到应用组织之间的关系,一个企业要强调组织与组织之间的关系,相对之间是平和的关系,A工厂和B工厂互调的时候,Oracle没有办法做到,Oracle没有办法做用户结算,大家看到U9产品和多组织设定里面跟某些产品比较像,但是应用的时候有很大的差异。这实际上是不太一样的东西,U9涵盖了法人、物流、核算、成本、工厂,这比Oracle复杂多了,Oracle做不到工具与工具之间多组织的协同,U9是可以做到的。U9里面百分之八十的多组织功能Oracle是没有的。
[14:36:12]
主持人:既然U9是供应链的解决方案,U9如何解决MP、LP、DP等的算法?[14:36:24]
黄义璋:MP、DP我没有听过,应该把全称讲出来,U9里面定义了很多名词,包括MRP等等,但没有听过MP、DP,请网友详细解释一下。[14:36:38]
主持人:还有一个网友说如何找出U9的场景驱动?举例说明如何找到流程最优方案。[14:40:27]
黄义璋:一个业务发生错误的时候有可能带动其他资源配置的搬动,U9的业务驱动实时的可以做什么,可以做批次的。这个驱动变动的时候,你怎么管理这些流程,或者这个流程如何在多组织之间做反馈、协调。你接订单的时候,有很多工厂可以生产这个产品,你怎么知道要下给哪一个工厂,这个工厂里面的资源不够的时候,你怎么利用其他工厂的资源帮你处理。甚至变动的时候,我怎么知道这个订单到了什么程度,我怎么更正它。这都是业务驱动的范围,这种驱动不是人工干预,我可以做到提供建议的信息,你决定干预。管理是很复杂的,U9就是一个很好的IT产品,U9可以随着用户的环境知道它到底要设置驱动,还是有针对性的驱动,U9可以做的到。
最优方案,在U9里面生产和流程方面都有模拟,但在分销里面,还没有达到最优方案。它可以做到串行分销和并行分销,但是网络分销优化还没有做到。[14:40:37]
主持人:还有一个网友问,U9有没有支持LINUX的解决方案?[14:40:48]
黄涛:U9选择的是微软的技术路线,所以肯定不能支持LINUX,哪个产品选择哪个技术路线,这个不在厂商,而是在客户,客户需要的信息化系统都是基于微软技术的,所以我们选择微软技术的,但是在数据层面,我们是支持的。我们数据是支持多数据库厂商应用的,可以部署到多个操作系统,包括 LINUX,但是我们的虚拟服务器、WEB服务器必须部署到微软系统上。[14:40:57]
主持人:回答网友最后一个问题,U9号称三年做到十亿,请问如何实现?今年是两千七百万,第三年的任务怎么完成?[14:41:08]
黄义璋:U9是用友的一个主打应用产品,今年主要是验证U9这个产品应用技术和应用架构是不是可以支撑行业的不同应用,U9过去签约的用户基本上没有一个行业是一样的。我们设计U9的时候是离散为主,流程为辅的,但我们应用的时候是流程比较多。我们说三年做到十亿,每个产品都有它的愿景,我们希望三年达到十亿的目标,我觉得明年和后年董事长会给我们下的任务是很重的,十亿是一个目标,是我们努力达成的。[14:41:20]
主持人:U9三年实现十个亿,除了自身的产品之外,还由经济形势来决定的,如果经济危机很快过去,这个目标实现可能比较容,如果不能过去,可能比较难。
今天访谈时间差不多了,主题帖还没有回答完的问题,我们请嘉宾在网上回答问题,希望大家继续讨论,也感谢大家的参与,谢谢大家。[14:41:47]