Process Design Considerations
In process-driven design, the business processes or integration flows are first realized and captured. Service contracts might be applicable in a process-centric application, especially for batch or EAI-type automation scenarios. This topic describes some important factors to be considered when using a process-driven approach.
Choosing Between Properties and Variables
Properties are used to save configuration data at different levels. They can be classified into application properties, module properties, and process properties. See Choosing Between Process Properties, Module Properties, and Application Properties for details.
Variables are used to save the state at different levels. They can be classified into process variables, scope variables, and shared variables. See Choosing Between Process Variables, Scope Variables, and Shared Variables for details.
Choosing Between Process Properties, Module Properties, and Application Properties
Properties can be classified into application properties, module properties, and process properties. Properties follow the layered configuration model where configuration is pushed from top to the bottom as seen in the illustration:
Properties defined in the inner layer can reference a property defined at the parent layer. For example, a process property can reference a module property instead of providing a literal value. Public properties are visible to the encapsulating layers.Choosing the right level ensures an easier to maintain list of properties in your application and keeps the number of properties at the application level to a minimum.
Choosing Between Process Variables, Scope Variables, and Shared Variables
A process variable saves the state at the process level and a scope variable saves the state within the scope.
Variables defined within a scope are visible only within the scope. If the scope variable name is the same as a process variable name, then the scope variable takes precedence over the process variable within the scope.
- Module shared variable - saves the state at a module level.
- Job shared variable - saves the state for the duration of a job.
Errors can occur when executing a process. The potential runtime errors in your process can be handled in one of the following ways: