首页> 中国专利> 企业应用集成工作流管理方法及系统

企业应用集成工作流管理方法及系统

摘要

本发明提供了一种EAI工作流管理方法及装置,该方法包括:根据用户需求生成基于服务请求的工作流模型定义文件;根据工作流模型定义文件查找已注册服务,得到与用户需求匹配的服务集合;选取服务集合中服务质量最佳的服务,并生成工作流流程定义文件;执行工作流流程定义文件,并调用最佳服务。本发明提高了EAI工作流管理的动态性能与适应性,有效保证了用户获得服务的服务质量,改善了用户体验,所以克服了相关技术中的EAI工作流系统动态性能较差,无法适应松散耦合的系统应用的问题。

著录项

  • 公开/公告号CN101655943A

    专利类型发明专利

  • 公开/公告日2010-02-24

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN200910173596.4

  • 发明设计人 刘志阳;

    申请日2009-09-14

  • 分类号G06Q10/00(20060101);

  • 代理机构11240 北京康信知识产权代理有限责任公司;

  • 代理人余刚;吴孟秋

  • 地址 518057 广东省深圳市南山区科技南路55号

  • 入库时间 2023-12-17 23:27:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-09-22

    未缴年费专利权终止 IPC(主分类):G06Q10/06 专利号:ZL2009101735964 申请日:20090914 授权公告日:20161207

    专利权的终止

  • 2018-05-11

    专利权的转移 IPC(主分类):G06Q10/06 登记生效日:20180423 变更前: 变更后: 申请日:20090914

    专利申请权、专利权的转移

  • 2016-12-07

    授权

    授权

  • 2016-09-28

    专利申请权的转移 IPC(主分类):G06Q10/06 登记生效日:20160902 变更前: 变更后: 申请日:20090914

    专利申请权、专利权的转移

  • 2010-04-28

    实质审查的生效 IPC(主分类):G06Q10/00 申请日:20090914

    实质审查的生效

  • 2010-02-24

    公开

    公开

查看全部

说明书

技术领域

本发明涉及企业应用领域,具体而言,涉及一种企业应用集成工作流管理方法及系统。

背景技术

目前,企业采用EAI(Enterprise Application Integration,企业应用集成)方法将已有的和新建的各种企业应用集成起来,共同完成企业的各种商务活动,以便灵活快速地适应企业的发展和市场的变化。实施EAI归根结底是在应用之间实现信息移动,而工作流就是一种信息流导向方法,越来越多的企业重视利用工作流技术解决应用集成问题。

相关技术中提供了一种EAI工作流管理系统,该系统基于“静态”过程定义,工作流中每一个活动所对应的任务都是确定的,即任务在什么地方执行、需要什么样的资源以及会有怎样的运行结果都是预先知晓的,支持了结构良好、相对稳定的业务流程实现。

发明人发现相关技术中的EAI工作流管理系统基于静态过程定义,动态性能较差,无法适应松散耦合的系统应用。

发明内容

本发明旨在提供一种EAI工作流管理方法及系统,能够解决相关技术中的EAI工作流系统动态性能较差,无法适应松散耦合的系统应用的问题。

为了实现上述目的,根据本发明的一个方面,提供了一种EAI工作流管理方法,包括以下步骤:根据用户需求生成基于服务请求的工作流模型定义文件;根据工作流模型定义文件查找已注册服务,得到与用户需求匹配的服务集合;选取服务集合中服务质量最佳的服务,并生成工作流流程定义文件;执行工作流流程定义文件,并调用最佳服务。

优选地,在上述方法中,在根据用户需求生成基于服务请求的工作流模型定义文件之前,还包括:接受服务提供者对提供服务的注册,提供服务包括服务提供者拥有的企业资源。

优选地,在上述方法中,接受服务提供者对提供服务的注册具体包括:记录服务提供者输入的提供服务描述信息;接受服务提供者对提供服务本体文件的指定;验证是否存在与提供服务本体文件相同的服务本体文件;若不存在,则发布并保存提供服务描述信息与提供服务本体文件。

优选地,在上述方法中,根据用户需求生成基于服务请求的工作流模型定义文件具体包括:接受用户的登录;利用建模工具将用户需求转化为工作流模型定义文件。

优选地,在上述方法中,根据用户需求生成基于服务请求的工作流模型定义文件还包括:向用户提供工作流的实时监控数据;接收用户对工作流模型定义文件的修改。

