Before being able to define business transactions a corresponding application must have been defined which the business transaction should belong to. The page Defining Applications describes how to create application definitions.
Business transaction definitions are managed on the Business Transaction Definitions page of an application definition editor. To navigate there, open the target application and select the Business Transaction Definitions tab at the bottom of the editor:
Each application may have an arbitrary amount of business transaction definitions. Per default, each application definition has an immutable business transaction called Unknown Transaction. The Unknown Transaction is a placeholder for the case that none of the defined business transaction mappings apply to an incoming request.
Creating Business Transaction Definitions
To create a business transaction definition click on the Create button in the toolbar of the Business Transaction Definitions page. This opens a dialog requesting for the following information:
- Name: Unique name of the business transaction definition. If Dynamic Name Extraction is not activated for this definition, then this name is also used as the business transaction name.
- Description: Optional description for the business transaction definition.
- Insert Before: This value specifies where the new business transaction definition should be positioned in the list of available definitions. Section The Order of Business Transaction Definitions describes why the order of business transaction definitions matters!
A created business transaction definition appears in the upper table. Analogously to applications, business transactions definitions are evaluated in the order as displayed in that table. When selecting a business transaction definition, in the lower half of the page two additional sections appear:
- Business Transaction Mapping: Equivalent to application definitions, this section allows to specify matching rules for the selected business transaction. Specifying matching rules is described on a separate page.
- Dynamic Name Extraction: Allows to extract the name for the business transaction dynamically from some measurement data (e.g. the URI). Section Dynamic Name Extraction explains this in more detail.
The Order of Business Transaction Definitions
The order of business transaction definitions in the table plays an important role, if business transactions are not strictly separated.
When requests are evaluated to find the business transaction they should be assigned to, the business transaction definitions are processed in the same order as shown in the table. If the evaluation identifies a matching business transaction for a request, all subsequent business transaction definitions are not considered anymore for the corresponding request. This is not a problem if the matching rules of the differnet business transaction definitions are unabiguous. However, if this is not the case and the rules of one business transaction definition cover the rules of another business transaction definition, then the order of business transaction definitions is important.
Position business transaction definitions with rather generic rules below business transaction definitions with rather specific rules!
Lets assume we have two business transaction definitions in the following order and having following matching rules:
- Browse: GET HTTP request to /dvdstore/browse
- Search: POST HTTP request to /dvdstore/browse with HTTP parameter "SearchForm" having the value "SearchForm"
If the matching rules are specified as shown in the screenshots above, then the Browse business transaction is more generic than Search. In particular, any request matching Search would also match Browse. And since Browse is before Search, all (Browse and Search-requests) will be assigned to the Browse business transaction.
To correct this, Search needs to be moved above Browse as it is more specific than browse. To move business transaction definitions use the
up andDynamic Name Extraction
Result of defining business Transactions