zoukankan      html  css  js  c++  java
  • WFP.NETWorkFlow PlatForm(工作流开发平台)

    本文稿取材自微软公司合作伙伴之一的北京圣特尔科技发展有限公司,文中所提到的数据和信息均来自北京圣特尔科技发展有限公司通用工作流开发平台产品组人员,内容真实可靠。
    
    软件架构师的利器
    ——Windows Vista™助力圣特尔通用工作流开发平台(WFP)
    
    摘要:
      作为独立软件提供商,当圣特尔看到软件项目开发中的种种问题,诸如频繁的需求变化、混乱的软件版本控制、困难的团队沟通、人员流动导致项目进度阻塞,这些问题的频频出现为软件项目的开发带来巨大隐患与风险时,就致力探索一种能够实现高效、开放、安全、快速开发和应用的模式,克服上述那些棘手的问题。随着Windows Vista™的出现,WF平台有效帮助圣特尔实现既定目标。
    
      应用Windows Vista™开发的通用工作流开发平台(WFP),面向软件公司及最终用户,主要解决目前企业ERP的实施部署问题,解决软件公司的开发效率问题,降低软件公司导致“软件危机”的可能性。利用该软件可用于政府及企事业单位的工作流程电子化,建立全行业的信息化开发平台,真正让软件公司把精力放在解决用户实际业务问题上,让用户可以自主对软件进行调整和二次开发。
    ——北京圣特尔科技发展有限公司CEO 陈涛
    
    
    通用工作流开发平台快速构建企业应用
      传统B/S技术中通常会将软件划分为三个不同的层次:数据库、中间层和界面。对于任何非数据库与界面层的内容,通常将其划分到中间层。随着软件系统的抽象层次越来越高,中间层与前端交互的部分又被独立成界面控制层,常见的各种Web框架基本上都处在这个层面;界面控制层与后段数据库之间的部分被称数据访问层。
    
      这种对软件的抽象有一个非常重要的前提,那就是所有这些逻辑层次的划分都将以技术为核心。当然,在业务层面上,上述三层模型仍然有效,只是越来越多的人们发现,这个模型的抽象层次还是不够高,尤其是面对各个行业的企业用户,他们在自己的业务中拥有很多具有特色,而且是相对比较稳定的部分。为了将这部分内容进行抽象并重复利用,独立软件提供商绞尽脑汁。
    
      将具有行业特点的业务模型从整体的中间层当中抽象出来对于整个企业的IT架构是很有好处的。这些好处中最明显的一点是:之前的业务应用以及业务系统代码可以进行复用,这样就能够有效为企业积累软件资产提供先决条件。这也是SOA本身所定义的范畴:整合企业软件资产。SOA理念为业务基础平台的出现提供了先决条件。它从原来的中间层被抽象出来,并将原来的中间层编程了业务基础架构平台和软件基础架构平台,将业务彻底从技术当中剥离出来。
    
      如果企业具有一个包含行业业务的平台软件,那么构建任何业务应用将会是一件非常简单的事情。这其中不仅包括在开发上节省大量成本,而且能够帮助用户快速建立企业应用,以避免在业务需求变动如此剧烈的今天,企业能够快速响应市场需求,从无休止的项目延期中解放出来。
    
      无休止的项目延期早在几十年前就被定义为“软件危机”,造成出现该问题的原因在哪里呢?这与企业应用越来越复杂,用户要求粒度越来越细密切相关。但是作为一个技术人员,不管是架构师、系统分析师还是程序员,都应该从技术的角度来为企业解决这些问题。于是很快就有“大师”抛出了“银弹理论”,以用来应付被妖魔化的企业应用软件。然而,真正的大师弗洛伊德·布鲁克斯很快就否定了银弹理论,并适时提出“没有银弹”的观点。
    
      是不是因为没有“银弹”就不再做软件了?企业IT系统就不需要再建立了?当然不是!问题的出现总会有解决的方法,“没有银弹”的理论只是告诉我们,软件领域的方法论、工具、技术不仅不会停止,反而会随着时代、应用、企业需求不断进步。下一代微软平台Windows Vista™.NET Framework 3.0的诞生就是基于这种背景。
    
      在企业应用和SOA理念中,工作流是整个系统的核心。为什么这么说?通过.NET Framework 3.0对开发角色的分类,可以看到WF(Windows Workflow Foundation)技术是面向系统架构师和系统分析师层面的,这一点可以让我们毫无疑问地看到工作流在企业应用中的巨大作用,这也是微软在.NET Framework 3.0中追加该产品的主要原因。WF作为用于开发工作流应用的编程模型、引擎以及工具,是更新后.NET Framework 3.0中最重要的技术,其应用也正在成为人们日益关注的热点。
    
    
    在平台上开发平台
      为用户提供包含各种企业应用在内的产品并非易事。一个高效的二次开发平台能够很快帮助他们为用户达成这些目标。正是因为这一点,圣特尔科技的通用工作流开发平台才得以成为整个公司的核心产品。通过这个平台,圣特尔才能够为用户提供ERP(企业资源计划),CRM,(用户关系管理) SCM(供应链管理),MIS(管理信息系统), PDM(产品数据管理),OA(办公自动化)等全方位专业化技术服务。
    
      经过两年多时间的精心策划,庞大的系统需求信息被整理成了可供开发的文档。圣特尔旨在为用户提供一个面向行业和应用领域的二次开发工具,并具有瞬间响应用户需求变化,无需程序代码编写,快速进行软件开发和调整的能力。用户只需一次简单开发就可得到浏览器模式和用户端软件模式两种结构的软件。
    
    整个系统核心包括:
    全新操作体验——用户操作软件简单化,标准化,图形化;
    全新开发体验——开发人员无需安装开发环境即可随时随地进行软件开发;
    全新服务体验——解决用户问题可以在任何时间、任何地点,快速开发并部署;
    完美扩展能力——包括开发工具都是由开发工具自己递归构造而成,因此软件平台具有强大的功能扩展能力。
    文档与流程浑然一体——文件保存到本地机也可以受到流程权限控制
    
    为了实现上述特点,圣特尔通用工作流开发平台(WFP)系统架构如下图所示:
    
    
    
    
    
    图1:圣特尔通用工作流开发平台产品系统架构图(点放大)
    
    由上图可以看出,圣特尔通用工作流开发平台被设计成为今年来最为流行的Smart Client技术,以便帮助用户完成部署与更新等相应工作。该软件中的核心就是.NET Framework 3.0当中的WF技术。
    
    工作流引擎作为整个软件的核心,需要与整个架构中所有模块进行交互,尤其是与Office System的交互。将WF与2007 Office System的Office组件技术相结合,通过Open Xml File Format可以把Office文件与软件融为一体,软件操作过程中的报表文档均可自由输出成Word 2007或Excel 2007格式,文件流转过程还可以对其进行有效的权限管理。
    
    WF快速实现企业流程改善
    在WF中,所有的流程业务都由工作流节点组件构成。每一个工作流节点组建都是建立一个工作流实例的原子块或原子件。我们可以在其内部包含其它的工作流组件,或者隐含另外一个工作流实例。为了完成一些工作项(WorkItems),比如发送、接收、延迟、判断、等待、选择等,电脑可以通过已经设定好的规则来完成它们,而不再需要进行人力的修改与编码。一个工作流节点组件代表工作流的一个节点,包括工作流节点的描述和包含需要执行的逻辑代码。当然,从某种角度来看,WF中并没有创造真正的工作流语言,每个节点更像一个或一组相关的组件,扮演着某个活动,并成为特定角色的行为。这也是SOA实现的一种具体体现。
    
    被组织起来配合执行器进行运行的一组工作流就形成了工作流实例,这些实例可以是并行的、顺序的或者是CAG的。由于每一个工作流实例都通过电脑来执行,所以不再需要人员参与实例的执行。简单地说,开发人员可以把一个工作流节点看作是一个功能或是一个方法,把一个工作流实例看作一个程序。有了这些清晰的基本组件以后,整个工作流的实现就变得异常轻松。用户可以采用这些基本元素构建顺序型工作流与状态机工作流,这些形式的工作流被当成核心,采用在圣特尔的业务基础平台当中。
    
    顺序型的工作流定义了一种线性的工作流,它更像一个树状结构工作流,执行上它是有时序的。WF定义了一套工作流运行的规则和断点,一个工作流节点A要么有一单独的父节点P,或者没有父节点,那么它自己就是一个根节点。如果它是一个根节点,那么只有WF的引擎(Runtime)才能启动工作流节点A的执行,同时只有P才能够请求WF引擎去执行节点A;一个工作流节点只有在逻辑的等待状态才能被取消。一个父节点P,如果它的任何一个子节点在执行(或等待)或者取消状态,那么它是不能完成或结束的。当一个节点完成,那么工作流会执行下一个工作流节点,当所有工作流节点执行完毕,则根节点执行完毕,整个工作流执行完毕。工作流引擎将所有的工作流节点都当作抽象的实体,工作流引擎只不过协调各个工作流节点的执行,负责状态的管理、序列化、事件、异常处理和报告以及外界的查询,它不知道也不关心特定的数据或工作流节点的语义学。这样对于用户来说,就无需编写过多的代码,只要对业务有清晰的了解,很快就能开发出一个顺序型工作流。
    
    然而,并非所有的工作场景都是顺序型的流程,有些时候用户需要对很多条件进行判断才能知道工作是否应该继续,文档是否应该流转。而状态机类型的工作流则可以看作是包含多个事件功能的根节点,这个根节点是一个容器,里面包含了一个或多个事件节点组件,每个事件节点组件处理一个唯一的事件(也就是状态)。状态机的工作流遵循和顺序型工作流一样的规则和断言,但它提供了专门的状态机工作流节点,使得用户可以定义不同的状态(或事件)和完成状态的变化。状态机类型的工作流非常适合灵活多变的业务场景。这样对于整个业务来说灵活性大大增加,让业务基础平台拥有一个可以根据需要进行配置的模型。
    
    基本上,拥有WF上述功能和基本组件后,业务规则将被良好管理起来。采用该组件开发的基于它开发的业务基础平台可适应多种工作环境,通过一些简单的定义即可来快速实现企业应用开发。
    应用效益
    通过采用Windows Vista™技术,圣特尔科技的业务基础平台很快开发出来,并提供强大的功能。简单化、标准化、图形化的操作体验让身在企业的开发人员能够以更好的状态开发企业业务。兼容的C/S、B/S体系结构也能帮助用户在任何时间、任何地点快速开发和部署。
    
    解决传统的软件开发难题
    在传统的软件开发当中遇到的问题,包括频繁的需求变化、混乱的软件版本控制、困难的团队沟通、人员流动导致的项目进度阻塞,都能很快通过多次抽象的业务基础平台解决。而WF作为平台的核心,帮助企业找到了解决传统软件开发难题的一种方法,也为独立软件提供商快速完成产品提供了先决条件。
    
    快速构建企业流程
    作为一个高效的工作流引擎与二次扩展平台,.NET Framework 3.0平台中的WF能够帮助系统集成商有效规划业务流程的管理。采用新的工作流定义,企业业务系统能够更加清晰地展现出来,从而针对这些业务功能快速构建流程体系。
    
    圣特尔科技在下一步的计划中准备进一步加强对Windows Vista™的使用。除了在整体架构上加强采用WF技术以外,还将进一步采用WPF技术改善产品的界面和前端展示技术。尤其是对于提高用户满意度,快速开发产品原型,3D图形用户端、动态显示和调整效果等,未来圣特尔的产品将会更加贴近用户的需求,并为企业提供最佳的二次业务开发平台。
    
    通过新的.NET平台技术,Windows Vista™将让独立软件提供商拥有更快、更强、更好的平台软件,新的.NET Framework 3.0还将:
    
    为用户应用程序提供更加完善的界面基础平台,大幅提升用户体验
    为企业IT提供更加安全、可靠的通信环境,协助用户完成应用整合
    优化与整合业务系统流程,为企业构建灵活的IT生产和运维环境
    保护用户商业秘密,建立一套完整的企业安全和信任体系
    背景资料
      北京圣特尔科技(Centaur)发展有限公司秉承汲取业界的最新技术手段,谛造更适应用户软件产品的理念,多年来致力于先进管理理念和信息技术的引进、开发与推广,在行业信息化建设方面具有雄厚的技术实力和实施经验,可提供信息化整体解决方案设计,包括信息化发展规划、管理制度、标准规范、数据库建设、应用软件开发、项目组织实施等。
    
      圣特尔公司利用其先进的流程化办公开发平台,为用户提供ERP(企业资源计划),CRM,(用户关系管理) SCM(供应链管理),MIS(管理信息系统), PDM(产品数据管理),OA(办公自动化)等全方位的专业技术服务。
    
      目前,圣特尔主要面向行业(成长型1000人以下)的最终用户提供快速需求响应的信息化软件服务;同时面向行业软件开发商或个人提供专业的软件开发工具平台,帮助他们快速开发行业应用软件。
  • 相关阅读:
    Linux find 用法示例
    [转载]进程的概念与结构
    linux vi命令详解
    vi快捷键必知必会
    vim分屏操作
    硬连接和软连接的区别
    javascript_console调试常用方法
    javascript_错误处理机制
    Array详解
    react--setState使用
  • 原文地址:https://www.cnblogs.com/cwfsoft/p/2468706.html
Copyright © 2011-2022 走看看