平台

来源:互联网 发布:广数g76编程实例 编辑:程序博客网 时间:2024/04/27 18:49

 

提到平台,在2001年是炒的最热闹的一年,很快,平台概念就和炒ERP一样被炒烂了,无论是什么系统,那怕就是一个Excel做的几个宏文件,也要加上一个平台。

如何理解平台?

  平台的概念目前基本上有两种,一种是基于快速开发目的的、提供一些辅助开发工具(如系统管理、组件等)的开发平台,这种平台是一个纯粹的技术平台,充其量是一个开发工具(Delphi)的优化,但凡有开发任务时,所有的客户业务都需要重新开发(当然有些技术平台也包含了一些系统管理、组织权限等相对通用的东西)。另外一种平台是在技术平台的基础上发展起来的,以业务逻辑为核心的业务管理平台,这种平台的特点是不仅仅是一个狭义的技术平台,更封装了行业(或典型企业)的很多相对通用的业务逻辑,而这些业务逻辑一般是对某个行业的深刻研究后才能得到的结果,比较典型的有金蝶的BOS平台,东软的VP.net平台等。

技术平台的缺点:

  1、需要开发的工作量大,提供的功能有限,无论怎么完善和拓展也只是一个技术平台,所有的业务都要重来,无法形成行业解决方案。

  2、平台使用困难,开发人员比较熟悉市面上比较流行的的开发工具(Delphi),但要熟悉一个技术平台需要很长的时间,一方面是技术平台是某个公司特有,开发人员在没有使用该平台之前无从了解该技术平台的情况;另一方面,由于管理软件公司的实力的缘故,不可能和那些市面上比较流行的开发工具如Delphi相比,特别文档不全,开发人员的风格不统一,人员流动大等特点,一个技术平台需要手把手的教,而且有很多平台开发人员自己的个性色彩,因此技术平台使用也是需要代价的。

  3、无法形成行业积累和行业经验,复用度非常低,所有的客户业务知识都出存在程序员大脑中,无法实现共享,一旦程序员离开公司,所有的知识都被带走。在另一方面,复用对一个软件公司来说却是至关重要的。有个例子,有次到客户现场,发现他们用的一个软件很小,但所有人很喜欢这个软件,为什么呢?据负责人介绍,以往公司的业务员开发了多少业务、正在追踪的业务以及所有这些的业务信息如客户资料等都存在业务员大脑中,这些业务员离开后就将客户带走了,甚至转为公司的竞争对手。有了这个小软件之后,业务员的所有业务活动都被记录和追踪,实现了信息共享。这位负责人说,现在他们再也不当心业务员跳槽了。

业务平台的优点:

  1、业务平台是从技术平台上发展起来的,具有技术平台的快速二次开发、易于拓展的特点。

  2、业务平台封装企业所有掌握的客户业务,容易形成行业积累和行业解决方案,能够最大限度的实现知识的复用。

  3、业务平台可以自我完善,不断的丰富和发展。和技术平台相比,业务平台可以在实现技术上进行完善和升级,同时,随着公司业务的扩展和实施案例的增多,平台中不完善的地方将被完善,同时更多的客户业务将被扩展到技术平台中。随着业务平台的多次客户化应用,平台有机会构筑出一些行业软件产品(或准产品)

  当然,业务平台也有很多需要考虑和完善的,否则,再好的思想也仅仅只是思想而已,“行动才有结果”,我个人认为,目前的业务平台主要有以下一些方面值得关注:

  1、数据绑定问题。一方面是要支持不同的数据库。不同的数据库,存储过程(Procedure)、触发器(Trigger)的编写和执行都不一样,同时,数据库的事务控制、数据并发等也是非常关键的问题。另一方面,数据的存储问题,业务数据是以数据库表(Table)的形式来表现还是以对象来表现,从常远来看,可能是会是以对象来表现,但用对象来表现,技术怎么实现,效率如何?笔者参与开发的一个平台就是因为采用了完全面向对象的方式来绑定数据,导致系统的效率极大的降低(特别是在数据量很大时,对象的打包解包都严重影响了系统的执行效率)而难以推广。

  2、效率问题。由于业务平台不是针对具体的业务,因此,运算逻辑就会比较复杂,同时由于各业务组件是相互独立的(解释一下为什么要独立,业务平台作为一个框架模式开发,遵从“好莱乌原则”-我调用你,你不要调用我,控制权掌握在框架上,各业务组件必需独立,否则你中有我,我中有他,要用到他,就必需用到你、我,那样就不是一个平台了)各系统之间的连接也会影响到系统的效率。

  3、业务逻辑的提取,这是一个很难、也是很多技术平台无法向业务平台转化的关键。首先,我们要进行业务的抽取,我个人的建议是先按标准的ERP理论来提取,接下来,请相关业务专家进行完善和业务逻辑具体话,必要时可以借助外部咨询公司的力量。最后,用到实际中去,“实践是经验真理的唯一标准”,不要怕失败,怕不是问题,不做才是问题,不做永远没有成功的机会。