CN101246421A - 一种基于工作流引擎实现的通用框架 - Google Patents
一种基于工作流引擎实现的通用框架 Download PDFInfo
- Publication number
- CN101246421A CN101246421A CNA2008100142825A CN200810014282A CN101246421A CN 101246421 A CN101246421 A CN 101246421A CN A2008100142825 A CNA2008100142825 A CN A2008100142825A CN 200810014282 A CN200810014282 A CN 200810014282A CN 101246421 A CN101246421 A CN 101246421A
- Authority
- CN
- China
- Prior art keywords
- container
- framework
- workflow engine
- engine
- work stream
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于工作流引擎实现的通用框架,属于中间件内核框架结构领域,特别是在JEE的内核框架领域。本方案是通过如下技术措施来实现的,它包括:工作流引擎:用于根据开发者所定义的过程信息调度构件,对构件的调用最终通过适配层完成;构件适配层:构件适配层面向工作流引擎屏蔽构件不同协议的差别,完成构件的输入输出面向工作流引擎的格式映射及转换;容器注册表:容器注册表提供了容器集成注册与管理的空间,并且规范了实现容器所要遵循的接口;容器:容器容纳开发者自定义构件,并通过配置指明在运行时加载的构件。本发明专注于实现一种通用性的框架,该框架的行为可改变,从而适应不同领域的需要。
Description
技术领域
本发明属于中间件内核框架结构领域,特别是在JEE的内核框架领域。
背景技术
框架是一种特殊的软件产品,其本质是一种通过容器容纳某种由应用者扩展的构件并对这些构件的运行进行组织管理的技术。在软件***中应用框架技术的意义在于框架可以提高软件***的可扩展性、灵活性,从而提高整个***适应变化的能力。
框架从结构上可以分为两部分,即:框架引擎和容器。
框架引擎是框架对容器中扩展的构件按配置的要求进行运行管理的模块,是一个框架区别于另一个框架的原因所在,是一个框架的核心,是一个框架灵魂与生命。
容器是存放开发者所实现的构件的模块,容器要定义扩展点。扩展点定义了明确的接口,开发者所实现的构件要实现这些接口。
框架运行的基本原理是通过配置扩展开发者自己实现的构件,框架引擎模块根据配置的信息,按某种特定的运行机制调用构件的功能,从而完成某种定制的功能。
目前,大部分框架实现的容器部分大同小异,而核心部分差别很大,从而体现出面向不同领域的应用特点。某一具体框架的核心部分的实现也大都是固定的,也就是说其运行机制是固定的。这种框架的问题就在于,当框架核心部分所提供的功能不能满足应用的要求时,应用者将无能为力,因为框架本身的行为是不能改变的。这种框架另外一个问题在于,容器所提供的扩展点是固定的,一种容器只能容纳某种特定类型的构件,当有其它类型的构件时,需要采用其它类型的框架实现,从而导致一个***中可能存在多种不同类型的框架技术,给应用者带来了极大的不便。
发明内容
针对目前框架技术的核心功能不能定制的问题,本发明专注于实现一种通用性的框架,该框架的行为可改变,从而适应不同领域的需要。针对框架所容纳的构件类型不能扩展的问题,本发明通过在通用框架之上提供一类特殊的容器,称之为“容器的容器”,实现了容器本身的可扩展,从而可以通过扩展容器来容纳新的构件。
本发明采用工作流技术,解决了前文所提到的框架核心功能不可定制的问题。工作流技术是一种常用的技术,用于实现执行过程可变的任务调度与控制功能。通过工作流建模工具,可对容器中的构件进行流程编排,从而达到定制框架行为的目的。该框架在工作流引擎之上要增加构件之间的数据交换的处理。构件之间的数据格式映射由应用开发时完成,引擎负责执行实际的交换过程。
该框架提供面向JavaBean及Webservice的容器实现,应用开发者可基于框架实现自己所需要的JavaBean或Webservice来扩展框架的功能。同时,更为重要的是,该框架提供容器的扩展点,应用开发者可以实现自己的容器并配置到框架中,该容器可接收面向特定领域的构件的扩展实现。通过这种方式,开发者可以把该框架打造成一个领域框架,从而极大地方便领域内的应用开发。
本方案是通过如下技术措施来实现的,它包括:
工作流引擎:用于根据开发者所定义的过程信息调度构件,对构件的调用最终通过适配层完成;
构件适配层:构件适配层面向工作流引擎屏蔽构件不同协议的差别,完成构件的输入输出面向工作流引擎的格式映射及转换;
容器注册表:容器注册表提供了容器集成注册与管理的空间,并且规范了实现容器所要遵循的接口;
容器:容器容纳开发者自定义构件,并通过配置指明在运行时加载的构件。
所述容器可以面向特定领域的构件实现自定义,并扩展到框架中。容器通过框架所规定的统一的接口向引擎提供构件。
本发明的优点是:
1.框架行为可自定义;
2.方便实现面向特定领域的框架,从而提高应用***的可扩展性、灵活性或者说适应变化的能力;
3.扩展了工作流引擎的应用范围,可以使用工作流引擎控制程序流程、组装***的各个模块,同时也可以控制业务流程。
附图说明
图1为本发明实施例的框架的总体结构图;
图2为本发明实施例运行原理流程图;
图3为本发明实施例中运行流程的流程图。
具体实施方式
具体实施方式
下面将对本发明的实施方式进行详细说明。
一种基于工作流引擎实现的通用框架,如图1所示为该框架的总体结构图。本方案是通过如下技术措施来实现的,它包括:
工作流引擎104:用于根据开发者所定义的过程信息调度构件,对构件的调用最终通过适配层完成;
构件适配层103:构件适配层面向工作流引擎屏蔽构件不同协议的差别,完成构件的输入输出面向工作流引擎的格式映射及转换;
容器注册表102:容器注册表提供了容器集成注册与管理的空间,并且规范了实现容器所要遵循的接口;
容器101:容器容纳开发者自定义构件,并通过配置指明在运行时加载的构件。
所述容器101可以面向特定领域的构件实现自定义,并扩展到框架中。容器通过框架所规定的统一的接口向引擎提供构件。
本发明采用工作流技术,解决了前文所提到的框架核心功能不可定制的问题。工作流技术是一种常用的技术,用于实现执行过程可变的任务调度与控制功能。通过工作流建模工具,可对容器中的构件进行流程编排,从而达到定制框架行为的目的。该框架在工作流引擎之上要增加构件之间的数据交换的处理。构件之间的数据格式映射由应用开发时完成,引擎负责执行实际的交换过程。
该框架提供面向JavaBean及Webservice的容器实现,应用开发者可基于框架实现自己所需要的JavaBean或Webservice来扩展框架的功能。同时,更为重要的是,该框架提供容器的扩展点,应用开发者可以实现自己的容器并配置到框架中,该容器可接收面向特定领域的构件的扩展实现。通过这种方式,开发者可以把该框架打造成一个领域框架,从而极大地方便领域内的应用开发。
本方案的运行过程为:
首先,接收应用通过API调用发出的请求,即步骤201,请求的发出一般是直接通过API调用发出的,在B/S结构的程序中,请求可能来自于一个Servlet。
然后进入步骤202,API中包含了采用哪个流程处理这个请求的信息,引擎根据此信息到流程定义库中找到此配置信息。
开始步骤203,启动并执行此流程的过程如下:
步骤2031,启动此流程。
进入步骤2032,创建第一个节点,并执行此节点要调用的构件。
然后执行步骤2033,实例化构件代理,此代理根据构件的输入参数组织数据。
进而开始步骤2034,通过代理调用构件的方法,代理为构件提供了必要的运行环境。
然后进入步骤2035,代理获取构件返回值,并转化成应用在框架引擎一层所要求的数据格式。
在步骤2036中,判断是否是最后一个节点,如果不是则按顺序循环执行此流程中的每一个构件。
在步骤2036中,如果判断是最后一个构件,则最后进入步骤204,流程执行结束,返回调用请求。
Claims (2)
1.一种基于工作流引擎实现的通用框架,其特征在于包括:
工作流引擎:用于根据开发者所定义的过程信息调度构件,对构件的调用最终通过适配层完成;
构件适配层:构件适配层面向工作流引擎屏蔽构件不同协议的差别,完成构件的输入输出面向工作流引擎的格式映射及转换;
容器注册表:容器注册表提供容器集成注册与管理的空间,并且规范实现容器所要遵循的接口;
容器:容器容纳开发者自定义构件,并通过配置指明在运行时加载的构件。
2.根据权利要求1所述的基于工作流引擎实现的通用框架,其特征在于:上述容器通过框架所规定的统一的接口向引擎提供构件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100142825A CN101246421A (zh) | 2008-02-22 | 2008-02-22 | 一种基于工作流引擎实现的通用框架 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100142825A CN101246421A (zh) | 2008-02-22 | 2008-02-22 | 一种基于工作流引擎实现的通用框架 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101246421A true CN101246421A (zh) | 2008-08-20 |
Family
ID=39946891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100142825A Pending CN101246421A (zh) | 2008-02-22 | 2008-02-22 | 一种基于工作流引擎实现的通用框架 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101246421A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929602A (zh) * | 2012-09-28 | 2013-02-13 | 方正国际软件有限公司 | 基于流程引擎进行流程统一处理的*** |
CN104883392A (zh) * | 2015-04-25 | 2015-09-02 | 哈尔滨工业大学 | 一种基于构件代理模块的航天器接口适配器及采用该适配器实现的数据交互方法 |
CN111897799A (zh) * | 2020-08-04 | 2020-11-06 | 黄河水利委员会信息中心 | 一种基于流程引擎的水文模型服务*** |
CN114331049A (zh) * | 2021-12-13 | 2022-04-12 | 易筑网络科技(苏州)有限公司 | 一种流程快速构建用流程引擎*** |
-
2008
- 2008-02-22 CN CNA2008100142825A patent/CN101246421A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929602A (zh) * | 2012-09-28 | 2013-02-13 | 方正国际软件有限公司 | 基于流程引擎进行流程统一处理的*** |
CN104883392A (zh) * | 2015-04-25 | 2015-09-02 | 哈尔滨工业大学 | 一种基于构件代理模块的航天器接口适配器及采用该适配器实现的数据交互方法 |
CN111897799A (zh) * | 2020-08-04 | 2020-11-06 | 黄河水利委员会信息中心 | 一种基于流程引擎的水文模型服务*** |
CN114331049A (zh) * | 2021-12-13 | 2022-04-12 | 易筑网络科技(苏州)有限公司 | 一种流程快速构建用流程引擎*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284197B (zh) | 基于智能合约的分布式应用平台及实现方法 | |
KR100880536B1 (ko) | 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템 | |
US7730199B2 (en) | Method and system of processing a data stream | |
US20100131076A1 (en) | Control system, and method for configuring a control system | |
CN108400992B (zh) | 一种流式通信数据协议解析软件框架实现***及方法 | |
CN110764752B (zh) | 实现Restful服务图形化服务编排的***及其方法 | |
CN102087594B (zh) | 扩展点和插件的管理方法和装置 | |
CN103077024A (zh) | 一种支持SaaS应用流程按需定制与运行的装置及方法 | |
CN105975261B (zh) | 一种面向统一接口调用的运行时***及运行方法 | |
CN104852939A (zh) | 一种部署能力接口的方法和*** | |
CN110413259A (zh) | Android服务框架、实现扩展服务的方法及装置 | |
CN101673358A (zh) | 基于权限组件对工作流组件中的权限管理的方法及装置 | |
CN101246421A (zh) | 一种基于工作流引擎实现的通用框架 | |
CN111897799A (zh) | 一种基于流程引擎的水文模型服务*** | |
CN103152433A (zh) | 一种分布式服务端框架及其使用、交互、请求处理方法 | |
CN113886731A (zh) | 一种基于iOS平台路由跳转页面的方法及应用 | |
CN102945264A (zh) | 智能启用分布式事务的方法 | |
CN103186386A (zh) | 应用加载方法及*** | |
CN107479870A (zh) | 一种第三方类库调用方法、装置、移动终端及存储介质 | |
CN109857374A (zh) | 移动应用的开发方法及装置 | |
Kim et al. | A Design Technique of Configurable Framework for Home Network Systems | |
Mayer et al. | The UML4SOA profile | |
CN109669793B (zh) | 中间件进程内对象调用方法 | |
CN109298851B (zh) | 一种OSGi异构软件框架的扩展机制适配方法 | |
CN103150162B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080820 |