"
收藏本站
logo
课程快搜:
采购管理 | 销售营销 | 研发管理 | 中层干部 | TTT培训
   您当前位置:企业培训课程站 >> 管理文库

基于SOA生产管理系统的研究与实现

时间:2012-12-12;来源:万方数据;作者:佚名;上传用户:aqingc

1 引 言

    20世纪80年代以来,在制造业信息化应用需求驱动下生产管理软件在技术和管理上有了长足进步,但是传统生产管理系统在业务流程和服务框架方面仍存在着明显的不足,主要表现在:
    (1)在服务框架方面是先建一个集成平台,然后开发各种各样的适配器和连接器去连接已有的子系统。用适配器来进行信息的有效收集、现有集成平台与原有平台的信息转发,不能方便、灵活、低代价地实现异构子系统的集成,难于快速适应企业现代业务变化的需求,而且容易受制于传统分布式对象中间件技术存在的局限性,如CORBA、DCOM、RMI之间的互操作性,客户端与服务端之间的紧耦合。
    (2)流程方面在于面向具体事务进行处理,功能不易扩充、业务流程固化、维护成本高、与新环境集成困难、缺乏柔性、企业不能随着商业环境的变化而方便迅速地改变业务流程,而企业环境的变化促使企业必须快速地调整业务来响应。
    本文以SOA的结构以借助现有的应用来组合产生新服务的敏捷方式,提供给企业更好的灵活性来构建应用程序和业务流程。通过采用SOA框架,企业可以最大程度地减少系统间的祸合,从而提高可重用性。通过融合业务流程管理,实现了工作流程的自动化和多个企业系统之间的无缝集成。

2 面向服务的体系框架

    SOA(Service-Oriented Architecture),即面向服务架构的缩写。IBM定义:SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过其间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
    SOA是一种粗粒度、松耦合的服务结构,使企业变得更加弹性和灵活性,快速响应业务的需求变更,并具有精确定义的标准化接口。服务的粗粒度是指服务执行了较大的业务功能,并交换了比细粒度更多的数据;服务之间的松耦合是指服务具有中立的接口的特征;标准化接口是指Web服务使应用功能得以通过标准化接口(WSDL)提供,并可基于标准化传输方式(HTTP和JMS)、采用标准化协议(SOAP)进行调用。SOA=〈S,P,Re,Rl,O〉,即它包括四种主要实体和操作,其中S表示服务(Service);P表示服务提供方(Service Provider);Re表示服务请求方(Service Requester);Rl表示服务注册库(Service Registry);O表示Web服务的操作(web Operation),主要有:发布,查找,绑定。其体系结构如图1所示:


图1 Web服务体系结构


    (1)服务(Service):由Web服务描述语言(Web Service Description Language,WSDL)来描述,WSDL把服务抽象地描述为一组包含在面向文档或面向过程信息的消息上执行操作的端点的集合,多个相关的具体端点结合在一起就构成了服务。
    (2)服务提供方(Service Provider):服务提供者是一个可通过网络寻址的实体,它接受和执行来自使用者的请求。它将己服务的和接口契约发布到服务注册中心,以便服务使用者可以发现和访问该服务。
    (3)服务请求方(Service Requester):服务使用者是一个应用程序、一个软件模块或需要一个服务的另一个服务。它发起对注册中心中的服务的查询,通过传输绑定服务,并且执行服务功能。服务使用者根据接口契约来执行服务。
    (4)服务注册库(Service Registry):服务注册中心是服务发现的支持者。它包含一个可用服务的存储库,并允许感兴趣的服务使用者查找服务提供者接口。
    (5)Web服务的操作(web Operation):是与web服务相关的操作,主要有:发布,查找,绑定,调用。

3 基于SOA生产管理系统的设计


图2 基于SOA智能生产管理系统层次构架图


    图2为基于SOA的生产管理系统的层次结构图,将本系统分4层:表示层、业务流程管理层、服务提供层和服务应用层。其各层功能如下:
    (1)表示层:它是企业暴露给客户或合作伙伴使用的服务,以Web服务的形式提供。服务请求方是挂接于企业信息门户的Web应用程序,企业门户为服务请求方提供了标准接口,其中包括企业内部和企业外部信息门户。在表示层的服务应该比在服务层中的服务具有更粗的粒度,它是业务流程的入口。当企业门户访问时,企业伙伴会用程序请求业务的执行,再访问企业门户,访问方式一般有2种方式:HttpRequest和SOAP。
    (2)业务流程层:集成了各种业务规则和逻辑,包括流程任务、任务间的控制流、任务间的数据流以及流程相关的其他规则,提供企业门户的服务请求者(Service Requester)统一权限认证和业务活动监控(BAM,Business Activity Mo[NextPage]nitoring)。业务服务总线层将细粒度服务编排融合为粗粒度服务并为各业务对象提供目录、路由服务以动态绑定到所需要的服务。业务服务总线作为通用的业务平台,消除了服务提供者和请求者之间的依赖关系,提高了可重用性以及已有服务的内部扩展和外部获取。这一层侧重在业务支持上,通过通用和标准的对象和服务模型,可以在这一层上定义各个Web服务的业务流程,通过WS-BPEL和WSDL语言能够灵活调用各个功能模块。
    (3)服务提供层:它为业务流程层提供了服务实现的平台,定义了在服务间的交互以及提供服务请求者使用的业务层的数据(数据定义、数据验证规则和数据转化规则)。服务提供层将企业原有系统所提供的功能组件以web服务封装,新系统也以web服务开发,并将这些服务发布到UDDI公共目录服务器中注册,以提供目录路由服务。企业服务总线(ESB)是SOA体系中的基础架构,各个服务通过总线来互相访问。各个服务是系统功能和任务的抽象和封装并用标准描述语言WSDL进行描述。
    (4)服务应用层:服务应用层由持久层以及面向服务的企业应用集成层构成。在生产管理系统中,SQL SERVER作为数据访问的数据库,Access数据库作为固定参数的数据库,例如城市地址等。系统中提供三种数据库(SQL SERVER、Access以及Oracle)访问接口供不同需要使用。
基于SOA的结构框架借助现有的应用来组合产生新服务的敏捷方式,提供给企业更好的灵活性来构建应用程序和业务流程。通过采用SOA框架,企业可以最大程度地减少系统间的藕合,从而提高可重用性。通过采用业务流程管理,实现了工作流程的自动化和多个企业系统之间的无缝集成。

4 基于SOA生产管理系统的实现

    4.1 流程部署及服务调用
    基于SOA智能生产管理系统的目标是通过使用Web标准实现应用程序间通用的互操作性以及业务流程自动化。SOA松散耦合的集成模型包括企业到消费者、企业到企业和企业应用程序集成中的各种系统的灵活集成。采用基于标准的、可扩展的、基于XML Schema的WSDL和WS-BPEL来定义流程。WSDL所直接支持的交互模型是同步或不相关的异步交互的无状态模型。业务交互的模型通常涉及到在双方或多方长期运行的交互中同步和异步对等消息交换序列。Web服务的业务流程执行语言可以创建完成Web服务调用、操纵数据、抛出故障或终止一个流程等工作的不同活动,然后将它们连接起来,从而创建出复杂的流程。本系统采用合成服务,即把系统服务分成以生产计划为中心的主生产计划、物料需求计划、BOM表管理、能力需求计划等服务模块。这些模块之间采用Web Service提供的标准接口,通过SOAP方式互相访问,如图3是系统数据访问流程图。


图3 生产管理系统数据访问流程图


    (1)客户端通过HttpRequest访问应用服务器,服务器响应客户端以HttpRespose方式返回。系统采用基于Ajax引擎的Web应用程序模型处理客户端和服务器数据的交互过程。
    (2)先定义实际应用流程定义消息、应用数据,生成描述文档。并通过API接口将该文档注入到工作流引擎中,对流程进行控制。
    (3)通过WSDL将主生产计划、物料需求计划、能力需求计划、BOM管理和基于PSO算法生产作业调度等各种模块包装成服务。
    (4)工作流引擎在按照WS-BPEL文档进行流程控制时,发现需要调用服务,就调用Web服务总线,Web服务总线根据管理器去处理事务,处理完后通知工作流引擎,然后工作流引擎执行下一个流程或任务。
    (5)工作流引擎、Web Service Bus、WSDL语言,以便能监控生产计划各个模块的引擎、流程、服务以及异常处理。
    (6)主生产计划、物料需求计划、能力需求计划、BOM管理和基于PSO算法生产作业调度等模块分别作为一个Web服务来开发,它们之间通过SOAP方式来实现数据的传输。
    (7)主生产计划、物料需求计划、能力需求计划、BOM管理和基于PSO算法生产作业调度等模块访问数据库的过程,即持久层的操作,在本系统采用SQL Server 2005作为数据访问的数据库,Access作为参数数据库,如城市地址信息,同时提供Oracle接口满足以后扩展功能的需要。
    (8)当客户请求外部服务(EAI Web服务)时,Web服务器通过采用SOAP方式去访问COM封装的EAI Web服务来实现与外部数据的交互。

    4.2 基于事务的业务流程异常处理
    在基于BPM业务流程管理系统中,异常处理接口是异常处理组件模块向外界提供的接口,通过此接口流程引擎可以将所遇到的异常交由异常处理模块处理。异常转换模块负责将外部异常转换成内部异常,业务流程异常处理图,如图4所示。


图4 业务流程异常处理图


    每一个任务的实例在创建时,就获取一个ErrorHandler,运行中所遇到的所有异常问题[NextPage]都有此ErrorHandler负责处理。每当任务状态改变时,都需要通知其ErrorHandler,这样当此任务遇到异常时,可以通过所记录的状态信息,判定是否需要做回滚操作或者补偿操作。对于处于Initial状态的任务则不需要执行任何操作,处于Running状态的任务需要执行rollback操作,处于Finished状态的任务则要执行compensate操作以消除影响。

5 结 论

    面向服务集成技术的核心是业务流程管理,基于面向服务集成生产管理系统要实现的目标就是要使流程逻辑没有硬编码到下层应用中,使各个应用系统分开维护,有利于针对业务需要与需求的变化快速修改业务流程,即业务流程自动化。业务流程自动化把各个功能模块进行组件化、模块化,使各个模块间的业务逻辑分离,同时增强独立模块的紧密耦合。对体系结构方面,使生产管理系统在开发过程中把精力于集中业务流程,而先不去关注有关集成或应用程序底层实现问题,使企业应用摆脱面向技术解决方案的束缚,灵活地适应企业业务流程变化和发展的需要。通过服务实现业务流程自动化,把各个功能模块进行组件化、模块化,使各个模块间的业务逻辑分离,同时增强独立模块的紧密耦合。充分体现了在Web服务实现平台上实现了跨平台、语言独立、松散耦合的异构应用的交互和集成,使得建立在此平台上的ERP系统更具易用性和可扩展性。


3 基于SOA生产管理系统的设计


图2 基于SOA智能生产管理系统层次构架图


    图2为基于SOA的生产管理系统的层次结构图,将本系统分4层:表示层、业务流程管理层、服务提供层和服务应用层。其各层功能如下:
    (1)表示层:它是企业暴露给客户或合作伙伴使用的服务,以Web服务的形式提供。服务请求方是挂接于企业信息门户的Web应用程序,企业门户为服务请求方提供了标准接口,其中包括企业内部和企业外部信息门户。在表示层的服务应该比在服务层中的服务具有更粗的粒度,它是业务流程的入口。当企业门户访问时,企业伙伴会用程序请求业务的执行,再访问企业门户,访问方式一般有2种方式:HttpRequest和SOAP。
    (2)业务流程层:集成了各种业务规则和逻辑,包括流程任务、任务间的控制流、任务间的数据流以及流程相关的其他规则,提供企业门户的服务请求者(Service Requester)统一权限认证和业务活动监控(BAM,Business Activity Monitoring)。业务服务总线层将细粒度服务编排融合为粗粒度服务并为各业务对象提供目录、路由服务以动态绑定到所需要的服务。业务服务总线作为通用的业务平台,消除了服务提供者和请求者之间的依赖关系,提高了可重用性以及已有服务的内部扩展和外部获取。这一层侧重在业务支持上,通过通用和标准的对象和服务模型,可以在这一层上定义各个Web服务的业务流程,通过WS-BPEL和WSDL语言能够灵活调用各个功能模块。
    (3)服务提供层:它为业务流程层提供了服务实现的平台,定义了在服务间的交互以及提供服务请求者使用的业务层的数据(数据定义、数据验证规则和数据转化规则)。服务提供层将企业原有系统所提供的功能组件以web服务封装,新系统也以web服务开发,并将这些服务发布到UDDI公共目录服务器中注册,以提供目录路由服务。企业服务总线(ESB)是SOA体系中的基础架构,各个服务通过总线来互相访问。各个服务是系统功能和任务的抽象和封装并用标准描述语言WSDL进行描述。
    (4)服务应用层:服务应用层由持久层以及面向服务的企业应用集成层构成。在生产管理系统中,SQL SERVER作为数据访问的数据库,Access数据库作为固定参数的数据库,例如城市地址等。系统中提供三种数据库(SQL SERVER、Access以及Oracle)访问接口供不同需要使用。
基于SOA的结构框架借助现有的应用来组合产生新服务的敏捷方式,提供给企业更好的灵活性来构建应用程序和业务流程。通过采用SOA框架,企业可以最大程度地减少系统间的藕合,从而提高可重用性。通过采用业务流程管理,实现了工作流程的自动化和多个企业系统之间的无缝集成。

文章热词:热设计 电子工程 DFMEA
免责声明: 本站为非营利性网站,所登载此文是由开放网络用户自由发布分享,本站不参与审核、编辑或修改,仅为提供给感兴趣读者学习研究使用,不代表本站同意该文章的立场观点,且本网不承担稿件侵权行为连带责任。如涉及版权等问题请与本网站联系,核实后会给予处理。
相关课程
更多>>
相关专题
用户中心 | 法律声明 | 网站导航 | Copyright (c) 2006-2024 All Rights Reserved hr580.com 企业培训课程站

未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任 备案序号:粤ICP备08118827号