Is it a puzzle to figure out transaction dependencies?Building puzzles requires identifying the location of each piece.  One usually starts with the pieces whose location is most obvious, the corners, and then the process of building the puzzle proceeds by finding the pieces next to these corner pieces, and so on.  Usually, people work on one puzzle at a time.

Let’s imagine taking the pieces of five puzzles and mixing them all together in a single box, with the goal of associating each piece with the correct puzzle, and to then assemble the puzzle.  To complicate matters, let’s assume that the puzzles have very similar images, so looking solely at the image on the individual piece is not enough.  To identify which puzzle it belongs to, you not only have to match the image on the piece, but the edge of the piece must “fit” that of its neighbor.  Once you have a pair of matching pieces, then any pieces matching any of the edges of these pieces belongs to the same puzzle.  This process continues until all pieces are matched and we’ve correctly assembled the puzzles.

This process is similar to how transactions are stitched together.  Except instead of a manual, user-driven process, this is done through automation.

In this case, we start with a collection of units of work for many transactions, with the goal of associating each “logical unit of work” (luw) with the correct transaction.  For a given unit of work, we look for a unit of work that “fits” the proper piece it was designed to fit.  Units of work fit together when they exchange a common message.  Once we have two matching units of work, then any units of work referencing any of the messages in this group are stitched with these.  This process continues until all units of work are stitched together, forming business transactions, just like pieces of a puzzle interconnect to reveal the image of that puzzle.

Once these transactions are stitched together we can monitor them end-to-end instead of “piece”meal and compare the results to the service level agreements the business has with its customers.   This is often referred to as business transaction management a subset of application performance management.  Consequently, by putting the pieces of the puzzle together we can more effectively improve the quality of service delivered to clients.   Who knew that skills learned in childhood would be so helpful in IT?