The problem with the CGI way is that the state of your application is bifurcated between client and server and exists in different places at different times
Gephi can be used to effectively explore Puppet resource dependency chains by visualizing a graph of relationships created by Puppet in the DOT language.