近年来,ERP(EntERPrise ResourcePlanning,企业资源计划)系统得到了越来越多的重视。ERP软件系统的开发技术也越来越灵活。企业在实施ERP项目时对ERP软件系统的实用性、灵活性以及可扩展性具有更多的要求。目前,许多ERP产品在构建中主要存在两个关键问题:一是ERP产品在开发过程中有大量的重复工作,系统开发周期长;二是ERP软件无法适应企业个性化需求。因此,对构建标准化、可扩充性、可快速重构的ERP系统的研究,快速满足用户个性化需求对企业实施和应用ERP具有重要意义。
面向服务的架构
面向服务的架构(service-oriented architecture,SOA)是在基础技术日趋成熟的条件下,提出的一种对现代软件架构的新思维。SOA被认为是一种设计和构建松散耦合软件的最佳解决方案,它能够以程序化的、可访问的软件服务形式公开业务功能,并允许其他应用程序通过已发布和可发现的接口来使用这些服务。在服务体系结构中,服务跨越了技术与空间的局限性,无论是C++、Java还是VB(Visual Basic)等开发的服务都可以被调用。SOA强调标准化、跨企业应用、动态性、模块化以及服务组合。
面向服务体系结构中所有服务都是独立的,服务使用者只需通过服务供应者提供的接口来调用服务,可以按照服务使用者所期望的来使用服务,而不需要关心这些服务功能是如何实现的。在SOA中,服务时封装成用于业务流程可重用的组件,是一种可以被调用的模块,它提供信息或业务数据从一个有效的、一致的状态向另一个状态转变。每个服务表示一个功能,它可以准确地映射到业务流程中的具体步骤。并且,服务在实现的时候不需要依赖于其他服务的上下文和状态,是一种松散耦合的模式。
从总体上来讲,SOA是一种结构模型,它可以根据需求并通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。如图1所示。
图1 基于SOA的可重构ERP系统整体模型
SOA的基本体系架构由四部分组成,包括服务提供者、服务管理者、服务消费者和服务契约;同时,主要包含三种主要的操作,包括发布服务、查询服务和绑定服务。服务的提供者与服务的消费者是彼此分开的,注册中心的服务信息位于两者之间,它将服务提供者所提供的服务按一定的标准组织并分类,并向消费者发布服务接口,消费者使用查询功能发现提供者。服务提供者与服务消费者通过事先定义好的契约进行交互。
面向服务的ERP可重构开发模型
一是以业务流程为出发点,以业务流程建模技术和面向对象的方法与技术实现应用系统的分析与设计。业务流程是指企业为完成某一特定目标而进行的一系列逻辑相关的企业活动集合。专注业务流程有利于发现并剔除流程中无效的、不增值的环节,提高各业务部门的协作水平,加速业务处理中的信息流动,提高企业的敏捷性及客户服务水平。
二是引入工作流技术,采用工作流管理系统(Workflow Management System, WfMS)强调流程的建模与执行的分离。WfMS支持下的工作流建模过程,更强调对外部应用及人员的集成。在工作流执行过程中,由WfMS实现任务的分配及流程执行进度的监控。这种流程逻辑与功能实现相分离的特点,极大地增强了系统的柔性,从而使流程有更大的可定制空间,更能满足企业业务流程管理持续改进的需要。
三是系统组件化,通过组件的组合与替换支持ERP系统的重构与演化。软件组件是可以独立生产、获取、部署的软件单元,通过组件组装可以实现组件化的功能系统。软件组件分离了接口规范与具体功能实现,允许以组件替换的方式实现系统的升级及演化。基于对企业业务流程的分析,结合对象组件化技术,面向复用目的建立应用系统业务组件体系结构,是实现以工作流建模为核心的支持业务流程动态调整的可定制、可持续演化的ERP应用系统的基础性工作。
四是服务资产的复用,借助业务基础软件平台快速构建具有版本演化能力的应用系统,利用可集成的一组工具集及可复用资产库,实现可定制的应用系统。
结合以上分析,本文给出一个面向服务划分的、以大规模系统化复用为主要途径的、层次化的企业应用系统业务基础软件平台框架,如图2所示。可复用业务模型资源库的建立是一项重要的基础性工作。可复用业务模型的数量、质量及组织方式直接影响了基于产品复用方式构建ERP系统的可行性。批量定制层是实现可定制的ERP系统的关键层,主要由一组ERP构建工具集组成。业务基础软件平台层可以隔离底层的异构系统之间的差异,并提供支持团队开发的集成开发工具。企业应用层由可实际运行的根据不同企业的应用系统组成。
图2 基于服务的ERP可重构开发模型
底层支持系统主要包括两个组成部分:应用服务器及Web服务器层和操作系统及数据库管理系统层。操作系统及数据库管理系统是构建大型的企业应用的基础通信及数据支持设施。应用服务器是网络环境下最重要的一类中间件软件,通过提供各种领域独立的应用基础服务或功能,通常是一组核心服务或功能及扩展服务或功能,常见的功能或服务包括运行时和执行处理、DBMS访问和连接性、动态WEB页面、上下文/会话管理等。
业务基础软件平台层位于底层支持系统之上的一个软件抽象层,旨在协调大型项目团队的协作开发活动,如任务分解及资源分配、进程控制、访问控制、配置支持等,通过提供工具集接口,以支持与外部各种工具(如流程建模工具、应用开发环境等)的无缝集成。
批量定制平台层,主要由企业建模与诊断工具、业务建模与执行工具、企业参考模型定制工具、配置管理工具、系统生成与映射支持工具、外部工具接口等组成。这些工具相互集成,其中业务建模与执行工具是核心,在可复用的参考模型及应用系统参考模型的基础上,对目标企业的业务流程进行建模、定制、仿真、优化;系统生成支持工具,基于已优化的目标企业业务流程解决方案及其相关配置信息,以图形的方式显示系统的构架,支持人机交互方式的系统框架求精,并能自动生成系统的构架框架代码参考模型定制工具与配置管理工具紧密联系,在对现有的应用系统参考模型定制的基础上,完成对模型各部分定制情况的配置,配置后的模型也可加入可复用业务模型资源库中并作为特定的业务参考模型。
可复用业务模型资源库由企业业务组件、企业参考模型、应用系统参考模型组成。业务基础资源由企业领域内的各类概念实体组成,该层次的组件封装了各类概念实体对象的实现,各对象类组件之间仅仅通过接口进行交互。业务任务组件层包括企业领域内的各种标准业务活动。这里的业务活动指构成业务流程的基础的活动单元,是一组不可再分解的独立执行步骤,回答活动做什么(即:对象方法的调用)、谁来做(即:涉及的业务对象集)的问题,它实现了以特定领域的“活动”粒度层次组织业务对象的协作,从而支持以活动为中心的业务流程建模与仿真优化。
基于SOA的ERP系统实现技术SOA的主要实现技术是Web Service技术,Web Service技术通过使用一系列标准和协议实现相关的功能,如XML、WSDL、UDDI及SOAP协议等。实现Web服务的主流开发平台主要有J2EE及Microsoft平台,其中J2EE平台开发的系统具有平台无关性、可伸缩性等优点,因此得到较广泛的应用。本文研究的就是采用J2EE平台来实现ERP系统的Web服务体系结构。如图3所示。
图3 基于J2EE 的Web 服务体系结构
其中,JAXR(Java API for XMLRegistries,用于XML注册表的Java API)使得应用程序能够在注册表中注册、或查询其他公司提供的Web服务,JAXM(JavaAPI for XML Messaging,用于XML 想消息交换的Java API)提供了Web服务环境中的异步和消息交换功能,并可以通过内部网和Internet进行XML文档交换,JAXM是基于SOAP1.1规范和SOAP附件定义的消息交换协议的一种API框架。
J2EE平台是简化的基于组件的开发模型,具有可移植性,遵循J2EE标准的所有服务器都支持此模型。基于J2EE的应用程序并不依赖任何特定操作系统,具有比较好的重用性。
该系统的运行过程服务请求者向主控器发出HTTP请求,主控器利用JAXR发现UDDI服务注册表中的服务,然后根据请求内容创建一条SOAP Message,服务提供方用JAXR向UDDI服务注册表发布Web服务,客户端的用户界面用浏览器的形式表示,使用JSP和JSTL来实现,JSTL标记将辅助完成条件处理和对Web服务所返回的XML数据的分析,并将最后的结果用浏览器形式通过页面显示给用户。
综上所述,面向服务体系结构(SOA)为企业提供了一个业务敏捷的应用架构。它实现了在Web上发布并集成应用程序逻辑,解决了Web数据集中和无法共享等缺陷。本文利用了面向服务体系架构的松耦合、可重用的服务和标准化接口等特点,设计一个更具有重用性和可扩展性的业务架构系统。通过对面向服务可重构ERP系统的模型的研究和探讨,为提高ERP产品的柔性和灵活性提供一定支持。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/