优选地,在上述方法中,根据工作流模型定义文件查找已注册服务,得到与用户需求匹配的服务集合具体包括:解析工作流模型定义文件,并生成服务请求的语义描述文件;根据语义描述文件查找已注册服务,得到对应于服务请求的服务集合。

优选地,在上述方法中,根据语义描述文件查找已注册服务,得到对应于服务请求的服务集合具体包括:解析语义描述文件中服务请求的服务概述,并提取出服务请求的第一输入/输出元素和前提/效果元素,以及解析每个已注册服务的服务概述,并提取出每个已注册服务的第二输入/输出元素和前提/效果元素;根据预定匹配关系列表计算第一输入/输出元素和前提/效果元素与每个第二输入/输出元素和前提/效果元素的匹配度,得到服务请求与每个已注册服务的综合匹配度;根据综合匹配度将多个已注册服务进行排序,得到服务序列;过滤服务序列中综合匹配度低于预定阈值的已注册服务,得到对应于服务请求的服务集合。

优选地,在上述方法中,选取服务集合中服务质量最佳的服务,并生成工作流流程定义文件具体包括:根据服务评价模型计算服务集合中各服务的服务质量总值;选取每个服务集合中服务质量总值最大的服务为最佳服务;根据工作流模型定义文件中约定的活动执行顺序将多个最佳服务进行组合;生成对应于最佳服务组合的工作流流程定义文件。

为了实现上述目的,根据本发明的另一方面,还提供了一种EAI工作流管理系统,包括:控制台,用于根据用户需求生成基于服务请求的工作流模型定义文件;查找模块,用于根据工作流模型定义文件查找已注册服务,得到与用户需求匹配的服务集合;选取模块,用于选取服务集合中服务质量最佳的服务,并生成工作流流程定义文件;工作流引擎,用于执行工作流流程定义文件,并调用最佳服务。

优选地,在上述系统中,还包括:注册中心,用于接受服务提供者对提供服务的注册,提供服务包括服务提供者拥有的企业资源。

优选地,在上述系统中,控制台具体包括:用户登录单元,用于接受用户的登录;流程定义单元,用于利用建模工具将用户需求转化为工作流模型定义文件;工作流监控单元,用于向用户提供工作流的实时监控数据,并接收用户对工作流模型定义文件的修改。

优选地,在上述系统中,查找模块具体包括:语义转换器,用于解析工作流模型定义文件,并生成服务请求的语义描述文件;Web本体语言解析器,用于解析语义描述文件中服务请求的服务概述,并提取出服务请求的第一输入/输出元素和前提/效果元素,以及解析每个已注册服务的服务概述,并提取出每个已注册服务的第二输入/输出元素和前提/效果元素;本体推理机,用于根据预定匹配关系列表计算第一输入/输出元素和前提/效果元素与每个第二输入/输出元素和前提/效果元素的元素匹配度;匹配器,用于根据元素匹配度计算服务请求与每个已注册服务的综合匹配度,根据综合匹配度将多个已注册服务进行排序,得到服务序列,并过滤服务序列中综合匹配度低于预定阈值的已注册服务,得到对应于服务请求的服务集合。

优选地,在上述系统中,选取模块具体包括:服务质量计算单元,用于根据服务评价模型计算服务集合中各服务的服务质量总值,并选取每个服务集合中服务质量总值最大的服务为最佳服务;服务组合器,用于根据工作流模型定义文件中约定的活动执行顺序将多个最佳服务进行组合,并生成对应于最佳服务组合的工作流流程定义文件。

上述实施例根据工作流模型定义文件从已注册服务中选取服务质量最佳的服务,并据此生成工作流流程定义文件,当原来的最佳服务不再可用或者服务质量下降时,便会选择新的最佳服务替代前者,这种基于服务质量的评价机制保证了最佳服务的可靠性,即使服务质量发生变化,也总能找到适于当前真实情况的最佳服务,从而提高了EAI工作流管理的动态性能与适应性,有效保证了用户获得服务的服务质量,改善了用户体验,所以克服了相关技术中的EAI工作流系统动态性能较差,无法适应松散耦合的系统应用的问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1示出了根据本发明第一实施例的EAI工作流管理方法的流程图;

图2示出了根据本发明第二实施例的服务注册的流程图;

图3示出了根据本发明第三实施例的服务查找、选取、组合的流程图;

图4示出了根据本发明第四实施例的EAI工作流管理系统的结构图;

图5示出了根据本发明第五实施例的EAI工作流管理系统的结构图;

图6示出了根据本发明第六实施例的服务代理器的结构图。

具体实施方式

下面将参考附图并结合实施例,来详细说明本发明。

图1示出了根据本发明第一实施例的EAI工作流管理方法的流程图,该方法包括以下步骤:

步骤101,根据用户需求生成基于服务请求的工作流模型定义文件;

步骤102,根据工作流模型定义文件查找已注册服务,得到与用户需求匹配的服务集合;

步骤103,选取服务集合中服务质量最佳的服务,并生成工作流流程定义文件;

步骤104,执行工作流流程定义文件,并调用最佳服务。

本实施例提供了一种基于SOA(Service-oriented architecture,面向服务的体系结构)的EAI工作流管理方法,由于本实施例根据工作流模型定义文件从已注册服务中选取服务质量最佳的服务,并据此生成工作流流程定义文件,当原来的最佳服务不再可用或者服务质量下降时,便会选择新的最佳服务替代前者,这种基于服务质量的评价机制保证了最佳服务的可靠性,即使服务质量发生变化,也总能找到适于当前真实情况的最佳服务,从而提高了EAI工作流管理的动态性能与适应性,有效保证了用户获得服务的服务质量,改善了用户体验,所以克服了相关技术中的EAI工作流系统动态性能较差,无法适应松散耦合的系统应用的问题。

优选地,在上述方法中,在步骤101之前,还包括:接受服务提供者对提供服务的注册,提供服务包括服务提供者拥有的企业资源。

本实施例在上述步骤101之前还包括服务提供者将所提供服务在注册中心进行注册的步骤,注册中心包括私有UDDI(UniversalDescription,Discovery,and Integration,统一描述、发现和集成)和公共UDDI;所提供服务通常为封装成Web服务的企业资源,即把企业内部或者企业合作伙伴(联盟公司)的粗粒度的企业应用资源(比如企业组件)封装成Web服务,封装后的Web服务以可插拔的方式连接到企业服务总线上。企业服务总线,是执行工作流流程定义文件并调用最佳服务的工作流引擎与封装的Web服务之间通信的中介方,工作流引擎调用Web服务时,将服务请求参数发送给企业服务总线,企业服务总线完成服务调用,并将执行结果反馈给工作流引擎。本实施例解决相关技术中EAI工作流管理系统的异构性、互操作性等问题,利用SOA将企业和联盟企业现有系统或新建功能封装成Web服务,使用统一外部接口进行服务调用,实现了系统间的互操作和服务的重用。

优选地,在上述方法中,接受服务提供者对提供服务的注册具体包括:记录服务提供者输入的提供服务描述信息;接受服务提供者对提供服务本体文件的指定;验证是否存在与提供服务本体文件相同的服务本体文件;若不存在,则发布并保存提供服务描述信息与提供服务本体文件。

本实施例为上述服务提供者将所提供服务在注册中心进行注册的具体步骤,即服务提供者在私有UDDI或者公共UDDI上注册封装成Web服务的企业资源描述信息,并上传服务的语义描述文件。

图2示出了根据本发明第二实施例的服务注册的流程图,该方法包括以下步骤:

步骤201、用户注册和登陆:服务提供者在私有UDDI或者公共UDDI的注册接口进行用户注册,并使用注册的帐号/口令进行登陆,确保注册服务的真实性和有效性;

步骤202、输入服务相关信息:身份验证合法后,服务提供者在注册新服务时输入服务的相关附属信息,如服务的名称和类别、服务费用、联系人信息等;

步骤203、指定服务本体文件:作为服务描述和服务匹配的关键信息,服务本体文件必须在服务发布时被指定,用户可以选择上传本体文件或指定本体文件的URL;

步骤204、服务发布验证:为保障发布服务的唯一性,系统检查已有的服务OWL(Web Ontology Language,Web本体语言)文件,如果发现服务注册中心里有另一个相同的服务本体文件,则认为该服务己存在,用户无需再重新发布,否则服务发布成功,服务信息和服务本体文件被保存在服务注册中心;此外,用户在发布服务后可以对其己发布的服务进行修改和删除操作。

优选地,在上述方法中,步骤101具体包括:接受用户的登录;利用建模工具将用户需求转化为工作流模型定义文件。

本实施例中工作流用户(不同权限的企业员工、用户和合作伙伴)首先通过用户登录单元登录工作流系统的控制台,具备特定权限的用户登录控制台后,通过对业务流程的分析和使用建模工具,在可视化的工作流定义界面上拖放控件,并与抽象服务库进行交互,将工作流中的每一个活动与抽象服务库中的抽象服务进行绑定,最终生成一个基于XML文档描述的工作流模型定义文件,工作流模型定义文件描述的是一个逻辑上可实现的工作流模型,并不能直接被工作流引擎所执行。

优选地,在上述方法中,步骤101还包括:向用户提供工作流的实时监控数据;接收用户对工作流模型定义文件的修改。

本实施例还支持权限较高的用户通过工作流监控模块对工作流进行实时监控,查询工作流的执行进度和资源状况,甚至对产生的工作流模型定义文件进行修改。本实施例提高了EAI工作流管理的适应性和及时性,当遇到意外情况或新的需求时,只需要调整工作流流程,修改工作流模型定义文件,具体流程活动在什么地方执行、需要什么样的资源,由工作流引擎来完成。

优选地,在上述方法中,步骤102具体包括:解析工作流模型定义文件,并生成服务请求的语义描述文件;根据语义描述文件查找已注册服务,得到对应于服务请求的服务集合。

本实施例首先由语义转换器对工作流模型定义文件进行解析并生成包含语义描述信息的文件,生成文件包含一个或多个对应相应工作流活动的Web服务请求语义描述信息,然后由服务代理器根据语义描述文件,针对每个服务请求,从私有UDDI上查找满足需求的Web服务集合,如果查找不到,再从公共UDDI上查找满足需求的Web服务集合。

优选地,在上述方法中,根据语义描述文件查找已注册服务,得到对应于服务请求的服务集合具体包括:解析语义描述文件中服务请求的服务概述(Service Profile),并提取出服务请求的第一输入/输出IO(Input/Output)元素和前提/效果PE(Premise/Effect)元素,以及解析每个已注册服务的Service Profile,并提取出每个已注册服务的第二IO元素和PE元素;根据预定匹配关系列表计算第一IO元素和PE元素与每个第二IO元素和PE元素的匹配度,得到服务请求与每个已注册服务的综合匹配度;根据综合匹配度将多个已注册服务进行排序,得到服务序列;过滤服务序列中综合匹配度低于预定阈值的已注册服务,得到对应于服务请求的服务集合。

本实施例中的服务代理器在进行服务发现、匹配操作过程中,使用了本体库、本体推理机、IOPE匹配器、OWL解析器等构件。

本体库,包含Web服务的概念以及服务间的关系。本体库包含三方面内容:服务的概念(名称),对应于本体论的类;服务描述所涉及的属性,对应于本体论的属性;定义了概念之间的关系,如等价、包含、不相同、实例等关系,对应与本体论中的关联。为保证本体概念的准确性和一致性,假定领域本体库中的代表某一概念的领域本体是唯一确定的,并可以通过统一资源定位符URL(UniformResource Locator)被外界引用。

本体推理机,建立在本体库上的本体概念推理工具。通过对本体库中两个概念的推理和相似度计算,本体推理机可以得到本体库中任意两个概念的包含关系和匹配度。本体推理机内部维护着一个本体库中概念间的匹配关系的预处理列表,列表中包含了概念间的匹配等级和匹配度。本体推理机的工作包括两个方面。一是建立和维护概念匹配关系列表,随时保持该列表与本体库同步更新;二是接收IOPE匹配器传来的待匹配概念对,在概念匹配关系列表中查询概念对的匹配关系,将查询结果返回给IOPE匹配器。

OWL解析器,对语义转换器生成的语义描述文件中的每个Web服务请求Service Profile信息和UDDI(私有UDDI或者公共UDDI)中的Service Profile文件进行解析,提取出其中的输入/输出、前提/效果元素,再分别送到IOPE匹配器203中进行IO和PE的匹配。

IOPE匹配器,对Service Profile中的输入、输出、前提、效果分别进行匹配,进而求出匹配度。服务的输入和输出本身就是本体概念的集合,另外,服务的前提、效果表达式中不可避免地包含本体概念,所以它们的匹配度直接决定了服务的匹配度。

为了加快匹配速度,需要对本体库进行预处理:对本体库中的每个概念维护一个和其他概念的匹配等级列表,放在本体推理机中,匹配时只需进行简单的查询即可得出概念间的匹配等级。这就要求在建立本体库或向本体库中添加概念时对匹配等级列表同时进行更新,保证等级列表随时反映本体库中概念间的真实包含关系。

优选地,在上述方法中,步骤103具体包括:根据服务评价模型计算服务集合中各服务的服务质量总值;选取每个服务集合中服务质量总值最大的服务为最佳服务;根据工作流模型定义文件中约定的活动执行顺序将多个最佳服务进行组合;生成对应于最佳服务组合的工作流流程定义文件。

