写点什么

工作流、服务和模型

  • 2008-12-07
  • 本文字数:2301 字

    阅读完需:约 8 分钟

来自 Chappell & Associates 的 David Chappell,在其新的白皮书中,率先对微软的最新技术进行了介绍:WF 4.0、Dublin 和Oslo。除了介绍每个技术,更重要的是他介绍了如何把这些技术组合起来创建并运行那些基于工作流、面向服务和模型驱动的应用程序。

WF 虽然目前已被应用广泛采用,但 WF 4.0 的目的则在于让它的使用更简单。通过包含以下这些新的特性得以达成:

  • 新的 WF 工作流设计器具有更高效的用户体验。这个设计器运行于在 Visual Studio 内部,并允许开发者使用图形来创建工作流和活动。然而,设计器的使用不是必需的——开发人员可以完全用代码或者基于 XML 的可扩展应用标记语 言(XAML)自由地创建工作流和活动。这个设计器也可以被重新植入到其他环境中,如 ISV 自己的产品,像这类事情在 WF 4.0 中做起来要简单得多。
  • 内置了更多的活动。WF 的基础活动库原先主要集中于控制流和通信。在 WF 4.0 中,微软还将提供诸如数据访问、PowerShell cmdlet 调用这样的活动。其目的是为了能将现有活动装配到工作流中,使应用创建变得更容易。
  • 新的流程图(flow chart)工作流类型。在 WF 初具规模的时候,它提供了两个内置的工作流类型:顺序(Sequential),针对于相对简单的流程;状态机 (State Machine),应用范围更广但使用也更难。把流程图作为第三种内置工作流类型意味着结合了两者的优势,同时还简化了使用。

除此之外,WF 4.0 还有大量的改进,包括性能提升,数据处理的简化等等。

扩展了 Windows Server 的 Dublin 构建在 Internet Information Server(IIS)和 Windows Process Activation Service(WAS)提供的基础之上。除了“包装”由这些底层技术提供的基础服务之外,Dublin 还添加了一些新的功能:

  • 自动启动:缺省情况下,WCF 服务会在收到第一条消息时启动。Dublin 自动启动功能允许在服务配置完成就自动加载一到多个服务。这对于那些使 用非活动信道(即不自动启动服务的 WCF 通信机制)的服务很有用,如 FTP 或 SMTP。自动启动也会提高那些在处理第一次请求之前需要执行初始化任务的服 务的响应时间。
  • 实例重启:应用可能要求服务实例总是处于可用状态。为了满足这个需求,实例重启功能会监测所有 Dublin 服务的心跳。一旦某个实例在心跳期限内没有响应,就会被重新启动。对于基于 WF 的服务来说,工作流会将从它上次保存的持久化状态继续执行。
  • 消息转发:这个功能提供了基于内容的路由,允许开发者根据消息内容定义一系列路由策略。一旦完成这些,Dublin 能够根据它们的内容将消息路由到不同服务。
  • 跟踪:对于一个服务来说,将事件写入存储以跟踪它的行为是非常有用的。Dublin 跟踪服务允许任何服务(不论它是否是使用 WF 创建)都能做到这一点。对于基于 WF 的服务来说,Dublin 在 WF 的现有支持基础上添加了一系列工具和其他功能。

说到 Oslo,许多人似乎都在疑惑,这东西到底是干嘛的。典型的问题 是:

  • Oslo 是微软的下一个 Web 服务平台么?
  • Oslo 如何整合或者代替 BizTalk 服务器?
  • Oslo 是微软对 ESB 所做的回应么?
  • Oslo 会变成微软的 BPM 平台么?

根据 Don Box 的帖子

对于 Oslo,我们正在做两件事: - 我们正致力于简化人们以行话记录事物的工作——这一过程俗称建模。

  • 我们正致力于允许人们在程序执行期间访问平台组件的工作。

为了使第一项任务的用户体验尽量流畅,我们构建了一门 语言,它能让人们自如地以文本方式表达模型,而这也是让大多数人 (尤其是开发者) 喜欢的方式。可视化设计 [“Quadrant”] 界面是大多数人喜欢的另 一种工具,我们为此构建了一个设计工具,它能使用那些由以文本为中心的使用者生产和消费的相同信息内容。

Doug Purdy 强调了 Oslo 的重要性

情况很简单,这个平台对软件开发和管理来说将是转折性的……

Dave Chappell 解释说:

Oslo 的目标就是为创建模型驱动应用和其他围绕 IT 组织工作方式模型的用法提供一个基础。Oslo 可用于多种途径……起 初,Oslo 的使用重点似乎在于跟基于 WF 的应用协作……技术导向的业务分析师会使用 Quadrant 去创建或更改 WF 工作流……另外一种可能是技术导向 的业务分析师和开发者在同一个 WF 工作流上进行合作,但每个人使用的工具不同……

