使用Silverlight构建工作流即服务平台

开发 后端
工作流即服务(Workflow-as-a-Service)平台SnapFlow发布了beta版。该平台构建在微软系列产品上,本文将为大家做一个全面介绍。

几周前新的工作流即服务(Workflow-as-a-Service)平台SnapFlow发布了beta版。该平台构建在微软系列产品上,其工程副经理Gopinath Dhanakodi说到:

去年在开始构建SnapFlow时,我们曾考虑过Flex,最后选择了C#进行业务层开发、SQL Server 2005作为后端存储。

考虑使用SilverLight来代替Flash的因素包括:

◆与业务逻辑层的整合

◆构建时间

◆学习曲线

◆专门技术

◆部署

◆特征集

◆客户的选择

◆代价

最初SnapFlow选择的是Flash,但在原型开发的几周后:

我们对进度很失望。用户界面很起来毫无生气,每次简单的改变都要花很长时间。
就在那时,我们对SilverLight进行了深度调研:

尽管大多数的开发者并不是UI专家,但在短短的一个月之内我们取得了重大的进展。在不借助于任何帮助的情况下,团队可以实现一个相当复杂的原型了。

好的方面有:

◆团队可以快速进入状态

◆前端的开发速度要比使用Flash快2倍

◆开发起来更有生气

◆整个的集成设计与开发环境

差的方面有:

◆遇到问题时不容易解决

◆Silverlight的高级控件不多

◆缺少自动化测试工具的支持

◆从Silverlight 2 beta迁移到Silverlight 2比较麻烦

Gopinath总结到:

我们是先驱者,遇到了数不胜数的挑战,这些挑战都伴随着领域问题。总而言之,我们对自己的决定感到满意,因此我强烈推荐Silverlight,尤其是你有.NET经验。
InfoQ又对SnapFlow的CEO Samad Wahedi进行了简短的采访,提到了该新PaaS背后的哲学:

我们不同于当前的平台即服务(Platform-as-a-Service)供应商。我们主要的目标是让工作流变得像powerpoint一样简单,目标用户是Andy(一个销售人员),他今年30岁,工作在一个分散的拥有30个成员的销售团队中,他们主要为一些更大的公司服务(通常都有500多名员工)。他有一个facebook帐号,对office产品套件非常熟悉。

我们决定从头开始并对不了解的一切问题追根问底。Andy是怎么想的,对他来说什么东西才有意义,他是如何工作的,他正在解决什么问题,如何解决的等等。就这样,SnapFlow诞生了。

综上所述,SnapFlow没有使用任何传统的BPM标准(BPMN或BPEL)。Samad说到:

销售员Andy并不是专业的流程工程师,因此我们并没有围绕BPMN进行设计。

我们的工作流模型以活动(activity)和行为(action)为中心。行为决定了接下来执行哪个活动。该模型并没有使用泳道(Swim Lanes),因为用户与角色都关联到每个活动上了。

我们将继续根据Andy来构建系统,但同时我们也认识到还需要增加更多复杂的功能。我们的目标是对Andy隐藏这些特性,仅仅将其开放给拥有更高权限的用户。这非常有挑战性,但我相信我们能够搞定。
SnapFlow是首个构建在微软技术之上的PaaS,同时具备完整的基于Web的表单与工作流设计器。当然它还没有使用Azure,但却向我们展示了.NET PaaS的样子。SilverLight程序经理Tim Heuer最近发表了一些关于SnapFlow的文章,他的文章主要根据产品的一个三分钟演示而来。他说到:

其中一个很酷的特性就是一旦工作流的创建者创建完毕后,他还可以将该工作流部署到Web站点或是其他portal(比如演示中就使用了Sharepoint)上,这样我们就可以使用工作流从站点上收集一些数据并将Silverlight应用嵌入到站点中,整个过程无需额外的编码。

业界对如何设计BPMN还不是很清楚,更别提在BPMN和BPEL之间定义精准的清晰度了,SnapFlow似乎重提了这个话题:现在是探索BPM模型替代者的时候么——让更多的用户参与到设计过程,而不仅仅是BPM分析师。它还抛出了这个问题:PaaS的目标是专业的开发者(他们可以将其解决方案部署到EC2或是Azure Windows Services上)还是普通的用户呢(他们需要快速构建简单的应用,通常是一次性的项目)?你怎么看待这个问题?

【编辑推荐】

  1. 图文介绍在浏览器外运行Silverlight应用
  2. 图解Silverlight 3的7个新功能
  3. 见微知著 Silverlight 3与Flash横向比较
  4. 走向银光—一步一步学Silverlight
责任编辑:彭凡 来源: InfoQ
相关推荐

2010-01-04 17:42:50

SilverLight

2021-10-14 11:34:05

技术工作流引擎

2015-02-11 11:35:35

docker微服务化容器工作流

2013-09-29 17:13:59

PowerShell工作流

2022-10-26 08:00:43

Activiti工作流BPM

2009-06-11 14:43:34

jbpm工作流引擎jBPM搭建

2010-11-26 10:59:28

SharePoint

2013-04-23 10:28:08

IBeamMDAAWF

2022-07-10 21:17:01

GitTigLinux

2009-04-15 11:00:31

Workflow工作流角色

2017-07-03 11:06:03

混合云平台存储

2022-02-22 08:29:53

huskylint 工具

2009-03-03 09:13:36

工作流BPM业务流程

2023-01-04 08:02:16

工作流架构设计

2012-07-23 10:36:46

工作流

2011-12-14 09:58:58

JavajBPM

2023-07-05 09:48:44

Activiti部署

2015-07-14 09:26:28

微型工作流引擎设计

2015-06-24 10:18:26

2009-09-01 18:19:39

C#工作流
点赞
收藏

51CTO技术栈公众号