The scientific community has developed several tools and approaches to develop workflow applications. The most popular is the one based on graphical editors and workflow represented by graphs. Despite ease of editing, these environments encounter several issues including difficulties with sharing workflows and reusing them outside of the original environment. Cookery allows to develop workflows using very simple Domain Specific Language which has syntax similar to English language which make applications developed with Cookery readable by people not familiar with it and without original environment. Also, a wide range of tools from software development including version control systems, code analysis, testing frameworks can be used. Moreover, since Cookery is developed in Ruby programming language, it can utilize rich application resources from Ruby ecosystem.
- Cookery framework allows to design application at the high level of abstraction using own programming language while still providing mechanisms to extend its features and adapt Cookery to variety of environments.
- Cookery is a framework for developing scientific applications in a cloud environment. Thanks to its layered architecture, it provides malleable model which still can hide unnecessary complexity from the end user (figure 1). Remote operations are available as actions and this is where we use the discussed technology. Our aim is to let application providers to distribute their applications using Docker containers and application users to use them in a transparent way. Software containers would be automatically deployed on resources provided by the user