Welcome to the IBM Community, a place to collaborate, share knowledge, & support one another in everyday challenges. Connect with your fellow members through forums, blogs, files, & face-to-face networking.
Log in
Search Options
Search Options
Skip to main content (Press Enter).
Sign in
Skip auxiliary navigation (Press Enter).
WebSphere, Liberty & DevOps
Topic groups
ClearCase and ClearQuest
DevOps Platform
Rational Test
UrbanCode
WebSphere & Liberty CAB
WebSphere Application Server & Liberty
User groups
Events
Upcoming WebSphere, Liberty & DevOps Events
On Demand Webinars
IBM Expert TV
Virtual Community Events
All IBM Community Events
Participate
Gamification Program
Getting Started
Community Manager's Welcome
Post to Forum
Share a Resource
Blogging on the Community
Connect with WebSphere, Liberty & DevOps Users
All IBM Community Users
Resources
Community Front Porch
IBM Champions
IBM Cloud Support
IBM Documentation
IBM Support
IBM Technology Zone
IBM Training
Cloud Integration Expert Labs & Learning Community
Meet the WebSphere, Liberty & DevOps Team
Marketplace
Marketplace
IBM WebSphere, Liberty & DevOps Community
Come for answers. Stay for best practices. All we’re missing is you.
Join / Log in
Ask a question
Skip main navigation (Press Enter).
Toggle navigation
Search Options
Meet Your WebSphere & DevOps Community Managers
WebSphere Application Server & Liberty
WebSphere
View Only
Group Home
Discussion
8.3K
Library
307
Blogs
492
Events
5
Members
7.3K
Back to Blog List
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
Permalink
WebSphere, Liberty & DevOps
Topic groups
ClearCase and ClearQuest
DevOps Platform
Rational Test
UrbanCode
WebSphere & Liberty CAB
WebSphere Application Server & Liberty
User groups
Events
Upcoming WebSphere, Liberty & DevOps Events
On Demand Webinars
IBM Expert TV
Virtual Community Events
All IBM Community Events
Participate
Gamification Program
Getting Started
Community Manager's Welcome
Post to Forum
Share a Resource
Blogging on the Community
Connect with WebSphere, Liberty & DevOps Users
All IBM Community Users
Resources
Community Front Porch
IBM Champions
IBM Cloud Support
IBM Documentation
IBM Support
IBM Technology Zone
IBM Training
Cloud Integration Expert Labs & Learning Community
Meet the WebSphere, Liberty & DevOps Team
Marketplace
Marketplace
Copyright © 2021 IBM Corporation. All rights reserved.
Powered by Higher Logic