构建下一代JWFD工作流存储结构的尝试(2013.6.19更新)

这几天正在编写新的JWFD工作流存储系统,旧的系统是用XML+数据库来实现对工作流拓扑结构和状态参数的存储的,新的存储结构是用内存(文件)矩阵表来存储,今天写了构造动态矩阵的方法和类,明天把矩阵的元素对象类开发出来,因为存储工作流结构的矩阵元素肯定不是简单的数据对象,而是一个包含多种状态参数的节点间拓扑连接数据对象,这个要麻烦一些。。但是为了我们热爱的开源工作流项目。。。再大的困难也不怕。。。。

 package org.jwfd.workflowEngines.Matrix

 public class MatrixElement{}
 public  MatrixElement[][] ConstMatrix(int N,int M){}


我理想中的新一代工作流系统正在慢慢形成原型。。。采用总线插件模式的自适应自动运行控制器作为引擎核心,矩阵存储单元作为数据结构。。。增加反馈与自动数据处理模式。。我想起都流口水啊。。。。

待续。。。。。。。。。。。。。。。

今天继续做设计,把自定义的矩阵元素类写出来了,算是把这个拓扑矩阵的大致结构搞出来了。。输出如下图的矩阵表(一个6*6的方阵),初始化的状态,其中的110表示节点的运行控制状态(第一位1表示节点访问值,第二位1表示节点活动值,第三位0表示节点回退值,但是这里还存在一个巨大的矛盾。。。哎,但是我会想到办法解决的。。。哼)


构建下一代JWFD工作流存储结构的尝试(2013.6.19更新)


这个矩阵表就是用来存储流程图拓扑结构和访问状态值的流程拓扑矩阵,可以存储在一个很小的文本文件中,也可以直接存储在内存里面。。嘿嘿。。当流程的拓扑结构发生动态变化的时候,这个内存中的拓扑矩阵就很容易随之改变,比我们去修改XML或者数据库更加方便吧。。。。。

public class MatrixElement{
      
      private int is_active;
      private int visited;
      private int actioned_time;
      
      public final void Set_IS_Active(int a){
          
          this.is_active = a;
          
      };
      public final int Get_IS_Active(){
          
         return  is_active;
      };
      
      
      public final void Set_Visited(int b){
          
          this.visited = b;
      };
      public final int Get_Visited(){
          
          return  visited;
      };
      
      
      public final void Set_Actioned_Time(int c){
          
          this.actioned_time = c;
          
      };
      public final int Get_Actioned_Time(){
          return  actioned_time;
          
      };
  }



接下来。。要完善这个拓扑矩阵的流程定义属性,前面说的还存在一个巨大的矛盾是这样的:表示流程图的拓扑结构的矩阵的每个元素实际上是表示的流程图的连接线,而不是节点。所以在结构设计上,我所设计的这个拓扑矩阵还存在一些问题,我设计的矩阵里面,矩阵元素表示的是节点,而前面我写的文章里面,对于传统的矩阵中的元素表达的却是流程图的连接线。。怎么做一个转换,把连接线定义转换为节点属性。。。还需要我们进一步的下功夫啊。。。。但是我很看好这个矩阵模型的前景。。。。。

我以前做过的流程矩阵拓扑结构的设计文档,请大家参考一下。。。欢迎指出错误和缺点

  http://blog.csdn.net/comsci/article/details/5798325

  http://blog.csdn.net/comsci/article/details/6578798

你可能感兴趣的:(工作流)