Your SlideShare is downloading. ×
0
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
REST化的工作流
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

REST化的工作流

1,726

Published on

在OPC组织的一次技术沙龙上介绍关于工作流技术发展的一部分学术观点

在OPC组织的一次技术沙龙上介绍关于工作流技术发展的一部分学术观点

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,726
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. RESTful Workflow 朱可, 李文兵
  • 2. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
  • 3. 演讲人介绍 朱可: projectzero.org 社区开发人员 李文兵:projectzero.org 社区开发人员
  • 4. 大纲 REST 和 工作流技术简介 相关工作 Splice 概况 实践与案例分析 未来发展趋势
  • 5. 背景 面向服务架构 (SOA) 的迅速普及使得服务 组合成为可能 Web 服务(Web Services)模型的不足 复杂性 与Web本身可接受的架构原则缺乏一致
  • 6. 发展趋势 Web开发社区回归到Web本身 面向资源的规范 “表述性状态转移” (Representational State Transfer, REST)
  • 7. 问题 服务规范和SOA的服务组合模型如何能从主 流的 Web 应用程序和 Web 开发的模式中 获益?
  • 8. REST 和工作流技术 REST 是一种架构风格 (wikipedia) 从资源的角度来观察整个网络 分布在各处的资源由URI确定 客户端的应用通过URI来获取资源的表形 (Representation) 工作流 (Workflow) 对工作流程及其各操作 步骤之间业务规则的抽象、概括、描述 (wikipedia) 属于计算机支持的协同工作(Computer Supported Cooperative Work,CSCW)的一部分
  • 9. From Roy Fielding: quot;设计良好的网络应用表现为一系列的网页,这些 网页可以看作的虚拟的状态机,用户选择这些链接 导致下一网页传输到用户端展现给使用的人,而 这正代表了状态的转变。quot;
  • 10. 相关工作 工作流产品中的 REST 支持 WfXML –R 面向最终用户的 (混搭) mashup 工具: Google mashup tools, Yahoo! Pipes Swashup: a domain-specific language (DSL) for creating mashups
  • 11. Splice 技术概要 Splice 是一种服务于 Web 应用程序的轻量 级、面向流程的组合模型 源于将 SOA 流程组合原则与 REST 架构方 面的需求之间的联合 同时具有 SOA 的集成
  • 12. Splice 的用途 Web 开发人员可以实现如下服务的无缝整 合 RESTful services Simple human interaction Collaboration services Back-end services
  • 13. 主要需求 类似 Atom (rfc4287) 的生命周期模型 轻量级的流程模型 向动态脚本语言靠近 语言层面的可扩展性 Web 和人工交互
  • 14. 主要特性 语义层面上 Splice 是 BPEL 的一个(非 常小)的子集 使用数据链 (data link) 和控制链 (control link) 连接不同的活动 (activities) 覆盖主要的流程模式系列 可扩展性 执行动态脚本语言 与用户界面的集成和呈现 Web 视图的能力
  • 15. Splice 例子 <process name=quot;sortSamplequot; > <receiveGET name=quot;rssRcvquot; /> <feed name=quot;SohuFeedquot; url=quot;http://news.sohu.com/rss/pfocus.xmlquot; /> <feed name=quot;SinaFeedquot; url=quot;http://rss.sina.com.cn/news/marquee/ddt.xmlquot; /> <aggregateFeeds name=quot;aggregatequot; > <input value=quot;${SohuFeed}quot; /> <input value=quot;${SinaFeed}quot; /> </aggregateFeeds> <replyGET name=quot;rssRplyquot; > <input value=quot;${aggregate}quot; /> </replyGET> </process>
  • 16. 协作流程 (Collaboration Flow) Provide built-in, first-class support for email and browser-based interactions Allows human unstructured manner such as free-flowing tasks, actions and events could occur in multiple ways
  • 17. 一个协作流程实例
  • 18. 运行时 (runtime) 简介 On top of Java runtime environment Execution & navigation logic Request handling Expression framework Extension logic 4 adapter offer to different requirements Servlet runtime sMash runtime Embedded Kernel Tuscany runtime
  • 19. 在 IBM® 产品中的应用 WebSphere® sMash Assemble flow Flow engine Tooling package Extend utilities
  • 20. 实际案例介绍 应用程序集成 使用Assemble flow 集成 SugarCRM, 电子邮件和消息代理 REST service flow Yahoo! music & Amazon rating mashup Collaboration flow 差旅审批应用程序示例
  • 21. 未来趋势 简单性 – “Ockham's Razor” 在线流程及服务 (Process as Service) 动态脚本语言
  • 22. 参考资料 Composing RESTful Services and Collaborative Workflows. IEEE, Oct, 2008 F.Curbera et al., “Bite: Workflow Composition for the Web”. ICSOC 07 L.Richardson, S.Ruby, RESTful Web Services , O’Reilly, 2007 使用 Project Zero 和 WebSphere sMash Assemble Flow 构建 Mashup 应用, IBM developerWorks, Oct, 2008 使用 Project Zero 和 WebSphere sMash Assemble Flow 构建 Mashup 应用,第 2 部分: 使用 Assemble Flow 开发简单协作 流程, IBM developerWorks, May, 2009

×