LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

用友U9,号称世界级的产品让我失望

admin
2011年1月7日 1:10 本文热度 30758

使用ERP多年,最近有兴获得学习U9的机会.总体来说这款产品从理念上让人为之一震,感觉真有大产品的架构.本人比较喜欢从技术角度分析问题.拿到产品后发现SOA到底体现在什么地方,如何和第三方产品集成,特别是跨平台的集成.为搞清楚这一问题,深入到数据库中分析,另我吃惊、失望。整个U9产品的核心计算几乎全部通过存储过程实现,包括MRP计算、ATP计算、成本计算甚至密码的加密算法也在存储过程实现。整个系统用了7百多个存储过程,1百多个类似于存储过程的标量函数。也许才学疏浅,这种方法怎么实现SOA。同时系统的性能如何保障、安全性如何保障,以下是部分存储过程或函数的名称。希望和大家交流,大量使用存储过程,对一个大型软件来说是否合适。
FN_ABC_ABCCcompile_GetQty                通过转换率计算数量
fn_BOM_CalcCumYield                工序累计产出率计算
fn_BOM_GetConvertRatio                获得不同单位的转换率
fn_BOM_GetRoundValue                计算数量进行四舍五入
fn_BOM_GetSupplier                获取供应商
fn_CA_GetMoneyRoundValue                获取金额绝对值
fn_CRP_CalcBOMCompQty                BOM子件用量计算
fn_CRP_CalcResQty                计算资源用量
fn_CRP_CalcWorkDayByOffsetHours        根据偏移量计算工作日结束时间
fn_CRP_CalItemLeadTime                计算提前期
fn_CRP_GetConvertRatio                获得不同单位转换率
fn_CRP_GetDayCount                计算两个日期之间的工作天数
fn_CRP_GetIntervalWorkDays                取两个日期之间的工作日天数
fn_CRP_GetLeadTime                获得计算后的提前期
fn_CRP_GetRoundValue                获取绝对值
fn_CRP_GetUOMRatio               
fn_CRP_GetWorkDate                获得工作日历日期
fn_CRP_GetWorkDate_Hour                获得工作日历小时
fn_CRP_GetWorkDateByOrigCalendar        获得工作日历日期
fn_CRP_GetWorkDay                计算工作天数
fn_CRP_GetWorkDays                计算工作天数
aspnet_Membership_GetPassword
aspnet_Membership_GetPasswordWithFormat
aspnet_Membership_GetUserByEmail
aspnet_Membership_GetUserByName
aspnet_Membership_GetUserByUserId
aspnet_Membership_ResetPassword

该文章在 2011/1/7 1:10:28 编辑过

全部评论32

admin
2011年1月7日 1:11
请教楼主:SOA不是指软件之间的协同么?同一个软件也存在这个问题么?

该评论在 2011/1/7 1:11:00 编辑过
admin
2011年1月7日 1:11
用存储过程很正确呀. SOA==>这东西我不了解,但我知道,( 这种名词,是用来哄人的,楼主别太在意, 真正的: 谁能写好好程序,谁就是NO1) 存储过程:可以大大提高运算性能, 并且让逻辑更加灵活. (你想一下,不同客户,只要改改存储过程即可,无需涉及到"应用程序"这一层) 并且,楼主不知道,存储过程也可以欠套.是一个非常好的东西.(代码可以避免重复). (我是搞开发的) 至于用友U9,我就从没用过.不敢评论. *_*

该评论在 2011/1/7 1:11:39 编辑过
admin
2011年1月7日 1:12
纯粹的SOA不提倡用存储过程/函数,把数据库只视为一个存储数据的地点,所有的业务逻辑都不在数据库中实现,在应用服务器中实现业务逻辑.从这个角度讲U9肯定不是严格的SOA构架.但是,实际使用中,纯粹的SOA构架效率存在问题,需要频繁的读写数据,对硬件要求也高(我们的一个ERP,采用类似构架,用了4台小型机做应用服务器,oracle数据库unix操作系统).要解决这个问题,需要打破这个模式,折中的办法是限制存储过程的使用,别烂用.这又需要仔细的系统设计,用友,显然不具备这种精雕细作出精品的精神

