\section{Related Work}
\label{sec:RW}


Previous work related to the approach we described in this paper mainly deals with two aspects: \mbox{(1) various} optimization opportunities for the data management in workflows and (2) the modeling of data-intensive workflows. In the following, we highlight major work in these areas.


\subsection{Optimization of Data Management in Workflows}
\label{sec:RW:Optimization}


For both data-flow-oriented and control-flow-oriented workflow languages, there exist several optimization opportunities for the data management in workflows. Most of them are geared to a certain case of data management as depicted in \mbox{Table \ref{table:DM4Workflows:Dimensions}}. For example, workflow systems that allow for binding services at workflow runtime focus on the optimization of data management in the separate case, but not the integrated one as in our approach \cite{SemanticBus}. Further optimization approaches represent rule-based techniques for re-engineering workflow models, which are mainly applied during the phases workflow design or workflow deployment. In \cite{BIA}, for example, the authors present an extended data warehouse approach that integrates workflow-related data and operational business data to support extended analysis techniques for a comprehensive business process optimization. The approach presented in \cite{PGM/F_Approach} is mainly suited for the hybrid case of \mbox{Table \ref{table:DM4Workflows:Dimensions}} as it focuses on the optimization of workflows with embedded SQL statements that are sent to external database systems. The techniques introduced in \cite{Boehm}, which are applied during workflow execution phase, can be used for optimizing data integration workflows that reflect the integrated case of \mbox{Table \ref{table:DM4Workflows:Dimensions}}. All these rule-based re-engineering approaches have in common that they change the structure of workflow definitions. In contrast, our optimization approach for the integrated case increases the value of these approaches as it adds a new kind of optimization. This optimization is transparent to the workflow definitions, \ie it does not change them, but only influences their execution within the system architecture of the workflow execution environment.

Data-flow-oriented workflow languages may employ additional optimization techniques for the integrated case of data management. In particular, this encompasses pipeline parallelism between workflow tasks \cite{Lud_SDM} and the possibility to employ scalable and parallel data processing infrastructures such as MapReduce or high performance computing (HPC) environments \cite{VDAL4MapReduce}, \cite{HPC4ScientificWorkflows}. However, these techniques cannot be easily adopted in control-flow-oriented languages as they strictly separate between the process logic and the data or application processing.% So, when using these data-flow-based optimizations, we cannot exploit the benefits of control flow languages as described in the following section. 


\subsection{Modeling of Data-Intensive Workflows}
\label{sec:RW:Modeling}


%\begin{figure}[tb]
%	\centering
%		\includegraphics[width=0.65\textwidth]{Preliminaries/Data-Intensiveness_DataFlow_ControlFlow.pdf}
%	\caption{Degree of data-intensiveness and kind of workflow language mainly used for the workflow classes.}
%	\label{fig:WorkflowClassesCharacterization}
%\end{figure}


%Figure \ref{fig:WorkflowClassesCharacterization} illustrates to what extent various workflow classes typically employ a data-flow-oriented or control-flow-oriented workflow language and relates this to the degree of data-intensiveness. 
The individual workflow classes depicted in Figure \ref{fig:WorkflowClassification} typically either employ a rather data-flow-oriented or control-flow-oriented workflow language. Orchestration workflows are largely described in terms of control flow \cite{ProductionWorkflows}, \cite{SimTech-sWfMS}. In contrast, most current data-intensive workflows are modeled using pure data-flow-oriented languages. The main reasons are that they treat data and their processing as first-class citizens and that this offers the additional optimization opportunities described above. Nevertheless, control-flow-oriented workflow languages are increasingly adapted to the needs of data-intensive workflows \cite{Boehm}, \cite{AdaptBPEL2ScWF}. The main reasons mentioned in \mbox{Section \ref{sec:Discussion:Generality}} are the resulting common level of abstraction for all kinds of workflows, the corresponding possibility for a comprehensive workflow optimization, and generality issues. Further benefits include the sophisticated fault, compensation, and event handling capabilities at the workflow level, as well as the support for transaction concepts, a persistent execution state, and recovery of workflows \cite{EvalBPEL2SW}. In addition, many control-flow-based workflow systems offer further useful capabilities, \eg user interactions or workflow monitoring. In summary, the adoption of control-flow-oriented workflow languages for data-intensive workflows may significantly improve the modeling and execution of such workflows.

% in particular due to the additional optimization opportunities described above. Furthermore, a data flow directly supports the definition of data-intensive workflows treating data and their processing as first-class citizens, \ie it can represent such workflows in a way that is more intuitive to the workflow modeler.

%These possibilities enable the robust and reliable execution of long-running scientific and data-intensive workflows.

%\cite{InteractiveScientificWorkflows}