本实施例为寻找到满足匹配条件的Web服务集合,即每个满足需求的Web服务集合不为空的情况,此时根据Web服务评价模型,服务代理器从集合中优先选取服务质量QoS(Quality of Service)最佳的服务,服务代理器再根据工作流模型定义文件中约定的活动执行顺序,将每个质量最佳的服务进行组合,生成可执行的工作流流程定义文件,具体说来,由服务代理器通过服务执行器调用一次Web服务,获取Web服务的各个质量属性值,并将服务质量属性值存放到服务质量属性库。服务评价器再根据质量属性库中的属性信息和服务评价模型选择质量最佳的服务,并通知服务组合器,服务组合器根据模型定义文件中约定的活动执行顺序,将各个最佳服务进行服务组合,生成可执行的流程定义文件交付给工作流引擎。为了提高工作流的性能,可在空闲时动态生成流程定义文件,并且定时更新流程定义文件,以确保流程活动所绑定的Web服务质量最佳。

服务执行器,经过IOPE匹配器处理后,如果获取匹配度较高的Web服务集合,服务执行器就通过企业服务总线调用集合中的每个Web服务,并获取Web服务运行时的质量属性(比如响应时间,吞吐率、可靠性等等)值,并将运行时的质量属性值存放到质量属性库中。

质量属性库,存储Web服务的质量属性信息(比如质量属性分类、质量属性名称、质量属性值)。服务质量属性包含通用服务质量和领域相关服务质量两种。通用服务质量指标,主要包括响应时间、可用性、价格、可访问性、可靠性、规范性、安全级别、吞吐率、延迟等。领域相关的服务质量(比如服务价格)属性反映了与特定领域中的业务内容、业务上下文以及服务提供商等相关的信息。服务执行器调用Web服务后,会及时更新服务质量属性库中的服务运行时质量属性。

服务评价器,从服务质量属性库中提取每个服务的属性值,并根据服务评价模型,最终选出服务质量最佳的服务。

服务评价模型采用式(1)表示:

>Qw(Si)=Σi=1nVi·Wi,---(1)>

其中,Qw表示某个服务实例Si的服务质量总值,Vi表示Si在某个质量属性上的取值(取值采用下文的公式(2)和公式(3)线性变换到[0,1]区间),Wi表示服务质量属性的权重。计算出的Qw值越大,表示该服务的质量最佳。

由于服务质量属性有不同类型的取值范围,如果直接对服务质量属性的原始值数据进行加权平均计算,就会使得各结果之间不具备可比性。因此,在进行加权平均计算之前,要对评价因子的原始值进行预处理操作,将它们都映射到同一个区间内。

因为大部分服务质量属性与数据本身之间具有线性变化的特点,所以,本发明采用规格化的方法,将评价因子从其原来的值域线性变换到[0,1]区间上。

具体方法如下:假设服装质量属性F的值域为range=(min,max),它的某个实例的原始度量数据为v。如果该度量指标的取值方向为向上,即v的值越大表示目标对象的服务质量越好(例如Web服务的信誉度等),则按照公式(2)进行规格化;反之,如果该度量指标的取值方向为向下,即v的值越小表示目标对象的服务质量越好(例如Web服务操作的响应时间和延迟时间等),则按照公式(3)进行规格化。

>v=v-minmax-min,minvmax1,vmax0,vmin,---(2)>

>v=max-vmax-min,minvmax1,vmin0,vmax.---(3)>

服务组合器,将服务评价器输出的各个最佳服务按照模型定义文件中约定的活动执行顺序,运用BPEL(Business Process ExecutionLanguage for Web Services,Web服务业务流程执行语言)技术进行服务组合,最终生成工作流引擎可执行的流程定义文件。

图3示出了根据本发明第三实施例的服务代理器进行服务查找、选取、组合的流程图,该方法包括以下步骤:

步骤301、获取服务请求本体描述文件:提取语义转换器生成的文件中的每个Web服务请求本体描述,并将服务请求本体描述(Service Profile信息)输入到OWL解析器中;

步骤302、OWL文件解析。OWL文件解析器对输入的ServiceProfile信息与私有UDDI或者公共UDDI的Service Profile文件进行解析,提取出其中的输入/输出、前提/效果元素,再分别送到IOPE匹配器中进行服务输入、输出、前提、效果的匹配;

