ERP开发技术

前言

 

作为企业级软件这顶皇冠上的明珠,ERP产品带动了企业级开发市场的发展,并成为应用新技术的先行者之一。透过对ERP开发技术的分析,我们不但可以了解当今ERP产品领域所应用的软件开发技术和方法,而且可以把握到企业级软件市场的技术脉搏。例如,随着互联网商务对于企业全球化运营的不断促进,基于Web的开发技术正在成为主流,在开发团体中的占有率和受关注程度与几年前相比有了较大的提高。而Java平台仍旧是ERP市场上的最受认可的开发平台,尽管微软的.Net开发技术正在强势的渗透企业开发市场,但是缺乏足够积淀的.Net暂时还无法威胁Java平台的地位。在本文中我们将结合ERP系统的特点解析在开发ERP系统中所应用的开发技术,并针对不同规模和等级的ERP产品开展分析,以求在更广泛的角度把握ERP产品相关的开发技术。

 

 

ERP对开发技术的要求

 

如果要描述现今的ERP产品特点,一定离不开以下两个词汇:复杂和变化。ERP产品的功能是所有企业管理软件中最复杂的一个,而且随着近年来ERP功能范畴的不断扩展,越来越多的功能被包含到了ERP系统当中。同时,作为核心的管理系统,ERP系统往往还要和客户关系管理、供应链管理、电子商务等更多的经营管理系统进行连通,其复杂程度可见一斑。而对于变化来说,在ERP产品领域也是突出的特征之一。与很多管理软件系统相比,用户对ERP系统的形态有着多种多样的需要;针对不同的用户调整和定制产品已经成为ERP领域的惯例之一,极少出现不同用户应用同样的模块、同样的配置、同样的流程。这两点突出的要求使得在开发ERP系统时必须结合自身情况慎重的选择开发技术,并构建足够强壮和灵活的开发平台。一些成型的企业级开发技术往往是开发ERP系统的优先选择,例如EJB。成熟的平台往往具有在企业级市场的丰富实践经验,可以提供稳定的开发技术支持。同时,由于这类平台所吸引的开发人员较多,在出现问题时更加容易解决,也更加便于获得开发资源。而可扩展能力也是选择开发技术时需要注意的问题,如果选用了一个层次不够清晰的架构,往往会在扩展系统时造成不必要的麻烦。既使通过独立的开发可以完成现有架构不支持的功能,但是从成本和时间来讲会大大影响ERP产品的成长。

 

 

大型ERP

 

参考对象:SAP、Oracle

特点:自主开发平台;高度可定义的系统架构;广泛的应用环境兼容。

 

在全球大型企业市场占有统治地位的SAP,是一家严谨得甚至有些“刻板”的德国软件公司。基于与先进企业的大量合作经验,SAP包含的功能含量是其它产品无法相比的,用户可以利用SAP提供的功能模块任意的组合出自己需要的产品。而Oracle在收购了PeopleSoft之后,已经跃升为SAP的头号挑战者,其产品具备很高的灵活性,但是在整体质量和细度上仍旧较SAP有一定的差距。不过单就开发技术角度来讲,Oracle却要比SAP先进的多。基于自身的一贯技术战略,Oracle的企业软件产品采用Java技术开发,同时可以无缝地与公司的数据库和应用服务器产品相结合。而SAP的开发语言则是其专有的ABAP语言,无论从与先进技术的结合能力上还是开发人员的数量上,ABAP都远远无法与Java相比,这也间接造成了SAP相关技术人员的成本居高不下。不过ABAP语言仍旧具有一些Java语言不具备的特性,例如ABAP语言内置了数据库编程功能,这意味着ABAP在服务器端非常适合在服务器端发挥威力。不过ABAP的语言特性要较Java简易,这意味着非计算机技术人员更加能够接受ABAP。基于在日常接触ERP系统的应用人员大部分都不是计算机技术人员,ABAP可以为客户提供更好的产品定制扩展的基础。

 

对厂商来说,选择开放的技术标准还是私有的技术标准并没有唯一的答案,根据自己的经营策略和作出抉择的时间,答案可能不近相同。SAP的选择基于其长久的积累,而Oracle的选择从很大程度上来源于其涉足ERP领域时的技术风潮,在那个时间段Java正在撼动世界。不过可以确认的一点是,这种级别的ERP产品都具有自己的技术架构,不论它们基于什么具体的开发技术。从发展的角度考虑,大型ERP产品厂商有能力从头构建一个完整的应用系统,从最底层的技术内核直到最顶层的应用产品,尽管这往往没有必要。从另一个角度来讲,完全自主和完整的技术构架可以为产品提供足够的灵活性,同时为用户提供全面的二次开发功能。在这个方面Oracle是一个相当突出的例子,用户可以利用Oracle提供的开发功能定义出极为复杂的业务模块;有时用户可能会觉得购买的并不是一套ERP应用系统,而是一个ERP开发平台;这在一定程度上降低了用户的风险,同时也在一定程度上弥补了Oracle在业务模块供应上的不足。

 

大型ERP面向的企业规模都非常可观,这类企业往往在多年的信息化建设过程中混杂了各种不同类型和架构的系统,所以大型ERP产品必须提供融合多种遗留系统的能力。例如,这些系统都支持多种数据库系统,企业可以根据需要灵活选择。一个特例是Oracle,由于其数据库产品具有大量的先进特性,很多Oracle的ERP功能被集成在数据库当中,这也限制了其产品在其它数据库产品上使用的可能性。不过由于Oracle的数据库体系广泛采用了接口表机制,其它数据库的数据可以很容易的通过这个过渡层次与Oracle的ERP功能协同。近年来SOA(面向服务开发)成为企业开发领域最热门的开发技术,这种技术的最大优点之一也是强大的融合异构系统的能力。

 

 

中小型ERP

 

参考系统:博科、天思、任我行

 

中型ERP产品的功能特性与大型ERP产品的差别并不是很大,甚至从整体架构上也具备了大型ERP产品的特质,成熟程度、细节的处理、用户经验的体现是妨碍这些产品成为巨头的因素。事实上,能够为用户提供怎样的二次开发能力正成为ERP产品的重要标竿,近年来国内产品在这一方面取得了长足的进步。用友、金蝶、东软等老牌厂商已经向SAP等国外大厂发起了挑战,包括金蝶BOS和用友UAP在内的技术框架已经具有很高的技术水准。更为可喜的是,一些面向中小企业的ERP厂商也开始具备了强大的技术创新能力,博科打造的MyERP自主平台就带给了业内不小的冲击。尽管不是所有的中型ERP产品都能够提供诸如此类的自主开发平台,不过还是可以提供足够的用户定制能力。天思ERP可以自由的定制系统功能组件、界面元件、业务流程等等,体现了中小型ERP产品的巨大进步。

 

另外,在中小型ERP产品中,开发平台也显得更加广泛。除了Java和.Net等主流的企业开发平台之外,包括Delphi、PowerBuilder、VB等传统的C/S开发技术也在广泛的应用。事实上,对于中小型ERP来说,并不需要拘泥于开发技术的选择,因为资源的有限,应该根据自身开发队伍的能力选择开发平台。只要在开发过程中注重系统结构的设计,加强系统的灵活性,完全可以打造出适用于中小企业的ERP产品。三层结构设计是使用Delphi等C/S开发技术的时候经常被应用的一种体系结构方法,基于这种模式可以很好的分离用户接口、业务逻辑和数据库等要素,为建构更完善的开发架构打好基础。必须要注意的一点是,小型ERP产品在流程管理上普遍较弱,这是阻碍这些产品迈向真正ERP的关卡。因为从核心理念上来说,ERP是基于供应链也即物流的管理系统,缺乏流程管理或者不能灵活定制业务流程的管理软件往往无法展现出ERP的精髓。对于在流程管理方面缺乏经验的开发人员来说,可以可以应用成型的流程工具套件实现系统的相关功能。

 

 

总评

 

我们在上边探讨了很多成熟ERP系统所应具有的特性及用来实现这些系统的开发技术、开发平台,同时概略的分析了中小型ERP产品相对于非常成熟的ERP产品有哪些差距。总体来说,对于开发技术的选择应该立足于已有的资源情况,同时结合产品开发计划和目标,兼顾长远发展考虑。虽然信息技术领域很少有能够历经时间打磨而不褪色的建议,但是仍旧有一些建议应该被提及。基于Web的开发技术将会有更大的成长已是不争的事实,所以将ERP产品迁移到Web开发平台是大势所趋,特别是对于那些初涉ERP开发领域的开发人员和厂商而言。另外,对于开发平台和产品平台的建构将是ERP厂商获得成功的必由之路,一个兼巨自主性和开放性的技术平台将给厂商带来源源不断的发展动力和足够的长期回报。


本文转自 离子翼 51CTO博客,原文链接:http://blog.51cto.com/ionwing/61210,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值