该评论在 2011/1/7 1:12:16 编辑过
admin
2011年1月7日 1:12
纯粹的SOA不提倡用存储过程/函数,把数据库只视为一个存储数据的地点,所有的业务逻辑都不在数据库中实现,在应用服务器中实现业务逻辑 -->这种框架有优点,也有缺点: 开发成本高,程序执行效率低. 写完后,才发现楼上也讲到这一点.

该评论在 2011/1/7 1:12:36 编辑过
admin
2011年1月7日 1:12
存储过程不是好东西,但程序员都爱用,呵呵

该评论在 2011/1/7 1:12:48 编辑过
admin
2011年1月7日 1:13
开发成本还好了,没听说过有模板这个东西吗?有积累的软件开发机构都有模板,固定的套路,设计做好了,规范执行严格,软件工程成熟,真是高中生也可做程序员

该评论在 2011/1/7 1:13:13 编辑过
admin
2011年1月7日 1:13
QUOTE: -------------------------------------------------------------------------------- 原帖由 alone1998 于 2009-6-26 13:07 发表 存储过程不是好东西,但程序员都爱用,呵呵 -------------------------------------------------------------------------------- 如果你打算支持多种数据库,那就要用"应用服务器"这个东西,(在这里,可以用标准SQL来写) 如果只打算支持一个数据库,那还是建议用存储过程, 可以成倍地提高的数据运算效率和准确值. (这里说一下准确值问题: 由于开发工具与数据库对浮点运算解决方法不同,在大运算中,常会出现二者计算结果不符的现象, 这里你就要以一个为标准)

该评论在 2011/1/7 1:13:47 编辑过
admin
2011年1月7日 1:14
QUOTE: -------------------------------------------------------------------------------- 原帖由 OKRA-ERP 于 2009-6-26 13:21 发表 晕了,我在我研究学习的那个ERP中,怎么就没有存储过程这个概念,甚至连关系和视图也没。打开数据库表,除掉一张张单独的表单外,什么都没有。 -------------------------------------------------------------------------------- 这说明你这款软件支持多种数据库哟. (不知是福还是祸)

该评论在 2011/1/7 1:14:09 编辑过
admin
2011年1月7日 1:15
谢谢大家的反馈,我也在学习中. 众所周知,小型软件因为逻辑简单、数据量小,选择什么数据库,采取什么技术架构等无关紧要,都能达到目标,尽可能简单、经济。 而大型软件,特别是号称和SAP叫板的U9采取这样的技术就有点外行了。 大型软件至少要包含三层,数据库层:主要负责存储,要求有较高的吞吐量;业务逻辑层,也叫中间层:主要负责核心业务处理,如校验、检查、计算等,要求安全、可靠;最靠近用户一层主要用来展现界面,要求表现力丰富,易用、易学。 现在U9把中间层要做的事情都让数据库服务器代劳。显然对数据库服务器带来成本的压力,同时该系统存储过程都是开放的,任何人都可以随意修改,对系统的稳定性和安全性带来隐患。 同时,如果通过存储过程来实现如MRP计算,如果计算量很大的情况下势必会造成服务器的资源耗尽,一旦进行MRP计算,所有人都无法工作了。并且,这种计算在前端是无法知道进度的,象死机一样,当然也无法知道什么时候能够结束。 大量的计算也回带来死锁,乃至瘫痪。 根据我以往的经验,并发数超过100就很困难了,不可靠了(丢数据、死机等)。要达到200,购买最好的服务器恐怕也困难。

该评论在 2011/1/7 1:15:10 编辑过
admin
2011年1月7日 1:15
准备支持多数库的,就不能用存储过程。 只支持单一数据库的,可以使用存储过程来提高算法的效率。 存储过程和SOA并没有任何关系。SOA讲究的是服务的封装,标准的SOA中你是无法绕过一个服务去调数据库底层的。 存储过程是被服务封装起来了的。 至于说被人修改什么的,根本不是问题。任何一个数据库存有权限机制,为何不用? 看来楼主似乎也是一知半解呀。过滤掉漫骂攻击的贴子,在这个论坛还是可以学到一些东西的。

该评论在 2011/1/7 1:15:42 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved