服务化软件生产方法和装置的制作方法

文档序号:6597416阅读:129来源:国知局
专利名称:服务化软件生产方法和装置的制作方法
技术领域
本发明涉及软件工程技术领域,尤其涉及一种服务化软件生产方法和装置。
背景技术
近年来,随着软件复杂度的提高和软件规模的增大,人们对软件开发效率和软件 产品质量提出了更高要求。同时,为了节省人力和物力资源,现代软件工程对软件开发过程 复用的需求也越来越广泛。因此,软件生产线使上述情况下的大规模生产成为可能。同时, Web服务以其良好的封闭性、松耦合、低成本、高度可集成等特点使软件服务化的理念越来 越深入人心。随着软件服务化的成熟与普及,需要将多个Web服务进行组装和拼接,使其形 成更大规模的服务软件计划和更复杂的业务逻辑功能,来实现互联网应用的集成与协作。 特别是,如何在Internet分布式环境中通过对软件开发过程中工具构件、数据流和控制流 的集成,以达到对组合服务软件系统化、协同化生产的目的成为目前要解决的问题。
目前,针对上述问题,现有技术提供了一种软件生产线系统(SoftwareProduct System),它是由CMU/SEI提出的产品开发的组织方式,借用了以计算机辅助开发软件为目 标的CASE (Computer Aided SoftwareEngineering)理念,提供了半自动化支持,可以最大 限度的实现软件复用,是共享一组共同设计及标准的产品族。 针对上述问题,现有技术还提供了一种产品线,其特点是构架组、构件组和集成组 的分离。构架组负责产品线系统构架的定义和演化。构件组负责根据产品线系统构架,生 产和管理可复用构件。集成组根据具体客户需求、利用产品线系统架构和可复用构件进行 具体的系统集成。 针对上述问题,现有技术还提供了一种软件生产线,具有由三部分构成构件生
产、构件库管理和构件复用,强调以构件为基础,以复用为手段,采取工程化的开发方法和
工业化的生产技术,来推行软件工业化生产模式,以促进软件产业规模的形成。 在实现本发明过程中,发明人发现现有技术中存在服务化软件生产的自动化程度
较低,用户使用不方便。

