【IT168 技术分析评论】
  近日,ITPUB社区ERP板块,一位使用ERP多年的网友李新(化名)在学习使用U9的过程中,发帖抱怨U9中使用了大量的存储过程,并质疑号称全球第一款基于SOA架构的ERP系统U9,其SOA设计架构理念到底体现在哪些地方?

  该社区的信息化相关板块,聚集了国内大部分ERP实施顾问,讨论产品线涵盖国内外主流的ERP产品和技术。李新的帖子发布后,立刻在ITPUB社区引发了轩然大波,多达上百位从事ERP顾问和选型,及实施的技术网友参加了讨论,发表自己的见解。

  

图:用友U9产品SOA理念和架构遭质疑

  用友ERP 存错过程滥用?

  记者调查了解到,整个U9产品的核心计算的确几乎全部通过存储过程实现,包括MRP计算、ATP计算、成本计算甚至密码的加密算法也在存储过程实现。整个系统用了7百多个存储过程,1百多个类似于存储过程的标量函数。

  网友alone1998认为,“纯粹的SOA不提倡用存储过程/函数,把数据库只视为一个存储数据的地点。所有的业务逻辑都不在数据库中实现,在应用服务器中实现业务逻辑。从这个角度讲 U9肯定不是严格的SOA构架。但是,实际使用中,纯粹的SOA构架效率存在问题,需要频繁的读写数据,对硬件要求也高(我们的一个ERP,采用类似构 架,用了4台小型机做应用服务器,oracle数据库unix操作系统).要解决这个问题,需要打破这个模式,折中的办法是限制存储过程的使用,别烂用。这又需要仔细的系统设计,用友是否这样做的了不得而知。”

  记者就此采访其它技术人员时,但他们表达了相反的观点,认为SOA的设计理念和是否大量使用存储过程没有直接关系。

  “其它的ERP产品如Oracle EBS同样大量使用了存储过程。用这一点来指责和质疑SOA的设计理念和研发的技术实力,立足点完全错误!至于说,有些业务逻辑计算是否一定要放在后台,通过存储过程来实现,这一点是可以讨论的。”一位从事多年ERP实施的技术顾问接受采访时表示。

  ERP系统涉及大量的业务逻辑处理和计算,将这些业务逻辑处理计算动作全部放在后台数据库实现,的确看上去有悖分层设计架构的思想。分层开发设计的思想是,业务逻辑计算尽量封装在业务逻辑层,而不是将其全部下压到数据库层面来实现。

  “业务逻辑处理和计算,如果直接用存储过程实现,不利于复用,也不利于数据库的跨平台移植(因为大部分数据库系统的SQL标准实现是有差别的,在一个DBMS中能够正常运行的存储过程,放到另一个平台几乎全部要重写);我们在做项目时,如果有开发人员这么做,被视为是偷懒的表现。”一个从事CRM系统开发的项目主管小李认为。

  据记者了解,还有批评者认为,现在U9把中间层要做的事情都让数据库服务器代劳,显然对数据库服务器带来成本的压力。另外,安全性也是一个问题,因为系统存储过程一般都是开放的,任何人都可以随意修改,对系统的稳定性和安全性带来隐患。

  “如果通过存储过程来实现如MRP计算,如果计算量很大的情况下势必会造成服务器的资源耗尽,一旦进行MRP计算,所有人都无法工作了。并且,这种计算资源消耗在前端是无法知道进度的,象死机一样,当然也无法知道什么时候能够结束。大量的计算也回带来死锁,乃至瘫痪。根据我以往的经验,并发数超过100就很困难了,不可靠了(丢数据、死机等)。要达到200,购买最好的服务器恐怕也困难。”一位有着数据库管理经验的ERP技术实施顾问这样认为。

  对此,EBU平台开发部经理张劲涛的解释认为,ERP软件需要处理大量业务数据,核心计算通过数据库存储过程来实现,一方面是为了减少网络数据流量,提高数据处理效率;另一方面在数据库层面进行事务处理和控制比在应用程序中使用分布式事务更高效、占用的资源更少;还有一个就是灵活性问题,设计良好的存储过程,当业务逻辑或规则发生变化时,可以不用修改软件代码,只需修改存储过程即可,这对于用户和软件开发商来讲,可以降低维护成本和升级花费;另外,扩展开来还有一个系统健壮性和安全性问题,在非电信级商业网络环境中(比如:大多数企业局域网),尽量减少设备节点和层次意味着更高的可靠性,尽量减少数据在网络上暴露和传输的机会意味着更高的安全性。

  另外,他也承认使用存储过程有可能使得系统存在缺陷。“存储过程的一个缺陷是对于非数据密集型运算其实是很低效的,可能会过多的占用DB Server的CPU资源,而使得性能强大的Application Server的计算能力被闲置;另外,对于强调协作的分布式应用来,计算能力的过于集中在一定程度上降低了灵活性,毕竟现在早已不是大型主机的时代。”

  最后他认为U9产品中大量使用存储过程是一个比较合适的做法,并无不对。“对于商业软件来讲,核心计算是否选择存储过程实现不能一概而论,要根据具体应用的特点和性能要求综合考虑,在此过程中可靠性和有效性往往会起很大的作用。”

