写点什么

工作流、服务和模型

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

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

关注

评论

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

如何利用华为云耀云服务器L实例搭建个人博客网站?

平平无奇爱好科技

PyTorch从精通到入门01:线性回归

王玉川

人工智能 神经网络 机器学习 线性回归 PyTorch

为什么明道云不提供原厂实施服务

明道云

2023-11-08:用go语言,字符串哈希原理和实现 比如p = 233, 也就是课上说的选择的质数进制 “ 3 1 2 5 6 ...“ 0 1 2 3 4 hash[0] = 3 * p的0

福大大架构师每日一题

福大大架构师每日一题

ERP管理屡不见效?记住这些秘诀助企业拨云见日

平平无奇爱好科技

青椒云桌面云一体机的优势在哪里?

青椒云云电脑

桌面云一体机

PyTorch从精通到入门02:多项式回归

王玉川

人工智能 神经网络 深度学习 PyTorch 多项式回归

强大好用的shell:什么是shell?

小齐写代码

PyTorch从精通到入门04:CNN实现图像分类

王玉川

人工智能 神经网络 深度学习 CNN PyTorch

Mac电脑备份软件 BeLight Get Backup Pro 3激活最新版

胖墩儿不胖y

Mac软件 备份软件 备份工具

厌恶不确定风险?这款轻量云服务器助力企业稳中向好

平平无奇爱好科技

异常报错甚至崩溃?

矩视智能

深度学习 机器视觉

Kyligence Copilot 亮相第六届进博会,增添数智新活力

Kyligence

数据智能 决策智能

Amazon CodeWhisperer(亚马逊云AI大模型下应用创新——自动代码生成插件:AWS toolkit)以IntelliJ IDEA 2023.1为例的实测使用

淼.

AWS

使用 promise 重构 Android 异步代码

巫山老妖

android 异步编程

新手必看:Bitget Wallet 上购买 ETH 的步骤解析

BlockChain先知

Bitget Wallet:使用 Base 链购买 ETH 的简明教程

石头财经

T2T2撸毛攻略,以Bitget Wallet为例

股市老人

PyTorch从精通到入门03:全连接层实现图像分类

王玉川

人工智能 神经网络 深度学习 图像识别 PyTorch

云服务器玲琅满目的时代,为什么我独爱Amazon EC2 云服务器?

熬夜磕代码、

服务器 运维‘ 亚马逊云

产品化的GPT,能否为“百模大战”照亮未来?

脑极体

AI

Python 数据库应用教程:安装 MySQL 及使用 MySQL Connector

小万哥

Python 程序员 软件 后端 开发

Linux tail命令:显示文件结尾的内容

梦笔生花

BES 在大规模向量数据库场景的探索和实践

百度Geek说

数据库 AI 企业号11月PK榜

康士柏新能源汽车检测解决方案走向市场化

Geek_2d6073

BRC-20代币sats和ORDI为什么突然火起来了

币离海

SATS Ordinals BRC20

GPT-4 Turbo 发布 | 大模型训练的新时代:超算互联网的调度与调优

GPU算力

小程序游戏创业大热,找对入局方式方能出奇制胜

平平无奇爱好科技

这就是访问者模式

千羽

Java 面试 后端 设计模式 实际应用

不止于“初见成效”,阿斯利康要让数据流转,以 AI 带动决策智能

Kyligence

数据智能

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