如何解决OA系统的二次开发问题
发布日期:2009-7-29 信息来源:http://www.chysoft.net

信息化的大趋势下,随着OA的普及,企业对OA应用的要求也越来越高,在实际应用中,越来越多的OA用户需要进行二次开发才能满足企业管理的全面需求,这也是由管理软件的特点所决定的。原因主要归纳为两点:一方面,OA产品是商品化软件,属于行业通用型软件,但每个企业都有其自身的特点,因此需要对于原来的OA系统进行适当的修改,以提高OA系统适用性。另一方面,随着OA项目的实施,客户对OA系统有了更深的了解,应用不断深入,对OA系统就会提出更多的要求,例如增加、修改现有功能模块、集成其它应用系统等(OA系统可以和业务系统结合并作为综合业务系统的一个基础平台),这些要求也形成了OA二次开发的另一来源。

怎样实现二次开发呢,传统的OA产品一般会控制其源代码的开放,这样一来,如果企业要对已有的OA系统进行二次开发,只能继续由现有OA系统的开发者提供服务。更为严重的是如果在现有OA基础上做二次开发,则厂商产品升级(升级的目的一般包括添加模块、增加新功能、功能升级、错误的修复、增强安全性、改善性能等)后一般是不包含用户二次开发的功能,选择升级则需要重新将二次开发的功能整合到厂商升级的版本中。一般的厂商选择二次开发服务的技术人员水平不是很高,设计能力有限,很多都是直接在OA系统的源码中进行修改,这种做法带来了两方面的不良后果,一是在产品中引入新的错误需要经过一段时间的运行后稳定下来,二是如果使用厂商新升级的版本则需重新整合、代价高。

随着OA产品技术的逐渐成熟,越来越多的OA厂商开始提供开源型OA,支持源代码的开放,对企业用户来说这无疑是一大福音,借助源代码,用户可以自主进行OA的二次开发,增加了企业在信息化运用方面的主动性。然而不得不提的是,即使提供了源代码,OA系统的二次开发业也不是一蹴而就的事。由于OA系统的二次开发接口,主要针对专职程序设计人员,往往因为实施周期长、风险大、费用高影响了企业OA的正常应用。

OA系统个性化功能的二次开发,首先应该在产品的体系结构上做到对修改封闭、对扩展开发(就开发语言和开发平台而言,面向对象的Java在设计模式上提倡的是这种思想,使整个软件更加易于维护、扩展),尽量避免直接在已有代码中进行修改,这样会引入新的错误。一个良好的OA软件系统除了功能、安全性、稳定性等重要因素外,如果需要进行二次开发则其可扩展性、可集成性就显得非常重要了。平台型OA的出现,在一定程度上弥补了OA二次开发的弊端。以平台型OA的代表之一承元OA为例说明:承元OA最大的特点之一是擅长于个性化的开发和定制,所谓个性化的开发是指绝大部分需要开发实现的功能可以通过支撑平台的定制实现,平台型OA在二次开发方面的优势主要表现为以下几个方面:
一、面向一般使用人员的定制工具快捷方便,避免了人员流动、技术水平不齐等人为因素的影响;
二、定制模式节省二次开发实施时间,大大降低了二次开发的难度,降低了用户的实施成本和实施风险;
三、用户应用系统的业务需求发生变化时,平台定制进行快速修改即可适应变化;
四、用户的个性化的代码一般都通过扩展方式或通过平台嵌入,产品升级后个性化开发部分易于集成和整合(在开发的时候就要求遵守一定的二次开发规范);
五、整个系统拥有良好的扩展性、集成性,具有可持续发展的优势;
六、避免了最终用户对厂商的过分依赖。

总之,OA系统的二次开发应紧紧围绕企业管理的核心需求进行,以发挥OA系统的最大效用,提高企业整体管理水平和效率。

粤ICP备11095012号-1
Copyright 2005-2017 深圳市承元软件技术有限公司