步骤303、IOPE匹配:IOPE匹配器对每对服务输入、输出、前提、效果四项指标进行匹配,根据计算出的四项匹配度再求出服务的综合匹配度,并将所有的匹配结果按综合匹配度排序形成一个初步匹配集合;

步骤304、初步匹配集合预处理:由于初步匹配集合中各个服务的匹配度参差不齐,服务代理器对集合进行预处理操作:过滤综合匹配度太低的服务,保留综合匹配度高的服务,经过处理后的服务集合称为候选服务集;

步骤305、执行服务、记录服务QoS值:服务执行器通过企业服务总线调用候选服务集的每个Web服务,并获取Web服务运行时的质量属性值,并将运行时的质量属性值存放到质量属性库中;

步骤306、服务评价和服务选择:服务评价器从服务质量属性库中提取每个服务的属性值,并根据服务评价模型(公式1),计算出每个候选服务的服务质量属性总值,最终选取质量属性总值最大的服务为最佳服务;

步骤307、服务组合:服务评价器将步骤306获取的各个最佳服务按照模型定义文件中约定的活动执行顺序,进行服务组合验证,验证通过后,生成工作流引擎真正可执行的流程定义文件。

本实施例提供的基于SOA的EAI工作流系统,解决了EAI中异构系统的互操作问题,具备动态性高、耦合性低、适应性强等优点。

图4示出了根据本发明第四实施例的EAI工作流管理系统的结构图,该系统包括:

控制台401,用于根据用户需求生成基于服务请求的工作流模型定义文件;

查找模块402,用于根据工作流模型定义文件查找已注册服务,得到与用户需求匹配的服务集合;

选取模块403,用于选取服务集合中服务质量最佳的服务,并生成工作流流程定义文件;

工作流引擎404,用于执行工作流流程定义文件,并调用最佳服务。

本实施例首先采用控制台401根据用户需求生成基于服务请求的工作流模型定义文件,接着采用查找模块402根据工作流模型定义文件查找已注册服务,得到与用户需求匹配的服务集合,然后采用选取模块403选取服务集合中服务质量最佳的服务,并生成工作流流程定义文件,最后采用工作流引擎404执行工作流流程定义文件并调用最佳服务,由于本实施例根据工作流模型定义文件从已注册服务中选取服务质量最佳的服务,并据此生成工作流流程定义文件,当原来的最佳服务不再可用或者服务质量下降时,便会选择新的最佳服务替代前者,这种基于服务质量的评价机制保证了最佳服务的可靠性,即使服务质量发生变化,也总能找到适于当前真实情况的最佳服务,从而提高了EAI工作流管理的动态性能与适应性,有效保证了用户获得服务的服务质量,改善了用户体验,所以克服了相关技术中的EAI工作流系统动态性能较差,无法适应松散耦合的系统应用的问题。

图5示出了根据本发明第五实施例的EAI工作流管理系统的结构图,其中工作流引擎404是工作流管理系统的核心部分,在获取选取模块403生成的流程定义文件后,工作流引擎404通过企业服务总线405调用各个封装Web服务的企业资源。企业服务总线充当工作流引擎404、选取模块403与Web服务通信的消息中间件。服务封装406用于将企业内部或者合作伙伴的粗粒度的资源组件封装成Web服务,并将这些服务连接到企业服务总线上。本实施例解决相关技术中EAI工作流管理系统的异构性、互操作性等问题,利用SOA将企业和联盟企业现有系统或新建功能封装成Web服务,使用统一外部接口进行服务调用,实现了系统间的互操作和服务的重用。

优选地,上述系统还包括:注册中心,用于接受服务提供者对提供服务的注册,提供服务包括服务提供者拥有的企业资源。

本实施例中的注册中心包括私有UDDI 407和公共UDDI408,分别用于注册企业内部和企业外部的Web服务,与传统UDDI不同的是,服务提供者在私有UDDI 407或者公共UDDI 408上注册服务时,除了注册服务的基本信息,还需要上传服务语义描述文件或者提供语义描述文件的URL地址。公共UDDI 408是企业外服务的注册中心,若工作流引擎404在私有UDDI上无法获得需求服务,则可在公共UDDI上进行查找。

本实施例中的注册中心属于EAI工作流管理系统的数据信息部分,该部分还包括本体库409、数据库410、日志库411。

本体库409中存储语义匹配、语义推理操作的领域本体和服务本体。其中包含Web服务的概念以及服务间的关系。本体库包含三方面内容:服务的概念(名称),对应于本体论的类;服务描述所涉及的属性,对应于本体论的属性;定义了概念之间的关系,如等价、包含、不相同、实例等关系,对应与本体论中的关联。为保证本体概念的准确性和一致性,本发明假定领域本体库中的代表某一概念的领域本体是唯一确定的,并可以通过URL被外界引用。

