What is a Workflow?
RASON V2020 and later allows users to define multiple "stages" in a single RASON file, where a stage can perform an SQL operation, apply a data transformation, train a machine learning model, apply it to score new data, run a simulation, solve a mathematical optimization problem or evaluate one or more linked decision tables. Results are passed between stages in a rich, standard "Indexed Data Frame" form.
A dataframe, in XLMiner SDK; the workhorse of the Rason Server, is a collection of data organized into named columns of equal length and homogeneous type. Rason uses DataFrames to deliver input data to an algorithm and to deliver the results of the algorithm back to the user. DataFrames hold heterogeneous data across columns (variables): numeric, categorical, or textual. When solving a workflow containing optimization or simulation models, the columns that are indexed over the same dimensions and that belong to the same entity are reported in a single dataframe with multiple columns rather than multiple dataframes, i.e. final, dual, initial, etc for optimization results and statistics for uncertain variables or functions in simulation models. RASON can still bind to the individual results such as optModel.x.finalValue but will also consider the possibility of the last segment being a dataframe column rather than a separate dataframe. As a result, JSON responses are concise which greatly simplifies OData representation and querying.
|