CN1728705A - 基于Jini技术的工作流服务自动配置系统 - Google Patents

基于Jini技术的工作流服务自动配置系统 Download PDF

Info

Publication number
CN1728705A
CN1728705A CN 200510028213 CN200510028213A CN1728705A CN 1728705 A CN1728705 A CN 1728705A CN 200510028213 CN200510028213 CN 200510028213 CN 200510028213 A CN200510028213 A CN 200510028213A CN 1728705 A CN1728705 A CN 1728705A
Authority
CN
China
Prior art keywords
workflow
service
workflow service
container
controller
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
Application number
CN 200510028213
Other languages
English (en)
Other versions
CN100477665C (zh
Inventor
曹健
卫伟
李晓华
杨萍
张申生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CNB2005100282136A priority Critical patent/CN100477665C/zh
Publication of CN1728705A publication Critical patent/CN1728705A/zh
Application granted granted Critical
Publication of CN100477665C publication Critical patent/CN100477665C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种基于Jini技术的工作流服务自动配置系统,工作流服务部署控制器,工作流服务容器以及工作流服务单元运行在Jini网络下,通过组播通告协议、组播注册协议、单播注册协议和工作流服务动态部署协议来实现通讯并完成整个自动配置过程,工作流服务部署控制器和工作流服务容器之间通过组播通告协议、组播注册协议以及单播注册协议来发现对方并实现工作流服务容器在控制器中的注册;控制器通过工作流服务动态部署协议来实现与工作流服务容器的通信,进而实现远程的工作流服务动态部署和生命周期的控制。本发明充分利用了Jini网络中服务可以动态加入、动态查找以及动态发现等机制来实现分布式工作流系统中的服务单元的动态部署与服务单元的生命周期控制。

Description

基于Jini技术的工作流服务自动配置系统
技术领域
本发明涉及的是一种计算机技术领域的系统,特别是一种基于Jini技术的工作流服务自动配置系统。
背景技术
Jini是一种基于Java的分布式计算技术,利用这种技术可以很方便的构建一个可扩展而且稳定的分布式计算环境。工作流服务是由许多工作流服务单元组成的;工作流服务单元是指使用Jini技术实现工作流系统中的工作流引擎接口,工作流监控接口,工作流统计接口的Jini服务。目前工作流管理系统的分布可以分为三个层次:1、工作流系统结构的分布,所谓工作流管理系统体系结构的分布是指从系统的层次上将工作流管理系统看成是一组互相协作的部分构成的;2、工作流机的分布式执行,工作流机是工作流管理系统提供执行服务的核心模块,它的分布是在系统结构分布的基础上实现的更高层次上的分布;3、工作流模型的分布式定义与柔性执行,工作流模型的分布是指在一个分布的环境下由参与人员协作完成工作流模型定义,柔性执行是指把一部分(或全部)的工作流定义功能加入到运行时的客户端应用中,以便使处于执行阶段的用户可以自己定义后续的活动,实现“边定义-边执行”的工作流运行方式。
经对现有技术的文献检索发现,Michael Gillmann等人在《ACM SIGMODInternational Conference》(ACM SIGMOD国际会议)2002:228-239上发表的“Workflow management with service quality guarantees”(提供服务质量保证的工作流管理系统),该文中提出了通过基于目标驱动的自动配置工具和一套随机模型来构建具有服务质量保证的工作管理系统,即通过自动配置工具里设定一定的服务质量目标,该工具就会根据内建的随机模型和算法的出一个比较合理的分布式工作流配置。但是,这项技术不足之处:当用户设定好服务质量目标通过自动配置得到一个比较合理的分布式工作流配置之后不能够马上对分布式工作流系统做出一个及时的调整,不能使系统动态进行调整以便达到需要的配置要求。
发明内容
本发明针对背景技术的不足之处,提出一种基于Jini技术的工作流服务自动配置系统,使其能够减少由于分布式环境带了的部署问题同时实现分布式工作流系统的动态调整,从一定程度上提高了分布式工作流系统的稳定性和可靠性。
本发明是通过以下技术方案实现的,本发明包含三个核心组件,分别是:工作流服务部署控制器,工作流服务容器以及工作流服务单元。这些组件都是运行在Jini网络下的,组件之间通过组播通告协议、组播注册协议、单播注册协议和工作流服务动态部署协议来实现通讯并完成整个自动配置过程。本发明提及的工作流服务如背景技术中的工作流机。
所述的工作流服务部署控制器:是系统的控制端,它使用组播通告协议声明自己存在,使用工作流服务动态部署协议来完成整个系统的服务部署与控制;其中,为了实现工作流服务单元的动态部署需要使用一个工作流服务动态部署配置文件来描述目前系统中可以动态部署的工作流服务单元信息。此文件记录每个需要部署的服务的类路径、启动的类以及用来创建对象的构造函数等信息。
所述的工作流服务容器:是系统的被控端,它使用组播注册协议和单播注册协议向工作流服务部署控制器注册自己的信息;它主要用来缓存已部署的工作流服务单元并作为它们的运行的环境为它们运行提供需要的资源并对它们的运行进行有效的控制。
所述的工作流服务单元:是系统中的移动实体;为了实现对工作流服务单元的管理,此工作流服务单元必须实现满足已定义的生命周期管理接口,接口Java定义如下。
public interface LifeCycleAdmin{
    public void stop() throws java.rmi.RemoteException;
    public void start() throws java.rmi.RemoteException;
}
所述的组播通告协议,被工作流服务部署控制器使用声明自己的存在,当已存在的群体中启动一个新的工作流服务部署控制器时,组播通告协议通知相关的参与者。
组播通告协议通信流程:工作流服务部署控制器创建一个组播UDP套接字发送消息,并创建一个单播TCP套接字,在其上接收来工作流服务容器的请求。希望接收到新工作流服务部署控制器通告的工作流服务容器,它创建一个套接字用于监听组播UDP通告。当容器接收到控制器的通告时,它可以创建TCP套接字并向控制器监听请求的TCP套接字发送一个消息,与此控制器建立联系并注册该容器的信息。
所述的组播注册协议,被工作流服务容器使用声明自己的存在,接收到此组播消息的工作流服务部署控制器会自动记录此容器的信息。
组播注册协议通信流程:工作流服务容器创建一个组播UDP套接字发送消息来声明自己的加入,并创建一个TCP套接字,在其上接收来工作流服务部署控制器命令请求。希望接收到新工作流服务容器注册通告的工作流服务部署控制器,它创建一个套接字用于监听组播UDP注册请求。当控制器接收到容器的注册请求时,它就会创建TCP套接字并向容器监听请求的TCP套接字发送一个注册请求响应,容器就会发送注册所需信息到控制器完成注册过程。
所述的单播注册协议,当工作流服务容器需要向特定的工作流服务部署控制器注册自己信息的时候,就使用此协议。
单播注册协议通信流程:当工作流服务容器知道所要注册的工作流服务部署控制器时就会直接创建一个TCP套接字并向控制器监听的端口发送注册消息,当控制器收到注册消息后就会发送一个响应消息完成注册过程。
所述的工作流服务动态部署协议,在分布式环境下动态的把工作流服务单元部署到工作流服务容器中。
工作流服务动态部署协议通信流程:工作流服务部署控制器通过创建的TCP套接字向工作流服务容器监听的TCP套接字发送命令,当容器收到命令的时候就会执行相应的命令并发送命令响应。
其中,工作流服务动态部署协议作为实现工作流服务动态部署和控制最核心协议,它包含一个命令集合,此命令集合主要包含Connect、Deploy、Undeploy、Start和Stop几个用来实现部署与控制的命令。
本发明充分利用了Jini网络中服务可以动态加入、动态查找以及动态发现等机制来实现分布式工作流系统中的工作流服务单元的动态部署与服务的生命周期控制。本发明方法为分布式工作流系统负载平衡提供了更好的支持,更加合理的利用分布式工作流系统所分配的资源;当系统承受的负载过大时可以动态部署新的工作流服务单元来减轻目前系统的负荷,当系统请求较少时可以动态的卸载一些工作流服务单元并释放掉分配的资源,这样就能够保证系统的资源得到合理利用,从一定程度上提高了系统的稳定性和可靠性。
附图说明
图1本发明系统结构示意图
图2本发明组播通告协议通讯流程图
图3组播注册协议通讯流程图
图4单播注册协议通讯流程图
具体实施方式
如图1所示,本发明包含三个核心组件,分别是:工作流服务部署控制器,工作流服务容器以及工作流服务单元。这些组件都是运行在Jini网络下的,组件之间主要是通过组播通告协议、组播注册协议、单播注册协议和工作流服务动态部署协议实现通讯并完成整个自动配置过程的。
所述的工作流服务部署控制器:是系统的控制端,它使用组播通告协议声明自己存在,使用工作流服务动态部署协议来完成整个系统的服务部署与控制;其中,为了实现工作流服务单元的动态部署需要使用一个工作流服务动态部署配置文件来描述目前系统中可以动态部署的工作流服务单元信息;工作流服务动态部署配置文件的XML Schema定义如下:
<?xml version=″1.0″encoding=″UTF-8″?>
<xs:schema elementFormDefault=″qualified″xmlns:xs=″http://www.w3.org/2001/XMLSchema″>
   <xs:element name=″class″>
       <xs:simpleType>
           <xs:restriction base=″xs:string″>
               <xs:enumerationvalue=″cit.workflow.service.impl.WorkflowEngineServiceImpl″/>
               <xs:enumerationvalue=″cit.workflow.service.impl.WorkflowPublicServiceImpl″/>
           </xs:restriction>
       </xs:simpleType>
  </xs:element>
  <xs:element name=″classpath″>
       <xs:simpleType>
            <xs:restriction base=″xs:anyURI″>
                 <xs:enumerationvalue=″http://ww:9090/commons-collections.jar;http://ww:9090/commons-dbcp.jar″/>
                 <xs:enumerationvalue=″http://ww:9090/commons-collections.jar;http://ww:9090/commons-dbcp.jar;″/>
             </xs:restriction>
         </xs:simpleType>
     </xs:element>
     <xs:element name=″deploy″>
         <xs:complexType>
             <xs:sequence>
                  <xs:element ref=″policy″/>
                  <xs:element ref=″classpath″/>
                  <xs:element ref=″start″/>
              </xs:sequence>
          </xs:complexType>
      </xs:element>
      <xs:element name=″information″>
          <xs:complexType>
              <xs:sequence>
                  <xs:element ref=″name″/>
                  <xs:element ref=″vendor″/>
              </xs:sequence>
          </xs:complexType>
      </xs:element>
      <xs:element name=″method″>
          <xs:complexType>
              <xs:sequence>
                  <xs:element ref=″params″/>
    </xs:sequence>
    <xs:attribute name=″type″type=″xs:string″use=″required″/>
    <xs:attribute name=″name″type=″xs:string″use=″required″/>
</xs:complexType></xs:element><xs:element name=″name″type=″xs:string″/><xs:element name=″param″>
<xs:complexType>
    <xs:sequence>
        <xs:element ref=″type″/>
        <xs:element ref=″value″/>
    </xs:sequence>
</xs:complexType></xs:element><xs:element name=″params″>
<xs:complexType>
    <xs:sequence>
        <xs:element ref=″param″/>
    </xs:sequence>
</xs:complexType></xs:element><xs:element name=″policy″type=″xs:string″/><xs:element name=″sddp″>
<xs:complexType>
    <xs:sequence>
        <xs:element ref=″services″/>
    </xs:sequence>
</xs:complexType></xs:element><xs:element name=″service″>
<xs:complexType>
    <xs:sequence>
        <xs:element ref=″information″/>
        <xs:element ref=″type″/>
                <xs:element ref=″deploy″/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name=″services″>
        <xs:complexType>
             <xs:sequence>
                  <xs:element ref=″service″maxOccurs=″unbounded″/>
             </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name=″start″>
        <xs:complexType>
             <xs:sequence>
                  <xs:element ref=″class″/>
                  <xs:element ref=″method″/>
             </xs:sequence>
        </xs:complexType>
   </xs:element>
   <xs:element name=″type″>
        <xs:simpleType>
             <xs:restriction base=″xs:string″>
                  <xs:enumeration value=″String[]″/>
                  <xs:enumerationvalue=″cit.workflow.service.WorkflowEngine″/>
                  <xs:enumerationvalue=″cit.workflow.service.WorkflowPublic″/>
             </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name=″value″>
        <xs:simpleType>
            <xs:restriction base=″xs:string″>
                <xs:enumerationvalue=″jar:http://ww:9090/workflowengineservice.jar!/config/workflowengineservice.config″/>
                  <xs:enumerationvalue=″jar:http://ww:9090/workflowpublicservice.jar!/config/workflowpublicservice.config″/>
              </xs:restriction>
          </xs:simpleType>
      </xs:element>
      <xs:element name=″vendor″type=″xs:string″/>
</xs:schema>。
此文件记录每个需要部署的服务单元的类路径、启动的类以及用来创建对象的构造函数等信息。
所述的工作流服务容器:是系统的被控端,它使用组播注册协议和单播注册协议向工作流服务部署控制器注册自己的信息;它主要用来缓存已部署的工作流服务单元并作为它们的运行的环境为它们运行提供需要的资源并对它们的运行进行有效的控制。
所述的工作流服务单元:是系统中的移动实体;为了实现对工作流服务单元的管理,此工作流服务单元必须实现满足已定义的生命周期管理接口,接口Java定义如下。
public interface LifeCycleAdmin{
    public void stop() throws java.rmi.RemoteException;
    public void start() throws java.rmi.RemoteException;
}
如图2所示,所述的组播通告协议,工作流服务部署控制器使用此协议声明自己的存在,当已存在的群体中启动一个新的工作流服务部署控制器时,其它相关的参与者(比如:工作流服务容器)都可以通过组播通告协议被通知。组播通告协议的通信流程:组播通告协议通信流程为:工作流服务部署控制器创建一个组播UDP套接字发送消息,并创建一个单播TCP套接字,在其上接收来工作流服务容器的请求。希望接收到新工作流服务部署控制器通告的工作流服务容器,它创建一个套接字用于监听组播UDP通告。当容器接收到控制器的通告时,它可以创建TCP套接字并向控制器监听请求的TCP套接字发送一个消息,与此控制器建立联系并注册该容器的信息。
如图3所示,所述的组播注册协议,工作流服务容器使用此协议声明自己的存在,接收到此组播消息的工作流服务部署控制器会自动记录此容器的信息。组播注册协议的通信流程为:工作流服务容器创建一个组播UDP套接字发送消息来声明自己的加入,并创建一个TCP套接字,在其上接收来工作流服务部署控制器命令请求。希望接收到新工作流服务容器注册通告的工作流服务部署控制器,它创建一个套接字用于监听组播UDP注册请求。当控制器接收到容器的注册请求时,它就会创建TCP套接字并向容器监听请求的TCP套接字发送一个注册请求响应,容器就会发送注册所需信息到控制器完成注册过程。
如图4所示,所述的单播注册协议,当工作流服务容器需要向特定的工作流服务部署控制器注册自己信息的时候,就使用此协议。单播注册协议的通信流程:当工作流服务容器知道所要注册的工作流服务部署控制器时就会直接创建一个TCP套接字并向控制器监听的端口发送注册消息,当控制器收到注册消息后就会发送一个响应消息完成注册过程。
所述的工作流服务动态部署协议,在分布式环境下动态的把工作流服务单元部署到工作流服务容器中。工作流服务动态部署协议的通信流程:工作流服务部署控制器通过创建的TCP套接字向工作流服务容器监听的TCP套接字发送命令,当容器收到命令的时候就会执行相应的命令并发送命令响应。
工作流服务动态部署协议作为实现工作流服务动态部署和控制最核心协议,它包含一个命令集合,此命令集合主要包含Connect、Deploy、Undeploy、Start和Stop几个用来实现部署与控制的命令。命令解释如下:
Connect:用来测试工作流服务容器的可连接性,以便及时的更新更新工作流服务部署控制器里容器注册信息,减少由于容器不可连接带来的资源浪费与部署失败。
Deploy:用来向工作流服务容器部署相应的工作流服务单元,如果服务单元已经部署在工作流服务容器中就会返回异常代码和信息给工作流服务部署控制器。
Undeploy:用来从工作流服务容器卸载已部署的服务单元,如果该服务单元处于启动状态,那么容器会先停止该服务单元然后释放掉分配的资源。
Start:用来启动已经部署在工作流服务容器中的服务单元,如果该服务单元不存在或已启动就会放回相应的异常代码和信息给工作流服务部署控制器。
Stop:用来停止工作流服务容器中已经启动的服务单元。
工作流服务部署控制器使用此协议中的这些命令来指示工作流服务容器完成相应的任务,这些命令使工作流服务部署控制器对工作流服务容器拥有完全的控制,因此可以很方便并且灵活的控制工作流服务单元的部署和生命周期。
以下结合本发明的具体内容,描述本发明一个完整的服务步骤:
步骤一:启动工作流服务部署控制器。
1、读取工作流服务单元动态配置文件并建立可动态部署的工作流服务单元列表,为动态部署各种工作流服务单元提供必要信息。
2、启动TCP请求监听线程;此线程负责接收工作流服务容器发送的注册请求并登记工作流单元容器信息。
3、启动UDP组播监听线程;此线程负责接收来自工作流服务容器的UDP注册请求,当工作流服务部署控制器接收到UDP注册请求时就会按照组播注册协议来响应此请求。
4、向组内成员发送组播通告消息;如果组内存在已经启动的工作流服务容器,那么这个工作流服务容器就会直接建立一个到该控制器的TCP连接并且发送一个TCP注册请求给该控制器,告诉它有关自己的一些信息,比如:容器位置、容器当前状态等等,控制器就会把这些信息登记下来。
步骤二:启动工作流服务容器。
1、启动UDP组播监听线程;此线程负责接收工作流服务部署控制器发出组播通告请求,当工作流服务容器接收到组播通告请求时就会按照单播注册协议定义,完成工作流服务容器的注册过程。
2、启动TCP请求监听线程;此线程负责接收来自工作流服务部署控制器的命令请求并创建响应的线程来处理这个命令。
3、向组内成员发送组播注册请求;如果组内存在已经启动的工作流服务部署控制器,它就会接收到这个请求并创建TCP套接字并向容器监听请求的TCP套接字发送一个注册请求响应,容器就会通过这个TCP连接发送注册所需信息到控制器完成注册过程。
步骤三:动态部署一个工作流服务单元。
1、工作流服务部署控制器创建一个连接到工作流单元容器监听端口的TCP套接字。
2、发送Deploy命令以及需要部署的服务单元的描述信息。
3、工作流服务容器就会根据服务的描述信息中的类装载路径下载入服务并将其实例化,然后放入缓存中。
步骤四:动态启动一个工作流服务单元。
1、工作流服务部署控制器创建一个连接到工作流服务容器监听端口的TCP套接字。
2、发送Start命令以及需要启动的服务单元的描述信息。
3、工作流服务容器根据描述信息找到相应的工作流服务单元实例并通过生命周期管理接口的start方法来启动服务单元。
步骤五:动态停止一个运行的工作流服务单元。
1、工作流服务部署控制器创建一个连接到工作流服务容器监听端口的TCP套接字。
2、发送Stop命令以及需要停止的服务单元的描述信息。
3、工作流服务容器根据描述信息找到相应的工作流服务单元实例并通过生命周期管理接口的stop方法来停止服务单元。
步骤六:卸载一个已经部署的工作流服务单元并释放分配的资源。
1、工作流服务部署控制器创建一个连接到工作流服务容器监听端口的TCP套接字。
2、发送Undeploy命令以及需要卸载的服务单元的描述信息。
3、工作流服务容器根据描述信息找到相应的工作流服务单元实例并将其从缓存删除释放缓存资源。
步骤七:重复步骤三~步骤六,完成其它工作流服务单元的部署与控制。

Claims (9)

1、一种基于Jini技术的工作流服务自动配置系统,包含:工作流服务部署控制器、工作流服务容器以及工作流服务单元,其特征在于,工作流服务部署控制器、工作流服务容器以及工作流服务单元都运行在Jini网络下,相互之间通过组播通告协议、组播注册协议、单播注册协议和工作流服务动态部署协议来实现通讯并完成整个自动配置过程,具体为:
所述的工作流服务部署控制器,是系统的控制端,它使用组播通告协议声明自己存在,使用工作流服务动态部署协议来完成整个系统的服务部署与控制;当已存在的群体中启动一个新的工作流服务部署控制器时,相关的参与者通过组播通告协议被通知;
所述的工作流服务容器,是系统的被控端,它使用组播注册协议和单播注册协议向工作流服务部署控制器注册自己的信息,它主要用来缓存已部署的工作流服务单元并作为它们的运行的环境为它们运行提供需要的资源并对它们的运行进行有效的控制;
所述的工作流服务单元,是系统中的移动实体,基于Jini技术实现的服务,能够动态的启动和停止。
2、根据权利要求1所述的基于Jini技术的工作流服务自动配置系统,其特征是,所述的工作流服务部署控制器,为了实现工作流服务单元的动态部署需要使用一个工作流服务动态部署配置文件来描述目前系统中动态部署的工作流服务单元信息,工作流服务动态部署配置文件XML Schema记录每个需要部署的服务的类路径、启动的类以及用来创建对象的构造函数信息。
3、根据权利要求1所述的基于Jini技术的工作流服务自动配置系统,其特征是,所述的工作流服务单元,必须实现满足已定义的生命周期管理接口,接口Java定义如下:
public interface LifeCycleAdmin{
   public void stop()throws java.rmi.RemoteException;
   public void start()throws java.rmi.RemoteException;
}。
4、根据权利要求1所述的基于Jini技术的工作流服务自动配置系统,其特征是,所述的组播通告协议,被工作流服务部署控制器使用声明其的存在,当已存在的群体中启动一个新的工作流服务部署控制器时,组播通告协议通知相关的参与者,其通信流程为:工作流服务部署控制器创建一个组播UDP套接字发送消息,并创建一个单播TCP套接字,在其上接收来工作流服务容器的请求,希望接收到新工作流服务部署控制器通告的工作流服务容器,它创建一个套接字用于监听组播UDP通告,当容器接收到控制器的通告时,创建TCP套接字并向控制器监听请求的TCP套接字发送一个消息,与此控制器建立联系并注册该容器的信息。
5、根据权利要求1所述的基于Jini技术的工作流服务自动配置系统,其特征是,所述的组播注册协议,被工作流服务容器使用声明其的存在,接收到此组播消息的工作流服务部署控制器会自动记录此容器的信息,其通信流程为:工作流服务容器创建一个组播UDP套接字发送消息来声明自己的加入,并创建一个TCP套接字,在其上接收来工作流服务部署控制器命令请求,希望接收到新工作流服务容器注册通告的工作流服务部署控制器,它创建一个套接字用于监听组播UDP注册请求。当控制器接收到容器的注册请求时,它就会创建TCP套接字并向容器监听请求的TCP套接字发送一个注册请求响应,容器就会发送注册所需信息到控制器完成注册过程。
6、根据权利要求1所述的基于Jini技术的工作流服务自动配置系统,其特征是,所述的单播注册协议,工作流服务容器通过该协议向特定的工作流服务部署控制器注册自己信息,其通信流程为:当工作流服务容器知道所要注册的工作流服务部署控制器时就会直接创建一个TCP套接字并向控制器监听的端口发送注册消息,当控制器收到注册消息后就会发送一个响应消息完成注册过程。
7、根据权利要求1所述的基于Jini技术的工作流服务自动配置系统,其特征是,所述的工作流服务动态部署协议,在分布式环境下动态的把工作流服务单元部署到工作流服务容器中,其通信流程为:工作流服务部署控制器通过创建的TCP套接字向工作流服务容器监听的TCP套接字发送命令,当容器收到命令的时候就会执行相应的命令并发送命令响应。
8、根据权利要求1或者7所述的基于Jini技术的工作流服务自动配置系统,其特征是,所述的工作流服务动态部署协议,作为实现工作流服务动态部署和控制最核心协议,它包含一个命令集合,此命令集合主要包含Connect、Deploy、Undeploy、Start和Stop几个用来实现部署与控制的命令,工作流服务部署控制器使用此协议中的这些命令来指示工作流服务容器完成相应的任务,这些命令使工作流服务部署控制器对工作流服务容器拥有完全的控制,因此能很方便并且灵活的控制工作流服务单元的部署和生命周期。
9、根据权利要求8所述的基于Jini技术的工作流服务自动配置系统,其特征是,所述的命令Connect、Deploy、Undeploy、Start和Stop,是指:
Connect:用来测试工作流服务容器的可连接性,以便及时更新更新工作流服务部署控制器里容器注册信息,减少由于容器不可连接带来的资源浪费与部署失败;
Deploy:用来向工作流服务容器部署相应的工作流服务单元,如果服务单元已经部署在工作流服务容器中就会返回异常代码和信息给工作流服务部署控制器;
Undeploy:用来从工作流服务容器卸载已部署的服务单元,如果服务单元处于启动状态,那么容器会先停止该服务单元然后释放掉已分配的资源;
Start:用来启动已经部署在工作流服务容器中的服务单元,如果该服务单元不存在或已启动就会放回相应的异常代码和信息给工作流服务部署控制器;
Stop:用来停止工作流服务容器中已经启动的服务单元。
CNB2005100282136A 2005-07-28 2005-07-28 基于Jini技术的工作流服务自动配置系统 Expired - Fee Related CN100477665C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100282136A CN100477665C (zh) 2005-07-28 2005-07-28 基于Jini技术的工作流服务自动配置系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100282136A CN100477665C (zh) 2005-07-28 2005-07-28 基于Jini技术的工作流服务自动配置系统

Publications (2)

Publication Number Publication Date
CN1728705A true CN1728705A (zh) 2006-02-01
CN100477665C CN100477665C (zh) 2009-04-08

Family

ID=35927713

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100282136A Expired - Fee Related CN100477665C (zh) 2005-07-28 2005-07-28 基于Jini技术的工作流服务自动配置系统

Country Status (1)

Country Link
CN (1) CN100477665C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102648452A (zh) * 2009-09-29 2012-08-22 Abb技术股份有限公司 用于核查计算机系统的配置的方法及装置
CN114401214A (zh) * 2021-12-28 2022-04-26 航天科工网络信息发展有限公司 一种实现容器组播通信的网络及方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102648452A (zh) * 2009-09-29 2012-08-22 Abb技术股份有限公司 用于核查计算机系统的配置的方法及装置
CN114401214A (zh) * 2021-12-28 2022-04-26 航天科工网络信息发展有限公司 一种实现容器组播通信的网络及方法
CN114401214B (zh) * 2021-12-28 2024-03-29 航天科工网络信息发展有限公司 一种实现容器组播通信的网络及方法

Also Published As

Publication number Publication date
CN100477665C (zh) 2009-04-08

Similar Documents

Publication Publication Date Title
CN1732454A (zh) 在多个装置上呈现内容的系统和方法
CN1794657A (zh) 对终端设备进行管理的方法和系统
CN101060427A (zh) 实现远程软件升级的系统及方法
CN1889741A (zh) 在设备管理中实现预定操作的方法及装置
CN1967485A (zh) 一种实现j2ee应用的方法及系统
CN1806229A (zh) 并行管理程序、包含该并行管理程序的存储介质、并行管理方法、和电子设备
CN1787459A (zh) 一种下发命令的方法和系统
CN101035317A (zh) 一种业务参数配置方法及系统以及业务参数配置单元
CN1881978A (zh) 应用管理系统、应用管理方法、服务器以及通信系统
CN1878375A (zh) 终端设备软件/固件下载更新方法
CN101047662A (zh) 实现单账号多身份即时消息通信和存在业务的方法及系统
CN1794647A (zh) 在设备管理中上报终端信息的方法及系统
CN1859388A (zh) 动态内容发送方法及个性化引擎和动态内容发送系统
CN1859177A (zh) 一种设备管理中定制任务处理方法
CN101047523A (zh) 提供上线者状态的服务器及方法
CN101068408A (zh) 多待机终端自注册的方法、终端、服务器
CN1859395A (zh) Ip多媒体子系统业务实现系统和方法
CN101047705A (zh) 用户代理档案信息的上报处理方法、服务器及其用户终端
CN1585309A (zh) 一种基于移动终端的远程监控系统及方法
CN101043401A (zh) 一种网络服务流标识的分配、更新方法
CN1856137A (zh) 一种确定集中控制服务器的方法及系统
CN1738244A (zh) 在软交换系统中设置应用服务器的代理服务器的方法
CN1926533A (zh) 用于在数字资产环境中分发服务的方法和系统
CN1728705A (zh) 基于Jini技术的工作流服务自动配置系统
CN1956451A (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090408

Termination date: 20110728