Difference between revisions of "Workflow"
(→See also) |
(→Implementation in {{UBIK}}) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[File:UI_WorkflowEditor.png|thumb|220px|alt=WF|Workflow in the [[Workflow Editor]]]] | ||
==Overview== | ==Overview== | ||
Workflows are a powerful way for adapting {{UBIK}} to any needs. They can be used as a replacement for the traditional way of customizing using code, or simply as an additional option to achieve a desired behavior. | Workflows are a powerful way for adapting {{UBIK}} to any needs. They can be used as a replacement for the traditional way of customizing using code, or simply as an additional option to achieve a desired behavior. | ||
Line 15: | Line 16: | ||
===Use workflows for...=== | ===Use workflows for...=== | ||
* business logic | * business logic | ||
− | * dynamic tasks | + | * dynamic tasks |
+ | * tasks where traceability is an issue | ||
* potentially long running tasks that will require persistence | * potentially long running tasks that will require persistence | ||
+ | |||
+ | ==Implementation in {{UBIK}}== | ||
+ | {{UBIK}} uses a dedicated class type for managing workflows, the [[WORKFLOW|MetaClass Workflow]]. Each [[Instance|instance]] of this MetaClass represents a distinct workflow and holds the actual definition of the workflow as serialized [http://en.wikipedia.org/wiki/Extensible_Application_Markup_Language XAML] code. | ||
+ | Unlike coded customizing, workflows are not compiled when deploying a new {{UBIK}} customizing version, but are always interpreted at runtime. | ||
==See also== | ==See also== | ||
Line 23: | Line 29: | ||
* [[Debugger|Code- and Workflow Debugger]] | * [[Debugger|Code- and Workflow Debugger]] | ||
− | [[Category: | + | [[Category:Workflow]] |
Latest revision as of 14:33, 25 February 2015
Contents
Overview
Workflows are a powerful way for adapting UBIK® to any needs. They can be used as a replacement for the traditional way of customizing using code, or simply as an additional option to achieve a desired behavior.
What is it?
A workflow is a series of distinct programming steps or phases, where each step is modeled as an Activity. Such activities can be assembled visually into workflows using the Workflow Designer, a design surface that runs within various components of UBIK® Studio.
When to use?
This question isn't easily answered. In fact it is completely up to the user to draw the border between coding and workflows, or to draw a border at all, and one would most likely achieve the same results using either technique. However, here are some recommendations that might be helpful in picking the right turn:
Use coding for...
- resulting behavior that is quite static and doesn't change a lot over time
- very complex tasks
- tasks where performance and resource consumption is an issue
Use workflows for...
- business logic
- dynamic tasks
- tasks where traceability is an issue
- potentially long running tasks that will require persistence
Implementation in UBIK®
UBIK® uses a dedicated class type for managing workflows, the MetaClass Workflow. Each Instance of this MetaClass represents a distinct workflow and holds the actual definition of the workflow as serialized XAML code. Unlike coded customizing, workflows are not compiled when deploying a new UBIK® customizing version, but are always interpreted at runtime.