ERP基础技术平台的设计
摘 要:当今ERP市场在中低端市场竞争日趋激烈,新一代的ERP要求有快速实施的能力,并且能够根据用户需求进行个性化定制。伴随着这些要求,出现了平台化ERP的概念。平台化ERP一般分为两部分:基础技术平台和业务平台,基础技术平台实质上是业务支撑层,提供基础服务;而业务平台是业务组件层,构建在基础技术平台之上。本文探讨了基础技术平台,其为业务平台提供数据层访问、业务接口调用、数据翻译、表示层业务数据展示及获取等基础功能。基础技术平台采用XML作为客户端与服务器数据通信格式。论文通过介绍各层的设计方案,为ERP基础技术平台提供了一个较为全面的解决方案。
关键词:ERP,基础技术平台,J2EE,XML
中图分类号:TP311 文献标识码:A 文章编号:
1.平台设计目标
ERP基础技术平台是整个平台化ERP产品的底层支持系统,所有的上层操作都要基于基础技术平台提供的服务,其设计目标如下:
* 高度代码利用:当有诸如新增一个功能点、更改数据库字段或页面结构调整等需求时,可以在几乎不修改源代码的条件下来实现。
* 低维护费用:在设计各个业务模块时,采用统一的技术标准,以降低系统的维护费用。
* 系统高度可定制:在基础技术平台上将衍生两个平台,一个是ERP建模平台,使用对象为ERP实施人员,在此平台上实施人员可以根据用户的需求定义业务的处理方法及展示效果;另一个是ERP应用平台,在建模平台完成业务定制后,将ERP应用平台连接到定制后的数据库即成为一套ERP应用系统。对这些需求,基础技术平台需要有灵活的架构来支持。
* 技术的前瞻性:平台设计完成后,不因为Java技术过几年的变化而落后,设计至少要超前5年或10年以上不落后。
* 系统的高可靠性及高效率:目前ERP系统的一个普遍缺点就是运行速度慢,ERP基础技术平台的一个非常重要的目标就是要保证系统的高效和稳定。
* 易实施和安装:对实施人员要求低,所有与实现相关的东西对实施人员透明,他们在不知道平台设计思路或源代码的情况下,可以立即或在很短的时间完成在客户现场的客户化定制工作,并且系统可以进行傻瓜式的安装,安装人员无需繁杂的配置及优化。
2.平台架构体系
平台架构图如图1所示。此架构图是在对平台进行细致分析及对现有系统的总结并结合平台目标所处的环境而设计的,下面将分别对各层的职责进行介绍。
* 展示层
该层主要负责业务的展示以及所有与最终用户交互的功能。接口方面要求控制层提供业务定制元数据,以便表示层进行数据获取及显示格式的调整;同时,展示层所接收的用户数据都会传入控制层,所以要求控制层提供数据传输格式。
* 控制层
该层一方面要保证业务及展示所需数据的完整性、时效性和一致性,同时负责用户层和业务层之间所有的通信,并为业务定制控制中心。接口方面,该层一方面最终生成业务定制元数据提供给展示层进行显示,同时从展示层获取用户输入,以便调度。
图1 基础技术平台架构图
* 业务层
该层涉及平台所有与业务相关的操作,包括业务构件的集成,业务引擎的调度等,并通过数据层完成各业务的持久化。接口方面,为控制层提供业务调度接口,另一方面利用数据层接口持久化数据或获取数据。
* 数据层
负责所有数据的持久化保存及业务层所需数据的获取,简言之,负责所有与数据库之间的交互。接口方面,提供一系列数据持久化接口及数据查询接口。
以上四层通过各层之间的接口进行交互,各层只负责自己职责之内的逻辑,并且复杂度较高的层在设计或实现时可能还会采用分层的结构。
在部署的时候,将平台程序部署在一台Web服务器上,同时将数据库部署在另一台机器上,只需配置Web服务器中的数据库连接池即可,部署非常方便。
3.平台设计
根据平台的架构图,平台展示层放在浏览器端,服务器端提供业务定制元数据作为浏览器端的解析依据;控制层用servlet及java bean,用于与浏览器进行交互和与业务引擎集成;而业务层则提供一套业务引擎用于业务调度;数据层使用JDBC实现。
* 展示层
展示层最重要的功能就是解析业务规则元数据文件,生成视图,当然,其中有很多环节需要处理。
当用户点击某一菜单项时,首先由IO组件获取该菜单对应业务定制元数据文件,获取文件中关于页面结构定义的部分,由页面控制组件生成基本的页面结构,然后提取页面中需要国际化的部分,将其交由国际化组件进行国际化处理,下一步则通过IO组件获取数据集列表数据,交由数据集列表组件处理,最后,加载动态下拉组件服务。
展示层主要分为五个组件:IO组件,页面结构控制组件,国际化组件,动态下拉组件,数据集列表处理组件。展示层使用Javascript+XML+XSLT来实现。
* 控制层
用户登录时,系统会检查菜单相关信息的完整性,如果有不一致的情况,则调用同步程序,同步数据后再显示菜单。
在用户点击菜单项时,控制层会检查该菜单所对应业务相关信息的完整性,如有不一致的情况,则先同步后再调用展示引擎生成视图。
在用户定制业务时,控制层会根据用户所配置的信息自动生成业务元信息,该信息不但包含业务信息,也包括页面显示格式信息,此部分用XSL样式表实现,通过元信息XML文件应用样式表,可以得到页面基本布局。
另外,系统管理也在这一层实现。
控制层使用Strategy设计模式并用JavaBeen来实现。
* 业务层
控制中心为其它层过来的业务任务请求调度控制中心,业务任务为以业务为单位的任务集合,它包括若干个业务元任务,是若干个业务元任务按特定顺序组合的结果。在业务任务分解处理过程中,如果出现异常,将启动异常处理机制进行异常处理。
来自其它层的请求将会被控制中心接收,控制中心将用户的请求分解为各个业务任务,然后逐个执行任务,每个业务任务会被分解为多个业务元任务,并逐个执行。如此,直到全部业务任务执行完毕,在此期间如有异常产生,将会调用异常处理模块进行异常处理,处理完成后将结果返回。
业务层使用工厂模式和单例模式并用JavaBeean来实现。
* 数据层
控制中心模块负责所有更新请求的派发,业务实体数据更新模块负责所有与业务实体数据相关的数据更新,而业务格式数据更新模块负责所有
与业务格式相关的数据的更新,业务格式数据包括如业务查询字段格式信息或业务数据集列表格式信息等。所有业务更新模块都使用统一的异常处理模块来处理自己的异常情况。
来自业务层的数据更新请求都将通过控制组件,该请求可能包含复合的更新请求,即有各种更新请求,而控制中心将解析这些请求,并逐个调用业务空闲数据更新模块或业务格式数据更新模块进行数据更新,在这期间如有一个环节出错,进行业务回滚,待所有请求处理完毕后,将执行结果返回给响应。
数据层使用Facade模式及运用JDBC和数据连接池来实现。
4.总结
本文研究了ERP基础技术平台的设计,该平台是平台化ERP产品的支撑平台,采用B/S结构的MVC分层设计。在前台采用HTML进行展示,使用JavaScript技术处理复杂的客户端逻辑;在后台方面使用JavaBean来处理平台逻辑,并使用JDBC与数据库进行交互。
平台在架构上分为四层,分别为展示层、控制层、业务层和数据层,分别实现展示及用户接口、数据翻译、业务引擎和数据层访问等功能。
5.前景展望
目前ERP市场高端增长缓慢,很多企业都开始关注于中小企业的ERP市场,而中国93%的企业属于中小企业,因此其市场规模是空前的,而由于客户需求的多样化,在考虑项目规模、项目周期及实施的难度后,企业很难找到利润的平衡点。正因为如此,快速实施并可根据客户需求进行灵活定制已成为衡量企业对目前ERP市场统治力的标准。
ERP平台可以很好地解决这些矛盾,让企业在激烈的竞争中重新找回自信。而目前ERP平台没有大规模普及并不是因为企业不想做,而是没有能力做,因为它必须建立在企业多年业务经验的基础之上,建立在企业对业务深刻理解的基础之上。因此,有能力的公司将会不遗余力地打造适合自己企业的ERP平台,在未来的ERP市场上分得一杯羹。而没有能力做平台的公司则会引进一些成熟的平台作为自己企业的开发、实施平台,以在残酷的竞争中不被淘汰。
总之,ERP平台将是大势所趋,在未来的数年内,平台化ERP产品将会逐步繁荣。
参考文献:
金蝶软件(中国)有限公司.ERP系统的集成应用:企业管理信息化的必由之路.北京:清华大学出版社,2005.8
上一篇:信管专业会计实验课的设计
下一篇:虚拟机技术在计算机教学中的应用