With today's release of 21.5, we are making the rich client for CodeLogic generally available.
New Rich Client
To visualize even more data at once, we have created a rich client that extends Cytoscape. The rich client provides the ability to sort and filter application elements, as well as providing a variety of visualizations.
Check out this video preview of how to use Cytoscape to analyze an area of an application you want to change.
With the true complexity of software systems typically being very high, we knew we needed technology that could operate on a large number of objects and their relationships. Our search took us to the medical community which developed Cytoscape as a bioinformatics platform for studying molecular interaction. It's proven to be an excellent tool for understanding how software components interact as well.
Visualize layers and relationships with a hierarchical view. This approach is nice in that in brings a degree of order to the systems, laying them out neatly. Central objects like a database schema or an Java jar file migrate to the top of the view.
Hierarchies are particularly useful when reviewing modules that should be well ordered such as an ORM layer with Java objects and database tables. One would expect fairly linear relationships with key objects mapping pretty directly to the database. In that case, vertical lines are going to be comforting and wild diagonals (objects pulling from distant tables) will spur investigation.
Use the Organic views to see relationships and where entities are "pulled" between consumers. Objects that are heavily shared, tend to reside towards the middle of the overall view while those that are more self-sufficient reside on the perimeter.
Large areas on the perimeter are often candidates for being pulled into their own service or library. Being able to spot those candidates for refactoring can be very powerful.
Generate powerful statistics to identify which parts of your application are most intertwined with other systems. You can quickly sort to find then zoom in on those nodes.
We have found that high degrees of "betweenness" can reveal unexpectedly central or shared objects. Those that score highly here are good candidates to review. Ensure that their connections match your team's intended architectural approaches.