尽管所描述的每项技术都能独立使用,但要想了解其中的愿景就需要看看它们的协作方式。Dave Chappell 据此给出了一个描述企业业务流程改进场景的例子,Oslo 作为知识库,用来存放业务流程、应用程序、它们的关系以及新流程定义所使用的设 计工具;WF 作为新流程的实现技术;Dublin 作为部署平台。

文中所说的技术还处于演变之中,有大量的不定因素,并且也不要指望能一次全部发布。暂定的发布计划如下:

  • WF 4.0 将随.NET Framework 4.0 和 Visual Studio 2010 一起发布。.Framework 和 Visual Studio 的这些新的发布还将包含其他内容,如 WCF 的最新版本。
  • Dublin 首先将以独立包的形式提供下载,随后会作为 Windows Server 的一部分提供。它可能会在.NET Framework 4.0 和 Visual Studio 2010 发布后不久发布。
  • Oslo 建模技术也会一并发布,包括知识库,M 语言和 Quadrant。

随着这些新技术的可用,组织可以以任何他们喜欢的组合方式来采用它们。比如,可以使用 Oslo 或者单独使用 Visual Studio 创建 WF 4.0 应用。一旦写成,这个应用就能部署到一个用户编写的主机或者 Dublin 上。

在 Dave 的白皮书中,他描述了微软对基于 SOA 的下一代分布式系统的愿景,其内容令人印象深刻。在这个愿景中,知识库包含了现有的企业服务,这些 服务通过工作流被编配到一起,通过模型来定义,通过执行环境来监测。愿景中中唯一的遗漏似乎就是模拟环境,有了它,甚至可以在模型变更被部署之前对其影响 进行评估。

查看英文原文

Workflows, Services and Models

2008-12-07 03:152010
用户头像

发布了 255 篇内容, 共 56.9 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

玩转互联网公司面试!快手、爱奇艺、小红书等14家互联网企业面经分享!

Java 程序员 后端

生产环境JVM内存溢出案例分析

Java 程序员 后端

男默女泪!全网疯传的华为内部网络协议神仙笔记究竟有何魅力?

Java 程序员 后端

看透了 Redis 源码之后,我总结出来的几点心得

Java 程序员 后端

真是绝了!git标星19

Java 程序员 后端

知道这些面试技巧,让你的测试求职少走弯路

Java 程序员 后端

牛皮!华为工程师总结的Java生态知识体系面试必看笔记,太秀了

Java 程序员 后端

牛!阿里巴巴首推的《Java进阶必备宝典》,从理论到实战

Java 程序员 后端

盘点那些进行“网络编程”必须要知道的基础知识!

Java 程序员 后端

盘点郭德纲那些“催人奋进”的经典语录 -- 致被我们浪费的时光

Java 程序员 后端

看完这篇还不懂HashMap的扩容机制,那我要哭了~

Java 程序员 后端

直呼内行!阿里大佬离职带出内网专属“高并发系统设计”学习笔记

Java 程序员 后端

看了这篇文章后,面试官再也不敢问你非结构化存储的原理了

Java 程序员 后端

看完这套Java笔记,才明白笔者同时斩获7份大厂offer是有原因的!

Java 程序员 后端

知乎热问:国家何时整治程序员的高薪现象?太可怕了!

Java 程序员 后端

知道这些线程池底层源码的知识,你也能和面试官扯半小时

Java 程序员 后端

牛逼,这2招,彻底让你和 null say 拜拜

Java 程序员 后端

白嫖!白嫖!【尚学堂】高淇Java300集全套学习资料

Java 程序员 后端

盘点阿里巴巴 34 个牛逼 GitHub 项目

Java 程序员 后端

看阿里P8用5个核心技术和200个案例带你解密阿里亿级流量核心架构

Java 程序员 后端

真香!面试题库泄漏,在Github一夜爆火的面试题库,被各大厂要求直接下架

Java 程序员 后端

看看AQS阻塞队列和条件队列

Java 程序员 后端

用 Java 爬美女图片,这个厉害了!

Java 程序员 后端

用好这几个技巧,解决Maven-Jar包冲突易如反掌

Java 程序员 后端

用时17天完成4面阿里,已斩获offer,总结下个人面经心得体会

Java 程序员 后端

看一遍就理解:动态规划详解

Java 程序员 后端

看懂这篇文章就够了!什么是Redis缓存雪崩、缓存穿透和缓存击穿-五分钟统统搞定

Java 程序员 后端

独角兽余额宝(Java现场面试48题):性能调优+索引+Mysql+缓存

Java 程序员 后端

疫情宅家4个月苦修,“不负年华“终斩阿里Java岗4面,分享下心路历程

Java 程序员 后端

直播阿里远程面(钉钉部门),三面坐上“直通车

Java 程序员 后端

电商中的SPU与SKU

Java 程序员 后端

工作流、服务和模型_SOA_Boris Lublinsky_InfoQ精选文章