平台的特点是不仅仅是一个狭义的技术平台,更封装了行业(或典型企业)的很多相对通用的业务逻辑,而这些业务逻辑一般是对某个行业的深刻研究后才能得到的结果,比较典型的有金蝶的BOS平台,东软的VP.net平台等。
技术平台的缺点:
1、需要开发的工作量大,提供的功能有限,无论怎么完善和拓展也只是一个技术平台,所有的业务都要重来,无法形成行业解决方案。
2、平台使用困难,开发人员比较熟悉市面上比较流行的的开发工具(如Delphi),但要熟悉一个技术平台需要很长的时间,一方面是技术平台是某个公司特有,开发人员在没有使用该平台之前无从了解该技术平台的情况;另一方面,由于管理软件公司的实力的缘故,不可能和那些市面上比较流行的开发工具如Delphi相比,特别文档不全,开发人员的风格不统一,人员流动大等特点,一个技术平台需要手把手的教,而且有很多平台开发人员自己的个性色彩,因此技术平台使用也是需要代价的。
3、无法形成行业积累和行业经验,复用度非常低,所有的客户业务知识都出存在程序员大脑中,无法实现共享,一旦程序员离开公司,所有的知识都被带走。在另一方面,复用对一个软件公司来说却是至关重要的。有个例子,有次到客户现场,发现他们用的一个软件很小,但所有人很喜欢这个软件,为什么呢?据负责人介绍,以往公司的业务员开发了多少业务、正在追踪的业务以及所有这些的业务信息如客户资料等都存在业务员大脑中,这些业务员离开后就将客户带走了,甚至转为公司的竞争对手。有了这个小软件之后,业务员的所有业务活动都被记录和追踪,实现了信息共享。这位负责人说,现在他们再也不当心业务员跳槽了。
业务平台的优点:
1、业务平台是从技术平台上发展起来的,具有技术平台的快速二次开发、易于拓展的特点。
2、业务平台封装企业所有掌握的客户业务,容易形成行业积累和行业解决方案,能够最大限度的实现知识的复用。
3、业务平台可以自我完善,不断的丰富和发展。和技术平台相比,业务平台可以在实现技术上进行完善和升级,同时,随着公司业务的扩展和实施案例的增多,平台中不完善的地方将被完善,同时更多的客户业务将被扩展到技术平台中。随着业务平台的多次客户化应用,平台有机会构筑出一些行业软件产品(或准产品)
当然,业务平台也有很多需要考虑和完善的,否则,再好的思想也仅仅只是思想而已,“行动才有结果”,我个人认为,目前的业务平台主要有以下一些方面值得关注:
1、数据绑定问题。一方面是要支持不同的数据库。不同的数据库,存储过程(Procedure)、触发器(Trigger)的编写和执行都不一样,同时,数据库的事务控制、数据并发等也是非常关键的问题。另一方面,数据的存储问题,业务数据是以数据库表(Table)的形式来表现还是以对象来表现,从常远来看,可能是会是以对象来表现,但用对象来表现,技术怎么实现,效率如何?笔者参与开发的一个平台就是因为采用了完全面向对象的方式来绑定数据,导致系统的效率极大的降低(特别是在数据量很大时,对象的打包解包都严重影响了系统的执行效率)而难以推广。
2、效率问题。由于业务平台不是针对具体的业务,因此,运算逻辑就会比较复杂,同时由于各业务组件是相互独立的(解释一下为什么要独立,业务平台作为一个框架模式开发,遵从“好莱乌原则”-我调用你,你不要调用我,控制权掌握在框架上,各业务组件必需独立,否则你中有我,我中有他,要用到他,就必需用到你、我,那样就不是一个平台了)各系统之间的连接也会影响到系统的效率。
3、业务逻辑的提取,这是一个很难、也是很多技术平台无法向业务
项目经理胜任力免费测评PMQ上线啦!快来测测你排多少名吧~
http://www.leadge.com/pmqhd/index.html