Icertis使用Windows Azure处理工作流

编者按:今日博客由Icertis首席技术官Monish Darda编写,介绍公司如何使用Windows Azure和SharePoint Online,向客户提供可伸缩的合同管理和工作流程服务。

Icertis 合同周期管理(CLM)向企业管理者提供包括:运行,支持和对合同的周期报告的服务。合同及其相关的模板具有高度管理实体和可以运行几个月乃至几年的复杂的业务流程。

我们有一些有趣的要求——并不是独一无二的,但是作为一个组合整体,这将会是一个有趣的挑战。依靠灵活的部署架构,使 SharePoint Online和Windows Azure具有混合和完美部署。Windows Azure是一个必然决定——我们的客户希望微软的云产品可以拓展他们的需求和符合成本效益。Icertis只需要做的是借助微软的云服务建立企业解决方案!Icertis的合同周期管理软件就是一个建立在Windows Azure平台上的产品。

确定部署选择意味着我们需要在SharePoint设计工作流程(在SharePoint Designer中让用户自己设计工作流程,无需编写代码)并在Windows Azure上部署工作流程。在Windows Azure上运行Windows Workflow Foundation是明确的选择。一个很难回答的问题是,如何将复杂的事情按要求运行?在Windows Azure中工作流程服务的关键是:

运行在一个支持工作流上的,具有可高度扩展的和可用的并超过200,000个活跃合约工作流服务,仍有相当比例的工作流被定制。 声明,版本控制的工作流程 启用持久工作流实例,具有可靠的长时间运行的工作流支持(几个月或几年以上)

我们开始构想在Windows Azure上的工作流程。这样的话,如果有需要,我们可以选择转换到另非云端的工作流引擎,也为以后的托管工作流服务敞开大门。

(图片1)

合同生命周期工作流是自定义的并以XAML文件格式保存在SQL Azure管理和元数据库中。使用的Windows Workflow Foundation(WF)的基础设施,工作流的加载(混合)和编程执行是基于用户操作或系统事件的。一个自定义工作流以一个工作者角色托管运行并使用SQL Azure作为其持久性存储。由于是持续运行工作流实例,执行工作流工作者角色可以逐步扩展。在运行时通过增加工作者角色实例的数量,可以处理并发的工作流实例,从而提供弹性计算密集型的关键组件。

我们以状态机工作流形式写下工作流-- 合同的生命周期的理想比喻。自定义活动提供强大但是简单合同的生命周期声明,企业用户能够迅速涉及到状态机范式。

好了,事情立竿见影!我们可以快速部署和测试我们觉得非常复杂难以实现的工作流。一些有趣的监测代码,允许基于当前运行的工作流的执行特性来动态拓展。事实证明,这更高效节约。我们可以演示根据具体事件进行动态调整(例如,本月底,今年年初的时候,日历事件更新会触发数以千计的合同到期)。

(图片2)

计算机实例选择工作流服务原来是一项有趣的练习。工作流服务要计算机内存密集,因此我们为变化的工作量尝试使用不同的实例大小。当工作量变化时(混合的合同类型表示不同的工作量),同较大实例和极大实例相比,在缩放方面中等实例提供了更大的灵活性(因此成本较少)。这项练习证明实例大小选择影响价格,工作量的类型不仅是实例数量需要匹配,实例大小也需要匹配。对于工作量,对于工作流服务、提供最佳的缩放成本,中等(双核,3.5GB)电脑实例可获得最佳效果。

在我们所掌握的当中,现在有一个可扩展的工作流服务,sharepoint团队也能利用该服务来运行一些不可能在SharePoint Online沙盒环境运行的集成工作流。当然,我们也有我们的问题,尤其是在分布式事务(还不支持SQL Azure,某一天我打算参与这一有趣的主题),我们一切不能左右。我们预计需要数月的东西几周就运行完成了。这使得Windows Azure有趣:一点现成的思考可以产生巨大的回报。

下面是我们做一些东西帮助提高服务规模和效率:

Windows Azure 队列 通过使用队列移交长时间运行的工作流活动到其他服务,允许工作流需要
大量的响应和更少的资源。 Windows Azure 缓存 使用 Windows Azure 缓存服务帮助工作流在不牺牲数据完整性和减少数据库流量的情况下运行得
更快。我们使用 128 MB 缓存。 SQL Azure 工作流的持久存储区允许我们 (使用 SQL Azure 报告) 报告工作流的执行和合同状态。 Windows Azure存储  表存储是我们对于日志和工作流服务触发的审计事件的选择

需要注意的关键点是:

控制的可扩展性。工作流可用于作为一种在Windows Azure上同时保留的业务流程的声明和启用可扩展性的机制。在客户工作流活动中隔离开计算机和内存密集型任务可以更好地进行成本管理 长时间运行的工作流。长时间运行计算机密集型工作流可以利用 Windows Azure 的固有的
好处,同时还可保留声明式编程的优势。工作流也可以用于处理复杂的系统集成的挑战 计算实例选择。计算机实例大小的选择是工作量的一个功能,它除去了对内存和计算机需求的时间差异。

总而言之,它是一个伟大而有益的经验。并且它加深了我们的信念,Windows Azure有没被企业应用程序发掘的巨大潜力。成为早期采用者是很好的,我们期待与客户分享继续发现Windows Azure潜力的更多的实际经验。

时间: 2024-09-22 10:50:46

