A Lightweight Coordination Approach For Resource-Centric Collaborations
A very common form of collaborative work involves people working on shared resources. Consider for example the process of co-producing a project report, where a content editor writes the text, a librarian cross-references the text against a repository of citations, and an accountant validates the budget line items against applicable rules; or the process of reviewing a loan application where someone examines the credit history of the applicant and co-signatories and a risk-assessment specialist makes the final decisions based on these histories and the bank’s policies. All these types of collaborative work share a few key properties. The various process steps are partially ordered, based on logical inter-dependencies among them. Although some steps may be automated, the process is driven primarily by people using interactive tools, who somehow notify each other about their progress. Finally, these processes usually take a long time to complete. Web-based collaboration is the norm nowadays. Collaborative editors, such as wikis for example, coordinate people working on documents, but are neither powerful enough to support coordination more complex than notifications, nor amenable to integration with other tools. On the other end of the spectrum, classic business-process management systems are powerful enough to cover complex coordination requirements, but are too complicated to use and too regimented in the types of coordination they support. As information is becoming increasingly available and shared through REST APIs, there is a need for enabling web-based collaborative systems to support resource-centric collaborations. To meet the need for flexibly coordinating people, interactive tools, and automated services, we have developed a coordination approach and a supporting framework. Our solution consists of (a) a language and tool support for specifying collaborative activities and the resources they manipulate, (b) an engine for enacting them at run time, and (c) a systematic methodology for integrating the engine with the various interactive systems and services involved. Our framework balances expressiveness and simplicity and its usefulness has been demonstrated in a real-world project.
KeywordsBase System Collaborative Activity Business Process Management Service Orchestration Collaboration System
This work was supported by the GRAND Network of Centres of Excellence, NSERC, AITF and IBM.