CN101668047A - 组合服务描述语言自动生成方法及装置 - Google Patents
组合服务描述语言自动生成方法及装置 Download PDFInfo
- Publication number
- CN101668047A CN101668047A CN200910235305A CN200910235305A CN101668047A CN 101668047 A CN101668047 A CN 101668047A CN 200910235305 A CN200910235305 A CN 200910235305A CN 200910235305 A CN200910235305 A CN 200910235305A CN 101668047 A CN101668047 A CN 101668047A
- Authority
- CN
- China
- Prior art keywords
- message
- wsdl
- attribute
- title
- incident
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种组合服务描述语言自动生成方法及装置。该组合服务描述语言自动生成方法包括:解析输入的业务流程建模标记BPMN文件,获取所述BPMN文件包括的图元信息;建立所述图元信息与相应的WSDL对象的映射关系;根据映射处理后的WSDL对象生成WSDL文件。本发明可直接将BPMN规范定义的语义映射生成WSDL文件,避免了中间转换环节造成的信息缺失;此外,减少了在为BPMN生成WSDL文件的过程中的人工干预,具有使用简单,便捷高效等优点。
Description
技术领域
本发明涉及组合服务技术领域,特别是涉及一种组合服务描述语言自动生成方法及装置。
背景技术
随着WEB服务技术的不断发展,将WEB服务组合起来构造复杂的业务流程的需求变得越来越迫切,这种业务流程即为组合服务。基于业务流程建模标记(Business Process Modeling Notation,以下简称BPMN)是一种业务流程建模语言,它提供了一套用于业务流程建模的图形化的标记。业务流程分析人员、建模人员和管理人员可使用统一的图形化建模标记,从而降低了业务处理涉及的人员之间交流的障碍,同时也方便了不同组织之间的业务合作和交互。
根据BPMN规范规定的语义,它不仅可以描述单个业务实体的流程,而且可以描述多个参与者合作完成的业务流程。每个参与者的业务流程在BPMN规范中用一个称为“泳池”(Pool)的图元来表示,通过称为“消息开始事件”和“消息结束事件”的元素与此参与者的客户端程序进行消息交互。业务流程通过“消息开始事件”从客户端接收用户输入的参数信息,通过“消息结束事件”为客户端返回结果。通过称为“接收任务”和“发送任务”以及“中间消息事件”的元素,各个参与者的流程之间可以进行消息交互,通过“接收任务”,参与者流程可以从其它流程收取消息,通过“发送任务”,参与者流程可以向其它流程发送消息。
为了提高组合服务的可重用性,将组合服务重用到更复杂的流程中,可在发布组合服务的同时提供相应的Web服务描述语言(Web ServiceDescription Language,以下简称WSDL)文件。一个WSDL文件包含一系列描述某个WEB服务的定义,主要包括WSDL端口、WSDL消息、WSDL绑定。WSDL端口描述WEB服务的一些可被执行的操作;WSDL消息定义了操作的数据元素;WSDL绑定为每个WSDL端口定义消息格式和协议细节。业务流程编排人员可以忽略组合服务与原子服务的差别,根据服务的WSDL文件理解服务提供的功能,查看服务中的可执行操作,将它们添加到新的业务流程中;而业务流程的直接使用者,即业务流程的客户端程序可以根据此WSDL像调用原子WEB服务一样调用一个业务流程,而不用关心其是一个业务流程还是原子服务。
现有技术基于BPMN文件生成WSDL文件的方法是利用了Eclipse STP的BPMN子项目以及BABLE工具。BABEL工具提供了一种BPMN向业界比较流行的业务流程执行语言(Business Process Execution Language,以下简称BPEL)的转换工具,而BABEL工具基于的BPMN文件也是一种特定格式的BPMN文件,即BABEL BPMN格式的BPMN文件。该方法首先利用Eclipse STP的BPMN子项目进行业务流程建模生成描述业务流程的XML文件,称为STP BPMN文件。通过Eclipse ATL项目提供的工具将STP BPMN转换成BABEL工具可读的BABELBPMN格式。BABEL工具将BABEL BPMN格式的BPMN文件转换为BPEL文件;最后根据BPEL文件手工编写WSDL文件。即现有技术是先将BPMN文件转换为BPEL文件,再根据BPEL文件手工编写相应的WSDL文件。
发明人在实现本发明过程中发现,现有技术至少存在如下缺陷:现有技术在为BMPN文件直接生成相应的WSDL文件过程中,是通过BPEL文件作为中间文件,操作繁琐,在二次转换过程中,可能造成业务流程理解错误和信息缺失;此外,根据BPEL文件生成WSDL文件的方式,完全靠手工编写,因此,还存在费时费力,效率较低等缺陷。
发明内容
本发明提供一种组合服务描述语言自动生成方法及装置,可将BPMN文件自动生成相应WSDL文件,实现使用简单,便捷高效的技术效果。
本发明提供了一种组合服务描述语言自动生成方法,包括:
解析输入的业务流程建模标记BPMN文件,获取所述BPMN文件包括的图元信息;
建立所述图元信息与相应的Web服务描述语言WSDL对象的映射关系;
根据映射处理后的WSDL对象生成WSDL文件。
在上述技术方案的基础上,所述解析输入的业务流程建模标记BPMN文件,获取所述BPMN文件包括的图元信息,可包括:解析并获取所述BPMN文件中包括的泳池信息,初始化上下文列表;为所述BPMN文件中包括的每个泳池建立相应的上下文;获取所述泳池包括的图元信息,在与所述泳池相应的上下文中存储与所述泳池相应图元信息;将包括有所述图元信息的上下文添加到所述上下文列表中。所述泳池包括的图元信息,包括:泳池名称;所述泳池包括的图元,所述图元包括消息开始事件、消息结束事件、接收任务和中间消息事件;所述图元的属性信息,所述属性信息包括WEB服务属性和消息属性信息。
在上述技术方案的基础上,建立所述图元信息与相应的WSDL对象的映射关系,可包括:为所述上下文列表中的每个上下文信息,分别建立与所述上下文信息相应的WSDL对象的映射关系。其中,所述为上下文列表中的每个上下文信息,分别建立与所述上下文信息相应的WSDL对象的映射关系,可包括:生成WSDL定义对象;为所述上下文信息包括的每个消息属性分别构造相应的WSDL消息对象,将所述消息对象加入所述WSDL定义对象中;生成WSDL端口;读取所述上下文信息包括的泳池名称,设置所述WSDL端口的名称与所述上下文信息包括的泳池名称相同;将所述WSDL端口加入所述WSDL定义对象中;在所述WSDL端口中构造第一操作,设置所述第一操作的名称为启动;根据所述上下文信息中的消息开始事件和消息结束事件,构造第二操作,将所述第二操作加入所述WSDL端口中;为所述上下文信息中存储的每个接收任务分别构造相应的第三操作,将所述第三操作加入所述WSDL端口中;为所述上下文信息中存储的每个中间消息事件分别构造相应的第四操作,将所述第四操作加入所述WSDL端口中;为所述WSDL定义对象构造WSDL绑定;为所述WSDL定义对象构造WSDL服务,设置所述WSDL服务的名称与所述上下文信息包括的泳池名称相同。
本发明还提供了一种组合服务描述语言自动生成装置,包括:
解析模块,用于解析输入的业务流程建模标记BPMN文件,获取所述BPMN文件包括的图元信息;
映射模块;用于建立所述图元信息与相应的Web服务描述语言WSDL对象的映射关系;
生成模块,用于根据映射处理后的WSDL对象生成WSDL文件。
本发明提供的组合服务描述语言自动生成方法和装置中,通过建立BPMN文件包括的图元信息与相应的WSDL对象的映射关系,从而可直接将BPMN规范定义的语义映射生成WSDL文件,避免了中间转换环节造成的信息缺失;此外,减少了在为BPMN生成WSDL文件的过程中的人工干预,具有使用简单,便捷高效等优点。
附图说明
图1为本发明组合服务描述语言自动生成方法实施例流程图;
图2为本发明组合服务描述语言自动生成方法中解析BPMN文件实施例流程图;
图3为本发明组合服务描述语言自动生成方法中映射处理实施例流程图;
图4为本发明组合服务描述语言自动生成方法中消息属性映射实施例流程图;
图5为本发明组合服务描述语言自动生成方法中消息开始事件和消息结束事件映射实施例流程图;
图6为本发明组合服务描述语言自动生成方法中接收任务映射实施例流程图;
图7为本发明组合服务描述语言自动生成方法中中间消息事件映射实施例流程图;
图8为本发明组合服务描述语言自动生成装置实施例结构图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明组合服务描述语言自动生成方法实施例流程图。如图1所示,本实施例包括:
步骤1、解析输入的BPMN文件,获取该BPMN文件包括的图元信息。
其中,图元信息可包括该BPMN文件中所有图元及各图元的属性信息。例如:图元信息可包括BPMN文件中的泳池信息,每个泳池包括的图元,以及各图元的属性信息。泳池信息可具体为泳池名称;每个泳池包括的图元可为:消息开始事件、消息结束事件、接收任务和中间消息事件;相应的,各图元的属性信息即为消息开始事件的WEB服务属性和消息属性信息、消息结束事件的消息属性信息、接收任务的WEB服务属性和消息属性信息、以及中间消息事件的WEB服务属性和消息属性信息等。
步骤2、建立BPMN文件中图元信息与相应的WSDL对象的映射关系,即建立BPMN文件中各图元以及各图元的属性信息与WSDL文件元素之间的映射关系。
本发明的解决方案是直接利用BPMN规范提供的消息交互图元及其相关的属性信息自动为表示业务流程的BPMN文件生成对应的WSDL文件。在基于BPMN文件自动生成WSDL文件过程中,可建立BPMN的图元属性与WSDL的对象元素的如下映射:
为BPMN文件中的每个参与者的业务流程(每个参与者的业务流程对应一个泳池图元),生成一个对应的WSDL文件,每个WSDL文件代表一个WEB服务的描述。BPMN文件中的每个参与者流程对外暴露为一个WEB服务,客户端程序可以通过调用每个WEB服务启动相应的业务流程;
对BPMN文件中每个参与者对应的WSDL文件,生成一个WSDL端口,端口名称来自于泳池中图元的名称属性。在WSDL端口中添加一个名称为启动的操作,用于启动参与者业务流程。当客户端程序调用此WSDL描述的WEB服务的启动操作时,相应的业务流程将被启动;
根据参与者的流程之间的消息交互以及与客户端的消息交互情况,生成WSDL中对应的其它信息,包括端口类型,操作以及消息。对于每个参与者的内部业务流程,映射处理包括:如果参与者内部流程中出现消息开始事件,则在生成的WSDL端口中添加一个操作,操作名称来自消息开始事件图元的WEB服务属性中所指明的操作名称,该操作的输入消息来自消息开始事件图元的消息属性。如果参与者内部流程中出现消息结束事件,则不生成新的操作,而是和消息开始事件共同构成一个操作,消息结束事件图元的消息属性构成该操作的输出消息;通过该操作,可以了解此流程需要用户输入的参数,以及调用此流程可以得到的结果。客户端程序通过调用操作向参与者流程提供输入参数,并获得流程执行返回的消息。对于参与者内部流程中出现的每一个接收任务和中间消息事件,都在WSDL端口中添加一个操作,此操作的名称来自接收任务或者中间消息事件图元的WEB服务属性中所指明的操作名称,该操作的输入消息来自接收任务或者消息中间事件图元的消息属性。其它参与者可以通过调用此操作向此参与者发出请求,向此参与者传递消息。
步骤3、根据映射处理后的WSDL对象生成WSDL文件。例如,可将映射处理后的WSDL对象持久化为WSDL文件,存储到硬盘上。
本实施例通过建立BPMN文件包括的上下文信息(即BPMN文件包括的各图元及各图元的属性信息)与相应的WSDL对象的映射关系,从而可直接将BPMN规范定义的语义映射生成WSDL文件,避免了中间转换环节造成的信息缺失;此外,减少了在为BPMN文件生成WSDL文件的过程中的人工干预,具有使用简单,便捷高效等优点。
图2为本发明组合服务描述语言自动生成方法中解析BPMN文件实施例流程图。本实施例可为本发明组合服务描述语言自动生成方法实施例步骤1的一种实现方式,具体可包括:
步骤11、解析BPMN文件,获取BPMN文件中包括的所有泳池信息,初始化上下文列表。
步骤12、为BPMN文件中包括的每个泳池建立相应的上下文,该上下文用以保存为生成WSDL文件,在每个泳池中需提取的图元信息。
步骤13、判断BPMN文件中是否有未解析过的泳池,如果有,执行步骤14;如果没有,执行步骤16。
步骤14、获取未解析过的当前泳池包括的图元信息,在与该泳池相应的上下文中存储与该泳池相应图元信息。具体的,步骤14可包括:
步骤141、读取当前泳池的名称并存入与该泳池相应的上下文中。
步骤142、读取当前泳池包括的消息开始事件以及消息开始事件的WEB服务属性和消息属性信息并存入与该泳池相应的上下文中。
步骤143、读取当前泳池包括的消息结束事件以及消息结束事件的消息属性信息并存入与该泳池相应的上下文中。
步骤144、读取当前泳池包括的所有接收任务以及各接收任务的WEB服务属性和消息属性信息,形成接收任务列表,并存入与该泳池相应的上下文中。
步骤145、读取当前泳池包括的所有中间消息事件和各中间消息事件的WEB服务属性和消息属性信息,形成中间消息事件列表,并存入与该泳池相应的上下文中,执行步骤15。
其中,步骤141-145的执行次序可以灵活设置;在获取BPMN包括的各泳池的图元信息之后,执行步骤15。
步骤15、将包括有所述图元信息的上下文添加到所述上下文列表中。
步骤16、结束BPMN文件的解析流程,执行步骤2。
通过本实施例可获取BPMN文件包括的各图元以及各图元的属性信息,为直接将BPMN规范定义的语义映射WSDL文件的对象元素提供信息。
图3为本发明组合服务描述语言自动生成方法中映射处理实施例流程图。本实施例为本发明组合服务描述语言自动生成方法实施例步骤2的一种具体实现方式。本实施例中,建立BPMN文件图元信息与相应的WSDL对象的映射关系,可包括:为上下文列表中的每个上下文信息,分别建立与各自上下文信息相应的WSDL对象的映射关系。如图3所示,对于上下文列表中的每个上下文信息,执行如下映射处理:
步骤21、生成WSDL定义(Definition)对象。
步骤22、读取上下文信息中存储的所有消息属性,为每个消息属性分别构造相应的WSDL消息对象,将WSDL消息对象加入WSDL定义(Definition)对象中。
步骤23、生成一个WSDL端口;读取上下文信息存储的泳池名称,设置该WSDL端口的名称与上下文信息存储的泳池名称相同;将该WSDL端口加入WSDL定义(Definition)对象中。
步骤24、在步骤23生成的WSDL端口中构造一个操作(以下称为第一操作),设置第一操作的名称为启动;第一操作没有输入消息也没有输出消息。
步骤25、根据上下文信息中的消息开始事件和消息结束事件,构造一个操作(以下称为第二操作),将第二操作加入步骤23生成的WSDL端口中。
步骤26、为上下文信息中存储的每个接收任务分别构造相应的操作(以下称为第三操作),将第三操作加入步骤23生成的WSDL端口中。
步骤27、为上下文信息中存储的每个中间消息事件分别构造相应的操作(以下称为第四操作),将第四操作加入步骤23生成的WSDL端口中。
步骤28、为WSDL定义(Definition)对象构造WSDL绑定。例如:默认步骤23生成的WSDL端口绑定HTTP协议。
步骤29、为WSDL定义(Definition)对象构造WSDL服务,例如:读取上下文信息中存储的泳池名称,设置WSDL服务的名称与上下文信息存储的泳池名称相同;执行步骤3。
在本实施例技术方案的基础上,用户在WSDL文件生成之后,用户可以根据业务流程的实际部署情况对WSDL文件中的WSDL绑定中绑定的协议(步骤28)进行重新指定,对WSDL服务中的服务的URL(步骤29)进行更改。
通过本实施例可建立BPMN文件包括的图元信息(图元以及各图元的属性信息),与WSDL对象元素的映射关系,有利于直接将BPMN规范定义的语义自动映射生成WSDL文件,减少人工干预,方便高效。
图4为本发明组合服务描述语言自动生成方法中消息属性映射实施例流程图。本实施例为图3中步骤22的一种具体实现方式。如图4所示,对于上下文信息存储的图元的每个消息属性,执行如下映射处理:
步骤221、生成WSDL消息对象;读取所述消息属性的名称子属性;设置所述WSDL消息对象的名称与所述WSDL消息对象相应的消息属性的名称子属性相同。
步骤222、构造WSDL消息对象的子(PART)对象,执行步骤223。其中步骤222可包括:
步骤2221、获取消息属性中包括的所有子属性,每个子属性包括各自的名称子属性和类型子属性。
步骤2222、设置子(PART)对象的名称与该子(PART)对象相应的子属性的名称子属性相同,且该子(PART)对象的类型属性与该子(PART)对象相应的子属性的类型子属性相同。
每个消息属性包括各自的名称子属性。对于每个消息属性包括多个子属性时,每个子属性均包括各自的名称子属性和类型子属性。在每个WSDL消息对象中,需要构造的子(PART)对象的数量与每个消息属性包括的子属性的数量相同,即:WSDL消息对象中的子对象与消息属性包括的子属性一一对应,即:子对象的名称与相应的子属性的名称子属性相同,且该子对象的类型属性与相应的所述子属性的类型子属性相同。
步骤2223、将子(PART)对象添加到相应的WSDL消息对象中,执行步骤223。
步骤223、将所有WSDL消息对象添加到相应的WSDL定义(Definition)对象中。
通过本实施例可建立BPMN文件包括的图元的消息属性与WSDL对象元素的映射关系,有利于直接将BPMN规范定义的语义自动映射生成WSDL文件,保证消息属性映射的完整性和准确性,减少人工干预,方便高效。
图5为本发明组合服务描述语言自动生成方法中消息开始事件和消息结束事件映射实施例流程图。本实施例为图3中步骤25的一种具体实现方式。如图5所示,对于上下文信息存储的消息开始事件和消息结束事件,执行如下映射处理:
步骤251、判断上下文信息中是否存储有消息开始事件,如果有,执行步骤252;否则,执行步骤253。
步骤252、根据消息开始事件构造第二操作,执行步骤253。其中,步骤252可包括:
步骤2521、读取消息开始事件的WEB服务属性的操作名称和消息属性的名称子属性;
步骤2522、设置第二操作的名称与消息开始事件的WEB服务属性的操作名称相同,且第二操作的输入消息名称与消息开始事件的消息属性的名称子属性相同;执行步骤253。
步骤253、判断上下文信息中是否存储有消息结束事件,如果有,执行步骤254;否则,执行步骤255。
步骤254、根据消息结束事件继续构造第二操作,读取消息结束事件的消息属性的名称子属性,设置第二操作输出消息名称与该消息结束事件的消息属性的名称子属性相同。
步骤255、将第二操作添加到WSDL端口中,执行步骤26。
通过本实施例可建立BPMN文件包括的图元的消息开始事件和消息结束事件与WSDL对象元素的映射关系,有利于直接将BPMN规范定义的语义自动映射生成WSDL文件,保证消息开始事件和消息结束事件映射的完整性和准确性,减少人工干预,方便高效。
图6为本发明组合服务描述语言自动生成方法中接收任务映射实施例流程图。本实施例为图3中步骤26的一种具体实现方式。如图6所示,遍历上下文信息中存储的接收任务列表,对于每个接收任务,执行如下映射处理:
步骤261、读取接收任务的WEB服务属性的操作名称和消息属性的名称子属性。
步骤262、设置第三操作的操作名称与接收任务的WEB服务属性的操作名称属性相同,第三操作的输入消息名称与所述接收任务的消息属性的名称子属性相同。
步骤263、将第三操作添加到WSDL端口中,执行步骤27。
通过本实施例可建立BPMN文件包括的图元的接收任务与WSDL对象元素的映射关系,有利于直接将BPMN规范定义的语义自动映射生成WSDL文件,保证接收任务映射的完整性和准确性,减少人工干预,方便高效。
图7为本发明组合服务描述语言自动生成方法中中间消息事件映射实施例流程图。本实施例为图3中步骤27的一种具体实现方式。如图7所示,遍历上下文信息中存储的中间消息事件列表,对于上下文信息存储的每个中间消息事件,执行如下映射处理:
步骤271、读取中间消息事件的WEB服务属性的操作名称和消息属性的名称子属性。
步骤272、设置第四操作的操作名称与中间消息事件的WEB服务属性的操作名称属性相同,第四操作的输入消息名称与中间消息事件的消息属性的名称子属性相同。
步骤273、将第四操作添加到WSDL端口中,执行步骤28。
通过本实施例可建立BPMN文件包括的图元的中间消息事件与WSDL对象元素的映射关系,有利于直接将BPMN规范定义的语义自动映射生成WSDL文件,保证中间消息事件映射的完整性和准确性,减少人工干预,方便高效。
图8为本发明组合服务描述语言自动生成装置实施例结构图。如图8所示,本实施例包括:解析模块81、映射模块82和生成模块83。
解析模块81用于解析输入的BPMN文件,获取BPMN文件包括的图元信息。
映射模块82用于建立解析模块81获取的图元信息与相应的WSDL对象的映射关系。
生成模块83用于根据映射模块82映射处理后的WSDL对象生成WSDL文件,即生成模块83用于将映射模块82生成的WSDL中的对象持久化为WSDL文件。
此外,本实施例还可包括:输入模块84和输出模块85。
输入模块84用于输入向解析模块81输入BPMN文件。
输出模块85用于输出生成模块83生成的BPMN文件对应的一个或多个WSDL文件。
在本实施例技术方案的基础上,本实施例解析模块81可进一步包括:获取单元811、上下文生成单元812和添加单元813。
获取单元811用于解析并获取BPMN文件中包括的泳池信息,初始化上下文列表;
上下文生成单元812用于为BPMN文件中包括的每个泳池建立相应的上下文;获取泳池包括的图元信息,在与该泳池相应的上下文中存储与该泳池相应图元信息。其中,图元信息可包括:泳池名称;所述泳池包括的图元,所述图元包括消息开始事件、消息结束事件、接收任务和中间消息事件;所述图元的属性信息,所述属性信息包括WEB服务属性和消息属性信息。
添加单元813用于将上下文生成单元812生成的包括有图元信息的上下文添加到上下文列表中。
在本实施例技术方案的基础上,本实施例映射模块82可进一步包括:定义对象生成单元821、消息对象生成单元822、端口生成单元823、第一操作构造单元824、第二操作构造单元825、第三操作构造单元826、第四操作构造单元827、绑定构造单元828和服务构造单元829。
定义对象生成单元821用于生成WSDL定义对象。
消息对象生成单元822用于为上下文信息包括的每个消息属性分别构造相应的WSDL消息对象,将消息对象加入定义对象生成单元821生成的WSDL定义对象中。
端口生成单元823用于生成WSDL端口;读取上下文信息包括的泳池名称,设置WSDL端口的名称与上下文信息包括的泳池名称相同;将WSDL端口加入定义对象生成单元821生成的WSDL定义对象中。
第一操作构造单元824用于在端口生成单元823生成的WSDL端口中构造第一操作,设置第一操作的名称为启动。
第二操作构造单元825用于根据上下文信息中存储的消息开始事件和消息结束事件,构造第二操作,将第二操作加入端口生成单元823生成的WSDL端口中。
第三操作构造单元826用于为上下文信息中存储的每个接收任务分别构造相应的第三操作,将第三操作加入端口生成单元823生成的WSDL端口中。
第四操作构造单元827用于为上下文信息中存储的每个中间消息事件分别构造相应的第四操作,将第四操作加入端口生成单元823生成的WSDL端口中。
绑定构造单元828用于为定义对象生成单元821生成的WSDL定义对象构造WSDL绑定。
服务构造单元829用于为定义对象生成单元821生成的WSDL定义对象构造WSDL服务,设置WSDL服务的名称与上下文信息包括的泳池名称相同。
相应的,生成模块83还可用于将根据每个WSDL上下文生成的WSDL定义对象持久化为WSDL文件,存储到硬盘上。用户可以根据业务流程的实际部署情况对WSDL文件中的WSDL绑定中绑定的协议进行重新指定,对WSDL服务中的服务的URL做更改。
关于本发明组合服务描述语言自动生成装置实施例的工作流程实例可参见本发明组合服务描述语言自动生成方法实施例的描述及图1-7记载,其中,有关解析模块的工作流程实例可参见图2的记载;有关映射模块的工作流程实例可参见图3-7的记载,具体的,有关消息对象生成单元的工作流程实例可参见图4的记载,有关第二操作构造单元的工作流程实例可参见图5的记载,有关第三操作构造单元的工作流程实例可参见图6的记载,有关第四操作构造单元的工作流程实例可参见图7的记载;不再赘述。
通过上述技术方案分析可知,本发明组合服务描述语言自动生成方法和装置,可直接将BPMN规范定义的语义映射生成WSDL,在为BPMN生成WSDL的过程中不需要较多的人工干预,具有使用简单,便捷高效的特点。此外,将消息开始事件,中间消息时间和接收任务,以及消息结束事件的相关信息暴露在生成的WSDL文件中,即将参与者之间以及参与者与客户端之间消息交互的语义表现在生成的WSDL文件中。根据生成的WSDL文件,业务流程的各个参与者可了解参与者相互之间如何调用以及如何传递参数,并且客户端也可了解某个参与者流程需要客户输入哪些信息,流程可以给客户端返回哪些结果信息,极大提高了使用的方便性和高效性。
本领域普通技术人员可以理解:附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (10)
1、一种组合服务描述语言自动生成方法,其特征在于,包括:
解析输入的业务流程建模标记BPMN文件,获取所述BPMN文件包括的图元信息;
建立所述图元信息与相应的Web服务描述语言WSDL对象的映射关系;
根据映射处理后的WSDL对象生成WSDL文件。
2、根据权利要求1所述的方法,其特征在于,所述解析输入的BPMN文件,获取所述BPMN文件包括的图元信息,包括:
解析并获取所述BPMN文件中包括的泳池信息,初始化上下文列表;
为所述BPMN文件中包括的每个泳池建立相应的上下文;
获取所述泳池包括的图元信息,在与所述泳池相应的上下文中存储与所述泳池相应图元信息;
将包括有所述图元信息的上下文添加到所述上下文列表中。
3、根据权利要求2所述的方法,其特征在于,所述泳池包括的图元信息,包括:泳池名称;所述泳池包括的图元,所述图元包括消息开始事件、消息结束事件、接收任务和中间消息事件;所述图元的属性信息,所述属性信息包括WEB服务属性和消息属性信息。
4、根据权利要求3所述的方法,其特征在于,建立所述图元信息与相应的WSDL对象的映射关系,包括:
为所述上下文列表中的每个上下文信息,分别建立与所述上下文信息相应的WSDL对象的映射关系。
5、根据权利要求4所述的方法,其特征在于,所述为上下文列表中的每个上下文信息,分别建立与所述上下文信息相应的WSDL对象的映射关系,包括:
生成WSDL定义对象;
为所述上下文信息包括的每个消息属性分别构造相应的WSDL消息对象,将所述消息对象加入所述WSDL定义对象中;
生成WSDL端口;读取所述上下文信息包括的泳池名称,设置所述WSDL端口的名称与所述上下文信息包括的泳池名称相同;将所述WSDL端口加入所述WSDL定义对象中;
在所述WSDL端口中构造第一操作,设置所述第一操作的名称为启动;
根据所述上下文信息中的消息开始事件和消息结束事件,构造第二操作,将所述第二操作加入所述WSDL端口中;
为所述上下文信息中存储的每个接收任务分别构造相应的第三操作,将所述第三操作加入所述WSDL端口中;
为所述上下文信息中存储的每个中间消息事件分别构造相应的第四操作,将所述第四操作加入所述WSDL端口中;
为所述WSDL定义对象构造WSDL绑定;
为所述WSDL定义对象构造WSDL服务,设置所述WSDL服务的名称与所述上下文信息包括的泳池名称相同。
6、根据权利要求5所述的方法,其特征在于,为所述上下文信息包括的每个消息属性分别构造相应的WSDL消息对象,包括:
生成WSDL消息对象;读取所述消息属性的名称子属性;设置所述WSDL消息对象的名称与所述消息属性的名称子属性相同;
获取所述消息属性中包括的所有子属性,每个子属性包括各自的名称子属性和类型子属性;
在所述WSDL消息对象中设置与每个子属性相应的子对象,设置所述子对象的名称与相应的所述子属性的名称子属性相同,所述子对象的类型属性与相应的所述子属性的类型子属性相同;
将所述子对象添加到相应的WSDL消息对象中。
7、根据权利要求5所述的方法,其特征在于,所述根据上下文信息中的消息开始事件和消息结束事件构造第二操作,将所述第二操作加入所述WSDL端口中,包括:
判断所述上下文信息中是否存储有消息开始事件,如果有,读取所述消息开始事件的WEB服务属性的操作名称和消息属性的名称子属性,设置所述第二操作的名称与所述消息开始事件的WEB服务属性的操作名称相同,且所述第二操作的输入消息名称与所述消息开始事件的消息属性的名称子属性相同;如果没有,设置第二操作的操作名称为预设的字符串;
判断所述上下文信息中是否存储有消息结束事件,如果有,读取所述消息结束事件的消息属性的名称子属性,设置所述第二操作输出消息名称与所述消息结束事件的消息属性的名称子属性相同,并将所述第二操作添加到所述WSDL端口中;如果没有,将所述第二操作添加到所述WSDL端口中。
8、根据权利要求5所述的方法,其特征在于,所述为上下文信息中存储的每个接收任务分别构造相应的第三操作,包括:
读取所述接收任务的WEB服务属性的操作名称和消息属性的名称子属性;
设置所述第三操作的操作名称与所述接收任务的WEB服务属性的操作名称属性相同,所述第三操作的输入消息名称与所述接收任务的消息属性的名称子属性相同。
9、根据权利要求5所述的方法,其特征在于,为所述上下文信息中存储的每个中间消息事件分别构造相应的第四操作,包括:
读取所述中间消息事件的WEB服务属性的操作名称和消息属性的名称子属性;
设置所述第四操作的操作名称与所述中间消息事件的WEB服务属性的操作名称属性相同,所述第四操作的输入消息名称与所述中间消息事件的消息属性的名称子属性相同。
10、一种实现权利要求1~9任一所述的组合服务描述语言自动生成方法的组合服务描述语言自动生成装置,其特征在于,包括:
解析模块,用于解析输入的业务流程建模标记BPMN文件,获取所述BPMN文件包括的图元信息;
映射模块;用于建立所述图元信息与相应的Web服务描述语言WSDL对象的映射关系;
生成模块,用于根据映射处理后的WSDL对象生成WSDL文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910235305A CN101668047B (zh) | 2009-09-30 | 2009-09-30 | 组合服务描述语言自动生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910235305A CN101668047B (zh) | 2009-09-30 | 2009-09-30 | 组合服务描述语言自动生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101668047A true CN101668047A (zh) | 2010-03-10 |
CN101668047B CN101668047B (zh) | 2012-09-19 |
Family
ID=41804486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910235305A Expired - Fee Related CN101668047B (zh) | 2009-09-30 | 2009-09-30 | 组合服务描述语言自动生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101668047B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254233A (zh) * | 2010-05-20 | 2011-11-23 | 深圳市金蝶中间件有限公司 | 流程驱动方法及装置 |
CN102542406A (zh) * | 2011-12-15 | 2012-07-04 | 北京航空航天大学 | 跨粒度业务流程查询方法和设备 |
CN102650953A (zh) * | 2011-02-28 | 2012-08-29 | 北京航空航天大学 | 并发优化的bpmn组合服务执行引擎及方法 |
CN103841525A (zh) * | 2012-11-21 | 2014-06-04 | 三星电子株式会社 | 基于消息的会话操作方法以及支持所述方法的移动终端 |
CN104699758A (zh) * | 2015-02-04 | 2015-06-10 | 中国人民解放军装甲兵工程学院 | 一种图文库关联的指挥文书智能生成系统与方法 |
CN107526717A (zh) * | 2017-07-27 | 2017-12-29 | 山东科技大学 | 一种将结构化流程模型自动生成自然语言文本的方法 |
CN112162737A (zh) * | 2020-10-13 | 2021-01-01 | 深圳晶泰科技有限公司 | 一种有向无环图式自动任务流的通用描述语言数据系统 |
CN112667202A (zh) * | 2020-12-07 | 2021-04-16 | 南方电网数字电网研究院有限公司 | Mda与bpmn相结合的软件设计方法和装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230030393A1 (en) * | 2020-10-13 | 2023-02-02 | Shenzhen Jingtai Technology Co., Ltd. | General description language data system for directed acyclic graph automatic task flow |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100383731C (zh) * | 2005-08-25 | 2008-04-23 | 复旦大学 | 一个Web Services的实时、动态合成方法 |
-
2009
- 2009-09-30 CN CN200910235305A patent/CN101668047B/zh not_active Expired - Fee Related
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254233A (zh) * | 2010-05-20 | 2011-11-23 | 深圳市金蝶中间件有限公司 | 流程驱动方法及装置 |
CN102254233B (zh) * | 2010-05-20 | 2014-04-23 | 深圳市金蝶中间件有限公司 | 流程驱动方法及装置 |
CN102650953A (zh) * | 2011-02-28 | 2012-08-29 | 北京航空航天大学 | 并发优化的bpmn组合服务执行引擎及方法 |
WO2012116513A1 (zh) * | 2011-02-28 | 2012-09-07 | 北京航空航天大学 | 并发优化的bpmn组合服务执行引擎及方法 |
CN102650953B (zh) * | 2011-02-28 | 2014-05-07 | 北京航空航天大学 | 并发优化的bpmn组合服务执行引擎及方法 |
CN102542406A (zh) * | 2011-12-15 | 2012-07-04 | 北京航空航天大学 | 跨粒度业务流程查询方法和设备 |
CN103841525A (zh) * | 2012-11-21 | 2014-06-04 | 三星电子株式会社 | 基于消息的会话操作方法以及支持所述方法的移动终端 |
CN104699758A (zh) * | 2015-02-04 | 2015-06-10 | 中国人民解放军装甲兵工程学院 | 一种图文库关联的指挥文书智能生成系统与方法 |
CN104699758B (zh) * | 2015-02-04 | 2017-10-27 | 中国人民解放军装甲兵工程学院 | 一种图文库关联的指挥文书智能生成系统与方法 |
CN107526717A (zh) * | 2017-07-27 | 2017-12-29 | 山东科技大学 | 一种将结构化流程模型自动生成自然语言文本的方法 |
CN107526717B (zh) * | 2017-07-27 | 2021-01-01 | 山东科技大学 | 一种将结构化流程模型自动生成自然语言文本的方法 |
CN112162737A (zh) * | 2020-10-13 | 2021-01-01 | 深圳晶泰科技有限公司 | 一种有向无环图式自动任务流的通用描述语言数据系统 |
CN112667202A (zh) * | 2020-12-07 | 2021-04-16 | 南方电网数字电网研究院有限公司 | Mda与bpmn相结合的软件设计方法和装置 |
CN112667202B (zh) * | 2020-12-07 | 2023-06-30 | 南方电网数字电网研究院有限公司 | Mda与bpmn相结合的软件设计方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101668047B (zh) | 2012-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101668047B (zh) | 组合服务描述语言自动生成方法及装置 | |
CN101777143A (zh) | 一种业务单据转换的方法、装置及系统 | |
CN102541541B (zh) | 界面生成方法和装置 | |
CN104484216A (zh) | 服务接口文档和在线测试工具生成方法、装置 | |
CN102426519B (zh) | 基于关联数据的bpel模板和服务的复用方法及其系统 | |
CN103970737A (zh) | 一种数据构造方法和装置 | |
CN101488086A (zh) | 一种基于领域模型的软件生成方法及装置 | |
CN113835693B (zh) | 代码生成方法、装置、电子设备、存储介质 | |
CN107016094A (zh) | 一种项目共享文件多人协同开发方法、装置及系统 | |
CN110244941A (zh) | 任务开发方法、装置、电子设备及计算机可读存储介质 | |
CN110008195A (zh) | 一种动态配置html转pdf的方法、装置及系统 | |
CN101968782B (zh) | 一种基于银行系统的报表表样转换系统及方法 | |
CN103164476A (zh) | 一种bi应用元数据描述文件的执行方法和装置 | |
CN102520953B (zh) | 基于bpmn的页面生成方法和装置 | |
CN101976189A (zh) | 组件展现方法和装置 | |
CN104378362B (zh) | 用于进行报文接口转换的方法及装置 | |
CN1214486A (zh) | 源代码变换方法和记录媒质 | |
CN101320453B (zh) | 基于Web服务的电子公文流转自动化方法 | |
CN102411498A (zh) | 一种实现数据模型的方法及图形化设计器 | |
CN107528839A (zh) | 一种接口报文的配置方法及装置 | |
CN107133040A (zh) | 一种标准产品业务装置及业务模块扩展置换方法 | |
CN116301813A (zh) | 低代码平台开发方法及系统 | |
CN101499004A (zh) | 连接虚拟机和用户接口的系统和方法 | |
CN101867888A (zh) | 彩信发送方法及系统 | |
CN102646131B (zh) | 物联网物页处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120919 Termination date: 20170930 |