A workflow engine based on groovy