精华内容
下载资源
问答
  • 剪应力、剪力流理论和剪切中心.pdf
  • 并论证了所有粒子在理论上均满足平衡状态条件,但在通过旋器的有效停留时间内不一定都能达到平衡状态;绝大多数粒子在最终分离前,沿径向都能运动至以各自平衡面为中心±0.1R的狭窄环形区域面内,即处于"准平衡"状态。...
  • 针对直齿齿轮副高速重载状态下润滑条件破坏等问题,运用弹润滑理论,考虑实际齿轮啮合条件,根据直齿齿轮运转动态特性建立齿轮副模型,研究了润滑油膜特性变化规律,提出了一种新型的计算模型。分析结果表明:新计算模型...
  • 考虑流体的可压缩性和齿轮传动重合度时轮齿载荷的影响,对渐开浅直齿轮传动进行热弹数值分析;计算分析了在给定传动比和中心距条件下,齿轮模数、齿数以及变位系数等几何参数对齿轮润滑性能的影响,获得了齿轮传动沿...
  • 利用蒙特卡罗方法研究了N = 1的超级杨米尔斯理论(SYM)中的中心对称性和手性对称性。 在零温度下,该理论有望限制外部基本电荷,并具有无消失的高庚基冷凝物,这会打破非异常的Z2Nc手性对称性。 在这项工作中,我们...
  • 理论研究了槽式反射聚光器上平面光伏电池表面可获得的能密度的分布。研究发现,平面光伏电池板上能密度的分布呈三个区域,由中心向两侧依次是能密度为0 的区域、能密度大于入射光区域和小于入射光的区域。对...
  • 基于软件提供的用户自定义方程添加的化学反应模块建立煤气化数学模型,利用商用CFD模拟了灰熔聚化床的气化,找出了灰熔聚化床气化炉的特有结构(中心管)进氧量对气化炉气化特性(碳转化率、炉内温度以及煤气组成成分...
  • 结合青海盐湖工业股份有限公司供热中心4×480 t/h循环化床(CFB)锅炉的启动调试,通过理论论证及实际应用,对高海拔地区大型循环化床锅炉特性进行研究,解决了低气压地区化床锅炉高负荷工况下频繁结焦问题。...
  • 工作流理论总结

    千次阅读 2006-07-04 14:13:00
    1. 工作历史 工作技术发端于 1970 年代中期办公自动化领域的研究工作,但工作思想的出现还应该更早, 1968 年 Fritz Nordsieck 就已经清楚地表达了利用信息技术实现工作流程自动化的想法。 1970 年代与工作...
      
    

    1.            工作流历史

    工作流技术发端于 1970 年代中期办公自动化领域的研究工作,但工作流思想的出现还应该更早, 1968 Fritz Nordsieck 就已经清楚地表达了利用信息技术实现工作流程自动化的想法。 1970 年代与工作流有关的研究工作包括:宾夕法尼亚大学沃顿学院的 Michael D. Zisman 开发的原型系统 SCOOP ,施乐帕洛阿尔托研究中心的 Clarence A. Ellis Gary J. Nutt 等人开发的 OfficeTalk 系列试验系统,还有 Anatol Holt Paul Cashman 开发的 ARPANET 上的“监控软件故障报告”程序。 SCOOP, Officetalk Anatol Holt 开发的系统都采用 Petri 网的某种变体进行流程建模。其中 SCOOP Officetalk 系统,不但标志着工作流技术的开始,而且也是最早的办公自动化系统。

    1970 年代人们对工作流技术充满着强烈乐观情绪,研究者普遍相信新技术可以带来办公效率的巨大改善,然而这种期望最终还是落空了。人们观察到这样一种现象,一个成功的组织往往会在适当的时候创造性的打破标准的办公流程;而工作流技术的引入使得人们只能死板的遵守固定的流程,最终导致办公效率低和人们对技术的反感。 1970 年代工作流技术失败的技术原因则包括:在办公室使用个人计算机尚未被社会接受,网络技术还不普遍,开发者还不了解群件技术的需求与缺陷。

    含有工作流特征的商用系统的开发始于 1983 年至 1985 年间,早期的商用系统主要来自于图像处理领域和电子邮件领域。图像处理许多时候需要流转和跟踪图像,工作流恰好迎合这种需求;增强的电子邮件系统也采用了工作流的思想,把原来点对点的邮件流转改进为依照某种流程来流转。在这些早期的工作流系统中只有少数获得了成功。

    进入 1990 年代以后,相关的技术条件逐渐成熟,工作流系统的开发与研究进入了一个新的热潮。据调查,截至 1995 年共有 200 多种软件声称支持工作流管理或者拥有工作流特征。工作流技术被应用于电讯业、软件工程、制造业、金融业、银行业、科学试验、卫生保健领域、航运业和办公自动化领域。

    2.            工作流概念

    2.1 工作流概念

    工作流是针对工作中具有固定程序的常规活动而提出的一个概念。通过将工作活动分解成定义良好的任务、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的。工作流技术为企业更好地实现经营目标提供了先进的手段。工作流管理系统( workflow management systems , WFMS )是以规格化的流程描述作为输入的软件组件,它维护流程的运行状态,并在人和应用之间分派活动。在此,我们先定义一些基本的术语:流程定义( process definition )和流程实例( process instance )。一个流程定义是一个业务流程或过程的规格化描述。一个流程实例是流程定义的一个运行实体。工作流管理系统还处于技术发展曲线上的初级阶段。目前,工作流中使用了过多的概念。在这个领域中的大量规范和工具没有一个是相似的,他们之间主要的分歧在于如何阐述流程中的步骤。

    在介绍工作流时有一个话题必须包括,那就是工作流和业务流程管理( BPM )的关系。术语 工作流 通常描述人与计算机系统的一系列相关交互。在开发人员中,工作流经常被提及。有时,工作流的意思是指一些不同的 UI 界面。业务流程管理的范围比较广,相比之下工作流多半局限于技术领域。业务流程管理还从管理人员的角度涉及了非技术问题,比如分析、组织的效率。

    2.2 工作流管理系统概念

        工作流管理系统是以规格化的流程描述作为输入的软件组件,它维护流程的运行状态,并在人和应用之间分派活动,推进工作流实例的执行,并监控工作流的运行状态。

    工作流管理系统可以描述不同覆盖范围和不同时间跨度的经营过程,根据经营过程以及组成活动的复杂程度,工作流管理系统可以采取多种实施方式,在不同实施方式中,所应用的信息技术、通信技术和支撑系统结构会有很大的差别,工作流管理系统的实际运行环境也可以在一个工作组内部,也可以在全企业所有业务部门。

        工作流管理系统在实际系统中的应用一般分为三个阶段:即模型建立阶段、模型实例化阶段和模型执行阶段。在模型建立阶段,通过利用工作流建模工具,完成企业经营过程模型的建立,将企业的实际经营过程转化为计算机可处理的工作流模型。模型实例化阶段完成为每个过程设定运行所需的参数,并分配每个活动执行所需要的资源,模型执行阶段完成经营过程的执行,在这一过程中,重要的任务是完成人机交互和应用的执行。

    3.            工作流应用目标领域

    使用工作流管理系统的目的之一是作为企业应用系统集成( EAI )的平台。在当前大部分企业级 IT 架构中,各种各样的异构应用和数据库运行在企业内网中。在这些系统被应用到组织时,都有一个清晰的目标。例如,客户管理、文档管理、供应链、订单、支付、资源计划等等。让我们称这些系统为专门应用。每一个专门应用都包含它们所支持业务流程的领域知识。这些专门应用中的自动化流程,被拼装到企业中更大的非自动化流程中。每当一个这样的专门应用安装并投入使用,都会带来涉及其他多个应用的新功能需求。企业应用系统集成( EAI )就是通过使用多个专门应用满足软件新需求的方法。有时,这只需要在两个应用之间提供数据通讯的通道。专门应用将很多业务流程硬编码在软件中。可以这么说,在你购买专门应用时,你是购买了一组固定的自动化业务流程。而工作流管理系统是不必事先知道问题域的相关信息的。工作流管理系统将业务流程描述作为输入并管理流程实例的执行,这使得它比专门应用更灵活(当然你也要花精力编写业务流程的规格化描述)。这就是为什么说工作流管理系统和专门系统是相互补充的。工作流管理系统可以用来管理全局的业务流程。如果专门应用支持你所需要的业务流程,那么使用专门应用。在此讨论的工作流管理系统的第一种使用方式就是:结合所有的专门应用,使用工作流管理系统构建一个 EAI 平台。

    工作流管理系统能够发挥很大价值的第二个使用方式是:协助涉及多人相关任务工作流软件的开发。为了达到这个目的,大部分工作流管理系统都有一个方便的机制,来生成执行任务的表单。对于专注于 ISO 或者 CMM 认证的组织,采用这种方式使用工作流管理系统能够显著提高生产率。不用将过程用文字的形式写在纸上,工作流管理系统使你通过流程定义建模实现过程的自动化(如使用基于 Web 的应用)。

    工作流管理系统的第三种使用方式是:将工作流引擎嵌入到其他应用中。在前面我们谈到,专门应用将指定问题域相关的业务流程固化在软件中。开发专门应用的公司也可以将工作流引擎嵌入到他们的软件中。在这里,工作流引擎只是作为一个软件组件,对于应用的最终用户是不可见的。将工作流引擎嵌入到应用中的主要原因是为了重用(不重复发明轮子)和应用软件的可维护性。

    4.            工作流规范

        在工作流管理系统概念的基础上,演进出很多标准,总体上可分为基于标准 XML 文档的和基于 Web 服务技术的两种规范。

    4.1 基于标准XML文档的规范

    4.1.1 概述

    此类规范最大的特点就是基于纯 XML 技术。其中包括:

    WfMC XPDL WfMC 发布的工作流管理系统参考模型提出了五类接口,有关过程模型的定义则构成了接口一( XPDL )的核心内容。 XPDL 是至今工作流领域最为重要的一个标准 , 目前大多数工作流引擎是依据该标准设计开发的。

    BPML Business Process Modeling Language ), BPML BPMI Business Process Management Initiative )组织发布的规范。 WfMC BPMI 2002 6 26 日宣布将合作制定业务流程和工作流标准,即采用 BPML 来描述工作流过程,同时采用 XPDL 所定义的工作流模型。 BPML 规范为表达业务流程和支持实体提供一个抽象模型。 BPML 为表达抽象和执行流程定义了一种正式模型,该模型代表了企业业务流程的面貌,包含了不断变化的复杂行为,事务和数据管理,合作,异常捕获,操作语义。 BPML 为了能够持久化和通过异种系统进行定义交换以及使用建模工具,提供了 XML Schema 形式的语法。

    WfMC 所定义的一系列规范基础上, OMG Object Management Group )联合这些规范发布了 Workflow Management Facility 规范,该规范定义了如何将工作流向 CORBA 转换。

    4.1.2 WFMC

    该领域的代表规范就是工作流管理联盟( Workflow Management Coalition WfMC )发布的。 1993 年, WfMC 的成立标志着工作流技术开始进入相对成熟的阶段。为了实现不同工作流产品之间的互操作, WfMC 在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准。 WfMC 给出的工作流定义是:工作流是指整个或部分经营过程在计算机支持下的全自动或半自动化。在实际情况中可以更广泛地把凡是由计算机软件系统(工作流管理系统)控制其执行的过程都称为工作流。

    图1 1994年11月 WfMC发布工作流管理系统参考模型

     

     

    Work Flow Enactment Service 这个组件就是我们平常说的工作流机或工作流引擎,主要功能是读取工作流定义、根据工作流定义驱动工作流的流转。

    Process Definition(1) 在流程定义、建模工具、工作流引擎之间定义标准接口。使流程开发人员能够部署流程定义。流程定义表示一种形式上的业务流程描述,由各种活动以及相互之间的网状关系组成,标识了流程的开始和终止,并且包含个体行为的信息,比如各个参与者、与 IT 相关的应用程序和数据,等等。该接口采用的标准是 XPDL Xml Process Definition Language )。

    Workflow Client Application(2) 工作流引擎的客户端程序。该程序由用户结合业务需求而开发,用它来驱动工作流。客户端程序通过该接口与引擎交互。一般的工作流引擎用户不需要懂引擎的实现,只要知道怎么实现客户端程序就可以了。

    Invoked Application(3)   通过普通代理软件调用该接口,允许调用工作流引擎之外的功能。

    Other Work Flow Enactment Services(4)  与其他工作流引擎协作的接口。

    Administration and Monitoring Tools(5)   管理人员通过监控接口获得流程运行的确切数据。有时,运行日志也可用于审计。

     

    详细说明 WfMC 参考模型

     

        接口 1 早期的规范为 WPDL Workflow Process Definition Language )。后来,这一接口的规范变更为 XPDL XPDL 是至今工作流领域最为重要的一个标准,目前大多数工作流引擎是依据该标准设计开发的。 XPDL 利用 XML 作为流程定义相互转换机制,在流程定义元模型中, XPDL 语法直接与定义在其中的对象、属性相关联。元模型描述了流程定义所需要的上层实体,以及它们的关系和属性。对于 XPDL 基本元素更加详细的介绍请参考 WFMC-TC-1025 FINAL Draft

     

        接口 2&3 规范为 WAPI Workflow Application Programming Interfaces )。通过在 WFM 产品中支持这些接口,便于实现需要访问 WFM 工作流引擎功能(工作流服务)的前端应用程序。此类应用程序的实现,可由 WFM 开发人员或 ISVs (独立软件开发商)完成。实现这些 API 调用,还有利于工作流应用程序使用该通用的 API 接口操作不同的工作流引擎。这些 API 调用,允许 WFM 开发人员使用一个单一的最终用户接口和功能集合,而不用考虑已有的各种 WFM 工作流产品。 WAPI 调用可用各种语言实现。最初的联盟规范将适用于 ’C’ 语言。该 API 采用 CALLS 的形式。在特定的 WFM 产品实现中,对 CALLS 的底层实现不做任何假设。 WAPI 调用用于运行时( run-time ),就是说,当流程正在执行或将要执行时。它们通常被用于工作流应用程序(如工作表处理器和协同操作的应用程序等),当某一 WFM 引擎需要在 API 函数上下文内与其它 WFM 产品的工作流引擎交互时,它们也可用于 WFM 引擎。通过其函数集, WAPI 提供了一组由工作流定制服务( Workflow Enactment Service )提供的工作流服务。 WAPI 不假设任何特定的用户接口,更确切地说,它特别地假定了支持工作流的应用程序用户接口。该应用程序使用这些服务,提供其自己的用户接口,实现这些接口,依赖于实现它的应用程序开发环境工具。 WFM 引擎的功能大致分为以下几类:

    l        WAPI 连接功能

    l        WAPI 工作流定义功能

    l        WAPI 过程控制功能

    l        WAPI 活动控制功能

    l        WAPI 过程状态功能

    l        WAPI 活动状态功能

    l        WAPI 工作表功能

    l        WAPI 管理功能

    对于 WAPI 更加详细的介绍请参考 WFMC-TC-1009 V 2.0 。另外,可同时参考 WFMC-TC-1013 V 1.4 ,该文档为符合 WAPI 的命名规则提供了方针和解决办法,该文档也包含 'C' 语言的通用头文件。

    接口 4 规范为 Wf-XML 2.0 。有必要在流程引擎中集成跨越 Internet Intranet 并能相互作用的标准协议。一个流程引擎,一个异步服务的特殊类型(被称为 Asynchronous Services Access Protocol (ASAP) ),一组描述服务运行步骤的活动,就这样出现了。最后暴露这些步骤,允许服务调用者具有额外对那种服务状态的了解能力。提出 ASAP 的主要目的在于通过 SOAP 提供一种控制和监视异步 Web 服务的基本能力,并传递编码为 XML 格式的结构信息。控制异步 Web 服务包括构建服务,安装服务,启动服务,结束服务,通知异常,通知服务的结束并获得服务的结果。监视 Web 服务包括检查当前服务状态和该服务的历史执行状态。外部程序调用最基本的流程的开始和监视只能通过 ASAP ASAP 已经建立了连接异步服务的标准协议,无论他们是否是像流程引擎那样实现。 Wf-XML 提供一种方法把面向过程工具融入进通用的引用框架。现在流程定义工具就可以已一种标准方式来获取或更新流程定义了。流程监视工具也一样能跟踪流程实例了,也可以跟踪子流程链接和更低一层的子流程。对于 Wf-XML 2.0 更加详细的介绍请参考 Wf-XML 2.0 Draft

    接口 5 规范为 CWAD Common Workflow Audit Data )。通过在工作流产品中支持这一规范,就能在不同的工作流产品中提供一致的审计数据分析。在初始化和执行一个流程实例时,会发生许多影响业务的事件,包括 WAPI 时间,内部 WFM 引擎操作和其他系统以及应用程序函数。有了 CWAD 信息,业务就能确定已经在工作流管理中发生了什么操作。我们希望审计信息被利用到分析和追溯状态信息中。另外审计数据可被用作执行操作的证据。工作流分析工具将希望信息以一致的格式表现,描述全部事件,在一套规定的标准内发生 ... 例如,运行“ x ”流程用了多久时间,在一个给定的流程实例内进行了哪些活动?表现出的审计数据将会绑定很细节的内容。对于 CWAD 更加详细的介绍请参考 WFMC-TC-1015 V1.1

     

        其他基于标准 XML 定义的标准发展很弱,在这里不作介绍了。

     

    4.2 基于 Web 服务技术的规范

    4.2.1 概述

    Web 应用的巨大成功和不断发展,使其渗透到商业领域和个人生活的各个方面。人们只要使用浏览器,就可以享受到各种各样的服务,例如网上购物,网上交易,网络游戏,预定车票,网上聊天和交友等等。与此同时,由于 Web 技术所带来的优势(统一的客户端和较好的维护性),使一些传统的应用纷纷转型到基于 B/S 架构的瘦客户端应用程序,这是因为它能够避免花在桌面应用程序发布上的高成本,也能够很好的解决客户和服务器之间的通信问题。在客户端和服务器之间的通信,一个完美的解决方案是使用 HTTP 协议来通信。这是因为任何运行 Web 浏览器的机器都使用 HTTP 协议,可以很好地透过防火墙进行通信。

    许多商业程序还面临另一个问题,那就是与其他程序的互操作性。目前有很多商业数据仍然在大型主机上以非关系文件( VSAM )的形式存放, 并由 COBOL 语言编写的大型机程序访问。而且,还有很多商业程序使用 C++ JAVA VB 和其 他各种各样的语言编写。现在初了最简单的程序之外,所有的程序都需要与运行在其他异构平台上的应用程序集成并进行数据交换。在以前,没有一个应用 程序通信标准是独立于平台、组建模型和编程语言的。只有通过 Web 服务、客户端和服务器才能够自由的用 HTTP 进行通信,不论两个程序的平台和编程语言是什么。 Web 服务技术完全基于标准的技术,只有基于标准,所有的开放厂商才能有相同的标准,才能够在各自的平台上开发出具有跨平台互操作能力的软件产品和解决方案。

    经过近几年的发展, Web 服务的概念渐渐深入人心,随着社会的发展, Web 服务将越来越流行。基于 Web 服务的工作流规范将推动 Web 服务进入一个全新的阶段。

    4.2.2 WSCI

    2002 6 26 BEA Intalio SAP Sun 在美国发布了基于 XML Web 服务协作接口 WSCI Web Services Choreography Interface )。 WSCI 描述了在特殊流程中通过 Web 服务实现消息流的交流,并描述了集合性信息在互动的 Web 服务间的交流,提出了一种涉及到多种 Web 服务的复杂流程的全球观点。当今的服务描述语言对于简单的获取信息是足够的,例如股市报价,但它们没有提供充足的动作细节,来描述服务作为一个大型的、更全面的协作的一部分所扮演的角色。 WSCI 的关键优势之一在于,它通过描述 Web 服务如何在大型的、全面的业务流程中应用,从而在业务流程管理与 Web 服务之间架起了桥梁。这些业务流程可以只是一个公司内的,也可以是跨越多个公司的。

    2 WSCI 层次

     

    Web 服务是才兴起的关键组件,提供松弛耦合和基于 Web 的计算体系。 Web 服务就是可以通过已有的基于 Web 的协议进行访问的自治领域,有着良好界定,而且基于标准的组件。按照标准划分出层次的 " (stack)" 主要目的是保证 Web 服务的语义和技术互用性。这个堆由 W 3C 开发,仍然处于初级阶段,目前正在被重新构建;为了使真实的 Web 服务协作成为可能,还需要多个附加层。平行的,其他标准为业务流程和协作构建一种严密的语义和互用性。可以预见,这两个堆将在中间见面( meet in the middle )。尽管仍需要为总体框架在一种有效的方式里发生, WSCI 提供第一步连结这两个堆。 WSCI 在自下而上的堆里是一个主要参加者,但可以预见,这会在协作区域的更高一级别层次出现和集成。

    对于 WSCI 更详细的内容请参考 W 3C World Wide Web Consortium )的 WSCI 1.0

    4.2.3 ebXML

    ebXML 是一个规范集,这些规范共同实现了模块化电子商务框架。 ebXML 的构想是实现一个全球电子市场,其中,不同规模和不同地区的企业可以通过交换基于 XML 的消息来合作和进行商业活动。 ebXML 是一项倡议,其参与者与认可者包括几百家大公司和团体。 ebXML 的直接赞助者是 OASIS Organization for the Advancement of Structured Information Standards )和 UN/CEFACT United Nations Centre for Trade Facilitation and Electronic Business )。许多标准团体也参与其中,包括 NIST National Institute of Standards and Technology )和 W 3C

    ebXML 体系规范定义:

    1.        一种描述业务流程和关联信息模型的标准机制。

    2.        一种注册和存储业务流程及信息元模型,便于共享和复用的机制。

    3.        关于每个参与者的信息的发现包括:

          * 他们所支持的业务流程。

          * 他们提供支持的业务流程的业务服务接口。

          * 各自业务服务接口所交换的业务消息。

          * 传送,安全和编码协议所支持的技术配置。

    4.        一种寄存先前出现的信息的机制,以便它能被发现和挽回。

    5.        一个描述能由第 3 项以前,由每个参与者提供的信息组成的相互认可的业务契约的机制。 (CPA)

    6.        标准业务消息服务框架,它允许互操作,安全且可靠的在贸易双方交换消息。

    7.        依照业务契约的约束,配置各自的消息服务的机制。

    让我们先来了解一些概念。

    注册表 :一个中央服务器,它存储使 ebXML 工作所需的各种数据。在这些信息中,“注册表”以 XML 形式显示给用户的有:“商业过程和信息元模型”、“核心库”、“协作协议概要”以及“商业库”。基本上,当商家要与另一个商家建立 ebXML 关系时,它向“注册表”发出请求,以查找合适的伙伴并查找有关处理那个伙伴的需求方面的信息。

    业务流程 :商家可以参与的活动(对于业务流程,商家通常需要一个或多个伙伴)。“业务流程”由“业务流程规范模式” ( 一种“ W 3C XML 模式”和一个 DTD )正式描述,但也可以用 UML 建模。

    协作协议概要 (CPP) :由希望参与 ebXML 事务的商家用“注册表”归档的概要。 CPP 将指定商家的某些“商业过程”,以及它支持的某些“商业服务接口”。

    业务服务接口 :商家可以执行其“业务流程”中必需的事务的方式。 “业务服务接口”还包括商家所支持的“业务消息”种类以及传递这些消息可能采用的协议。

    业务消息 :作为商业事务一部分进行通信的实际信息。一条消息将包含多层。在外层,必须使用实际的通信协议(例如 HTTP SMTP )。 SOAP ebXML 推荐的消息“酬载”信封。其它层可以处理加密或认证。

    核心库 :可以在更大的 ebXML 元素中使用的标准“部件”集。例如,“业务流程”可以引用“核心流程”。“核心库”由 ebXML 发起者本身提出,而更大的元素可能由特定厂家或商家提出。

    协作协议协定 (CPA) :本质上是两个或多个商家之间的契约,它可以从各自公司的 CPP 中自动获取。如果一个 CPP 说:“我可以做 X ”,则 CPA 会说“我们将一起做 X 。”

    3 ebXML 工作流程

     

    上图中,公司 A 已经知道在互联网上可访问一个 ebXML 注册表(第 1 步)。接着,公司 A 在复查 ebXML 注册表的内容后,决定构建和部署适合自己的 ebXML 应用(第 2 步)。客户端软件开发不是 ebXML 参与者的必要先决条件。适合 ebXML 的应用和组件是很容易通过商业途径获得,比如收缩包装膜这样的方案。公司 A 接着提交自己的业务描述信息(包括实现的详情和参考链接)到 ebXML 注册表(第 3 步)。业务描述被提交到 ebXML 注册表,来说明该企业的 ebXML 能力和限制条件,以及它的支持的业务脚本。这些业务脚本是 XML 版本的业务流程和关联信息包(比如营业税计算)。在接受确认后,业务脚本的形式和用法就是正确的了,一个认可被发送到公司 A (第 3 步)。公司 B ebXML 注册表上发现了由公司 A 提供的业务脚本(第 4 步)。接着,公司 B 发送一个请求到 公司 A ,他们使用 ebXML 共同参与业务脚本(第 5 步)。公司 B ebXML 获得收缩包装膜方案。在参与该脚本的公司 B 直接提交被提议的业务协定到公司 A 相应的 ebXML 软件接口之前。这个被提议的业务协定要概述双方达成的业务脚本和详细协议。该这个业务协定还包含了属于将用于事务发生的要求的信息,偶然作出的计划,以及与安全相关的必备条件(第 5 步)。公司 A 随即接受该业务协定。最后,公司 A B 现在准备从事使用 ebXML 的电子商务。

    ebXML 规范集还包含了:业务流程计划规范、注册表信息模型、注册表协议规范、 EbXML 需求规范、 CPP CPA 规范、消息服务规范等。

    作者:Rosen Jiang  转载: http://www.blogjava.net/rosen


    展开全文
  • 对基于流量特征的调度策略进行了综述,首先梳理了基于软件定义网络的数据中心网络的理论基础,然后对大象、老鼠、大象与老鼠三个方面的调度策略进行了分析和总结,并探讨了相比于传统的调度技术,在...
  • 2021-2-22:请你说下 CAP 理论并举例

    千次阅读 2021-02-22 08:58:03
    在这个讲座中,在传统 ACID 理论以及当时比较流行但是比较抽象的的设计指导理论 BASE 理论(当时的 BASE 理论还很抽象,直到好几年后才出现一份比较权威的被广泛接受的 BASE 理论完整解释和设计)的类比中,提出 ...

    CAP

    CAP 理论是分布式系统中的一个老生常谈的理论了,最早由 Eric Brewer一个讲座中提出。在这个讲座中,在传统 ACID 理论以及当时比较流行但是比较抽象的的设计指导理论 BASE 理论(当时的 BASE 理论还很抽象,直到好几年后才出现一份比较权威的被广泛接受的 BASE 理论完整解释和设计)的类比中,提出

    • C(Consistency,一致性):在一个分布式的系统中,同一个数据所有备份,在同一时刻是否有相同的值。也就是,对于同一个数据的读写,是否立刻对于所有副本都能看到一致的结果。一种比较常见的强一致性实现就是,在看到一致的结果之前,写请求不返回,读请求阻塞或者超时。
    • A(Availability,可用性):在集群中一些节点故障时,集群还可以响应读写请求
    • P(Partition-tolerance,分区容忍性):分布式系统具有多个节点,如果节点间网络中断,就会造成分区

    并且提出了,CAP 并不能全部满足,而是一般选两个满足

    之后,Seth Gilbert 以及 Nancy Lynch一篇 Notes 中,证明了 CAP 并不能同时都满足。并且,将 CAP 定义的更加清晰:

    • C: 需要满足原子一致性,也就是任何读写都是具有原子性的,也就是对于同一个数据的写之后的读取,一定能读取到写的值,也就是最新的值
    • A:对于所有成功的请求,都需要在有限的时间内返回,也就是成功请求是有效的,可终止的。
    • P:可能节点间传输丢失一些消息

    CA 系统

    也就是不允许分区的系统,也其实就不是分布式系统,而是单机系统。例如单机数据库,或者是共享存储数据库,比如 Aurora DB 类似的思路设计的数据库,共享同一份存储,上面建立不同的 MySQL 进程,一个 MySQL 读写,其他的只读,由于使用的同一块存储,并且只有一个 MySQL 进程写入,满足 ACID 的事务特性,能保证强一致性,以及可用性。

    CP 系统

    也就是不要求高可用性,但是要求强一致性的系统,哪怕当前业务不可用,也不能出现数据不一致的情况。并且,如果节点间传输消息丢失导致没有同步成功,或者重试,或者返回更新失败,回滚更新请求

    CP 的一种实际应用就是分布式锁,一般的,如果没有获取到锁,或者获取锁失败,我们都会选择阻塞等待,或者直接失败,而不会冒着可能会有并发危险而去执行业务。并且,分布式锁必须保持所有节点看到的锁状态一致,不能有差异,否则认为获取锁失败。

    同时,大部分分布式数据库都是 CP 系统,但是他们的一致性协议方案是不同的,常见的例如 Paxos,2PC,3PC,RAFT等等。

    AP 系统

    也就是要求高可用性,但是不用强一致性的系统。在这种情况下,一旦分区发生,节点间的数据可能不一致,每个节点用自己的本地数据继续提供服务。这样情况下,可能会出现数据不一致,系统一般会实现最终一致性。也就是在分区结束后,通过一些机制将数据同步。

    基本上具有多层缓存的系统,都是 AP 的系统设计。例如 DNS,客户端缓存,浏览器缓存以及进程内缓存等等。

    一个 CP 与 AP 系统的对比

    一个比较经典的例子就是 Zookeeper 作为注册中心和 Eureka 作为注册中心。

    假设注册中心有两个接口,一个是注册实例,一个是读取实例。

    如果以 Zookeeper 为注册中心,对于注册实例请求也就是更新请求,采用的是过半写以及 2 PC 的同步机制。
    image

    只有过半 2PC 更新成功,这个注册请求才成功,这样读取每个节点都会读取到这个更新请求,否则会回滚已经更新的节点。并且每个节点数据是一致的。如果过半的节点不可用,那么整个集群都不能处理注册实例请求以及读取实例的请求。这样保证的强一致性,但是可用性是打了折扣的。

    如果以 Eureka 为注册中心,注册请求发到一个 Eureka 实例上之后,这个 Eureka 会转发到集群内其他 Eureka 节点。

    image

    即使某些节点失败,也不会将已经更新的回滚。并且无论集群内哪些 Eureka 挂了,也不会影响其他正常的 Eureka 继续服务工作,虽然可能读取到比较老的数据,以及有一些数据不一致。

    目前的 CAP 理论

    随着技术的不断发展以及理论的不断完善,我们发现,分区并不是会经常出现的情况,大部分情况下,如果我们忽略 P ,其实就是可以实现 CA 共存的情况。如果分区是可以感知的,纳闷我们可以提前制定响应策略,例如进入服务降级限制某些操作,通过恢复补偿逻辑修正数据不一致。

    在 CAP 基础上演变的 PACELC 理论,就是针对这种情况的更为实际的指导意见。在出现分区的情况下,取前半部分,其实还是 CAP 理论。如果不出现分区的情况,也就是大部分的情况下,我们考虑 L(Latency,延迟) 与 C(Consistency 一致性)的权衡。

    微信搜索“我的编程喵”关注公众号,每日一刷,轻松提升技术,斩获各种offer

    image

    展开全文
  • 软件测试的基础理论 软件测试的目的: 简单的来说,软件测试是为了找到软件中隐藏起来的bug,修复之后避免商业风险。 软件测试的定义: 使用人工和自动手段来运行或者测试某个系统的过程,其目的在于 检验...

    练习使用禅道(下载32位开源版)
    禅道:项目管理软件
    测试人员一般用来跟踪缺陷的生命周期
    常用的缺陷管理工具:禅道,jira、 bugzilla、QC等
    登录地址:ip地址/zentao(在cmd命令行下面ipconfig获取ip地址)
    本机:127.0.0.1/localhost
    1:禅道管理与admin修改公司名称:安吉软件测试
    2:禅道管理员admin建立部门:产品部、研发部、测试部
    3:禅道管理员admin添加员工:产品经理(马化腾)、开发经理(张小龙)、开发人员(雷军)、测试人员(金朝阳)
    4:产品经理添加一个产品:安吉ERP系统,并且维护模块:首页、登录、报表
    5:开发经理到禅道里面创建一个项目:人力资源管理,并且关联到产品
    6:开发经理维护项目团队(把相关的开发、测试、产品拉到项目里面)
    7:开发经理建立一个新的版本V1.0
    8:测试人员在禅道里面提交一个bug
    9:开发人员在禅道系统里面对bug进行确认

     

    软件测试的基础理论

    软件测试的目的:
    简单的来说,软件测试是为了找到软件中隐藏起来的bug,修复之后避免商业风险。


    软件测试的定义:
    使用人工和自动手段来运行或者测试某个系统的过程,其目的在于
    检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。

    软件测试原则:
    1、测试证明软件存在缺陷:我们的测试工作只能证明当前软件是有缺陷的,而不能中证明它没有缺陷。
    2、不能执行穷尽测试:具体的测试操作不可能将所有的的情况一罗列出来,所以测试工作肯定有终止的时候

    3、测试应当尽早介入:一般不要在开发完成之后,这样不利于缺陷的尽早发现

    4、测试存在群集现象:对于一款软件来说,核心功能只占20%,所以在测试的时候我们会去花跟更多的时间去专门测试这些功能,因为它里面缺陷暴露的可能就会更大些,我们称之为群集现象。

    5:测试操作依赖于某个测试环境

    6:杀虫剂现象:不要过多使用同一条测试案例来对软件进行问题查找,因为软件会产生“抗性”

    7:不存在缺陷的谬论:任何的软件不可能是完美的


    软件开发流程:
    1、招标
    2、软件公司过来做需求调研(整理需求文档)
    3、做设计
    4、编写代码
    5、单元测试(开发来做)
    6、集成测试(开发来做)
    7、移交到测试部门进行系统测试(测试人员来做)
    8、验收测试(alpha测试、Beta测试、第三方验收测试、或者由产品来验收)
    9、软件的部署上线
    10、维护阶段:
    -修复软件在使用过程中的故障
    -开发新功能

    软件测试的流程
    1、参与需求评审(产品经理为主导讲解,开发、测试、产品、项目经理参与)
    2、测试组长编写测试计划(依据需求)
    3、测试人员编写测试用例(依据需求和产品原型图)
    -用例:具体的我们就可以理解是用户对于软件使用的一个完整操作流程,里面会包括测试什么和怎么样去测
    4、测试用例的评审(以测试人员为主导),将我们设计好的用例进行适当的删除或者增加和修改。

    5、搭建测试环境
    所谓环境指的就是软件运行需要依赖的环境。
    操作系统、数据库、服务器软件、当前软件底层代码执行所需要的环境(python java)
    6、开发申请测试
    7、测试人员在测试环境做冒烟测试(smoke testing),冒烟测试不通过的话,版本打回;如果冒烟测试通过的话,正式进入系统测试阶段。
    8、执行测试用例、提交缺陷、对缺陷进行跟踪、进行回归测试。
    9、验收测试
    10、软件的正式发布上线
    11、软件的运行维护阶段


    软件质量
    六大特性:
    1、功能性:软件具有满足用户显示或者隐式功能的能力
    2、可靠性:软件实现了自己规定的功能
    3、易用性:软件在使用上容易上手,易于学习,吸引用户的能力
    4、效率性:类似于软件的性能考虑
    5、可维护性:在规定条件和规定时间内使用规定的工具修改规定功能的能力
    6、可移植性:要求软件具有可以从一个平台移动到另外一个平台上使用的能力

    软件的组成
    文档
    程序
    数据

    软件的架构:
    C/S架构:client/server:客户端/服务器,QQ,微信,手机上APP应用
    B/S架构:browser/server:浏览器/服务器,淘宝网,京东商城

    区别:
    1、C/S架构下载、安装、卸载、升级;B/S架构不需要
    2、效率:C/S架构的软件一些复杂的计算是放在客户端进行的,C/S架构的软件可以分担一些服务器数据的存放,因此相对来说C/S架构的软件处理效率会更高一些
    3、安全性:C/S架构的软件相对于B/S架构的软件安全性更高一些
    4、开发成本:C/S架构的软件开发成本相对较高


    软件开发模型
    1、瀑布模型
    软件计划
    需求分析和定义
    软件设计
    软件实现
    软件测试
    软件运行维护

    优点:
    1:开发的各个阶段比较清晰
    2:当前一阶段完成后,只需关注后续阶段

    缺点:
    1:依赖于早期的需求调查,不适应需求的变化
    2:风险往往延至后期才显露,失去及早纠正的机会
    3:前面未发现会传递并扩散到后面的阶段,可能导致项目失败

    适用于需求很明确的项目(需求不频繁变化),分阶段向下执行,无法回溯


    2、快速原型模型
    在开发真实的系统之前,构造一个原型,在改原型的基础上,逐渐完成整个系统的开发工作。
    第一步:建造一个快速原型,实现用户与系统的交互,用户对原型进行评价,通过逐步调整原型使其满足用户的要求,可以确定用户的真正需求是什么
    第二步:是在第一步的基础上开发出用户满意的软件产品

    优点:
    1、克服瀑布模型的缺点,更好地满足用户的需求并减少由于软件需求不明确带来的项目风险

    缺点:
    1、不适合大型系统的开发(适合开发小型的,灵活性高的系统)
    2、前提要有一个展示型的产品原型,因此在一定程度上可能会限制开发人员的创新

    3、增量模型
    4、螺旋模型
    5、敏捷模型
    在敏捷开发中,软件项目被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之
    就是把一个大项目分为多个相互联系,但是也可以独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。


    软件测试模型
    1、V模型
    需求分析:用户需求、业务需求、需求规格说明书
    概要设计:系统架构、模块划分、模块与模块之间的接口
    详细设计:模块内部实现的逻辑和方法
    编码:实现上面的设计
    单元测试:检测代码的开发是否符合详细设计的要求
    集成测试:检测此前测试过的各组成部分是否能完好地结合到一起
    系统测试:拿到产品之后,检测一下最基本的功能和业务流程是否能走通,检测产品的安全性和性能等方面测试
    验收测试:检测产品是否符合最终用户的需求

    优点:
    1、测试的V模型即包含了底层测试又包含了高层测试
    底层测试:检验源代码质量的测试:如单元测试
    高层测试:检验整个系统的需要,如:系统测试

    2、v模型清楚地标识出了软件开发的阶段

    3、它采用自顶向下逐步求精的方式把整个开发过程分成不同的阶段,每个阶段的工作都很明确,因此便于控制研发


    缺点:
    1、很多前期的错误一直到测试阶段才发现,修复成本太高
    2、在实际的开发过程中,用户很难把需求完全明确下来,因此当需求变更的时候,会导致阶段反复,而且都要重复需求、设计、编码、测试等过程,返工量非常大,模型的灵活性较低。

    2、W模型
    双V模型,在开发的每个阶段都有测试活动与之对应
    优点:
    1、开发强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求和概要设计同样要测试
    2、更早地介入测试,可以发现开发初期的缺陷,那么可以用更加低的成本进行缺陷修复
    3、同样是分阶段的工作,便于控制项目过程


    缺点:
    1、对应当前很多项目,在执行过程中根本不产生文档,那么W模型基本上无法适用
    2、使用起来技术复复杂度很高,对于需求和设计的测试要求很高,实践起来困难

    3、H模型
    H模型指出软件测试要尽早执行,只要某个测试达到准备就绪点,测试活动就可以展开。
    1、测试准备:所有测试执行活动的准备;判断是否到测试就绪点
    2、测试就绪点:测试准入准则,即是否可以开始执行测试的条件
    3、测试执行:具体的执行测试的程序

    4、X模型
    5、前置测试模型

    软件测试的分类
    按测试阶段(时间阶段)划分:
    1:单元测试
    2:集成测试(检查模块与模块之间的交互是否正常)
    3:系统测试(对整个系统进行测试,包括功能测试、性能测试、安全性测试、兼容性、易用性测试、界面测试、文档测试)
    4:验收测试

    按照测试技术来划分
    黑盒测试:不关注程序的内部逻辑结构,只关注输入和输出
    白盒测试:关注程序的内部逻辑
    灰盒测试:关注输入和输出,能够根据软件的表现分析出程序的执行逻辑

    是否运行程序
    静态测试:不运行软件,检查文档、检查编码规范
    动态测试:软件运行起来进行测试

    按照是否自动化来划分
    人工测试(手动测试)
    自动化测试

    按照测试实施组织划分:
    开发方的测试:alpha测试
    用户方的测试:beta测试
    第三方测试

    按其他分类:
    冒烟测试(smoke testing)
    随机测试
    回归测试(部分回归、全部回归)

    性能测试
    一般性能测试
    负载测试
    压力测试
    稳定性测试

    软件测试计划:
    软件测试计划Testplan,描述了要进行的测试活动的范围、方法、资源和进度的文档,它确定测试项、被测试特征、测试任务、谁执行测试、各种可能的风险。测试计划可以有效预防计划的风险,保障计划的顺利实施。

    测试计划包含6要素(5w1h):
    1:why——为什么要进行这些测试
    2:what——测试哪些方面,不同阶段的工作内容
    3:when——测试不同阶段的起始时间
    4:where——相应的文档、缺陷存放的位置、测试环境等
    5:who——项目相关的人员组成,安排哪些测试人员进行测试
    6:how——如何去做,使用哪些测试工具以及测试方法进行测试
    课堂练习:《华东电脑软件测试计划模板》找出5w1h
    测试计划:依据需求文档,在计划中要包含测试通过的标准,测试风险分析

    测试用例(TestCase):测试用例就是一个文档,描述输入、动作、和一个期望结果,其目的是确定应用程序的某个特性是否正常工作。
    测试用例是软件测试的核心
    测试用例需要评审
    1、测试用例的编号
    2、测试用例的标题
    3、测试的输入(操作步骤)
    4、预期结果
    5、优先级
    课堂练习:编写登录测试用例

    黑盒测试技术用例设计:基于用户需求规格说明书和UI原型图
    等价类划分法
    边界值法
    因果图法
    决策表法
    错误推测法
    场景法
    正交法

    等价类划分法:依据需求对输入的范围进行细分,然后再分出的每一个区域内选取一个有代表性的测试数据开展测试。
    等价类=有效等价类+无效等价类
    有效等价类:符合需求说明,合理地输入数据集合
    无效等价类:不符合需求说明,无意义地输入数据的集合
    设计等价类划分法测试用例步骤:
    1、依据常用的方法划分等价类(包括有效等价类和无效等价类)
    2、为等价类表中的每一个等价类分别规定一个唯一的编号
    3、设计一个新的用例,使他能够尽量多覆盖尚未覆盖的有效等价类,重复该步骤,直到所有的有效等价类均被用例所覆盖
    4、设计一个新的用例,使他仅覆盖一个尚未覆盖的无效等价类,重复该步骤,直到所有的无效等价类均被用例所覆盖
    何时采用?
    -任何测试过程都需要采用
    -把可能的用例组合缩减到足以满足测试需求为主

    边界值分析法:
    边界值分析法是对输入或者输出的边界值进行测试的一种测试方法。通常边界值分析法是作为对等价类划分法的补充。
    何时采用?
    -边界值法是对等价类划分法的补充,两者结合使用

    于等价类划分法的区别
    -不是典型值而是所有边界值
    -不仅要考虑输入还要考虑输出

    边界值分析的原则:
    1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界值以及刚刚超过这个范围边界的值作为测试输入数据。
    2)如果输入条件规定了值的个数,则用最大个数、最小个数和比最大个数多1个、比最小个数少1个的数作为测试数据。
    3)如果程序的规格说明给出的输入域或输出域是有序集合 (如有序表、顺序文件等),则应选取集合中的第一个和最后一个元素作为测试用例。
    4)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例。
    5)等等

    错误推测法(错误猜测法):基于经验和直觉推测程序中所有可能存在的各种缺陷,从而有针对性的设计测试用例的方法。

    场景法
    什么是场景?
    -由一系列相关活动组成,且场景中的活动还能由一系列场景组成
    从一个流程开始通过描述经过的路径来确定的过程,经过遍历所有的基本流和备选流来完成整个场景,通过运用场景来对系统的功能点或者业务流程进行描述,从而提高测试效果。

    基本流+备选流=场景法

    基本流
    -是经过用例的最简单的路径,无任何差错,程序从开始直接执行到结束。

    备选流
    -一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选流,或者终止用例,不再加入到基本流中。

    场景法设计测试用例的步骤:
    1、根据需求,描述出程序的基本流和备选流
    2、根据基本流和各项备选流生成不同的场景
    3、对每一个场景生成相应的测试用例
    4、审核用例、去掉冗余、给用例确定测试数值

    因果图法
    因果图法是从需求中找出因(输入条件)和果(输出或者程序状态的改变),通过因果图转换成判定表。
    -输入条件之间的关系(组合关系、约束关系等)
    -输入和输出之间的关系

    因果图设计测试用例的步骤:
    1、提取因果,赋予标识符
    2、提取因果关系,表示因果图
    3、标明约束条件
    4、转换成判定表
    5、设计测试用例

    因果图法什么时候使用?
    -应用的输出结构依赖于各种输入条件的组合或者各种输入条件的之间的的某种相互制约的关系候
    -当输入的条件过多时,可以考虑输入的所有排列组合情况,考虑条件之间的结果之间的关系,防止遗漏

    因果图于(等价类+边界值)的区别:
    等价类+边界值:着重考虑输入条件,忽略输入条件的组合情况以及各个输入条件的相互制约关系
    因果图:针对输入条件之间的关系,考虑输入条件之间的组合、约束情况


    什么是软件的缺陷
    软件的缺陷(Defect),常常叫做bug。
    所谓软件缺陷,即为计算机软件或者程序中存在某种破坏正常运行能力的问题,错误、或者隐藏的缺陷,缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。

    缺陷的严重程度:
    1:致命:导致程序崩溃
    2:严重:功能不通(比如注册失败)
    3:一般性:结果不正确(数据不一致)
    4:不严重:界面上的问题(图片无法显示、文案错误),不影响功能的使用

    缺陷的优先级:
    1:最高优先级
    2:次高优先级
    3:中等优先级
    4:最低优先级


    缺陷报告的组成:
    1:缺陷的标题
    2:重现的步骤(包括操作步骤、期望结果、实际结果)
    3:严重级别
    4:优先级别
    5:缺陷的类型
    6:指派给谁
    7:软件的版本
    8:软件的模块
    9:bug产生的环境,操作系统,浏览器
    10:给缺陷增加附件
    强调一点:一条缺陷报告只能包含一个缺陷


    缺陷的生命周期:
    1:激活(测试人员来做)——>确认(开发来做)——>已解决(开发来做)——>关闭(测试人员来做)
    2:激活(测试人员来做)——>确认(开发来做)——>已解决(开发来做)——>重新激活(测试人员来做)——>已解决(开发人员来做)——>关闭(测试人员来做)
    3:激活(测试人员来做)——>拒绝修改(开发人员来做)


    测试日报(测试进度报告,每个测试工程师每日下班后把自己的当天的工作情况提交给测试组长):
    1:今日的Case执行情况/今日的进度
    2:Bug的统计和分析
    3:遇到的问题
    4:明日的工作计划

    测试报告:一般由测试组长来编写
    1:测试环境(软硬件的配置环境和网络环境)
    2、测试的执行统计:测试的执行时间、测试的人力投入
    3、测试的内容:功能模块、子功能、是否有遗留问题,遗留问题的单号
    4、测试的结果:A类问题、B类问题、C类问题、D类问题
    5、问题的统计及分析:问题按模块统计、问题按严重性统计、问题的详情
    6、遗留问题的分析
    7、测试的结果

    SVN:是一个开源的版本控制系统
    一:SVN服务器的搭建
    1、安装好之后,启动Visual Server Manager
    2、建立版本库
    3、建立用户和组,并且需要分配权限(在Repositories属性)
    4、给用户组设置权限

    二:安装客户端
    1、迁出文件版本check out(用于客户端第一次从SVN服务器上下载版本库数据)
    2、增加文件,Commit(将文件上传)
    3、更新文件,update
    4、删除文件
    5、比较版本差异

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 《流程的永恒之道:工作及BPM技术的理论、规范、模式及最佳实践》是一本全面讲解业务流程及其实现的专著,书中阐述了应用流程的三大永恒之道,即工作技术永恒之道、BPM技术永恒之道、BPM治理永恒之道,以流程及...

    编辑推荐

      业内深入融合流程管理与流程技术的专著,全面讲解了业务流程及其实现,企业打造高效流程型组织的实践指南。
      本书作者是国内资深的工作流及BPM领域专家,现任国内知名的IT上市公司东华软件股份公司房产事业部执行副总经理。近些年,集首席咨询顾问、系统分析师、架构师、技术副总、项目经理多个角色于一身,成功领导了3个千万级别的大型软件项目的解决方案设计与开发实施,积累了丰富的解决方案能力、分析及设计能力、组织实施能力。本书第二作者荣浩也是工作流方面的知名专家,有8年左右的工作流开发与应用经验,曾任东方易维工作流产品经理,现任Thoughtworks咨询师。
      本书结合实际示例,探讨了两条发展主线——业务及其管理的发展和信息化技术的发展,系统而全面地阐述了应用流程技术的三大永恒之道,为读者展现了一个完整的流程全景图。
      本书附录包括了对所有工作流模式的讲解,其中控制模式43种,资源模式43种,数据模式40种以及异常处理模式,供读者研习。附录内容可以在图灵社区http://www.ituring.com.cn/book/1275免费下载。 

    内容推荐

      《流程的永恒之道:工作流及BPM技术的理论、规范、模式及最佳实践》是一本全面讲解业务流程及其实现的专著,书中阐述了应用流程的三大永恒之道,即工作流技术永恒之道、BPM技术永恒之道、BPM治理永恒之道,以流程及流程管理为引子,重点着墨于流程技术。全书共五篇,包括11章及附录,结合江南市房管局从20世纪90年代末期到今天的发展历程,讲述了流程的基本概念、流程的发展进程、流程模式、流程技术的高级应用以及流程技术之未来展望。
      《流程的永恒之道:工作流及BPM技术的理论、规范、模式及最佳实践》适用人群广泛,中高级开发人员可以掌握流程的基本概念、发展历程、IT实现及流程技术的应用;项目经理、研发经理、技术总监可以清楚流程管理平台的基本开发步骤、开发会面临的问题;企业高管可以通晓当今企业流程发展的最新状况,清楚怎样让自己的企业成为流程型的组织,从而实现企业的卓越绩效。

    作者简介

      辛鹏
      清华大学硕士。在IT行业从业十几年,早期曾任职于海信集团、中讯集团、神州数码,后在国内知名的工作流厂商东方易维历任工作流产品经理、架构师、技术总监、技术副总。现任国内知名的IT上市公司东华软件股份公司房产事业部执行副总经理。国内资深的工作流及BPM领域专家。在政府及企业的咨询、培训、解决方案提供、产品设计、企业架构、IT架构等方面有深厚的专业能力。曾为北京银行IT部门、尚学堂等机构,提供企业架构、IT架构及BPM方面的培训。中国开放流程社区创立人,jBPM-side开源工作流项目的发起人。在《计算机集成制造系统CIMS》(发表文章被EI收录)、《程序员》、infoq中文站、《软件世界》等专业核心期刊或媒体上发表多篇技术文章。最近4年,集首席咨询顾问、系统分析师、架构师、技术副总、项目经理多个角色于一身,成功领导了3个千万级别的大型软件项目的解决方案设计与开发实施,积累了丰富的解决方案能力、分析及设计能力、组织实施能力。
      荣浩

    显示全部信息

    目录

    第1章 流程入门 
    1.1 流程的定义 
    1.2 流程管理思想及方法论的历史 
    1.2.1 科学管理与流程管理思想萌芽 
    1.2.2 信息技术驱动的流程自动化 
    1.2.3 业务流程再造 
    1.2.4 业务流程为主导的管理思想 
    1.2.5 BPM管理思想与BPM治理思想的结合 
    1.3 流程技术的历史 
    1.3.1 工作流技术阶段 
    1.3.2 BPM技术阶段 
    1.3.3 BPM治理阶段 
    1.4 流程的分类研究 
    1.4.1 著名的安东尼模型 
    1.4.2 APQC企业流程分类 
    1.4.3 《流程管理》第三版企业流程分类 
    1.5 流程在企业内的作用及成熟度 
    1.5.1 流程支撑企业和组织的战略落地 
    1.5.2 流程打通企业和组织的经脉 
    1.5.3 流程保障企业和组织的敏捷性 
    1.5.4 流程在企业内的成熟度 
    1.6 流程、流程管理及流程技术三者的关系 
    第一篇 工作流的诞生篇
    第2章 初识工作流 
    2.1 手工业务到自动化业务的转型 
    2.1.1 手工业务进入自动化业务 
    2.1.2 多机多用户的MIS系统急需引入工作流技术 
    2.2 工作流技术的诞生 
    2.2.1 工作流基本概念 
    2.2.2 工作流技术解决了谁的问题 
    2.2.3 工作流里的流程结构 
    2.3 工作流技术相关规范 
    2.3.1 WfMC之工作流管理系统参考模型 
    2.3.2 XPDL之流程定义元模型 
    2.4 工作流管理系统之外围扩展 
    2.4.1 组织结构的集成 
    2.4.2 表单工具 
    2.4.3 时间服务引擎 
    2.4.4 消息引擎 
    2.4.5 规则引擎 
    2.5 业务管理与工作流技术的结合 
    第3章 工作流技术的永恒之道——工作流模式 
    3.1 模式是个什么东东?伟大的Alexander大师 
    3.2 工作流模式的发展历程及分类 
    3.3 作战活动的组成与流转——控制模式 
    3.3.1 房改购房审批流程中的串行模式 
    3.3.2 房改购房审批流程中的“并发分裂”与“并发汇聚”模式 
    3.3.3 房改购房审批流程中的“单选分裂”与“单选汇聚”模式 
    3.3.4 Workflow Pattern上的其他控制模式 
    3.4 单作战任务的资源协调——资源模式 
    3.4.1 人是这个世界的主宰,人是软件的使用者 
    3.4.2 组织结构模型分类讲解 
    3.4.3 组织结构与工作流及资源模式的关系 
    3.4.4 资源模式在房改购房审批流程中的应用 
    3.5 作战任务或作战队员之间的通信——数据模式 
    3.5.1 工作流数据的分类 
    3.5.2 工作流中的数据对象 
    3.5.3 数据模式中的通信场景 
    3.6 作战任务失败时的处理——异常模式 
    3.6.1 信息系统中的常规异常 
    3.6.2 工作流异常概述及分类 
    3.6.3 工作流异常的处理 
    3.6.4 长事务与补偿 
    3.6.5 大规范中的补偿 
    3.7 本章小结 
    第4章 工作流的产品实现 
    4.1 开源实现之jBPM 
    4.1.1 jBPM综述 
    4.1.2 深度解析jBPM 4 
    4.2 应用jBPM 4解决实际的流程需求 
    4.2.1 人工任务密集型流程的典型特点 
    4.2.2 应用jBPM 4解决典型的流程需求 
    4.3 工作产品的选型标准 
    4.3.1 确定自己的业务应用分类 
    4.3.2 基于工作流参考模型的选型标准 
    4.3.3 工作流外围扩展的选型标准 
    4.3.4 其他方面的标准 
    4.4 对国内工作流厂商发展的思考 
    4.4.1 工作流与平台 
    4.4.2 客户 
    4.4.3 工作流厂商的分类 
    4.4.4 机遇与挑战 
    4.4.5 总结 
    4.5 本章小结 
    第二篇 BPM的横空出世篇
    第5章 初识BPM 
    5.1 要打破部门墙实现互联互通 
    5.1.1 群雄割据导致了多个业务及数据孤岛的产生 
    5.1.2 业务及管理上的新需求——打破“部门墙”实现互联互通 
    5.2 BPM技术横空出世 
    5.3 什么是BPM 
    5.3.1 什么叫端到端 
    5.3.2 端到端流程的几个特性 
    5.4 工作流技术与BPM技术的是是非非 
    5.5 本章小结 
    第6章 BPM的生命周期及永恒之道 
    6.1 设计四步曲 
    6.1.1 第一步曲:找出核心业务及端到端的流程,此乃被设计的对象 
    6.1.2 第二步曲:基于活动的分析进行流程梳理,此乃设计过程的具体方法 
    6.1.3 第三步曲:基于对活动的规范化,优化活动之间的作用逻辑 
    6.1.4 第四步曲:整体谋划,此乃战术设计的精髓 
    6.2 建模 
    6.2.1 建模规范 
    6.2.2 模型交换 
    6.2.3 模型持久化 
    6.3 执行 
    6.3.1 执行规范 
    6.3.2 预销售许可主线流程的执行分析 
    6.4 监控 
    6.4.1 BAM的定义 
    6.4.2 BAM的分类 
    6.4.3 BAM关注的四个方面 
    6.4.4 BAM的技术实现 
    6.4.5 BAM在企业信息系统中的位置 
    6.4.6 BAM与BI 
    6.5 优化 
    6.5.1 BPI及预销售主线流程的改进分析 
    6.5.2 流程与绩效 
    6.6 实施BPM的永恒之道——BPM与SOA联姻 
    6.6.1 通过流程梳理找出端到端流程中的各个交互点 
    6.6.2 基于以服务为导向的架构(SOA)将交互点实现为服务 
    6.6.3 用BPM中的端到端的流程作为业务线连接系统中的服务 
    6.7 BPM的美好蓝图 
    第7章 BPM参谋长的战术理论及规范——BPMN规范 
    7.1 BPMN的历史 
    7.2 BPMN的流程模型 
    7.2.1 流程编制 
    7.2.2 编排 
    7.2.3 协作 
    7.2.4 协作的会话视图 
    7.3 BPMN的流程编制元素 
    7.3.1 基本元素 
    7.3.2 核心元素 
    7.3.3 扩展元素 
    7.4 BPMN的编排元素 
    7.4.1 编排任务 
    7.4.2 子编排 
    7.4.3 调用编排和全局编排任务 
    7.5 BPMN的会话元素 
    7.6 使用BPMN建模 
    7.6.1 描述性BPMN 
    7.6.2 分析性BPMN 
    7.6.3 执行BPMN 
    7.7 本章小结 
    第8章 深入BPM看实现 
    8.1 天上的BPM与地上的BPMS 
    8.1.1 BPMS产品市场前景 
    8.1.2 BPMS产品分类 
    8.1.3 Gartner的BPMS魔力象限 
    8.2 开源BPMS实现之Activiti 
    8.2.1 Activiti组件介绍 
    8.2.2 Activiti引擎及流程虚拟机对BPMN 2.0流程的执行过程 
    8.3 商业实现,我要选产品 
    8.3.1 BPM五阶段之BPMS产品讲解 
    8.3.2 IBM BPM v7.5 
    8.3.3 Oracle BPM 11g 
    8.4 本章小结 
    第三篇 战略落地之BPM治理篇
    第9章 BPM治理填补战略与BPM之间的鸿沟 
    9.1 问题的出现:战略与BPM之间存在鸿沟 
    9.1.1 政府的四大战略 
    9.1.2 战略与BPM间出现了鸿沟 
    9.2 问题的分析:出现鸿沟的原因 
    9.2.1 第一个原因:战略太抽象,没有清楚地描述战略 
    9.2.2 第二个原因:没有有效地对“执行”进行治理 
    9.2.3 第三个原因:没有衡量战略的具体标准 
    9.2.4 小结 
    9.3 问题的解决:用BPM治理填补战略与BPM间的鸿沟 
    9.3.1 用战略地图清晰地描述战略,用平衡计分卡化战略为行动 
    9.3.2 战略中心型组织及其管理战略执行的五原则 
    9.3.3 用平衡计分卡持续地衡量战略并改进 
    9.3.4 用BPM治理实现战略地图、战略中心型组织、平衡记分卡的落地 
    9.4 本章小结:让战略真正落地并有效执行 
    第四篇 高级应用篇
    第10章 江南市房管局的BPM项目实战 
    10.1 战略阶段——BPM治理架起战略与BPM之间的桥梁 
    10.2 战术阶段——构建端到端的流程体系,让BPM与SOA联姻,带领房管局进入大一统时代 
    10.2.1 自上而下构建端到端的流程体系 
    10.2.2 服务的获得:由CBM到SOMA 
    10.2.3 BPM与SOA的联姻 
    10.3 执行阶段——应用工作流模式响应业务流程的灵活变化 
    10.3.1 战术与执行的交互落地为BPMS、WFMS、ESB、FUNCTION的交互 
    10.3.2 高级控制模式在测绘系统中的应用 
    10.3.3 用资源模式解决测绘系统中的人工任务分配需求 
    10.3.4 用数据模式解决测绘系统中的数据交互需求 
    10.3.5 用异常模式解决测绘系统中的业务补偿需求 
    10.4 监控评估阶段——基于BSC的战略评估 
    10.4.1 财务评估 
    10.4.2 客户评估 
    10.4.3 企业内部流程评估 
    10.4.4 学习和成长评估 
    第五篇 流程技术之未来展望
    第11章 云中的流程 
    11.1 BPM私有云引擎的设计 
    11.1.1 云计算概述 
    11.1.2 云分类及云的服务模式 
    11.1.3 研究现状 
    11.1.4 私有云中的BPMS概述 
    11.1.5 BPM私有云引擎的设计 
    11.1.6 系统结构 
    11.1.7 系统实现方案 
    11.2 基于REST的流程API设计案例 
    11.2.1 一个关于网购纸尿裤的故事 
    11.2.2 第一个需求,我想随时随地查看我的订单 
    11.2.3 第二个需求,实现一个简单的流程 
    11.2.4 第三个需求,框框将物流部分外包 
    11.2.5 最后一个需求,框框要开放平台 
    11.2.6 小结 
    11.3 本章小结 
    后记一 
    后记二 

     

    媒体评论

    中国已经如此之快地应用上了BPM技术,令我印象深刻。业务流程管理技术,从经典的工作流技术到现代的流程挖掘技术,对于中国大型企业进行高效的运作是必不可少的。《流程的永恒之道》的两位作者辛鹏和荣浩为此作出了贡献。他们还将众所周知的工作流模式翻译成了中文,这将极其有助最先进的BPM技术在中国传播。
    ——工作流模式(WorkflowPattern)创始人,荷兰埃因霍温理工大学数学与计算机科学系教授W. M. P. van der Aalst 

    “在21世纪,持续的竞争优势将更多地出自新流程技术,而不是新产品技术。”
    ——麻省理工学院斯隆管理学院莱斯特.瑟罗教授

     

    展开全文
  • 拉图尔引用网络的主要目的就是将人类行动者和非人类行动者以同等的身份并入其中,每个行动者都是网络的节点,是平等的、去中心化的,唯一的区别就是与其他节点的联系(connection)的多少,但重要程度和网络地位都是...
  • Java限及常用解决方案总结

    千次阅读 2020-09-20 11:43:42
    说到限,想必大家都不陌生,一个很简单的例子就是,在12306上面买票的时候,遇到某时刻开始抢票的时候,经常页面会弹出一个类似请稍后重试的提示,从后端的技术层面来看,大概有2层解释,第一是服务器担心扛不住...
  • 基于双轴跟踪槽式聚光系统设计了焦面能密度测试装置,采用理论分析和实验测试的方法对由接收器的定位误差和跟踪误差引起的聚焦损失进行研究,并通过采集因子量化光学损失,从而揭示出各种误差影响的规律。结果表明:...
  • 分布式系统的CAP理论、BASE理论

    千次阅读 2020-05-26 12:27:33
    目录CAP定理(理论)一致性(Consistency)可用性(Availablity)分区容错性(Partition-torlerance)情况分析总结   CAP定理(理论) 在一个分布式系统中, Consistency(数据一致性) Availability(服务可用性) ...
  • 数仓理论

    千次阅读 2019-02-28 19:45:23
     理论上数据仓库的所有数据(包括细节数据、聚合数据、多维数据和分析数据)都应该开放即席查询,即席查询提供了足够灵活的数据获取方式,用户可以根据自己的需要查询获取数据,并提供导出到Excel等外部文件的功能...
  • 答案是6颗,对你没听错,不是998,也不是888,只需6颗龙珠,你也可以从理论上拥有一个私人订制的分布式去中心化的数据库集群系统,还犹豫什么吗,赶快往下看。  怎么设计?我们需要从一个用户的角度去看问题,...
  • “心流”理论全解析

    千次阅读 2015-11-21 15:39:05
    游戏体验研究所(Gaming Experience Lab, GX Lab)是由IEG用户研究中心组建的游戏体验理论研究小组,通过与领域内的顶尖国内外学术专家合作,追踪最前沿的游戏体验学术研究,跟进业界最新的研究成果来构建科学严谨、...
  • 微服务实现工作自动化

    千次阅读 2019-03-19 11:03:44
    您的公司可能希望采用微服务架构并应用工作自动化。我在这篇博客文章中没有深入探讨一些注意点: 您会遇到以下问题: 范围和边界(“您希望自动化什么工作流程以及如何将其映射到您的环境中的多个微服务或有界...
  • 工作引擎

    万次阅读 2015-07-24 14:24:53
    工作的概念起源于生产组织和办公自动化领域。它是针对日常工作中具有固定程序的活动而提出得一个概念。它的主要特点是使处理过程自动化,通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些...
  • 中心化应用:区块链技术概述

    千次阅读 2018-08-01 10:20:03
    在这本实用指南中,作者解释了为什么去中心化应用(dapp)将比现在最流行的 Web 应用得到更广泛的使用以及实现更多盈利,展示了如何使用现有工具来创建可用的 dapp 及其市场,并研究了目前两个成功的 dapp 案例。...
  • 工作技术既体现了企业管理计算机化的趋势,又突出了经营过程的重要性,已经成为...从理论上阐述了工作和工作管理系统的概念,研究了一种以企业业务流程为中心的工作模型,结合J2EE技术,提出了系统的实现框架。
  • 约束理论

    千次阅读 2017-12-12 15:49:34
    约束理论概述  约束理论(Theory of Constraints, TOC)是以色列物理学家、企业管理顾问戈德拉特博士(Dr.Eliyahu M.Goldratt)在他开创的优化生产技术(Optimized Production Technology,OPT)基础上发展...
  • 区块链理论基础

    千次阅读 2018-09-14 15:11:13
    区块链理论基础(1) 中国区块链技术和应用发展白皮书(2016)的通读杂记 原文地址:https://pan.baidu.com/s/1bkM1cFx7yAPrA_Aw5sC6sQ 摘要 讲区块链在全世界受到的重视引入,国内的金融、互联网企业等...
  • 大型商城活动防刷限方案

    千次阅读 2018-02-08 22:10:17
    里面做的事情是让当前这个请求等待1秒,此时前面设置的失效时间应该到了,然后再去对当前url计一次数此时返回的数量理论上市1,如果数量等于1那么设置失效时间为1,然后继续while的循环,如果大于10就让他一直去循环...
  • 基本思想是为编写一个演化算子,并在扰动理论中对其进行评估。 比直接求解微分方程要容易。 通过在four 4场理论和二维Sine-Gordon理论中复制已知结果来说明这一点。 结果表明,β函数的计算有所简化。 该技术还...
  • 我们为非超对称矢量样和手性Gauge-Yukawa理论确定中心电荷,临界指数和适当的梯度关系,这些理论根据Wilson原理是基本的,并且具有可计算的UV或IR相互作用固定点。 我们进一步揭示了各种本地和全球保形数据之间的...
  • 数据仓库基本理论

    千次阅读 2019-08-01 10:58:36
    1.1 范式理论概述 关系型数据库设计时,遵照一定的规范要求,目的在于降低数据的冗余性和数据的一致性,目前业界范式有:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)、第五...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 68,313
精华内容 27,325
关键字:

中心流理论