ERP软件云平台开发技术
2016-07-09撰文浪潮通用软件公司唐龙业
撰文/浪潮通用软件公司 唐龙业
ERP软件云平台开发技术
撰文/浪潮通用软件公司 唐龙业
在市场主导的现代企业管理中,ERP套件式二次开发的低可定制性问题日显突出,特别是针对集团企业客户规模庞大、组织结构复杂和战略多元化等特点,其已经不能适应企业快速发展变化的要求。基于此,本文针对云环境下集团企业ERP软件柔性开发技术及其支撑框架进行了讨论,着重就涉及的关键技术及实现方法进行探讨。相关研究工作旨在推动云计算、服务及构件组装技术等在ERP软件开发中的实际应用,以期从新技术融合层面探讨提升ERP软件柔性开发与维护的途径。
一、引言
目前,我国针对单体企业的ERP软件研发和应用已经比较成熟,但针对集团企业应用的ERP软件尚处于发展阶段。面向集团制造企业的ERP应用软件主要围绕财务集中化管理展开,其不足主要表现在以下两个方面:
(1)ERP软件可定制程度较低、按需定制的柔性不足。目前,我国ERP软件的系统结构主要采用套装软件方式,并以套装软件及其二次开发方式满足不同客户的差异化需求。这种系统结构决定了ERP软件的可定制程度较低、应对需求变更的按需定制能力差。所以,造成产品后期开发、维护的高成本,以及交付的高迟滞性。另外,相对于单体企业,大型集团企业的组织庞大复杂、涵盖行业广泛、业务变化快,组织结构、多元化战略及业务流程的重构需求非常强,要求ERP软件的系统架构能够支撑集团企业复杂、多变的业务应用,这对集团企业的信息解决方案提出了很高的要求。
(2)与国外主流ERP软件提供商(如SAP、Oracle等)的产品相比较,我国ERP软件产品在管理理念和技术机构、功能技术实现层面等有待提升。从管理理念上,ERP是在西方制造企业管理实践基础上提出的,其内含的科学管理思想和管理模式比较先进,而我国企业的传统管理体系、模式和管理思想则相对落后。从技术架构角度,目前我国ERP产品的柔性不足,还不能即时、有效地实现随需而变,具体体现在企业经营战略、管理模式、管理机制、业务流程和组织结构等发生变更和改进时,ERP产品不能以一种柔性的按需配置方式进行演化,以实现业务与技术的完美结合和映射。从功能角度看,我国ERP软件主要停留在企业内部业务流程的管理上,而国外ERP软件的功能已经从单体企业的内部管理向多产品领域、多模式、多类型企业集团,及整合供应商甚至客户的供应链延伸。所以,我国ERP软件急需缩短与国外ERP软件提供商在系统架构、软件功能等方面的差距,以便打破国外软件在高端市场的垄断地位,实现高端超越。
另外,随着经济全球化进程的加快,现代企业的发展呈现动态化特征,即企业的生产、运营环境由相对封闭的空间逐渐转移到动态、开放的互联网环境,企业的组织结构和业务流程也需要进行阶段性调整、优化以适应变化的市场。从企业发展的可持续性角度,企业资源的优化应该能够相对容易、快速甚至动态地实现,才能满足企业快速、有序和高效发展的需求。所以,改造ERP软件的系统架构以支撑集团企业复杂、多变的业务环境,是面向集团企业集约化经营管理的ERP软件必须要解决的问题。支撑ERP软件要适应不同行业在业务流程、管理重点及运营模式方面存在的差异,具备根据不同集团组织结构快速重构的能力,以保证集团的整体业务流程、业务数据能够实时、准确地无缝集成,同时要求支撑软件具有良好的跨地域快速部署能力。
2000年以来,以复用为主导的软件构件、SOA(Service Oriented Architecture)技术推动ERP软件逐步过渡到柔性研发和运维的新阶段。软件构件可以实现较细粒度的可复用模块抽象和封装,通过构件组装、替换实现软件的高效开发和维护。SOA开发范式通过服务组合的系统可根据商业需求实现工作流、规则等的及时、灵活调整,能很好地解决ERP应用所需要的响应业务变化和进行系统动态重构等问题。
近年来,随着云计算技术的蓬勃发展,ERP软件在研发、应用及市场推广等方面面临新的发展机遇。一是,云计算继承了软件即服务(SaaS)的特性,让客户特别是中小企业客户通过网络以租赁方式获得ERP服务,降低ERP实施难度及成本,同时也进一步把服务推向国际市场。二是,针对集团级企业的多行业、多领域和异步存储的资源,以及集团内部单体企业ERP系统沉淀积累的现状,云技术面向集团制造企业规模化、集约化管理ERP软件研发和部署提供了一种高效的解决方案,为实现真正的流程链驱动的ERP企业管理提供了有力的技术支撑。
在深入分析国内外ERP研发现状基础上,本文系统地介绍了所承担的国家863计划“集团企业集约化经营管理平台研发与应用”项目的相关研究成果,详细阐述了云环境下集团级企业ERP管理平台柔性开发框架,并从企业业务流程编排、服务组合和软件构件组装三个层面就柔性开发的关键技术及其实现方法进行了讨论。
二、ERP软件云平台框架及主要技术
1.平台架构
ERP软件研发采用一种依托企业构件库和服务库的面向应用组合的柔性化云平台架构,为集团企业集约化经营管理提供动态可定制的支撑基础。集团级企业ERP软件开发云平台架构,如图1所示。
图1 集团级企业ERP软件开发云平台架构
整个架构包括三层:
(1)基础业务开发平台。提供基于单体企业构件库及服务库基础上的集成开发环境,快速定义和开发企业应用的数据模型、业务单据、业务构件和业务服务,支持应用的全生命周期管理。
(2)云基础设施的柔性化管理。面向单体的基础业务开发平台组成集团级企业云设施管理平台。完成基础设施的计算资源虚拟化、网络资源虚拟化和存储资源虚拟化,建立能够支持虚拟机快速部署和动态迁移的柔性可扩展的云服务环境。通过监控引擎(Monitor Engine)实现集团内多行业的存储、计算资源的虚拟化管理和提供;通过部署引擎(Deployment Engine)实现虚拟机的快速部署和动态迁移。
(3)组合应用开发平台。采用流程驱动的面向服务的柔性化应用组合方法,进行面向服务的业务需求分析、业务流程建模。基于企业服务库,完成应用服务的动态发现和匹配,实现面向服务的业务流程编排、服务快速装配和动态绑定,并进行业务流程的监控以及业务流程的持续优化。支持数据组合、界面组合、服务组合和流程组合,基于组合应用实现标准业务流程的开发、调整和扩展,以及与第三方应用的集成。
(4)企业统一门户。基于标准、接口的平台柔性化共享,支持包括PC、移动设备等多种终端设备的平台配置、部署及应用。面向企业最终用户、社区及合作伙伴及第三方软件开发商等,实现一种开放共赢的企业应用、复用及共享方法。
2.云平台架构的柔性特征
云平台架构的柔性特征主要表现在以下三个方面:
(1)基于标准和接口规范的平台共享。基于模型和元数据执行引擎等标准化和规范化服务,以及服务、构件开发等相关技术,实现面向不同用户群体的平台共享基本架构,进而实现面向生态圈的协同式应用与开发。
(2)基于服务库的应用组合与构建。采用工作流驱动的面向服务的柔性化应用组合方法,进行面向服务的业务需求分析、业务流程建模。在此基础上,完成基于企业服务库应用服务的动态发现和匹配,实现面向服务的业务流程编排、服务快速装配和动态绑定,并进行业务流程的监控以及业务流程的动态持续优化。
(3)基于云的基础设施管理。实现基础设施的计算资源、网络资源和存储资源的虚拟化,并在此基础上建立能够支持虚拟资源快速部署和动态迁移的柔性可扩展云服务环境。
3.关键技术
(1)云基础设施资源整合技术。通过基于云架构的基础设施资源整合技术,实现外部技术设施资源与企业内部资源的无缝整合,并提供虚拟资源管理功能,将应用构建在虚拟资源层之上以实现应用层对资源的按需使用。
针对集团企业组织架构、业务流程的多变性以及基础设施资源类型的多样性等特点,聚合企业内部现有及外部云服务提供商的异构基础设施资源以形成集团内部统一的资源池,然后提供统一的访问接口和管理控制接口来提供给应用层使用,并根据既定资源使用规则和资源状态监控信息实现企业内部基础设施资源的动态、透明、高效调度。
图2 云架构下基础设施资源整合方法
(2)面向服务的流程建模工具和流程驱动引擎实现技术。采用最佳实践知识制导的业务流程分析、构造和编排方法。基于企业集约化经营管理的业务最佳实践搭建企业知识库,以及需求驱动的涵盖数据、资源、时间、规则等多维视图的业务流程构造方法与覆盖业务流程生命周期中流程配置、监控、诊断与优化的系统化分析方法,最终实现企业的集约化经营管理目标。
通过基于服务组合的业务流程建模以及流程引擎驱动的信息交互模式,实现面向业务过程的服务组合与编排,降低业务场景与业务逻辑的耦合度。
图3 面向服务的流程建模工具和流程驱动引擎架构
建立面向企业的开放基础服务库,实现业务流程驱动的面向服务应用组合,实现面向服务的业务流程编排、管理、监控与持续优化,支持应用服务的动态快速部署,以提升集团制造企业的智能化水平。
(3)企业服务库构建技术。通过面向构件的计算逻辑组装技术提供构件组装、构件适配、构件运行环境等基础服务和管理能力;通过面向服务的业务逻辑封装技术,提供服务事务管理、性能管理、安全管理、服务发现等基础资源。同时,规划出层次清晰、粒度合理、内容丰富并且支持多方参与共建的构件/服务库,一方面要对大量通用及行业业务逻辑进行分析、抽象,另一方面也要考虑构件/服务规约、设计、版本、依赖、注册、发现和管理等技术实现问题。基于最佳业务实践创建分层构件/服务库,实现最大化业务逻辑的复用以及面向构件/服务的装配式ERP应用软件快速生成。
图4 企业分层服务库构建架构
(4)面向软件全生命周期的过程支撑系统实现技术。在研发阶段提供面向用户的需求分析、设计、建模、配置管理、版本管理、发布管理、测试支撑等,为企业开发商和生态圈伙伴提供大粒度、高效的开发模式;在后期维护阶段通过社会化的实施运维工具及知识库,提供持续动态进化的服务支持能力。面向软件全生命周期的过程支撑系统架构,如图5所示。
图5 面向软件全生命周期的过程支撑系统架构
(5)制定通用的应用接口、元数据和打包封装规范,图6为通用应用接口规范支撑架构建设面向生态圈伙伴(开发商、合作伙伴、社区和用户)共同参与的一体化软件应用市场,形成多方共同参与、协同应用开发的ERP研发生态系统,最大化丰富同一共享平台下的应用内容和成果。
图6 通用应用接口规范支撑架构
(6)基于企业服务库面向应用组合的平台技术。基于应用组合平台实现集团制造企业集约化经营管理系统。该平台具体包括企业服务库、标准应用组合、行业解决方案三个部分,如图7所示。
企业服务库是在柔性化平台的基础上,利用平台中的构件库和基础服务库形成的业务服务库,包含领域(财务、供应链和生产等)服务库以及分析服务库等。
在企业服务库的基础上,通过组装、配置相关的业务服务库形成标准应用中多种标准业务组件,如财务标准组件是由财务服务库、分析服务库组装和配置形成的,采购标准组件是由供应链服务库、分析服务库组装和配置形成的。标准业务组件进一步组合可形成各子系统模块,比如集团财务管控可由财务标准组件和业务查询组件组合形成,集团采购管控可由采购标准组件、业务查询组件以及合作伙伴、第三方组件组合形成。
组合标准应用可形成行业解决方案,通过组合集团战略管控、集团资金管控、集团财务管控、集团采购管控、集团生产管控、集团销售管控以及装备管控可形成装备行业财务、资金以及产业运营解决方案。
图7 基于应用组合平台开发面向集团企业集约化管理的标准组合应用实现架构
三、结语
ERP软件云平台开发架构实现了针对业务需求和业务过程复杂性的虚拟化屏蔽。其中,业务流程设计、应用服务组合、计算逻辑构件化、基础资源云部署和管理的分层驱动架构提供了灵活的ERP应用开发模式和广泛的包容性,并达到快速按需重构现有ERP软件应用的目的。ERP软件系统架构向平台化、构件/服务化、集成化发展,能够有效缓解核心通用系统与定制开发之间的矛盾,使个性化、行业化软件的快速开发、实施和重构应用成为可能,并且为我国ERP软件开发方式的转型提供了前沿性的系统架构支撑。