信息化 频道

用友U9 SOA管理软件业标杆吗?


    SOA是个基础技术。重要的是看U9架构。

    其实,作为管理软件的架构,其实是比较简单的技术。大致相同。所以从金蝶EAS,到U9,到SAP Netwear,都差不多思路。管理软件最主要的成功门槛还是管理思想、项目质量、项目进度、项目文档、项目大规模团队组织协调、咨询渗透、专业培训。管理软件最主要的技术门槛还是在于海量数据存取,但性能受业务需求、功能设计、数据库设计、代码开发多种因素影响,所以需要在各个层面去调节。我过去做架构师的时候,由于数据库产品有些BUG补丁没有出来,由于OS有些BUG,由于COM+有些BUG,还有开发工具对于COM+和ADO支持上有些BUG,所以被性能弄的很是麻烦,整天在客户机房蹲守检测CPU、内存、I/O、线程、池化、连接数、事务并发。 
 
    我也是做管理软件架构的,所以在这里给大家讲讲一个管理软件的一般架构思想。
 
    一个架构的作用:

    1业务程序员少写代码就能实现业务功能 
 
    2有了需求来,也好定制修改

    3也稳定

    4性能也高

    5部署和支持也方便

    6安全性也高

    为了实现这些目标,所以我们需要具备以下这些组件设施:

    1登陆用户口令验证、license许可验证、盗版验证、过期失效验证、版本差异验证

    2主控台 用户功能树 管理主控台

    3表单设计器、业务实体设计器、工作流设计器、报表设计器、功能菜单设计器、多语言设计器、多皮肤设计器、查询过滤定制器

    4UI框架:Grid/Toob bar/Tree/TabSheet/Menubar/参照录入组件/Edit/Button/Combo之类

    5单实体输入框架、主从List/Detail输入框架

    6运行配置参数设置、单号计数器、业务预警设置

    7异常框架、业务实体权限框架、业务实体存储引擎、业务实体查询引擎  

    8报表:套打、单据报表、普通二维查询统计报表、交叉报表、图表  

    9工作流引擎、消息引擎、自动任务引擎

    10企业组织结构设计工具、权限分配工具、数据导入导出工具、数据备份恢复工具、升级更新工具、错误诊断跟踪工具、性能监测工具、日志查看工具   

    11OFFICE集成、BO集成、通信集成、邮件集成、短信集成、IM集成、搜索集成、电子商务集成、企业门户集成等等一切外围集成

    有了这些基础,就可以在其上开发业务模块了。一般,让业务开发人员能够顺利开发业务组件并且能顺利插入这个平台去运行,还需要有Example、Docs、IDE。这样,在IDE中,自动就能查到所能调用的公共业务类库命名空间的成员,也能有帮助文档知道如何使用,更有Example代码,几乎修改一下就能用。于是,几乎,业务人员不需要直接使用VS之类的开发工具。如果确实做不了,平台组会扩充平台功能。如果平台也不很好的完成,就需要平台组来分解需求抽象需求仅提供公共功能API,然后让业务人员调用API,适当使用VS工具,但都容易很多,开发的速度、质量稳定、性能都不错。

    没有平台,高手低手都混在一起,开发的功能模块有的强有的弱,有的很好扩展很好修改原代码也很好理解性能也不错质量也不错,有的代码一团浆糊BUG百出几乎无法下手修改,整体质量无法保证。有了平台,就让能力高的开发平台,让能力低的去使用平台。毕竟,我们能招到的高手不多,而且成本高,大部分都是资质平凡的一般程序员。如果整体成功,就需要搭配各施其职。

    我看这次U9引入了DSL这个新技术。这也是我10多年一直摸索的,但却没有成果的。如今,Google和Ruby给了我很多思路。Google的REST、JSON、JAVASCRIPT,能够实现比BEPL广泛的Mashup,也比JAVA要轻量级。而Ruby更是引入真正的DSL脚本,像在编写游戏脚本一样。如果我们没有DSL,我们必须用JAVA这类原生重型语言操刀,这就难为业务开发人员了。

    我们并不期望DSL给客户的IT维护人员用,但至少也不希望业务开发人员去全面深入的学习JAVA或C#,大家都知道现在各种框架越来越大,各种类库越来越大。让一个资质平凡的程序员去学习这些东西还要能开发,那上手需要多慢,培训成本需要多高。

    但是,从U9在媒体透露出来的各种消息来看,U9现在已经完成的业务模块比较少,应该是财务、供应链、OA、HR这四部分(有没有生产管理、质量管理、CRM、物流仓储?没看到宣传内容)。其实要做ERP,就必须从CAD设计到产品数据管理到物料清单、采购、供应链、生产排程、仓储管理、生产成本管理、质量管理、物流、销售管理、市场管理、服务管理、客户管理、商业智能、企业OA、人力资源都得需要(不熟悉ERP构成的可以学习这些完整的ERP链,SAP基本业务套件[行业解决方案除外]也不外乎这些)。 

    四年,听说用友每年投资1个亿研发,U9研发甚至动用了600-800研发人员,堪称国内第一单产品动用人数最多的完成这么点,而且从看到的资料,UI和功能细节上都不能让人信服这是一个研发了四年的产品。我个人猜想,估计还是NC的两个错误:1 技术的不成熟,从.NET/WPF/WCF/WF,想实现的架构底层技术不支撑 2软件工程管理的不成熟。

    其实还有第三点:管理思想和业务细节。

    黄涛过去一直做技术方面,这次统领产品大局,研发时间之久却业务模块出的少,很有可能和我估计的第三个软肋有关(用友一直封锁消息做的很好,具体我不清楚,我只作为门外汉猜测而已)。

    U9不断跳票,从王文京说的2006,跳到2007,然后是2007年底,然后是2008年3月。希望U9在今年上半年能够正式发版。

    而金蝶呢,K3老去,EAS产品技术成熟却无法决战未来10年。因为从最近发布的.NET 3.5来看,.NET在架构思想上比JAVA走的要先进的多。而JAVA,在众多厂商的博弈中背负了大量的包袱无法快行。

    U9是又起早了呢,还是正好。不管怎样,管理软件行当都想看到未来的标杆是什么样?

0
相关文章