OpenFlow名称里面虽然包括“Flow”,但其并不是“又一个流程引擎”,我们认为世界上的流程引擎已经足够多了,每个流程引擎都各有千秋,有的甚至免费,所以我们不需要再做一个流程引擎,我们做OpenFlow的目的是解决所有流程引擎都有的问题。

客户的问题是:

  • 一旦选择了一个流程引擎,那么其就被此引擎捆死,因为所有业务流程都基于此引擎开发,随着客户业务的改变,他想用别的引擎,那么之前所有的流程需要根据新的引擎完全重写,耗时耗力,重写之后又被新的引擎捆死,直到下次重写
  • 客户的另一个问题是,有些企业有不同流程引擎同时在运行,每个引擎跑不同的流程,结果是这些流程不能融合。

OpenFlow彻底解决了这些问题,在OpenFlow的世界里面:

  • 首先用户是可以自由切换流程引擎的,比如之前使用某开源流程引擎,之后可以切换成Agile Point;或者之前使用K2,后来切换成G2;总之,用户可以随意切换引擎而不用改变流程
  • 其次通过OpenFlow,用户可以整合跨越流程引擎的不同流程,这样消费者程序比如企业门户,就可以自由享用各个流程引擎带来的好处了

OpenFlow的具体做法是OpenFlow带有各种"流程引擎的驱动程序",OpenFlow透过"驱动程序"与后端的“流程引擎”互动,然后所有流程都针对OpenFlow进行编程,这样,在OpenFlow层面自然就可以整合所有流程,如果客户想换引擎,那么只要通过设置,把流程指向新的流程引擎(就是换个“驱动程序”),那么所有流程就跑在新的流程引擎上面了;然后各种消费者程序,比如企业门户,也调用OpenFlow的接口,这样最后端的所有引擎就都可以为之所用了。

具体功能点如下:

OpenFlow(服务提供者)部分,主要是API和Server短程序:

  • 支持切换流程(K2换成AP或CCFlow,或者任何流程引擎换成任何流程引擎)
  • 通过Driver和任意后端流程引擎互动(当然需要事先安装相应的流程引擎)
  • 合并多种流程引擎
  • 合并多种流程引擎中的流程
  • 流程分类(多级分类,支持多维多标签)
  • 流程授权(支持角色,角色里面包括组或者用户)
  • 与AD系统双向高效同步ID(用户,组),这东西叫OpenID
  • 待办流程,已办流程,我的申请,三个二级页面列表,以及每部分的总数字
  • 获取流程图
  • 发起流程的列表(多级分类),也是二级页面列表
  • 支持多语言
  • 支持多租户
  • 支持任意浏览器,或者APP
  • 支持包括但不限于OpenShare在内的任何消费者应用(包括任意平台的APP)
  • 可以单独打包,安装,运行,也可以和OpenShare一起运行

OpenShare(是OpenFlow的一个消费者)部分

  • 3个流程中心的入口:1,主页上的WebPart,2,Dock的弹出菜单(就叫流程中心,里面包括流程中心的全部Icon)3,主菜单
  • 流程中心的二级页面UI都完成了:待办流程,已办流程,我的申请,创建流程(分类,图标,发起流程),支持所有皮肤
  • 三级页面没做也不准备做(就是具体的流程,这个要根据客户的要求定制)

顺便说一句,OpenFlow和OpenShare一样,都是免费的,当然需要我们1对1的进行具体流程的定制开发,我们是要收人工费的

OpenFlow概述的更多相关文章

  1. 软件定义网络基础---OpenFlow概述

    一:OpenFlow概述 二:交换机模型架构 (一)OpenFlow构架三个组成成分 三:OpenFlow 1.0版本 自OpenFlow1.0发布以来,目前已经有多个版本的OF规范版本被发布 四:O ...

  2. openflow 和 sdn (软件定义网络) 原理和教程

    OpenFlow概述 OpenFlow简介 通俗的讲,OpenFlow是使用类似于API进程配置网络交换机的协议.OpenFlow的思路很简单,网络设备维护一个FlowTable并且只按照FlowTa ...

  3. ovs flow 原理及实验

    OpenFlow概述 在支持OpenFlow的交换机中包含了若干个Flow table,Flow table可以用来控制数据包的处理,交换机会执行与flow相匹配的表项中所罗列的动作. OpenFlo ...

  4. 基于Open vSwitch的OpenFlow实践

    Open vSwitch(下面简称为 OVS)是由 Nicira Networks 主导的,运行在虚拟化平台(例如 KVM,Xen)上的虚拟交换机.在虚拟化平台上,OVS 可以为动态变化的端点提供 2 ...

  5. SDN概述:简介、工具、环境部署

    一.前言: 本文初步接触 SDN 的相关概念.需要依次完成下面几项任务: SDN 简介 SDN 工具 SDN 环境部署 推荐阅读 推荐阅读下述内容: Ethane 项目,openflow 的基础 op ...

  6. OpenState: Programming Platform-independent Stateful OpenFlow Applications Inside the Switch

    文章名称:OpenState: Programming Platform-independent Stateful OpenFlow Applications Inside the Switch Op ...

  7. 天马行空-Ops平台建设概述

    1           概述 什么是Ops平台,Ops平台的目标是什么,建设的考虑点有哪些?本章节以实际生活中医院的例子来进行各形象的阐述. 医院包含各种诊断治疗设备,病历库,医生.一个孕妇需要到医院 ...

  8. OpenFlow技术白皮书-V1.0

    1.  概述 OpenFlow是由斯坦福大学的Nick McKeown教授在2008年4月ACM Communications Review上发表的一篇论文OpenFlow: enabling inn ...

  9. 软件定义网络基础---OpenFlow协议

    一:OpenFlow协议概述 OpenFlow协议为控制器与交换机之间的通信,提供了一种开放标准的方式.OpenFlow交换机通过安全通道与控制器进行信息交互 二:OpenFlow消息类型 (一)co ...

随机推荐

  1. MFC中关于子对话框中编辑框不能编辑的问题

    最近在用MFC写程序.发现子对话框中的编辑框不能编辑.具体问题是这样的: 我有一个对话框YhglDlg,创建了这个对话框的子对话框ZjyhxxDlg,子对话框的Style属性为Child,Border ...

  2. EXTJS项目实战经验总结一:日期组件的change事件:

    1  依据选择的日期,加载相应的列表数据,如图:   开发说明    1 开发思路: 在日期值变化的事件中获得选择后的日期值,传给后台,然后从后台加载相应的数据 2 问题:在查看extjs2.2 的a ...

  3. C#利用SharpZipLib解压或压缩文件夹实例操作

    最近要做一个项目涉及到C#中压缩与解压缩的问题的解决方法,大家分享. 这里主要解决文件夹包含文件夹的解压缩问题. )下载SharpZipLib.dll,在http://www.icsharpcode. ...

  4. oracle中substr函数的用法

    1.substr(string string, int a, int b) 参数1:string 要处理的字符串 参数2:a 截取字符串的开始位置(起始位置是0) 参数3:b 截取的字符串的长度(而不 ...

  5. ZTE AD3812 3G模块在linux 2.6.34 内核的开发板上的支持方法

    先说段废话,话说在linux 2.6.34 下,好多比较新的3G网卡及3G模块都没有很好的支持.如果想支持的这些3G网卡/3G模块呢,基本上有两种方式: 1.使用该3G模块的 linux 下的驱动,交 ...

  6. 组件化CSS--管理你整站的CSS文件

    为什么要拆分样式文件? 更易于查找样式规则. 简化维护,方便管理. 还可以针对某一页面提供特定的样式. 为什么要添加桥接样式? 你可以随时添加或移除样式而不需要修改HTML 文档. 为什么要定义两种媒 ...

  7. Codeforces Good Bye 2015 D. New Year and Ancient Prophecy 后缀数组 树状数组 dp

    D. New Year and Ancient Prophecy 题目连接: http://www.codeforces.com/contest/611/problem/C Description L ...

  8. Theatre Square

    http://codeforces.com/problemset/problem/1/A Theatre Square time limit per test 2 seconds memory lim ...

  9. [Angular2 Router] Programmatic Router Navigation via the Router API - Relative And Absolute Router Navigation

    In this tutorial we are going to learn how to navigate programmatically (or imperatively) by using t ...

  10. Python 读写文件和file对象(转)

    1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.txt ...