发明内容
本发明提供一种服务化软件生产方法和装置,用以提高服务化软件生产的自动化 程度,以提高用户使用的方便性。
本发明提供一种服务化软件生产方法,包括 接收管理终端发送的流程图模型,所述流程图模型包括生产所需软件对应的多个 加工工序以及各加工工序对应的生产终端信息; 采用图形配置化工具,将所述流程图模型转换为业务流程建模标注对象实例集, 所述业务流程建模标注对象实例集包括多个业务流程建模标注对象实例,每个业务流程建 模标注对象实例对应一个所述加工工序; 分别获取与各业务流程建模标注对象实例对应的执行文件,以及各执行文件之间的执行顺序信息; 向与所述加工工序对应的生产终端发送相应的执行文件,且控制各生产终端完成 所述执行文件时,生成所述软件。 本发明提供一种服务化软件生产装置,包括 业务逻辑模块,用于接收管理终端发送的流程图模型,所述流程图模型包括生产 所需软件对应的多个加工工序以及各加工工序对应的生产终端信息; 运行控制模块,用于采用图形配置化工具,将所述流程图模型转换为业务流程建
模标注(Business Process Modeling Notation ;以下简称BPMN)对象实例集,所述BPMN
对象实例集包括多个BPMN对象实例,每个BPMN对象实例对应一个所述加工工序;分别生成
与各BPMN对象实例对应的执行文件,以及各执行文件之间的执行顺序信息; 流程引擎控制模块,用于根据所述执行顺序信息,向与加工工序对应的生产终端
发送相应的执行文件,且控制各生产终端完成所述执行文件时,生成所述软件。 本发明的服务化软件生产方法和装置,通过采用图形化配置工具,将接收管理终
端发送的流程图模型转换为BPMN对象实例集,并分别获取与各BPMN对象实例对应的执行
文件,以及各执行文件之间的执行顺序信息,然后向与加工工序对应的生产终端发送相应
的执行文件,且控制各生产终端完成执行文件时,生成软件,从而提高了服务化软件生产的
自动化程度,并提高了用户使用的方便性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以 根据这些附图获得其他的附图。
图1为本发明服务化软件生产方法实施例一结构示意图;
图2为本发明服务化软件生产方法中步骤104实施例二具体流程图;
图3为本发明服务化软件生产方法中步骤103实施例二流程图;
图4为本发明服务化软件生产装置实施例三结构示意图; 图5为本发明服务化软件生产装置中流程引擎控制模块实施例四结构示意图;
图6为本发明服务化软件生产装置中运行控制模块实施例四结构示意图。
具体实施例方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一 图l为本发明服务化软件生产方法实施例一结构示意图,如图l所示,该服务化软 件生产方法包括 步骤101、接收管理终端发送的流程图模型,流程图模型包括生产所需软件对应的
5多个加工工序以及各加工工序对应的生产终端信息; 步骤102、采用图形配置化工具,将流程图模型转换为BPMN对象实例集,BPMN对象实例集包括多个BPMN对象实例,每个BPMN对象实例对应一个加工工序;
步骤103、分别获取与各BPMN对象实例对应的执行文件,以及各执行文件之间的执行顺序信息; 步骤104、向与加工工序对应的生产终端发送相应的执行文件,且控制各生产终端完成执行文件时,生成软件。 在本实施例中,该服务化软件生产方法主要以具有插件机制的Eclipse作为支撑环境,另外,由于Java平台具有移植性,因此在本发明实施例中,采用JVM运行环境,来提供底层支持。同时,本发明实施例所述的管理终端和生产终端,分别为面向不同用户层的软件逻辑实体,其中,管理终端为面向管理员的管理软件,生产终端为面向操作员的操作软件。
具体的,在步骤103中,本发明具体采用BPMN直接执行的方式,当流程图模型转换为BPW^对象实例集后,首先在队列中等待,通过任务池的调度获取执行的机会,该调度采用的方法为先入先出队列(First Input FirstOutput ;以下简称FIFO)的方法,即当线程池内有空闲的线程式,从等待队列中取出最先入队的BPMN对象实例集,然后获取BPMN对象实例集中的各个BPMN对象实例的执行文件,以及各执行文件之间的执行顺序信息。
在本实施例中,通过采用图形化配置工具,将接收管理终端发送的流程图模型转换为BPMN对象实例集,并分别获取与各BPMN对象实例对应的执行文件,以及各执行文件之间的执行顺序信息,然后向与加工工序对应的生产终端发送相应的执行文件,且控制各生产终端完成执行文件时,生成软件。从而提高了服务化软件生产的自动化程度,并提高了用户使用的方便性。
实施例二 图2为本发明服务化软件生产方法中步骤104实施例二具体流程图,如图2所示,
在实施例一的基础上,步骤104具体包括 步骤1041、获取与执行文件相应的软件生产工具; 步骤1042、向与加工工序对应的生产终端发送相应的执行文件; 步骤1043、控制各生产终端根据相应的执行文件和软件生产工具,完成执行文件
以生成软件。 进一步的,在上述实施例的基础上,服务化软件生产方法还包括接收并存储外部输入的图形化配置工具和软件生产工具。 具体的,在本实施例中,接收外部输入的图形化配置工具和软件生产工具可以具体参照OSGI(Open Service Gateway Initiative)标准定义协议,即一套模块化工具规范,该模块化工具规范用于提供集中式的工具注册中心,该集中式的工具注册中心以工具为最小单位,从而使图形化配置工具和软件生产工具可以被工具化的动态发现和按需加载。并且在图形化配置工具和软件生产工具的开发过程中,当图形化配置工具和软件生产工具与协议不相匹配时,只需对图形化配置工具和软件生产工具内部进行修改。这样,即可以保证了外部接口不改变。 更为具体的,每一图形化配置工具或软件生产工具(bundle)包括一个MANIFEST.ME的元数据清单,该元数据清单包括了与其他图形化配置工具或软件生产工具的通信接口和与工具注册中心衔接的相关协议,每一 bundle都可以通过工具注册中心,与图形化配置工具和软件生产工具进行组装,并获取相互的信息。其中,该元数据清单中的Bundle-Activator头信息向工具注册中心发送了该bundle的入口 ,即向工具注册中心发送认证标识,以使工具注册中心判断该bundle是否与协议相匹配,若匹配,则工具注册中心会通过bundle的上下文,构建相应的运行时bundle实例;若不匹配,则bundle的元数据清单会根据协议进行修改后,再将元数据清单中的Bundle-Activator头信息向工具注册中心发送了该bundle的入口,从而使工具注册中心通过bundle的上下文,构建相应的运行时bundle实例。更具体的,在本实施例中,该bundle实例为图形化配置工具和软件生产工具。 更进一步的,为了能够更加有效的提高用户使用的方便性,该服务化软件生产方法还包括在数据库中存储与BPMN对象实例对应的执行文件,以及与执行文件对应的软件
生产工具。 再进一步的,图3为本发明服务化软件生产方法中步骤103实施例二流程图,在上述实施例的基础上,以数据库中存储执行文件,以及各执行文件之间的执行顺序信息为例,详细介绍本发明的技术方案,如图3所示,该服务化软件生产方法中步骤103具体包括
步骤1031、查找数据库中是否存在与BPMN对象实例对应的执行文件,如果存在,调用数据库中与BPMN对象实例对应的执行文件;否则,生成与BPMN对象实例对应的执行文件; 步骤1032、根据多个加工工序之间的关联,生成各执行文件之间的执行顺序信息。
在本实施例中,当数据库中存储有与BP丽对象实例对应的执行文件,以及与执行文件对应的软件生产工具时,则直接调用数据库中与BPMN对象实例对应的执行文件,并根据多个加工工序之间的关联,生成各执行文件之间的执行信息,这样,更加有效的提高了用户使用的方便性。 具体的,在本实施例中,可以通过Java语言实现本发明实施例中提供的服务化软件生产方法,其实现方式示例如下
"〃对每一个BP丽图中的节点
for each oi G Ve do
〃如果其入度为零
if InDegree(oi) = Othen 〃把该活动加入正在执行的节点集合 〃据流对象oi的类型Type(oi)调用执行此F0的方法,并判断节点oi是否有后续FO
while Size(Ve) > 0
if OutDegree (oi) > Othen
〃于每条以执行结束的节点为源的边
fi (fld, oi, oj, Condition) E Vf
〃如果转移条件为真
if Condition(f) = true then〃把边指向的活动加入执行节点集合Ve — {oj} U Ve
end if end for"
实施例三 图4为本发明服务化软件生产装置实施例三结构示意图,如图4所示,该服务化软件生产装置包括业务逻辑模块41、运行控制模块42和流程引擎控制模块43 ;其中,业务逻辑模块41用于接收管理终端发送的流程图模型,流程图模型包括生产所需软件对应的多个加工工序以及各加工工序对应的生产终端信息;运行控制模块42用于采用图形配置化工具,将流程图模型转换为BPMN对象实例集,BPMN对象实例集包括多个BPMN对象实例,每个BPMN对象实例对应一个所述加工工序;分别生成与各BPMN对象实例对应的执行文件,以及各执行文件之间的执行顺序信息;流程引擎控制模块43用于根据执行顺序信息,向与加工工序对应的生产终端发送相应的执行文件,且控制各生产终端完成执行文件时,生成软件。 值得注意的是,执行文件为能够被流程引擎控制模块43可以识别的文件形式;
在本实施例中,业务逻辑模块41发送接收到的由管理终端发送的流程图模型给运行控制模块42,运行控制模块42根据图形化配置工具,将该流程图模型转换为BPMN对象实例集,并分别生成与BPMN对象实例集中各BPMN对象实例对应的执行文件,以及各执行文件之间的执行顺序信息,并将该执行文件和执行顺序发送给流程引擎控制模块43,流程引擎控制模块43根据执行顺序信息,向与加工工序对应的生产终端发送相应的执行文件,且控制各生产终端完成执行文件时,生成软件。 在本实施例中,服务化软件生产装置通过采用图形化配置工具,将接收管理终端发送的流程图模型转换为BPMN对象实例集,并分别获取与各BPMN对象实例对应的执行文件,以及各执行文件之间的执行顺序信息,然后向与加工工序对应的生产终端发送相应的执行文件,且控制各生产终端完成执行文件时,生成软件。从而提高了服务化软件生产的自动化程度,并提高了用户使用的方便性。
实施例四 图5为本发明服务化软件生产装置中流程引擎控制模块实施例四结构示意图,如图5所示,在上述实施例的基础上,该服务化软件生产装置中流程引擎控制模块43包括工具获取单元431、发送单元432和流程控制单元433,其中,工具获取单元431用于获取与执
8行文件相应的软件生产工具;发送单元432用于向与加工工序对应的生产终端发送相应的 执行文件;流程控制单元433用于控制各生产终端根据相应的执行文件和软件生产工具, 完成执行文件以生成软件。 进一步的,该服务化软件生产装置还包括平台基础模块44,用于接收外部输入 的图形化配置工具和软件生产工具; 在本实施例中,该平台基础模块44可以具体为0SGI框架,即参照0SGI标准,从而 使服务化软件生产装置具有高度的松耦合和可扩展性。 这样,流程引擎控制模块43还包括工具资源库434,用于存储平台基础模块44 接收到的图形化配置工具和软件生产工具; 则工具获取单元431具体用于向工具资源库434获取与执行文件相应的软件生产 工具。 更进一步的,在上述实施例的基础上,为了更加有效的提高用户使用的方便性,该 服务化软件生产装置还包括数据库,用于存储与BPW^对象实例对应的执行文件,以及与 执行文件对应的软件生产工具。 另外,在上述实施例的基础上,图6为本发明服务化软件生产装置中运行控制模 块实施例四结构示意图,如图6所示,该服务化软件生产装置中运行控制模块42包括执行 文件获取单元421和关联单元422,其中,执行文件获取单元421用于查找数据库中是否存 在与BPMN对象实例对应的执行文件,如果存在,调用数据库中与BPMN对象实例对应的执行 文件;否则,生成与BPMN对象实例对应的执行文件;关联单元422用于根据多个加工工序 之间的关联,生成各执行文件之间的执行顺序信息。 本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、 RAM、磁碟或者 光盘等各种可以存储程序代码的介质。 最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
一种服务化软件生产方法,其特征在于,包括接收管理终端发送的流程图模型,所述流程图模型包括生产所需软件对应的多个加工工序以及各加工工序对应的生产终端信息;采用图形配置化工具,将所述流程图模型转换为业务流程建模标注对象实例集,所述业务流程建模标注对象实例集包括多个业务流程建模标注对象实例,每个业务流程建模标注对象实例对应一个所述加工工序;分别获取与各业务流程建模标注对象实例对应的执行文件,以及各执行文件之间的执行顺序信息;向与所述加工工序对应的生产终端发送相应的执行文件,且控制各生产终端完成所述执行文件时,生成所述软件。
2. 根据权利要求1所述的服务化软件生产方法,其特征在于,所述向与所述加工工序 对应的生产终端发送相应的执行文件,且控制各生产终端完成所述执行文件时,生成所述 软件,具体包括获取与所述执行文件相应的软件生产工具; 向与所述加工工序对应的生产终端发送相应的执行文件;控制各生产终端根据相应的执行文件和软件生产工具,完成所述执行文件以生成所述 软件。
3. 根据权利要求2所述的服务化软件生产方法,其特征在于,还包括 接收并存储外部输入的图形化配置工具和软件生产工具。
4. 根据权利要求2所述的服务化软件生产方法,其特征在于,还包括 在数据库中存储与业务流程建模标注对象实例对应的执行文件,以及与所述执行文件对应的软件生产工具。
5. 根据权利要求4所述的服务化软件生产方法,其特征在于,所述分别获取与各业务 流程建模标注对象实例对应的执行文件,以及各执行文件之间的执行顺序信息,包括查找所述数据库中是否存在与业务流程建模标注对象实例对应的执行文件,如果存 在,调用所述数据库中与业务流程建模标注对象实例对应的执行文件;否则,生成与业务流 程建模标注对象实例对应的执行文件;根据所述多个加工工序之间的关联,生成各执行文件之间的执行顺序信息。
6. —种服务化软件生产装置,其特征在于,包括业务逻辑模块,用于接收管理终端发送的流程图模型,所述流程图模型包括生产所需 软件对应的多个加工工序以及各加工工序对应的生产终端信息;运行控制模块,用于采用图形配置化工具,将所述流程图模型转换为业务流程建模标 注对象实例集,所述业务流程建模标注对象实例集包括多个业务流程建模标注对象实例, 每个业务流程建模标注对象实例对应一个所述加工工序;分别生成与各业务流程建模标注 对象实例对应的执行文件,以及各执行文件之间的执行顺序信息;流程引擎控制模块,用于根据所述执行顺序信息,向与加工工序对应的生产终端发送 相应的执行文件,且控制各生产终端完成所述执行文件时,生成所述软件。
7. 根据权利要求6所述的服务化软件生产装置,其特征在于,所述流程引擎控制模块 包括工具获取单元,用于获取与所述执行文件相应的软件生产工具;发送单元,用于向与所述加工工序对应的生产终端发送相应的执行文件;流程控制单元,用于控制各生产终端根据相应的执行文件和软件生产工具,完成所述 执行文件以生成所述软件。
8. 根据权利要求7所述的服务化软件生产装置,其特征在于,还包括 平台基础模块,用于接收外部输入的所述图形化配置工具和软件生产工具; 所述流程引擎控制模块,还包括工具资源库,用于存储所述平台基础模块接收到的所述图形化配置工具和软件生产工具-所述工具获取单元,具体用于向所述工具资源库获取与所述执行文件相应的软件生产 工具。
9. 根据权利要求7所述服务化软件生产装置,其特征在于,还包括数据库,用于存储与业务流程建模标注对象实例对应的执行文件,以及与所述执行文 件对应的软件生产工具。
10. 根据权利要求9所述的服务化软件生产装置,其特征在于,所述运行控制模块包括执行文件获取单元,用于查找所述数据库中是否存在与业务流程建模标注对象实例对 应的执行文件,如果存在,调用所述数据库中与业务流程建模标注对象实例对应的执行文 件;否则,生成与业务流程建模标注对象实例对应的执行文件;关联单元,用于根据所述多个加工工序之间的关联,生成各执行文件之间的执行顺序信息。
全文摘要
本发明提供一种服务化软件生产方法和装置,其中,该服务化软件生产方法包括接收管理终端发送的流程图模型,流程图模型包括生产所需软件对应的多个加工工序以及各加工工序对应的生产终端信息;采用图形配置化工具,将流程图模型转换为业务流程建模标注对象实例集,业务流程建模标注对象实例集包括多个业务流程建模标注对象实例,每个业务流程建模标注对象实例对应一个加工工序;分别获取与各业务流程建模标注对象实例对应的执行文件,以及各执行文件之间的执行顺序信息;向与加工工序对应的生产终端发送相应的执行文件,且控制各生产终端完成执行文件时,生成软件。从而提高了服务化软件生产的自动化程度,并提高了用户使用的方便性。
文档编号G06F9/44GK101739259SQ20101003367
公开日2010年6月16日 申请日期2010年1月4日 优先权日2010年1月4日
发明者周超, 孙海龙, 李先贤, 王旭, 许筱, 黄子乘 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1