数据库410,主要完成数据映射和同步的工作。由于遗留系统开发的时间和采用的技术不同,可能对于某一类数据信息在不同时期被构建过多次,形成相似的数据模型,而这些模型所表示的信息是相同的,可进行整合以重用,解决遗留数据的冗余性和分布性问题。

日志库411,记录工作流的相关日志信息,使工作流的动态修改成为可能。例如,在流程执行时,由于某种原因需要回退,这就需要查找日志库,获得回退后的相关信息,保证数据完整性和一致性。

优选地,在上述系统中,控制台401具体包括:用户登录单元412,用于接受用户的登录;流程定义单元413,用于利用建模工具将用户需求转化为工作流模型定义文件;工作流监控单元414,用于向用户提供工作流的实时监控数据,并接收用户对工作流模型定义文件的修改。

本实施例中的控制台包括用户登录单元412、流程定义单元413、工作流监控单元414,用于工作流流程定义、修改,流程实时监控等操作。本实施例提高了EAI工作流管理的适应性和及时性,当遇到意外情况或新的需求时,只需要调整工作流流程,修改工作流模型定义文件,具体流程活动在什么地方执行、需要什么样的资源,由工作流引擎来完成。

用户登录单元412,不同权限的企业员工、用户和合作伙伴通过此接口登录工作流系统的控制台401。

流程定义单元413,具备特定权限的用户登录控制台后,通过对业务流程的分析和使用建模工具,在可视化的工作流定义界面上拖放控件,并与抽象服务库进行交互,将工作流中的每一个活动与抽象服务库中的抽象服务进行绑定,最终生成一个基于XML(eXtensible Markup Language,可扩展标记语言)文档描述的工作流模型定义文件。工作流模型定义文件描述的是一个逻辑上可实现的工作流模型,并不能直接被工作流引擎所执行。

工作流监控单元414,权限较高的用户可以对工作流进行实时监控,查询工作流的执行进度和资源状况,甚至可以对流程定义单元413产生的工作流模型定义文件进行修改。

结合图5和图6,查找模块402具体包括:语义转换器415,用于解析工作流模型定义文件,并生成服务请求的语义描述文件;OWL解析器416,用于解析语义描述文件中服务请求的ServiceProfile,并提取出服务请求的第一输入/输出元素和前提/效果元素,以及解析每个已注册服务的Service Profile,并提取出每个已注册服务的第二输入/输出元素和前提/效果元素;本体推理机417,用于根据预定匹配关系列表计算第一输入/输出元素和前提/效果元素与每个第二输入/输出元素和前提/效果元素的元素匹配度;IOPE匹配器418,用于根据元素匹配度计算服务请求与每个已注册服务的综合匹配度,根据综合匹配度将多个已注册服务进行排序,得到服务序列,并过滤服务序列中综合匹配度低于预定阈值的已注册服务,得到对应于服务请求的服务集合。

本实施例中的OWL解析器416、本体推理机417、IOPE匹配器418均属于服务代理器419。本实施例首先采用语义转换器415将控制台中的流程定义单元413转换为基于语义的Web服务请求描述文件,描述文件包含多个Web服务请求,每个服务对应相应的工作流活动。服务代理器419获取语义描述文件后,从私有UDDI 407或者公共UDDI 408中查找满足需求的Web服务集合,并从集合中选择每个质量最佳的服务,最终将所有最佳服务组合起来,形成工作流引擎真正能执行的流程定义文件。

语义转换器415,对流程定义单元413产生的工作流模型定义文件按照既定的规则进行解析,并生成包含语义信息的文件。生成的文件包含多个Web服务(每个Web服务与相应的工作流活动对应)请求信息语义描述。Web服务请求信息采用OWL-S(WebOntology Language for Services,Web服务本体语言)的ServiveProfile进行语义描述。

OWL解析器416,对语义转换器415生成的语义描述文件中的每个Web服务请求Service Profile信息和UDDI(私有UDDI 407或者公共UDDI 408)中的Service Profile文件进行解析,提取出其中的输入/输出、前提/效果元素,再分别送到IOPE匹配器418中进行IO和PE的匹配。

