Scaling API-first – The story of a global engineering organization
Composing RESTful Services and Collaborative Workflows
1. Composing RESTful Services and
Collaborative Workflows
A 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-31
DOI: 10.1109/MIC.2008.98
Published: SEP-OCT 2008
Web of Science Categories: Computer Science, Software Engineering
Research Areas: Computer Science
Times Cited: 20 (from Web of Science)
Cited References: 7
2. Abstract
• The use of RESTful Web services (based on
HTTP) can integrate easily into applications
like mashups
• In order to compose RESTful services into
Web-scale workflows, using Bite as a light
composition language to accomplish the task
by describing both the control and data flow
3. Introduction
• Increasing adoption of SOA paradigm
• Limits of Web services model consists of two
contention points:
– The complexity
– Lack of alignment with the Web’s accepted
architectural principles
• The Representational State Transfer (REST)
model is introduced
4. Introduction
• In REST, the main architectural concept is the
information resource, and the principal
interaction mode lets clients retrieve
representations of those resources
• The article addresses the complementary
problem:
– How the service paradigm and SOA’s service
composition model can benefit mainstream Web
applications
5. Introduction
• Explore the potential benefits of process-
oriented composition for Web scenarios
• Focus on design principles and applications of
the process-oriented composition model of
Bite language, derived by aligning SOA process
composition principles with REST architectural
requirements
6. Bite Overview
• Allow web applications can seamlessly
combine:
– RESTful services
– Simple human interaction
– Collaboration services
– Back-end services
7. The Bite Approach
• Requirements and Design Goals:
– Atom life-cycle model
– Light weight process model
– Scripting approach
– Language extensibility
– Web and human integration
8. The Bite Approach
• Basic Model and Language:
– Comprise a flat graph containing actions and links
between them
– Use while activity to allow containing of other
activities
– Encodes graph execution logic in conditional
transition links between activities and supports
error handling via special error links to an error-
handling activity
9. 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 flow
logic and exposes itself as a service
– Each flow instance can define multiple receive
activities corresponding to multiple entry points.
11. The Bite Approach
• Bite Extensibility
– Creating Bite extension activities and registering
them 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
12. The Bite Approach
• Executing Scripts
– Executing script code in the flow facilitates certain
tasks (for example, calculation or accessing some
back-end system)
13. The Bite Approach
• UI Integration and Rendering Capabilities
– Enables a user interface (UI) integration because
all entry points in a flow are accessible via URLs.
– Provides HTML rendering capabilities using
various template languages to render HTTP replies
or emails from a flow