修改oa源码的二次开发是落后的开发模式
有些具备技术开发能力的用户,希望自己能够在现有oa产品的基础上进行二次开发,很多用户首先想到的是需要厂商开放源代码,实际上修改oa源码的二次开发是典型的一种落后的开发模式,存在以下诸多问题:
1、开发的技术难度大
对进行oa开发的技术人员要求比较高,由于技术人员的长期成本比较高,一般只有少数的用户单位拥有自己的IT部门,并具备一定的开发能力。修改oa源码的二次开发对指定技术人员的依赖比较大,需要花费大量的时间熟悉oa系统的设计和代码。
2、用户自己开发代价高
一般拥有实力的厂商只是部分开放源代码,整体熟悉系统的开发并非一件容易的事情,由于开发效率低、成本高,因此个性化需求的oa开发不如直接交给厂商处理,成本更低、效率更高、质量有保障,这也是一些免费oa后续的主要服务和收费模式。
3、通用oa产品无法升级
如果修改了oa的核心代码,就无法直接享受oa厂商后续新版本的升级,这种损失非常大;如果选择覆盖升级,则原先修改oa源码的二次开发功能,需要重新基于新版本进行开发操作难度大。
4、导致oa已有功能的不稳定
如果直接修改oa通用产品的功能,有可能会导致oa已有的系统功能出现错误,导致系统的不稳定。从事过面向对象开发的人都知道,讲求的是“对修改封闭,对扩展开放”。
5、需要oa厂商开放源码
开放源代码的oa产品,一些是基于asp和php等低端技术开发的oa系统,本身源代码就是开放的(有的对源码进行了加密处理),系统的可维护性和扩展性不好,不利于oa的二次开发。
一般个性化需求通过后台维护解决
oa软件的维护包括开发维护及日常维护,开发维护由oa供应商提供,日常维护可以是由用户自己通过oa后台进行维护管理。
oa系统基础功能需要完善,避免了日常通用功能的二次开发,同时提供后台的维护管理功能,满足日常用户维护管理的要求,避免对oa厂商的过度依赖。因此,针对绝大多数不懂开发的用户单位,oa系统需要提供日常的系统维护功能,满足一般的日常维护与管理,如:用户、角色、权限的维护,数据字典的维护,系统参数的配置与优化,表单和流程的自定义等。
平台型oa的二次开发优势
新型的平台型oa进行二次开发不需要开放源码,系统拥有了大量、丰富和成熟的开发接口(类似java的JDK,windows的API等),尤其是使用非代码模式的定制开发,大量的代替了繁琐的手动代码开发,降低了技术难度,大量的节省了时间和成本,提升了oa开发的质量,系统稳定性和安全性更加有保障。
平台型oa拥有的维护和二次开发优势,更加有利于oa项目的实施、开发、管理、维护和软件升级,能够快速满足不同用户的个性化需求。由于统一了技术规范,降低了技术难度,在提升了OA软件服务效率和质量的同时,降低了软件服务的时间和成本,平台型oa让个性化开发在中小企业走向普及。
oa平台化是技术的难点和制高点,平台化也是长期的过程,针对oa的二次开发,其技术难度低、工作量小、风险低,特别是二次开发对现有oa系统没有任何影响,可以持续享受oa厂商的版本升级服务。