程序员:用友ERPU8开发纪实由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“用友erpu8安装流程”。
程序员:用友ERP-U8开发纪实
艰难重生
“U8的8.50是彻头彻尾的新版本,无论是底层控件还是业务流程,全部都是重新开发的。”坐在会议室里的用友U8程序员异口同声的谈到这点。在这八个程序员中,有做了五年软件开发的老员工,也有之前在日资企业做进销存软件,新近加入的程序员。
在这些程序员看来,U8的8.50版本凝结了大量汗水,自然是个出色的产品。然而就在一年前,这个版本很有可能无法诞生。
2001年底左右,整个软件市场的目光全都被炒得火热的ERP夺去,虽然当时用友已经推出了U8的8.20版本,但因为这个版本仍然沿用了以财务为主线的产品思路,反响并不是很好。
与此同时,用友公司已经开始启动大型ERP项目NC,很多骨干都被抽调至NC项目组。此外,用友已经用2000万收购了台湾的汉康ERP产品和在南京的开发团队用来充实自己的ERP产品线。既然已经有了高端和中端的ERP产品,U8当时就处于上不能上,下不能下的位置,十分尴尬。要不要继续U8的开发?这个讨论不仅在外部,而且在用友公司内部同样存在。
一批人建议停掉U8的开发,但另外一批坚持以原有U8的8.20版本向中端ERP产品发展,因为用友原来30万财务软件用户不能放弃。这些人中就包括现任U8产品事业部总经理的高少义。
高少义在北京分公司做过五年总经理,直接接触到众多客户的他深知企业的需求所在,在被调到用友公司总部之后,也希望选择U8作为事业的新起点。经过总经理会的多次讨论,终于通过了延续U8产品开发的决议。
此U8非彼U8
决议尽管通过,但U8仍然面临重重困难。如何避免上一个版本的不足,创造出一个崭新的版本,这个任务就落在了研发中心副总经理杨祉雄的肩上。杨祉雄,作为一个在用友工作了十多年的老员工,他曾设计了用友5.0到8.0版本的财务软件,现在要再次充当启航的舵手。
U8项目组当时只留下了50多人的产品维护队伍。U8市场部的人员中也只剩下了三位女将,其中一位还身怀六甲。
杨祉雄首先明确了产品的开发思路,指出继续以财务软件思想开发新版本是绝对行不通的。虽然用友有很多行业专家,但大部分都是做财务软件出身,现在要转向企业ERP软件,缺乏经验和思想的转变是最大的问题。因此,除了学习之外,引入新鲜血液成为了当务之急。
最早加盟的是珠海一家有名的ERP公司的生产制造开发经理,北京一家专门从事商业智能公司的商业智能专家也随之加入,青岛一家著名的外资企业的副总经理兼物流总监也加盟了。接下来,他们又聘来了专门从事人力资源软件开发和咨询服务的深圳硕旺总经理和人力资源资深专家陈谏以及从加拿大回国的数据库专家刘念等十几位专家和高级技术人员。
那段时间,公司内新面孔不断出现。墙壁上也挂上了“软件推动管理进步”的标语。整个项目组在营造一种新的氛围,每个人都知道,又一次硬仗需要他们去拼搏。大规模的人才输入肯定会在文化融合方面产生问题,好在用友业绩导向的文化氛围迅速让这些人产生了认同感。真正的碰撞集中在新加盟人员带来的ERP软件思想和固有的财务软件思想之间产生的交叉与冲突。
产品管理部门表现的最为突出,因为这个部门要进行新产品的定位和设计,而十多个人的管理组中新人就超过了一半。面对U8这样的大型软件,如果设计时没有全方位的考虑,开发中就会遇到难以想象的问题。因此,讨论焦点集中在对未来产品的功能和业务规划上。
位于八达岭泰山宾馆的封闭开发基地是值得记住的,尽管这里距离用友公司仅仅几十分钟的车程,但一旦进入了这个群山环绕的封闭开发基地,外面的一切干扰都没有了,大家的头脑中只有U8的未来!
U8产品管理部的成员围绕应用理念进行了激烈的讨论。有人认为只要把功能作强,提供全面的功能就可以了;针锋相对的是,有人认为必须先考虑为企业提供解决方案和价值体系,重要的是能为企业带来什么样的价值,这些功能才是有用的,否则只能是功能堆积。在这里,一切问题都要通过争论来解决,累了便回去吃碗方便面,倒头便睡,一觉醒来,积蓄力量再次唇枪舌剑。
七天过后,全体人员对U8的未来模样终于统一了思想:新版本要上升到企业战略高度,面向主管、面向决策、面向价值,基于价值体系来设计功能流程,并以帮助企业创建持续的利润为核心。
U8花开两朵
就在北京U8开发团队起步时,随收购汉康产品技术一同转入用友的开发团队已经在南京进行ERP软件改造了。这个团队的领头人是张清华。张清华1985年大学毕业后,曾从事过机械电子管理工作,八年后到了汉康,在汉康也工作了八年。在此期间,他主要担任资深实施顾问。
南京的用友开发团队在2002年2月5日发布了一个版本,这个版本主要是在继承原来产品成熟的管理模型基础上,针对国内企业应用需求进行了大量修改,并和U8财务进行了整合。整个程序的修改量也十分巨大。
谈及用友收购汉康产品技术之后,为什么没有将南京的开发团队调到北京U8开发团队。张清华表示,华东区是生产制造的中心,把研发中心放在这里更容易接触到客户。
2002年3月份,北京U8新版本的开发进入了系统平台开发阶段,凤凰岭封闭开发基地迎来了平台组的二十多位程序员。他们的主要任务是开发基础性的控件,比如公用的报表系统。基本上所有的模块都进行了重新设计编写,单据和报表等都做成了标准组件,可以进行灵活方便的配置,数据库权限也进行了更为细致的控制。负责报表系统模块的程序员说:“以前这个模块的代码也就两万多行,这次我写了七万多行的代码。”
“封闭开发回来的那天我记得很清楚,是4月15日。因为前一天虽然已经完成了开发任务,但有人说4月14日星期四不吉利,所以推迟了一天返回公司。”一位以前做电子商务的程序员颇为幽默的说到这点。
在平台组开发的同时,业务组也没有空闲,系统的设计开始逐渐展开。邓适宜作为U8的总设计师,负责新版本的应用架构设计。
邓适宜认为,企业是一个整体,应用架构只有做的灵活,才能支持复杂多变的应用环境,应用才可以做的更丰富。如果软件应用架构没有设计好,缺乏好的支撑体系,应用就会像肉铺的肉一样孤立的挂在外面。软件从概念性的产品到成熟商品的发展过程是不断创新和积累的过程,好的架构应在更长时间内能承载这些创新和积累,直至精品的出现。
做应用架构首先要提炼应用。企业的很多需求存在内在联系,因此尽管业务形式经常改变,比如以前需要一张单据,现在需要三四张,但业务流程之间的内在联系是不变的,根据流程建立的业务联系才是核心。邓适宜表示:“首先要区分变化与不变,抓住不变的内容,再掌握变化的规律,进而预测可能的变化。针对变化设计更多的灵活性,不变的部分使得其内在联系进一步加强。这样才能使应用架构更好的适应客户需求,让软件使用起来更方便。”
业务组通过对应用需求进行深入分析,将业务逻辑切割、解析、提取规则并适度抽象,进而建立关联,构造出分析模型和设计模型,然后再利用这些模型进行配置和重新组合,得到具体的应用解决方案。
在平台组提供了业务组可用的各种控件之后,业务组的封闭开发开始了。近百人的开发团队到了位于怀柔的封闭开发基地进行U8新版本的系统开发。平台组一部分程序员也跟随去做技术支持,随时解决业务组在控件使用中遇到的问题。在应用架构思想的指导下,U8的各种应用模块,包括供应链系统、采购销售都重新进行开发,使记账更流畅,控制更交互,还增加了质量管理、业务管理系统、物流计划。例如,为了方便用户的使用,结合不同的销售模式提供多种核算模式,从采购入库进行管理,自动生成最后的单据,不仅简化了用户的操作,而且过程更加流畅。
在U8的8.50版本中,不同模块之间还可以采用“数据总线”和统一接口进行数据通讯。这套机制可以让U8支持第三方软件,只要第三方软件利用U8提供的接口进行开发就可以了。用友产品发展总监郑雨林表示:“以前我们做软件都是提供一套完整的功能给用户,中间商的增值会较少,现在U8提供了一套完整的API编程接口,一些在U8上做增值开发的合作伙伴也已经成为用友的用户,而且这类用户的比例将随着U8平台特性的强化而增长。”
2002年10月底,北京U8的8.50版本第一次发版,为此,用友公司结合成功案例举行了全国性的推广活动。
就在北京U8的开发热火朝天的同时,南京研发中心也没有停滞。他们在北京统一规划下,开始深层次的和北京开发团队合作,进行产品的完善。
张清华多次到北京参与产品设计会议,不仅在ERP思想上相互取长补短,而且南北U8的产品在功能上也更多的融合。南京方面吸取了北京U8财务和其他很多方面的优点,而北京U8也吸收了南京产品中以计划为核心控制的长处。平台组开发的控件也提供给了南京的开发团队。这给南京的U8产品功能扩展提供了强大的动力,南京U8的新版本中增加了模拟报表、自定义报表的功能。而且还扩充了粗能力计划、质量管理模块、重复制造、流水线制造等模块,产品功能更加完善。
统一于U8.NET
杨祉雄表示,用友U8的开发是“研究一代,开发一代,维护一代”。就在用友U8的8.50版本开发的过程中,数十人的团队已经在进行下一代产品的研究了。而领导下一代产品的是U8事业部总工程师杨望春。
用友因为用VB做开发而经常受指责,现在未来的产品将会用C#进行开发,是不是该很兴奋?杨望春淡淡一笑,说:“编程时间长的开发人员都知道,语言不是障碍,系统架构和应用设计才是产品灵魂所在。”
杨望春首先要搭建一个技术平台。
“企业应用环境非常复杂,尤其在国内的大中型企业,经常要考虑很多个性化需求。而常规的软件开发环境并不能支持所有应用开发所需的特性,比如分布式和工作流,在没有技术平台的情况下,每个程序员都需要考虑技术细节。”杨望春说:“搭建好技术平台之后,只需要几个人设计并维护平台代码,其他人在这个平台上做开发就可以了,国际大型的管理软件公司都采用这种方式,比如SAP就有自己独有的开发平台。”
杨望春表示,U8.NET的所有应用功能都架构在一个协同工作的平台上,由内置的工作流引擎统一驱动,把工作自动推送至相关使用者的桌面。U8.NET的技术架构是一个标准的三层结构,它是遵循微软的WINDOWS DNA和.NET
FRAMEWORK规范进行设计的,完全建立在微软平台上。与逻辑架构相对应,物理架构可以分为三层,也可以将业务逻辑层的服务器和数据层的服务器集中部
署,构成一个服务器集群。在总体设计和具体技术实现的过程中,他们研究实现了很多技术,比如工作流引擎,很多方面做的比某大学的研究课题功能还要强大。程序员在使用新技术平台的过程中,因为不直接接触底层,因此需要改变开发的思路。产品规模越来越大,分工越来越细,对程序员的规范也越来越多,尤其是要遵循接口和规范。有些程序员感觉自己控制的范围变小了,情绪可能会产生一些变化。对此,杨望春表示,他们一方面强调团队精神,同时还会注重细节设计细致到什么程度,尽可能的给程序员留一些设计的工作,以拓展他们的业务知识面。有时还会把一些代码外包,为的就是让更多的开发人员有接触业务、了解设计的机会,以提高他们的设计能力。
现在,U8.NET技术平台工程完成了全部编码工作,一个原型产品已经产生,正在做测试版。
在开发新一代产品的过程中,U8与微软公司进行了紧密的合作。2002年8月,微软正式邀请用友公司加入由微软总部研发中心组织的下一代数据库SQL2000 sp3(Yukon)的JDP(Join Development Program)计划。杨祉雄表示,微软JDP合作计划的全球参与者只有二十余家,全部是最具代表性的合作伙伴和用户,用友是国内首家,也是亚洲唯一一家被邀请加入的合作伙伴。2002年10月,他们还共同在用友建立了用友-微软联合产品实验室。
未来,南京U8产品也会逐渐统一到这一版本。对于这个移植过程,张清华说:“技术平台如果开发出来之后,转移过去并不难。原来南京的开发团队在1998年的时候,我们也就花费了半年时间就把系统从DOS平台转移到了Windows平台。”
ERP-U8乘风破浪
用友不是一个新公司,很多工作要在原有的架构上进行优化。实际上,一个产品重要的不是它如何开始,而是它如何发展。U8产品向ERP的转型,所有用友人都充满信心。用友的CEO何经华表示,U8的目标就是要成为中端ERP的领导品牌。
随着U8事业部的壮大,用友大厦已经容纳不下这么多人了,整个U8事业部搬到了距离用友大厦仅有一街之隔的彩虹大厦。每当午饭的时候,熙熙攘攘的人群在彩虹大厦和用友大厦间穿梭,他们所经过的那条几米宽的小马路将继续见证用友ERP-U8的成长和辉煌。