Icertis使用Windows Azure处理工作流的相关文章

在Windows Azure上部署WCF服务

本文将引导大家达成第一种功能:在Windows Azure上部署服务.后续文章将会介绍另两种功能.事实上,在Windows Azure入门教学系列 (一): 创建第一个WebRole程序里,大家已经尝试过部署一个最简单的服务:一个ASP.NET网站.是的,ASP.NET网站也可以称作一种服务.现在,你的ASP.NET程序不再是运行在你自己的服务器上,而是运行在云端了.但是,Windows Azure不仅仅支持常规网站,我们也完全可以把那些和用户界面无关的服务(headless services)

Windows Azure服务中断的根本原因分析

在 太平洋标准时间(PST) 时间 2013 年 2 月 22 日下午 12:29,所有地区都出现了服务中断,致使客户使用 http://www.aliyun.com/zixun/aggregation/29830.html">HTTPS 访问 Windows Azure 存储 Blob.Table和Queue时受到影响.全球范围内的可用性在 PST 时间 2013 年 2 月 23 日凌晨 00:09 得到恢复. 我们就此服务中断向受影响的客户表示道歉,并主动向这些客户退回服务费用,大致

Windows Azure:推动中国公有云的活细胞

Windows Azure是微软推出的企业级的云计算服务平台,它给所有个人和企业用户提供了非常大限度的操作灵活性以及更多的选择.与此同时,Windows Azure也是微软业务模式从传统的销售授权往付费订阅模式进行转型的核心,通过Windows Azure平台,微软可以将Exchange.Office甚至是Windows等服务,在云端进行更好的统一. 自微软Windows Azure公有云即将在中国落地的消息被传以来,Windows Azure成了众人关注的热点.业界对它的重视程度更是不亚于Su

Windows Azure使用HDInsight进行开发

Windows AzureHDInsight 提供了运行 Apache Hadoop的动态供应群集来处理大数据(Big Data)的能力.您可以在这个系列的第一篇博客中找到更多信息,您也可以点击这里开始在Windows Azure 门户网站中使用它.这篇文章列举了开发人员与HDInsight交互的几种不同方法,首先通过讨论不同的场景,然后深入讨论 HDInsight 中各种不同的功能.因为我们的产品是建立在 Apache Hadoop 之上,所以开发人员可以利用一个有广泛且丰富的工具和功能的生态

三步完成Windows Azure平台部署WCF服务

之前,我们在Windows Azure平台简介中介绍过Windows Azure的三大主要功能.那就是计算,存储,以及管理.至今为止,通过之前的教学文章,大家已经熟知了Windows Azure的存储功能.当然,存储只是最基本的一个功能.要充分发挥云计算的威力,我们不得不学习如何"计算". 同样在Windows Azure平台简介中,我们也介绍了Windows Azure的三种主要计算功能: 作为一个部署服务平台 作为一个软件分发平台 作为一个一般的分布式计算平台 本文将引导大家达成第

Windows Azure曾对云做过以PaaS为核心的更新

微软的一个Windows Azure团队对它以前的,以PaaS为核心的云服务,推出了一次新的升级和附加功能更新,使它能够更加广泛地扩展到开发者.企业CIO.IT经理或者是其他C级别的执行者中去.其中重点的内容包括以下几点: • 持久的Windows和Linux虚拟机(WAVM)源自可移植的*.vhd图片,你可以下载,并在本地无修复地运转,交付被期待已久的IaaS功能,而且没有云锁定. • 将数据磁盘(Data-Disk)附属于WAVM,然后安装并作为驱动格式化,启动具体的选配异地备援支持指挥Wi

Windows Azure基础结构服务新功能VM Agent

Windows http://www.aliyun.com/zixun/aggregation/13357.html">Azure 基础结构服务最近宣布了一项新功能 VM Agent.VM Agent 是一个轻量级进程,用于启动由Microsoft 或合作伙伴共同提供的额外解决方案,可以配置.管理和加速虚拟机.本博客意在说明 VM Agent 及其与 VM 扩展程序之间的关系,以及它们的好处和用法.本博客的第 1 部分主要关注在新的 Azure VM 上如何启用 VM Agent 和扩展程

Windows Azure媒体服务实现伦敦奥运会云端传输价值

伦敦奥运会是一个把302枚金牌合理压缩在19天里的盛大的活动.多轮预赛或回合经常同时发生,在32种运动中,对运动会内容提供者的挑战是要把运动会的内容传送给全世界各个时区的观众,可以让他们自由选择他们喜欢看的项目,时间,和方法,无论是直播,中断和回看或者在项目结束之后按自己的需要来看.智能手机和平板电脑的普及导致对不限时间,不限地点,不限设备的技术需求的增加.Gartner说2011年全世界卖出了六千万台平板电脑,预计在2012年能达到1.189亿台,到2016年能达到3.692亿台.现在美国估计

Windows Azure Media Services和2012年伦敦奥运会

今年早些时候,我们宣布了Windows Azure Media Services.Windows Azure Media Services是一种基于云计算的 PaaS(Platformas a Service )  解决方案,它使您能够高效地构建并为客户提供媒体解决方案.它提供了很多随时可用的服务,其中包括快速接收. 编码. 格式转换. 存储. 内容保护. 和流 (直播和点播)视频.Windows Azure Media Services可用于为任何设备或客户端-包括 HTML5. Silver