本文转载自:http://tech.sina.com.cn/s/2009-08-13/10501026131.shtml

转载于:https://www.cnblogs.com/chrischen662/archive/2010/09/03/1815712.html

用友U9产品SOA设计架构遭技术质疑相关推荐

  1. 产品与技术优势发威 用友U9截击SAP ORACLE

    随着金融危机的全面爆发,实体经济的冬天也随之而来.也正是金融危机,使得多年以来一直高调占据媒体头条的管理软件厂商们略显低迷,使一直剑拔弩张的中国管理软件市场,进而升级为一场"血腥四溅的肉搏& ...

  2. 用友U9 SOA引领企业IT架构全面升级

    管理大师德鲁克在其著作<变动中的管理>一书中指出,面对越来越复杂多变的经济环境,任何一家企业想要实现自己的管理模式和业务架构都离不开IT技术的支持.这是由于大多数的企业核心流程都必须由IT ...

  3. 如何基于用户洞察,设计2B产品的业务架构?

    产品的真正挑战在于对用户的彻底理解,并基于这种理解进行商业模式的设计. 通过上文对 "产品的信息架构.产品架构与业务架构"解析, 我们大概厘清了产品在进入正式研发阶段的三个关键设计 ...

  4. 厚积薄发 臻于至善,用友U9 cloud“王者归来”

    2021年5月8日,以"成长型企业数智制造创新平台"为定位的用友U9 cloud(简称U9c)正式发版上市.用友网络董事长兼CEO王文京出席此次发布仪式,并与团队核心成员共同见证这 ...

  5. 14年间,用友U9 cloud如何让众多“专精特新”成长为行业冠军

    从创业伊始到"专精特新",再从"专精特新"到"隐形冠军",相信这是无数中小企业的初心与梦想.而在这个过程中,企业该如何源源不断地获取增长的动 ...

  6. 用友U9 UAP平台解析

    用友U9 UAP平台解析 e-works 孙亚婷 2009年10月,e-works Research对用友U9 2.0版进行了一次评估.本文对U9的UAP平台的评估结果进行解析. 1.现代企业环境的变 ...

  7. 全面拥抱云 用友U9 cloud来了

    用友U9 cloud即将成为用友公司又一新的增长极,并成为用友公司布局中端市场的扛鼎产品. 出品 | 常言道 作者 | 丁常彦 2008年,用友U9横空出世,成为业内第一款完全基于SOA架构的世界级企 ...

  8. 研报解读:用友U9领航,高端ERP市场成为新蓝海

    近期,国内IT权威研究机构计世资讯(CCW Research)与制造业信息化专业机构E-works Research分别就国内管理软件高端ERP市场发展状况.用友U9 V2.0版产品进行了第三方研究. ...

  9. 用友 U9 怎么样???

    因为工作的关系,最近接触到了号称"国内顶级软件""与SAP相蓖美,产品与技术优势发威用友U9截击SAP ORACLE"张等诸多头衔的用友U9-ERP产品.这里省 ...

最新文章

  1. Redis Key资源占用情况的可视化分析
  2. (DML触发器)如何正确理解触发器的deleted表和inserted表(转)
  3. 文件及文件夹更改通知/监测软件TheFolderSpy
  4. bzoj1601【Usaco2008 Oct】灌水
  5. Linux 常用命令使用方法
  6. docker+jenkins+maven+svn
  7. [php入门] 4、HTML基础入门一篇概览
  8. python 当前文件路径获取方式_Python获取当前文件路径
  9. C# 3.0新语言特性和改进
  10. 分享2款XSHELL配色方案及导入配色方案的方法
  11. 国网四川电力应用大数据服务经济社会发展
  12. 【微信小程序模板直接套用】微信小程序制作模板套用平台
  13. UI中经常出现的下拉框下拉自动筛选效果的实现
  14. 5 Openstack-Ussuri-Placement部署-ubuntu1804
  15. linux系统下字体目录,Linux CentOS 7 安装字体库 中文字体
  16. c语言编程求阶梯数,c语言编程阶梯教程十二
  17. Win11使用PCVR时性能问题已修复 可手动安装解决
  18. 【网络编程实践--陈硕】2.4.3 使用procmon观察dummyload
  19. 将递归算法改为非递归算法
  20. java折线图_Java系列:JFreeChart在线制作折线图

热门文章

  1. 支付宝开发问题-“您当前注册的企业账号风险等级过高,根据国家相关法律法则及《支付宝服务协议》规定,我司无法为您提供支付服务”
  2. el-table thead右侧留白问题
  3. DSP TMS320C6657中FFT函数的调用与具体使用方法
  4. 沉舟侧畔千帆过,病树前头万木春
  5. SpringBoot启动报错:Parameter 0 of method hmset in com.qcby.rbac.util.RedisUtils required a bean of type
  6. linux下qt响应全局热键,Qt全局热键(windows篇)(使用RegisterHotKey和句柄进行注册)...
  7. pygame交换式拼图设计
  8. MacBook 谷歌插件打包
  9. 天之博特 多车协同:Waiting for subscriber to connect to /tianbot_1/cmd_vel 解决办法
  10. win10 自动同步时间脚本