composing restful services and collaborative workflows
TRANSCRIPT
Composing RESTful Services andCollaborative WorkflowsA Light Weight Approach
Author(s): Rosenberg, F (Rosenberg, Florian); Curbera, F (Curbera, Francisco);Duftler, MJ (Duftler, Matthew J.); Khalaf, R (Khalaf, Rania)
Source: IEEE INTERNET COMPUTING Volume: 12 Issue: 5 Pages: 24-31DOI: 10.1109/MIC.2008.98Published: SEP-OCT 2008
Web of Science Categories: Computer Science, Software EngineeringResearch Areas: Computer ScienceTimes Cited: 20 (from Web of Science)Cited References: 7
Abstract
• The use of RESTful Web services (based onHTTP) can integrate easily into applicationslike mashups
• In order to compose RESTful services intoWeb-scale workflows, using Bite as a lightcomposition language to accomplish the taskby describing both the control and data flow
Introduction
• Increasing adoption of SOA paradigm
• Limits of Web services model consists of twocontention points:
– The complexity
– Lack of alignment with the Web’s acceptedarchitectural principles
• The Representational State Transfer (REST)model is introduced
Introduction
• In REST, the main architectural concept is theinformation resource, and the principalinteraction mode lets clients retrieverepresentations of those resources
• The article addresses the complementaryproblem:
– How the service paradigm and SOA’s servicecomposition model can benefit mainstream Webapplications
Introduction
• Explore the potential benefits of process-oriented composition for Web scenarios
• Focus on design principles and applications ofthe process-oriented composition model ofBite language, derived by aligning SOA processcomposition principles with REST architecturalrequirements
Bite Overview
• Allow web applications can seamlesslycombine:
– RESTful services
– Simple human interaction
– Collaboration services
– Back-end services
The Bite Approach
• Requirements and Design Goals:
– Atom life-cycle model
– Light weight process model
– Scripting approach
– Language extensibility
– Web and human integration
The Bite Approach
• Basic Model and Language:
– Comprise a flat graph containing actions and linksbetween them
– Use while activity to allow containing of otheractivities
– Encodes graph execution logic in conditionaltransition links between activities and supportserror handling via special error links to an error-handling activity
The Bite Approach
• Basic Model and Language:
– Bite’s core activities consist of:
• Basic HTTP communication primitives
• Utility activities
• Control helpers
– A Bite flow both uses external services in its flowlogic and exposes itself as a service
– Each flow instance can define multiple receiveactivities corresponding to multiple entry points.
The Bite Approach
• Flow Example
The Bite Approach
• Bite Extensibility
– Creating Bite extension activities and registeringthem with Bite engine
– Creating an extension activity lets developers implement the core extension logic with minimal overhead for reading and evaluating the extension’s syntax
The Bite Approach
• Executing Scripts
– Executing script code in the flow facilitates certaintasks (for example, calculation or accessing someback-end system)
The Bite Approach
• UI Integration and Rendering Capabilities
– Enables a user interface (UI) integration becauseall entry points in a flow are accessible via URLs.
– Provides HTML rendering capabilities usingvarious template languages to render HTTP repliesor emails from a flow
Collaborative Flows in Bite