邢宏珍,陈 雷
(1.十堰职业技术学院电子工程系,湖北十堰442000;2.深圳联友科技有限公司,广东深圳518031)
软件企业EAP应用思考
邢宏珍1,陈 雷2
(1.十堰职业技术学院电子工程系,湖北十堰442000;2.深圳联友科技有限公司,广东深圳518031)
计算机软件在社会各方面作用已越来越重要,而生产软件的软件企业的发展却面临一个新的瓶颈,如何更高效率更少成本为社会提供更个性化,更能满足用户需求的软件?在矛盾的产生与解决过程中,一种能实现以上要求,并可以让业务人员进行二次开发的企业应用平台 ——EAP,应运而生。
软件企业;企业应用平台(EAP);软件开发工具包(SDK)
现在的各行各业都依赖计算机应用软件来提升管理水平和竞争力,软件显得越来越重要。然而大多数的软件企业自身生产却仍停留在传统方式,虽然各企业依据自身的经验总结出了各种各样的模型,来提升各个环节生产效率,但却无法做到传统工业般的大规模、批量化生产,生产效率还是难以有本质上的提高。
软件是一个只有几十年历史的新兴行业,出现上述情况,应属正常。20世纪70年代的软件危机推动了软件工程的发展,从而让以后的软件有了工程化的管理方式,推动了软件的快速发展。
目前大部分企业均采用CMM I(软件成熟度模型Capability M aturity Model)的模型来指导软件的生产,衡量软件企业的管理水平。但实际中,很多软件项目的成功仍依赖于个别人或者个别团体。一个人或者一个团队的离职,往往带来灾难性的后果。
从软件工程的角度来讲,代码的复用,通用功能的封装,可以带来生产率的极大提升,但如果没有一套统一的标准,没有健全的管理和有效的手段,则仍是困难重重。众所周知,一个企业越大,软件应用范围越大,则管理越复杂,越难统一,如何解决这些问题,是每个软件企业都面临的难题。
EAP(Enterp rise App lication Platfo rm)平台,又称企业管理软件平台,是一种面向业务人员使用、集成了若干种企业管理软件模块、高度开放的企业管理软件应用平台,普通的业务人员经过简单的培训就可以在EAP平台上开发企业应用软件[1]。
软件企业在成立初期,技术沉淀通常比较薄弱,导致软件开发时,技术共享率低、代码复用率低,每次开发一个新项目,通常都是从头开始,尤其一些中小企业,连底层架构都是重新开发,相应就要从架构开始进行测试,这样的效率是非常低下的,往往在同一个企业内部,一个方案,A项目已经成功应用,但B项目人员无法共享,或未能知情,而必须从头开始,这实在是一件令人心痛的事。
单纯从代码复用的角度,其实很多开发工具,都给了我们很好的思路,比如微软的M FC类库等。上世纪90年代很流行的开发工具PB就提供了企业级的类库PFC和部门级的类库PFE,可以让开发人员很容易地继承,从而非常快速地完成一个系统架构的搭建,对原有业务模型和代码进行复用。
通过一定时间的技术沉淀,软件企业针对自身开发系统的特点,哪些东西能通用,哪些不能,通用的东西哪些可以抽离进行组件化封装,已越来越成熟,并且逐步予以实施,在不断的完善与改进中,就形成了EAP的雏形。
EAP的核心思想,是开发性与标准化、扩展性与组件化。是把业务和开发技术的有机整合。
通过EAP对业务模型与代码技术的封装,一般业务人员经过简单的培训就能在这个平台上进行软件的开发与维护,从而可以把开发人员从专业的开发技术中解脱出来,大大降低开发难度与管理成本。
组件化的技术和业务模型封装,经过这些年的沉淀,已经是一种成熟的应用方法,在此基础上诞生的EAP,应该是软件开发的未来发展方向。
一般来说,EAP平台应包含以下组成部分:
(1)软件基础架构,提供高伸缩性、高可靠性的软件基础设施,以及用户友好的界面;
(2)网络通信中间件,提供多应用灵活接入、服务集成、流程集成的系统通信平台;
(3)根据企业自身软件开发方向,封装的不同业务模型;
(4)EAP-SDK及开发工具,实现基于 EAP平台产品的快速二次开发及扩展。
图1 EAP模型示意图[2]
EAP平台的应用,可极大程度上提升开发效率,提高标准化,降低管理成本与维护成本,主要表现在以下几方面:
(1)为了应用 EAP,开发人员必须严格按照EAP所要求的数据库设计规范、代码设计规范、接口规范进行。从而实现了很好的标准化和规范化,不会因某人或团队的离去导致灾难性后果;
(2)可以提升一个企业的形象,因为企业的软件有了一个统一化的标准与模型,使企业的不同软件项目可以保持相同的风格和界面,对企业形象塑造大有好处;
(3)方便新来的员工快速熟悉公司的文化,能快速上手,进行软件开发与维护;
(4)提升了代码复用率,减少软件开发和测试的重复调试过程,最大程度地降低软件产品的BUG产生;
(5)可轻易获取成熟的业务模型,大大提高生产效率和交付期;
(6)开发和维护人员不必再纠缠公共部分的问题,只用关心自身代码问题,复杂度和工作量大幅度降低。
但是EAP的应用,必然也会产生一些负面的东西,比如说每个程序员或设计人员,通常有自己的一种风格,往往在自己的风格下更能快速、完美地解决问题,而EAP的推出,必须要求他们适应EAP的方式,而抛弃自有的一些成熟经验,从而在某种程度带来一定的反抗心理;而且 EAP为了通用性,必然以牺牲某些方面的性能为代价。
应用EAP平台的软件,将不再是由特定软件企业为特定业务模式开发出来的一个固定的应用软件,不再会因业务方式变更时无法使用;它是一个提供了各种组件与业务模型以及SDK工具,可以让客户自己去变更,或者二次开发的开放性平台,用户购买后可以作个性化修改,可以作软件流程的修改,也可以构建全新的管理模块,并且和其他管理系统有接口。
可以想象,软件企业以后出售的将是例如CRM-EAP系统、HRM-EAP系统、DM S-EAP系统、OA-EAP系统、PM S-EAP系统这样的可配置、可二次开发的EAP平台型软件。
总而言之,EAP可以有效地降低管理软件系统的整个生命周期总成本和企业客户信息化的总体拥有成本(TCO)。
[1]微软.The.NET Framewo rk and the M icrosoft Enterp rise App lication Development Platfo rm[EB/OL].(2010-03-10).http://m sdn.microsoft.com/en - us/library/m s973223.aspx
[2]联友科技.EAP[EB/OL].(2010-03-10).http://eap.szlanyou.com/
Reflections on the Software Enterprise EAP
XING Hong-zhen1,CHEN Lei2
(1.Dept of Electronics Eng.,Shiyan Technical Institute,Shiyan 442000;2.L IAN-YOU Technology CO.,LTD,Shenzhen518031,China)
Computer software in all aspectsof society has become increasingly impo rtant operations,w hile the p roduction of softw are,the development of software enterp rises are facing a new bottleneck.How to make softwaremo re efficiently p rovide the community w ith personality,bettermeet user needs?A new enterp rise app lication p latfo rm,EAP,w hich meets the requirements above and enable the staff to carry out the second development,came in to being during the resolution p rocess.
software enterp rise,enterp rise application p latfo rm(EAP),software development kit(SDK)
F207.7
A
1008-4738(2010)05-0058-02
2010-06-10
邢宏珍(1979-),女,十堰职业技术学院电子工程系助教。