本体推理机417,建立在本体库409上的本体概念推理工具。通过对本体库409中两个概念的推理和相似度计算,本体推理机417可以得到本体库409中任意两个概念的包含关系和匹配度。本体推理机417内部维护着一个本体库中概念间的匹配关系的预处理列表,列表中包含了概念间的匹配等级和匹配度。本体推理机417的工作包括两个方面。一是建立和维护概念匹配关系列表,随时保持该列表与本体库409同步更新;二是接收IOPE匹配器418传来的待匹配概念对,在概念匹配关系列表中查询概念对的匹配关系,将查询结果返回给IOPE匹配器418。

IOPE匹配器418,对Service Profile中的输入、输出、前提、效果分别进行匹配,进而求出匹配度。服务的输入和输出本身就是本体概念的集合,另外,服务的前提、效果表达式中不可避免地包含本体概念,所以它们的匹配度直接决定了服务的匹配度。

为了加快匹配速度,需要对本体库409进行预处理:对本体库中409的每个概念维护一个和其他概念的匹配等级列表,放在本体推理机417中,匹配时只需进行简单的查询即可得出概念间的匹配等级。这就要求在建立本体库409或向本体库409中添加概念时对匹配等级列表同时进行更新,保证等级列表随时反映本体库409中概念间的真实包含关系。

优选地,在上述系统中,选取模块403具体包括:服务质量计算单元420,用于根据服务评价模型计算服务集合中各服务的服务质量总值,并选取每个服务集合中服务质量总值最大的服务为最佳服务;服务组合器421,用于根据工作流模型定义文件中约定的活动执行顺序将多个最佳服务进行组合,并生成对应于最佳服务组合的工作流流程定义文件。

本实施例中的服务质量计算单元420和服务组合器421,也属于服务代理器419。其中服务质量计算单元420用于根据服务评价模型计算服务集合中各服务的服务质量总值,并选取每个服务集合中服务质量总值最大的服务为最佳服务,具体包括服务执行器422、质量属性库423和服务评价器424。

服务执行器422,经过IOPE匹配器418处理后,如果获取匹配度较高的Web服务集合,服务执行器422就通过企业服务总线406调用集合中的每个Web服务,并获取Web服务运行时的质量属性(比如响应时间,吞吐率、可靠性等等)值,并将运行时的质量属性值存放到质量属性库423中。

质量属性库423,存储Web服务的质量属性信息(比如质量属性分类、质量属性名称、质量属性值)。服务质量属性包含通用服务质量和领域相关服务质量两种。通用服务质量指标,主要包括响应时间、可用性、价格、可访问性、可靠性、规范性、安全级别、吞吐率、延迟等。领域相关的服务质量(比如服务价格)属性反映了与特定领域中的业务内容、业务上下文以及服务提供商等相关的信息。服务执行器422调用Web服务后,会及时更新服务质量属性库423中的服务运行时质量属性。

服务评价器424,从服务质量属性库423中提取每个服务的属性值,并根据服务评价模型,最终选出服务质量最佳的服务。

服务评价模型采用式(1)表示,其中,Qw表示某个服务实例Si的服务质量总值,Vi表示Si在某个质量属性上的取值(取值采用下文的公式(2)和公式(3)线性变换到[0,1]区间),Wi表示服务质量属性的权重。计算出的Qw值越大,表示该服务的质量最佳。

由于服务质量属性有不同类型的取值范围,如果直接对服务质量属性的原始值数据进行加权平均计算,就会使得各结果之间不具备可比性。因此,在进行加权平均计算之前,要对评价因子的原始值进行预处理操作,将它们都映射到同一个区间内。

因为大部分服务质量属性与数据本身之间具有线性变化的特点,所以,本发明采用规格化的方法,将评价因子从其原来的值域线性变换到[0,1]区间上。

具体方法如下:假设服装质量属性F的值域为range=(min,max),它的某个实例的原始度量数据为v。如果该度量指标的取值方向为向上,即v的值越大表示目标对象的服务质量越好(例如Web服务的信誉度等),则按照公式(2)进行规格化;反之,如果该度量指标的取值方向为向下,即v的值越小表示目标对象的服务质量越好(例如Web服务操作的响应时间和延迟时间等),则按照公式(3)进行规格化。

服务组合器421,将服务评价器424输出的各个最佳服务按照模型定义文件中约定的活动执行顺序,运用BPEL技术进行服务组合,最终生成工作流引擎可执行的流程定义文件。

从以上的描述中,可以看出,本发明上述的实施例提高了EAI工作流管理的动态性能与适应性,有效保证了用户获得服务的服务质量,改善了用户体验。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号