Concepts and terminology

Review IBM® Mono2Micro™ concepts and terminology.

Class
A Java® class in the monolith application.
Unobserved class
A class that was not observed as executed in the runtime trace logs.
Utility class
A class that defines a set of methods that perform common tasks. Utility classes mostly have incoming method calls from other classes in the application. They might also have, or alternatively have, mostly static member fields and methods, and various other characteristics. Mono2Micro recommends where each utility class would be placed in a regular partition if it were not a utility class. Potential utility classes in the monolith are diamond shaped. When viewing the partition recommendations in the workbench UI, you can decide whether the recommended classes in this special group really are utility classes, and then move them as needed.
Partition
A group of related classes. A partition is an abstract concept and can potentially be realized as a microservice. A partition can also relate to a specific business functionality. In the context of Mono2Micro, the partitions are disjointed – they do not contain any common classes.
Cohesion
Similarity of class usage during use case execution.
Coupling
The number of different method calls and the volume of calls between classes observed during use case execution.
Class containment relationship
An object of class A contains an object of class B as its member attribute where B is a user defined Java class.
class A             class B
{                   {
   ....
   B  b;            ...
   ...
}                   }
Cross partition class containment relationship
A class containment relationship where the two classes are in two separate partitions.
Intra-partition class containment relationship
A class containment relationship where both classes reside in the same partition.
Runtime calls
The number of invocations, or method calls, between classes.
Cross partition runtime call
A runtime call between two classes that are in two separate partitions.
Intra-partition runtime call
A runtime call between two classes where both classes reside in the same partition.
Business logic
A recommendation that groups application classes into partitions based on runtime calls from business use cases.
Natural seams
A recommendation that groups classes together based on the same factors as the Business logic recommendation plus takes into account class dependencies.
Use cases
A functionality or set of functionalities that the application provides to an end user. For example, in a stock trading application a use case is buying stock. Business use cases often correspond to test cases.
Path
The full file path of the Java source file in the monolith application.