[发明专利]一种基于ECA规则的服务组合方法在审
申请号: | 201410835896.5 | 申请日: | 2014-12-26 |
公开(公告)号: | CN104618433A | 公开(公告)日: | 2015-05-13 |
发明(设计)人: | 张科;肖治华;廖荣涛;邹澄澄;曾玉荣;周正;王非;余铮;朱小军 | 申请(专利权)人: | 国家电网公司;国网湖北省电力公司信息通信公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F17/30;G06F9/46 |
代理公司: | 武汉东喻专利代理事务所(普通合伙) 42224 | 代理人: | 宋业斌 |
地址: | 100031 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 eca 规则 服务 组合 方法 | ||
技术领域
本发明属于异构数据融合及业务集成技术领域,更具体地,涉及一种基于ECA规则的服务组合方法。
背景技术
随着企业业务需求的不断变化及扩充,如何有效整合各企业及企业各部门之间的业务资源,满足用户多样性的功能需求,已成为一项日益重要的课题。在这种环境之下,Web服务应运而生。Web服务基于一系列底层标准,通过注册、发布及发现等机制,将公共的服务提供给用户。以服务为基础的架构(Service Oriented Architecture,SOA)能够有效屏蔽分布式计算环境下异构的底层环境,构建面向服务的、松耦合的、灵活的企业应用,因而越来越多的企业将自己的业务功能打包成服务发布。
然而,单一的服务无法满足企业业务快速变化的需求。通过服务组合技术,可以将单一的、细粒度的服务通过有效的编排或重组,能够生成粗粒度的、复杂的、具有业务价值的服务,实现业务增值。在当前相关服务组合技术中,以BEA公司、IBM和微软等提出的业务流程执行语言BPEL为代表。BPEL使用XML标准格式来描述Web服务如何重组以形成新的服务,并生成标准文件交由BPEL执行引擎部署。随着企业业务模型日益复杂及用户需求的动态变化,基于BPEL-SOA的架构方式已不能满足应用需求。主要表现在如下方面:一方面,相对固定的业务流程与业务逻辑紧耦合,无法满足业务动态变化的需要;另一方面,服务本身缺少主动性及协调合作的能力。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于ECA规则的服务组合方法,其目的在于解决现有服务组合技术缺少动态性和主动性的问题,能实现以事件驱动服务的动态组合,同时提高了服务的主动性。
为实现上述目的,本发明提供了一种基于ECA规则的服务组合方法,其特征在于,包括如下步骤:(1)以XML格式存储外部服务对应的基本服务信息,注册外部服务;其中,基本服务信息包括服务名、服务地址、操作名、输入消息和输出消息;(2)以XML格式存储ECA规则,建立事件名到相应的ECA规则的映射表;其中,ECA规则包括事件名Event、事件触发条件Condition和活动流程Activity;活动流程Activity包括基本活动BaseActivity和结构化活动StructActivity,其组成分别表示如下:
BaseActivity={Receive,Assign,Invoke,Reply,Emit},
StructActivity={Sequence,Flow,While,Switch};
其中,Receive表示请求输入活动,Assign表示参数赋值活动,Invoke表示服务调用活动,Reply表示响应输出活动,Emit表示事件投递活动;Sequence表示顺序活动,Flow表示并行活动,While表示循环活动,Switch表示条件分支活动;(3)在客户端请求到达后,根据ECA规则,解析请求参数并构建事件对象,将事件对象投递到事件通道,形成先入先出的消息队列;(4)事件引擎从事件通道中获取事件对象,根据事件名到相应的ECA规则的映射表和注册的外部服务,解析并执行事件对象。
优选地,所述步骤(3)进一步包括如下子步骤:(3-1)在客户端请求到达后,解析请求参数,并将其序列化为指定的XML格式,得到序列化的XML字符串;其中,该XML格式与ECA规则中的活动流程Activity中请求输入活动Receive的文本值所定义的格式保持一致;(3-2)构建标准化的事件对象,标准化的事件对象包括事件对象的名称、数据属性和时戳属性;其中,事件对象的名称与ECA规则中的事件名Event一致,事件对象的数据属性为步骤(3-1)得到的序列化的XML字符串,事件对象的时戳属性为创建事件对象的系统绝对时间;(3-3)将标准化的事件对象投递到事件通道,形成先入先出的消息队列;其中,在队列为空时,等待事件触发,并将到达的事件对象投递到队尾,队列长度加一;在队列为满时,若新事件到达则循环等待直到队列非满;在队列不为空也不为满时,由事件引擎主动从队列头获取事件对象,队列长度减一。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家电网公司;国网湖北省电力公司信息通信公司,未经国家电网公司;国网湖北省电力公司信息通信公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410835896.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据跟踪系统与方法
- 下一篇:一种实现互联网缓存系统资源回源的方法和系统