写点什么

工作流、服务和模型

  • 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:152004
用户头像

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

关注

评论

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

ChatGPT:引领未来智能交互的生成式AI

百度开发者中心

#人工智能 ChatGPT 文心一言

解析BeanDefinitionRegistry与BeanDefinition合并

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 8 月 PK 榜

[OpenHarmony]效果差、不便捷、无接口,TV项目共建如何避开这些坑?

LAVAL社区小助手

OpenHarmony

大数据平台需要做等保测评吗?怎么做?

行云管家

大数据 等保 大数据平台 等级保护 等保测评

体育馆LED显示屏技术解决方案

Dylan

技术 系统 比赛 LED显示屏 体育

mac前端代码编辑神器 sublime text 4中文激活码

mac大玩家j

代码编辑器 Mac软件 前端代码编辑

hbuilderx打包苹果证书获取步骤

雪奈椰子

ios 开发 Windows开发 苹果证书

SecureFX for Mac 附注册码 v9.4.1

胖墩儿不胖y

ftp Mac软件 FTP文件传输工具

解析大规模开发:提升企业级开发效率与质量,加速创新

龙智—DevSecOps解决方案

Atlassian Atlassian 云版 大规模开发

云堡垒机英语怎么翻译?它比硬件堡垒机便宜吗?

行云管家

云计算 堡垒机 云堡垒机

ChatGPT:生成式AI引领科学革命

百度开发者中心

#人工智能 ChatGPT 文心一言

QCA9880 QCA9882 What’s the difference?|802.11ac Qualcomm Atheros Network card Wallys

wallyslilly

QCA9880 QCA9882

Spring缓存是如何实现的?如何扩展使其支持过期删除功能? | 京东云技术团队

京东科技开发者

spring Spring Cache 企业号 8 月 PK 榜 spring缓存

ChatGPT:生成式AI技术带来的变革

百度开发者中心

自动驾驶 #人工智能 文心一言

浅谈Redis - 热点key问题 | 京东云技术团队

京东科技开发者

redis Redis 热点key 企业号 8 月 PK 榜

[OpenHarmony]稳定性专项运作知识地图,一张图带你稳过“万重山”

LAVAL社区小助手

OpenHarmony

IntelliJ IDEA下基于Scala实现的Git检查工具

TiAmo

git IDEA IntelliJ IDEA 代码检查

在代码世界游走,没几把“锁”防身可不行 | 京东云技术团队

京东科技开发者

分布式锁 java锁 java‘ 企业号 8 月 PK 榜

高性能MySQL实战(一):表结构 | 京东物流技术团队

京东科技开发者

数据库表 表结构设计 企业号 8 月 PK 榜 高性能表

[OpenHarmony]一文带你详解芯片--SL8541e-系统性能优化

LAVAL社区小助手

OpenHarmony

逻辑清晰,详解社交源码Android开发SDK

山东布谷网络科技

sdk

人工智能引领图文扫描新趋势

石臻臻的杂货铺

人工智能

龙智案例:某大型零售企业如何打造高速、现代化的ITSM体系

龙智—DevSecOps解决方案

ITSM 工单管理系统 Jira Service Management

汽车行业必读:ISO 26262和ASIL安全等级解读与攻略

龙智—DevSecOps解决方案

Helix QAC 安全标准 ISO 26262 静态分析工具

工时管理魔法课堂:如何在Jira中进行项目时间与成本管理?

龙智—DevSecOps解决方案

Jira插件 工时管理 jira工时

系统架构合理性的思考 | 京东云技术团队

京东科技开发者

架构设计 应用架构 企业号 8 月 PK 榜 架构合理性

6步玩转OpenHarmony标准芯片适配

LAVAL社区小助手

OpenHarmony

绝对干货!如何更好的利用 ChatGPT 提升编码效率?

booboosui

DevOps ChatGPT 智能编程 AI软件开发

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