General model of a user transaction
At development time, the application developer must identify the interactions that start and end the user transactions to be monitored (laid down in the SLA) and must uniquely name these user transactions. As in the case of component based application development no source code access is available for the application developer, this can only take place during component customization. This means, every component providing user interactions must be (manually) instrumented by the component developer to allow this kind of identification. As only a small number of components provide interactions and as GUI components achieve a particular high degree of reuse, this additional effort can easily be tolerated.
Thus, every input component must provide a means to declare each of its user interactions as the beginning of an arbitrary user transaction. To distinguish different user transactions, a means to uniquely name transactions is further required. Whenever such an interaction takes place, the respective component must inform a measurement agent about the beginning of a new instance of a user transaction. Analogously, a way to declare the end of a user transaction is needed. The correlation of the two measurements can be done automatically as described in section .