随笔分类 - 工作流
摘要:JBPM数据库分析持久化基础知识 持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。 我们可以这样理解: 在一定周期内保持不变就是持久化,持久化是针对时间来说的. 数据库中的数据就是持久化了的数据,只要你不去删除或修改. Session会话中Session对象变量也是不变的,是Session容器中持久化 对象持久化的方式有很多种,根据周期不同有,page,Session,Application, 对象序列化机制对于需要将对象的状态保存到文件
阅读全文
摘要:JBPM Activty深入解析JBPM对于活动结点的架构设计有什么特别之处?JBPM将活动功能分为活动本身的行为(ActivityBehaviour)和活动作为流程元素所共有的一些东西(Activity);这样的架构设计很巧妙,既保证了各种活动自身的独特特性,也保证作为流程元素所共有的功能,保证了最大程度的代码重用!JBPM活动的类型大致分为自由执行结点和外部唤醒结点,可以满足现实中业务流程需要自动业务处理和需要人参与的业务处理要求。JBPM的活动本身是一种复合元素,其可以作为父活动而拥有众多的子活动。这样保证了JBPM提供的单一活动不能满足业务需求时候,我们可以进行活动组合!JBPM的活动
阅读全文
摘要:为什么流程定义需要版本升级? 在现实业务中,流程可能需要跟随业务的变化进行一些改变,但是这些改变只是一些微小的调整,对流程定义的改变不大!这个时候考虑到系统的用户化,不可能让用户删掉现在的流程,然后重新发布符合新的业务逻辑的流程; 企业新增生产线,但是新生产线与老的生产线某些生产步骤不同,但是最终生产的都是同一产品;并且现在新旧生产线需要同时运行,这是就需要同一流程拥有不同的版本同时运行 流程版本升级设计
阅读全文
摘要:什么是IOC IOC的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。简单的来讲,就是由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。IOC的优点和缺点IOC有利于降低组件之间的依赖,对于改变子类实现,只需要更改xml就可以了,类似于热插拔。IOC本身也有其缺点,组件的实例化步骤变复杂了;同时需要依赖反射,影响对象构建效率。JBPM IOC实现JBPM自己实现了一套IOC方案,下面分步
阅读全文
摘要:什么是主键 我们在建立数据库的时候,需要为每张表指定一个主键,所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引。因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。当然,其它字段可以辅助我们在执行这些操作时消除共享冲突,不过就不在这里讨论了。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。所以数据库在设计时,主键起到了很重要的作用。主键生成的方式1.自动增长型字段由数据库生成主键字段,使用简单,但是对于外键关联、数据复制等不能很好的处理。2 . 手动增长型字段通过一张单独的表存储生成的主键
阅读全文
摘要:Most people learn about serialVersionUID after they write their first serializable object (I know I did). You add ‘implements Serializable’ and in the next moment your IDE starts complaining… so what’s up?Lets look at a simple example to see what meaning that variable has. In the example we will use
阅读全文
摘要:JBPM的Binding深入解析 JBPM实现了自己的IOC机制,其中重要的成员就是Binding这些类了! 流程引擎初始化都需要加载那些binding类?我们可以在jbpm.wire.bindings.xml中定义流程引擎初始化需要加载的binding类。当然我们也可以设计自己的binding(如RepositoryUpgradeManageBinding),我既可以把这个类加到jbpm.wire.bindings.xml中,也可以在根目录下添加包含该类的jbpm.user.wire.bindings.xml文件,特别是在自定义的binding类很多时,建议采用后者,以方便后期的维护。 Jb
阅读全文
摘要:Descriptor在jbpm的IOC实现中扮演重要角色,它由相应的Binding类生成,并生成相应对象的职责,可谓职责重大。Descriptor主要用于生成那些对象实例?Descriptor主要负责生成流程引擎使用的一些实例,比如TaskService、HistoryService、ISession等,可以毫不夸张的说,没有Descriptor,流程引擎将没有资源可用;对于jpdl对应的Binding生成的实例后续文章进行详解!Descriptor的继承结构如何?下面是FloatDescriptor的继承结构:Descriptor的实例化过程?一般情况下,我们在配置文件中定义我们需要生成De
阅读全文