选择OA办公系统时对其事务支持考量往往被忽略,因为OA办公系统的供应商一般不会在其说明文档、广告别中说明OA系统对事务的支持情况,购买合同、技术规格中也没有有关事务的条款。如果中小企业用户选择了不支持事务的OA系统,将导致项目的失败概率在后期大大增加。
案例1,某商业银业选择一款知名开源BPM(其实同OA系统差不多),业务流程定制功能还是非常强大的,快上线正式启用了才发现其不支持事务(多表写入数据不一致),从而导致数据混乱,系统不稳定等诸多问题。
案例2,某企业选择知名开源OA系统,以为开源就代表系统高端、稳定、上档次。后发现数据量大后、使用人员增加后空间出现数据混乱,深层原因是没有使用事务控制。
为什么刚开始不能从技术上发现呢?一是系统的OA源码比较复杂,受制于中小企业的IT技术人员水平。二是被其表面功能炫技术所迷惑。三是具有一定的隐蔽性,不通过大规模的使用,很难在少数人使用时暴露出来。
那为什么事务如此重要呢?
比如:甲的银行账号上有1000元,乙的银行账号上有1200元,甲给乙转账100元简单的操作过程
1. 甲:1000元-100元=900元
2. 乙:1200元+100元=1300元
这里需要两个步骤都成功,如果第1步成功了,第2步失败了,那么必须要第1步倒回去才行。
这就是控制事务机制,可以看出实现这个机制是要付出一定的代价的。
如果没有事务机制100元可能消失了
OA办公系统如何支持事务呢?
依赖于所使用的编程语言、数据库系统、业务逻辑定义。
事务(Transaction)一般是指要做的或所做的事情。数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。
事务需要满足ACID(ACID,也就是原子性(Atomicity),一致性(Consistency),隔离性(Isolation),持久性(Durability))四个特性。
原子性:一个事务是最基本的执行单元,是不可分割的执行部分,要么都执行,要么都不执行;
一致性:数据库总是从一个一致性状态转换到另外一个一致性状态;
隔离性:一个事务所做的修改在最终提交以前,对其他事务是不可见的;
持久性:一旦事务提交,则其所做的修改就会永久保存到数据库中。
有了对事务的支持才能保证OA办公系统数据的一致性、准确性、完整性。
普通中小企业IT人员如何考察OA办公系统对事务支持程度呢?
1.要求供应商进行系统性的说明(提供文档、写入合同),其OAOA办公系统是如何实现对事务支持的。
2.将某些主要表中的测试数据加大到10000000条以上进行测试
3.要求供应商进行压力测试,比如1000用户同时登录系统,同时提交工作流程审批。
4.请第三方公司进行评估。如有需要可以联系海钛瑞OA的技术人员协助。
5.有源码的可以分析其源代码等一些其它方法。
海钛瑞OA办公系统支持事务吗?回答是当然支持事务,欢迎评测、选用。