Visualizing application structure with nWire

nWire is a plugin for Eclipse that helps you understand the various components and their relationships in your application. Due to various complex PHP applications being developed – like Magento, Joomla and a wide variety of frameworks, developers finds it hard to understand the underlying architecture and relationships between various components within the application.

nWire lets you bring order to that complexity. Just as a map lets you visualize the relationships between various geographical elements : cities, rivers, roads etc. nWire lets you understand the structure and relationships between various components of the given application. nWire is currently available for Zend Studio 7.0 and Eclipse 3.5 with PDT 2.1.

Currently the software includes three tools:
a. Visualizer : Helps to browse components and associations using one simple unified view.
b. Navigator : Interactive visual representation of all code associations.
c. Search : Incremental search for any type of component, including classes and methods.


The visualizer presents the application components and associations in a graphical representation. Each component of the application appears as a node and associations appear as edges, with the association name given on the edges. When there are many associations of a given type, the associations are grouped into a sub-node. The graph can be traversed: expanding nodes to reveal associated components while the layout automatically adjusts.

The following is a visualization of the Amazon API class I had posted about earlier.

Another visualization of WordPress 2.8, centered on index.php.
(Click image to view a larger version)


The navigator presents the components and associations of the application which were discovered by the analyzer. It starts from a given selected component and shows all associated components. This includes inbound and outbound associations. The following figure shows the navigator with the WordPress ‘wp_meta()’ function selected.



The search feature lets you search for components by name or a partial name using wild cards.



nWire is not OpenSource, but a 30-day trial is available. Single user license will cost you $59. If you are dealing with plethora of heavy applications, than the price is worth it.

Leave a Reply

Your email address will not be published.