OSWorkflow是opensymphony组织开发的一个工作流引擎,目前的版本是2.8。
OSWorkflow用纯Java语言编写,并且开放源代码。
它最大的特点就是极其的灵活。
它面向的人群是具有技术背景的软件开发人员。
OSWorkflow不提倡用可视化工具定义流程。
用户可以根据自己的实际需求,来设计出完全符合自身业务逻辑的系统,而并不需要使用复杂的代码去实现。
换句话说OSWorkflow让我们真正解放了,使得我们从底层的代码堆中爬了出来,轻松地用一套通用的引擎机制去实现各种业务流程。
OSWorkflow提供我们所有工作流OSWorkflow开发指南Version1.0October15,2007Somanyopensourceprojects.WhynotOpenyourDocuments?中可能用到的元素例如:步骤(step)、条件(conditions)、循环(loops)、分支(spilts)、合并(joins)、角色(roles)、函数(function)等等。
首先我们来谈谈步骤:步骤是工作流中很重要的概念。
如果我们把工作流比喻成一条从起点站驶向终点站的公共汽车路线,那么步骤就相当于汽车站台。
而汽车有的正在排队等候进站,有的还没有进站,有的刚出站,这样就形成了所谓的“已完成”、“正在处理”、“已添加至处理队列”、“未处理”等状态。
另外一个重要的概念就是动作,动作就是工作流中每一步骤中"需要处理的事情",每一个动作执行完毕以后都有一个结果。
公共汽车停站下客就好比一个动作,动作完成以后,开向下一站,或者加油,或者返程等等就是一个结果。
当然,实际上的工作流远比这辆汽车来的复杂,它涉及到的结果还包括原地踏步停留在同一步骤,或者是流转到另外的步骤中去,或者是流转到一个分支中去,或者汇集到一个合并中等。
如果动作被设置成为auto,那么只要触发器满足条件或者有来自外部的事件工作流便可自动执行。
在许多流程中,如果遇到并行处理某些事情,这就是分支。
分支一般是指并行处理多件事情而没有先后顺序。
若有一条分支进行了回退处理,整个流程都将回退。
与之相对的,合并就是把几条符合条件的分支聚合起来,使得事情变成"殊途同归"。
这也是非常常见的流程,同时也是最复杂的一种流程。
在步骤、动作和结果中都提供了函数功能,函数按执行的先后时机可分为pre-functions和post-functions。
顾名思义,pre-functions就是在事情发生之前执行的,而post-functions就是在事情发生以后执行的。
验证器是用来验证用户输入的数据是否合法的。
它也可以被应用在步骤,动作或结果中。
动作的执行结果可以是有条件的(conditional)也可以是无条件的(unconditional)。
对于有条件结果,可以允许有多个条件。
引擎将首先检查是否有满足的条件,它会逐一进行检查,直到符合的条件被找到才能执行。
如果没有一个条件被满足,那么最终引擎将产生无条件结果。
在每个步骤中调用工作流的人被称之为调用者(caller),而每个步骤都也会有一个所有者(owner),以代表在当前步骤中负责执行动作的角色或用户。
当前用户在执行当前步骤的时候,这些步骤被保留在当前表中(current),而一旦步骤被执行完毕,引擎会马上将这个当前步骤从当前表中移到历史表中(history)。
5OSWorkfow的高级特性有发送邮件,注册器功能,通用动作和全局动作,触发器和定时器等等,以下会一一讲解。
2023/8/8 23:12:50 624KB OSWorkflow-开发指南
1
资源分有点多的,但是值得,免费的源代码程序、文档说明等。
物联网专业现在吵得很火,我也是其中的一位学员,这是我写的一个小程序,对于学习物联网的朋友们来说,这个是常常要用到的,也是遇到的,包括了串口数据的接收、RFID卡读写操作,以及数据库的增加、修改、删除、定时器的使用、还有一个数据库,数据库的建立、表的数据操作等。
今天给大家分享这一个小程序,与大家共同学习,有兴趣的或不懂的可以加我的扣扣1647294495,我很乐意跟大家一起学习,一起进步。
2023/8/1 3:55:10 2.81MB 物联网 RFID 串口 数据库
1
一般单片机内的定时器只有三个,当我们做工程时往往需要很多定时器,就会遇到定时器不够用的问题,这个程序是用软件做出的很多定时器,解决了定时器不够用的问题。
适当修改可以各种控制的需求。
2023/7/30 7:19:49 11KB 51单片机
1
STC单片机定时器(1T_12T)初值计算器,支持1T定时器算法
1
利用STM32定时器的同步,可以精准控制PWM脉冲数量(库函数版)
2023/7/30 2:56:57 3KB STM32 脉冲数 PWM 精准控制
1
本资源为STM32F407-四路超声波测距代码,测试绝对可用我所使用的测距模块是HC-SR04,HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;
HC-SR04基本工作原理:(1)采用IO口TRIG触发测距,给最少10us的高电平信呈。
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
测试距离=(高电平时间*声速(340M/S))/2。
程序编写思路是:1、配置好使用到的GPIO以及定时器;
2、给模块TRIG端口发送大于10us的高电平信号,当收、收到ECHO回响信号是,打开定时器开始定时;
3、当回响信号消失,关闭定时器;
4、通过定时器定时时间来确定距离。
2023/7/28 15:40:57 4.26MB STM32 STM32F407 超声波测距 HC-SR
1
由红外发送二极管、红外接收二极管及相关电路组成,当红外光束透过人体外周血管,由于动脉搏动充血容积变化导致这束光的透光率发生改变,此时由光电变换器接收人体组织反射的光线,转换为相应的电信号。
并由Lm324运算放大器通过二级放大再经电压比较器输入到单片机的P3.2端口,单片机通过外部中断检测脉搏的下降沿信号,通过定时器计算连续两个下降沿信号的时间,当连续两次检测时间间隔很小时不处理,这样就能屏蔽同一个脉搏信号的影响从而获得脉搏数
2023/7/28 3:58:34 35.96MB 红外 51单片机 Lm324 脉搏测量
1
用MFC制作的打地鼠小游戏,主要训练了定时器的使用。
2023/7/21 0:24:15 7.35MB MFC 打地鼠
1
基于QT的扫雷游戏,含有自定义,初级,高级等多种可选游戏模式,并且设有定时器,一到设定时间游戏结束
2023/7/20 6:27:06 261KB 基于QT的GUI项目扫雷游戏
1
STM32F103C8T6开发参考例程代码,其中涉及到ADCIO口串口按键SPI通信系统定时器UCOS等一系列例子程序
1
共 419 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