Community
Search Options
Search Options
Log in
Skip to main content (Press Enter).
Sign in
Skip auxiliary navigation (Press Enter).
Application Runtimes
Topic groups
DevOps Automation
devops.automation CAB
Expertise Connect(EC) Group
Global Application Runtimes
Java, Semeru Runtimes and Runtimes for Business
WebSphere & Liberty CAB
WebSphere Application Server & Liberty
User groups
Events
Upcoming Application Runtimes Events
IBM TechXchange Webinars
All IBM TechXchange Community Events
Participate
Gamification Program
Getting Started
Community Manager's Welcome
Post to Forum
Share a Resource
Share Your Expertise
Blogging on the IBM TechXchange Community
Connect with Application Runtimes Users
All IBM TechXchange Community Users
Resources
IBM TechXchange Group
IBM Champions
IBM Cloud Support
IBM Documentation
IBM Support
IBM Support 101
IBM Technology Zone
IBM Training
Cloud Integration Expert Labs & Learning Community
Meet the Application Runtimes Team
Maximize Websphere
IBM TechXchange Conference
Marketplace
Marketplace
IBM Application Runtimes Community
Come for answers, stay for best practices. All we're missing is you.
Ask a question
Nominate for the IBM TechXchange Awards by 12 September!
Skip main navigation (Press Enter).
Toggle navigation
Search Options
Meet Your Application Runtimes Community Managers
WebSphere Application Server & Liberty
View Only
Group Home
Discussion
9.7K
Library
599
Blogs
642
Events
1
Members
10K
Share
Consideration of class dependencies when refactoring with Mono2Micro
By
Tiaoyu Wang
posted
Wed October 13, 2021 03:27 PM
0
Like
One of the keys to successfully transforming monolithic applications to microservices is to efficiently partition classes with consideration of existing dependencies in code. A key type of class dependency is when one class contains another class as a class-level variable. This dependency impacts the state of the containing class which has implications when these classes are placed in different partitions.
IBM® Mono2Micro™
helps to visually identify these kinds of class containment dependencies in the UI where the AI's recommendations of the partitions are viewed.
In the previous 21.0.06 release of Mono2Micro, we introduced a way for users to view class containment dependencies for a single selected class in any partition. Once selected, if that class had any containment relationships with other classes a dashed line would be shown either pointing to it (which means this class was being contained by another class), or pointing away from it to another class (which means this class contains that other class). In the recent 21.0.09 release, we have enhanced this feature to see all existing class containment relationships at once in any view you happen to be in (business logic, natural seams, or custom).
The following is an example of viewing class containment dependencies in the Business Logic view of DayTrader application (Containment Dependencies toggle button is On):
There is a cross partition dependency shown where HoldingDataBean in partition3 has various class dependency relationships with classes in partition2.
Next is an example of the Natural Seams view in the same DayTrader application:
In this view, we clearly see that are no longer class containment dependencies that cross partitions.
HoldingDataBean
and its dependencies are all in partition1. This is to be expected since Mono2Micro considers class containment dependencies in addition to observed use case runs when partitioning for natural seams.
Being able to see all existing class containment dependencies is a very useful way for users to verify the efficiency of the class partitioning and schemes that Mono2Micro's AI employs for your application.
#mono2micro
#microservice
0 comments
15 views
Permalink
IBM Community Home
Browse
Discussions
Resources
Groups
Events
IBM TechXchange Conference 2023
IBM Community Webinars
All IBM Community Events
Participate
Gamification Program
Community Manager's Welcome
Post to Forum
Share a Resource
Blogging on the Community
All IBM Community Users
Resources
Community Front Porch
IBM Champions
IBM Cloud Support
IBM Documentation
IBM Support
IBM Technology Zone
IBM Training
Marketplace
Marketplace
Application Runtimes
Topic groups
DevOps Automation
devops.automation CAB
Expertise Connect(EC) Group
Global Application Runtimes
Java, Semeru Runtimes and Runtimes for Business
WebSphere & Liberty CAB
WebSphere Application Server & Liberty
User groups
Events
Upcoming Application Runtimes Events
IBM TechXchange Webinars
All IBM TechXchange Community Events
Participate
Gamification Program
Getting Started
Community Manager's Welcome
Post to Forum
Share a Resource
Share Your Expertise
Blogging on the IBM TechXchange Community
Connect with Application Runtimes Users
All IBM TechXchange Community Users
Resources
IBM TechXchange Group
IBM Champions
IBM Cloud Support
IBM Documentation
IBM Support
IBM Support 101
IBM Technology Zone
IBM Training
Cloud Integration Expert Labs & Learning Community
Meet the Application Runtimes Team
Maximize Websphere
IBM TechXchange Conference
Marketplace
Marketplace
Powered by Higher Logic