工作流

Activiti工作流原理

☆樱花仙子☆ 提交于 2020-02-09 04:20:05
在计算机的辅助下,能够实现流程的自动化控制,就称为工作流。 通过编码方式设置 flag状态来进行工作流,这种方式的缺点是业务流程变更后,程序不可使用。 Activiti可以是做到业务流程变化后,程序代码不用改变。以不变应万变。 工作原理:   1.先将流程图画好   2.将流程图中每个节点的数据读取并放入表中   3.处理表中的第一条数据,处理并删除   4.重复步骤3. (直到表中记录完了) 实现这个自动化需要   1.业务流程图标准,规范统一   2.业务流程图本质上是一个xml文件,这样就可以存入所需要的数据   3.读取业务流程图的过程就是解析xml文件的过程   4.读取业务流程图中的一个节点,就相当于解析xml结构,进一步将数据插入到数据库表中形成一条记录   5.将所有节点都读取并存入数据库表中   6.后面只需要读取数据库表中的一条记录,读一条记录相当于读取一个节点   7.业务流程的推进,后面就转化为读取表中的数据,并且处理数据,结束时这一行数据就可以删除 技术方案大概涉及到:    xml存流程图数据+dom4j解析+mysql数据库+jdbc CRUD操作 Activiti7会提供25张表作为支撑,进行流程存储控制。 开发步骤   1.整合Activiti 导jar包   2.实现业务流程建模,使用BPMN实现业务流程图   3

驰骋工作流自定义表单的需求--表单设计器

你说的曾经没有我的故事 提交于 2020-02-08 22:55:33
深圳xxx科技有限公司 ccflow自定义表单及系统集成的需求 需求内容如下: 1.支持常用控件: 文本框,文本label,单选框组radionbutton,复选框checkbox,复选框组checkboxs,数字框,文本域textarea,智能搜索下拉框、时间框、图片、表格(从表)、打印分页等控件。支持这些控件设置样式类(class)。比如文本框、下拉框只有下边框、单选框为方框的风格。比如按钮可以设置打印时不显示等。 RE: class自定义样式调整,需要二次开发, 对打印按钮在toobar按钮. 对于打印按钮可以使用如下 2.智能搜索下拉框支持单选、多选、输入文本、选定字段的智能搜索等,如果智能下拉框的枚举值包含图片时,支持打印智能下拉框的选中值的图片(用于打印图片签名)。 RE: 打印图片签名需要二次开发,打印的时候需要转义输出. 可以通过medil print 去打印的。 3.时间框支持日期、日期+时间、时间的时分、时间的时分秒多种格式,如格式设置为HH:mm时,弹出的时间层只有选小时和分钟。 (已实现该功能) 4.数字框支持可设置为只能输入整数、输入一位小数、输入两位小数。(已实现该功能) 5.文本框支持可设置默认值。且默认值可设置为url所传值的某个外键关联表里的数据。比如传病人id,默认值可以是病人基本信息表里的任意字段。 (可以实现该功能) 6

如何使用SAP Intelligent Robotic Process Automation自动操作Excel

为君一笑 提交于 2020-02-08 19:45:00
今天是鼠年正月十二。这是Jerry鼠年的第 11 篇文章,也是汪子熙公众号总共第 210 篇原创文章。 之前Jerry的文章 使用ABAP操作Excel的几种方法 ,介绍的是通过ABAP这门编程语言去操作Excel的方法。 除了编程语言之外,SAP新发布的SAP Intelligent Robotic Process Automation(简称SAP iRPA),提供了强大的企业级自动化流程解决方案,善加利用,可以在不需要编程的情况下,像使用编程语言一样灵活地操作Excel. 我们来看个具体而又简单的例子,用SAP Intelligent Robotic Process Automation操作一个Excel文件,往里面的单元格写入一个字符串,设置背景色然后关闭。 在动手做这个例子之前,你也许需要先阅读这两篇文章,以了解SAP iRPA的上下文。 SAP智能机器人流程自动化解决方案 使用SAP iRPA Studio创建的本地项目,如何部署到SAP云平台上? 打开SAP Intelligent Robotic Process Automation Desktop Studio,导入SAP预置的操作Excel的nodejs脚本库文件。 在库文件里选择Excel Integration. 从下图能发现,SAP iRPA除了Excel之外

容器技术与DevOps

断了今生、忘了曾经 提交于 2020-02-04 13:51:04
容器技术的使用支撑了目前 DevOps 三大主要实践:工作流、及时反馈、持续学习。 有人说容器技术与 DevOps 二者在发展的过程中是互相促进的关系。得益于 DevOps 设计理念的流行,容器生态系统在设计上与组件选择上也有相应发展。同时,由于容器技术在生产环境中的使用,反过来也促进了 DevOps 三大主要实践: 支撑 DevOps 的三个实践 。 工作流 容器中的工作流 每个容器都可以看成一个独立的运行环境,对于容器内部,不需要考虑外部的宿主环境、集群环境,以及其它基础设施。在容器内部,每个功能看起来都是以传统的方式运行。从外部来看,容器内运行的应用一般作为整个应用系统架构的一部分:比如 web API、web app 用户界面、数据库、任务执行、缓存系统、垃圾回收等。运维团队一般会限制容器的资源使用,并在此基础上建立完善的容器性能监控服务,从而降低其对基础设施或者下游其他用户的影响。 现实中的工作流 那些跟“容器”一样业务功能独立的团队,也可以借鉴这种容器思维。因为无论是在现实生活中的工作流(代码发布、构建基础设施,甚至制造 《杰森一家》中的斯贝斯利太空飞轮 等),还是技术中的工作流(开发、测试、运维、发布)都使用了这样的线性工作流,一旦某个独立的环节或者工作团队出现了问题,那么整个下游都会受到影响,虽然使用这种线性的工作流有效降低了工作耦合性。 DevOps 中的工作流

消息队列常有使用场景

谁说我不能喝 提交于 2020-02-04 07:46:31
业务工作流,每个业务节点之间需要通信传输信息,但是每个节点的接受、发送速度以及使用这些信息的时间都各不相同。 以巧克力生产工作流为例: 传送带解决了半成品运输问题,仓库可以暂存一些半成品,解决了上下游速度不一致的问题。 消息队列的常用使用场景: 1、异步处理 秒杀系统中,大多需要使用到消息队列,而秒杀系统中核心问题是:尽可能多地处理短时间内的海量请求。 处理一个秒杀请求包含了很多步骤: 风险控制; 库存锁定; 生成订单; 短信通知; 更新统计数据 能否决定秒杀成功,实际上只有 风险控制和库存锁定 这 2 个步骤,只要用户的秒杀请求通过风险控制,并在服务端完成库存锁定,就可以给用户返回秒杀结果了,对于后续的生成订单、短信通知和更新统计数据等步骤,并不一定要在秒杀请求中处理完成。 所以当服务端完成前面 2 个步骤,确定本次请求的秒杀结果后,就可以马上给用户返回响应,然后把请求的数据放入消息队列中,由消息队列异步地进行后续的操作。 以用户注册过程为例 用户注册后,需要发注册邮件和注册短信 (1)串行方式:将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端 (2)并行方式:将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户端。与串行的差别是,并行的方式可以提高处理的时间 (3)引入消息队列

文献笔记(九)

佐手、 提交于 2020-02-04 03:12:52
一、基本信息 标题:基于Spring 和MVC 的高校教务管理系统的设计与实现 时间:2016 出版源:北京工业大学 领域分类:高校教务管理系统 二、研究背景 问题定义基于Spring 和MVC 的高校教务管理系统在软件方面以工作流技术、Java 技术、数据库技术、Android 系统开发平台为基础,针对于教务教学管理环节主 要的业务逻辑实现教师与学生的信息管理、学生学籍管理、学生成绩管理、教师教学管理和移动终端平台等等多个业务模块进行需求分析和设计研究。 难点:工作流技术、J2EE 技术架构、Spring 和MVC 架构 相关工作:整个高效教务管理系统包含许多模块。有开课管理、排课管理、选课管理、学籍管理、教材管理、考务管理、成绩管理等。 三、创新方法 工作流参考模型中,核心组件是工作流执行服务,用来提供流程实例的运行环境,一般情况下由一个或者多个工作流引擎组成。作用是解释分析流程定义、构建和管理流程,并且负责创建、管理和执行流程应用实例等,为系统的正常运行提供一个很好的环境平台。 接口1:表示工作流程定义工具与工作流服务之间的接口。主要作用是定义交互的工作流。规范数据的表示格式和API 定义。 接口2:表示工作流服务和客户应用程序之间的接口。制定了所有客户端应用和工作流服务之间的调用形式,规范具体访问流程。提供工作流客户端应用对工作流引擎和工作列表的访问途径。 接口3

ERP系统中的工作流和业务流

本秂侑毒 提交于 2020-02-03 15:07:15
首先解释两个概念: 工作流,将工作分解成几段不同的任务,然后通过一定的规则和过程来执行这些任务并对它们进行监控,达到提高工作效率,降低生产成本,提高企业竞争力等目的.它大多应用于办公自动化领域. 业务流:它是企业内部资源之间的数据流动,一般通过企业资源计划系统(ERP)对企业中的物流、资金流和信息流进行全面集成管理. 但是在实际的企业中,常常有些需求,需要在OA系统和ERP系统中来回切换,比如:采购用款申请,付款,做凭证则是ERP系统中的功能(如下图)。 此外,企业在利用oa系统进行工作流审批后,会产生一些业务数据,而这些业务数据又可能是ERP系统中的外部数据源,比如上图的采购费用申请的数据。为了避免数据的重复且保证数据源的唯一性,就产生了工作流系统和业务流系统集成的需求. 目前常见的集成方法,归纳起来两大类 1):基于接口的集成封装模式,利用OA,ERP各自提供的的接口(这个接口的含义包括:数据库表结构,web service接口,其它自定义接口),实现两数据之间的互访. 2):基于中间表的互访模式,以相同的数据模型存储不同的系统之间的共享数据, 通过直接对两系统的数据表进行操作的方式,实现不同系统间的数据访问,以及数据的一致和实时传递. 由上分析可知,这种集成还是有难度的,至少需要不同程度的二次开发,如果是采用二次开发,我个人倾向于web service,web

Git——工作流介绍

此生再无相见时 提交于 2020-02-02 01:21:51
一、概述 工作流有各式各样的用法,但也正因此使得在实际工作中如何上手使用增加了难度。这篇指南通过总览公司团队中最常用的几种 Git 工作流让大家可以上手使用。 在阅读的过程中请记住,本文中的几种工作流是作为方案指导而不是条例规定。在展示了各种工作流可能的用法后,你可以从不同的工作流中挑选或揉合出一个满足你自己需求的工作流。 二、工作流的分类 1、集中式工作流 如果你的开发团队成员已经很熟悉 Subversion,集中式工作流让你无需去适应一个全新流程就可以体验 Git 带来的收益。这个工作流也可以作为向更 Git 风格工作流迁移的友好过渡。 适用:个人、3~5人小团队。 2、功能分支工作流 功能分支工作流以集中式工作流为基础,不同的是为各个新功能分配一个专门的分支来开发。这样可以在把新功能集成到正式项目前,用 Pull Requests 的方式讨论变更。 适用:中型团队8~12人团队 3、GitFlow 工作流 GitFlow 工作流通过为功能开发、发布准备和维护分配独立的分支,让发布迭代过程更流畅。严格的分支模型也为大型项目提供了一些非常必要的结构。 适用:整个公司 4、Forking 工作流 Forking 工作流是分布式工作流,充分利用了 Git 在分支和克隆上的优势。可以安全可靠地管理大团队的开发者(developer),并能接受不信任贡献者(contributor)的提交

WorkFlow入门Step.5—Adding Procedural Elements-For-WF4.0-(后续)

纵饮孤独 提交于 2020-02-01 01:10:00
开篇 上篇,我们简单的说明了WF的入门,那么院子里面已经有很多的高手,写了不少的关于工作流的应用,最近在集成工作流平台的过程中也是发现了不少的问题和心得体会,工作流果真不只是审批那么简单,复杂度可见非常的不一般,学好了工作流无论对自身的对业务流程的理解和改进,都是非常有帮助的,由于不同的企业应用的具体的业务流程不同,因此也就造成了无法构建通用的业务流程模型,就和企业的管理一样,无法生搬硬套,要符合企业内部的情况才可以。 关于工作流的认识的相关文章,也是已经有了很多了,不少院子里面的大牛都已经提到过工作流的认识,小弟不敢说对工作流理解的很深。 摘要 WorkFlow是最近比较流行的一门技术,其实WF起源于20世纪70年代中期的办公化自动领域,自1993年8月,WFMC(工作流管理联盟)成立,1994年制定了一系列的关于工作流的标准。进入21世纪工作流被越来越多的学者关注,该项技术越发走向成熟。当然我也是必须跟上时代的步伐,所以也加入工作流的大军,希望能够跟上前人的脚步。当然也希望感兴趣的朋友,加入工作流的讨论群中来。具体群号: 120661978。 目前,我们已经在 AgileEAS.平台 中陆续集成了,界面设计器+工作流的内容,当然工作流目前还不算太成熟,还不方便放出来,本文只是抛砖引玉,还 希望大家多多重视工作流的内容。 大纲 一、开篇 二、摘要 三、WF4.0的控制流 WF4

Git 工作流

♀尐吖头ヾ 提交于 2020-01-29 07:54:53
中心化的工作流 优势 首先它让每个开发者都有自己的本地的完整项目副本。隔离的环境使得每个开发都的工作独立于项目的其它修改 —— 他们可以在自己的本地仓库中添加提交,完全无视上游的开发,直到需要的时候。 其次,它让你接触到了 Git 分支和合并模型。Git 分支被设计为故障安全的机制,用来在仓库之间整合代码和共享更改。 如何工作 中心化的工作将中央仓库作为项目中所有修改的唯一入口。默认的开发分支叫做 master,所有的更改都被提交到这个分支。这种工作流不需要 master 之外的其它分支。 开发者将中央仓库克隆到本地后开始工作。在他们的本地项目副本中,他们可以像 SVN 一样修改文件和提交更改;不过这些新的提交被保存在本地 —— 它们和中央仓库完全隔离。这使得开发者可以将和上游的同步推迟到他们方便的时候。 为了向官方项目发布修改,开发者将他们本地 master 分支“推送”到中央仓库。这一步等同于 svn commit,除了 Git 添加的是所有不在中央 master 分支上的提交。 管理冲突 中央仓库代码官方项目,因此它的提交历史应该被视为不可更改的。如果开发者的本地提交和中央仓库分叉了,Git 会拒绝将它们的修改推送上去,因为这会覆盖官方提交。 在开发在提交功能之前,需要 fetch 更新中央提交,在它们之上 rebase 自己的更改。 如果本地修改和上游提交的冲突时,Git