<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Mike`s Blog - Java</title>
    <link>http://www.java-community.de/</link>
    <description>Keep it simple, stupid!</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.3.1 - http://www.s9y.org/</generator>
    
    

<item>
    <title>Visualizing Dataflow</title>
    <link>http://www.java-community.de/archives/152-Visualizing-Dataflow.html</link>
            <category>Java</category>
    
    <comments>http://www.java-community.de/archives/152-Visualizing-Dataflow.html#comments</comments>
    <wfw:comment>http://www.java-community.de/wfwcomment.php?cid=152</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.java-community.de/rss.php?version=2.0&amp;type=comments&amp;cid=152</wfw:commentRss>
    

    <author>info@mhaller.de (Mike Haller)</author>
    <content:encoded>
    &lt;a class=&#039;serendipity_image_link&#039; href=&#039;http://www.java-community.de/uploads/MiniDataflowVisual.png&#039;&gt;&lt;!-- s9ymdb:156 --&gt;&lt;img class=&quot;serendipity_image_right&quot; width=&quot;110&quot; height=&quot;66&quot; style=&quot;float: right; border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://www.java-community.de/uploads/MiniDataflowVisual.serendipityThumb.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;I&#039;ve been playing around recently regarding &lt;strong&gt;visualization of dataflow in Java applications&lt;/strong&gt;. It seems that there are tons of tools to inspect the control flow, but I had no luck yet finding something which can visualize the amount of data and the type of data flowing through complex systems.&lt;br /&gt;
&lt;br /&gt;
Not being an &lt;a href=&quot;http://www.eclipse.org/aspectj/&quot;&gt;AOP&lt;/a&gt; guru, i wondered if there was something else to use. Something, which is unobtrusive and can be applied to existing systems. The first thing i&#039;m trying is &lt;a href=&quot;http://java.sun.com/javase/6/docs/technotes/guides/jpda/&quot;&gt;Java&#039;s Debugging APIs&lt;/a&gt;, namely &lt;a href=&quot;http://java.sun.com/javase/6/docs/jdk/api/jpda/jdi/&quot;&gt;JDI&lt;/a&gt;, to &lt;strong&gt;automatically step through a program and record method entries&lt;/strong&gt;.&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.java-community.de/archives/152-Visualizing-Dataflow.html#extended&quot;&gt;Continue reading &quot;Visualizing Dataflow&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 21 Jun 2010 22:49:30 +0200</pubDate>
    <guid isPermaLink="false">http://www.java-community.de/archives/152-guid.html</guid>
    
</item>
<item>
    <title>Popularity of log frameworks</title>
    <link>http://www.java-community.de/archives/149-Popularity-of-log-frameworks.html</link>
            <category>Java</category>
    
    <comments>http://www.java-community.de/archives/149-Popularity-of-log-frameworks.html#comments</comments>
    <wfw:comment>http://www.java-community.de/wfwcomment.php?cid=149</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.java-community.de/rss.php?version=2.0&amp;type=comments&amp;cid=149</wfw:commentRss>
    

    <author>info@mhaller.de (Mike Haller)</author>
    <content:encoded>
    Logging is some weird kind of aspect of software development. It&#039;s a necessary evil so to say. On the one hand, it&#039;s great to have the flexibility to either log in a file or to console, to roll the files, to enable certain log statements at runtime etc. But on the other hand, there are so many logging frameworks and so manyof them did wrong in their first encounter, it became quiet insane.&lt;br /&gt;
&lt;br /&gt;
A few years ago, driven by the well-known problems of commons-logging, we&#039;ve switched over to slf4j with log4j as engine. I don&#039;t regret that, as I like the slf4j-api and modularized design. I also kind of like log4j - its log4j.xml, its debug system parameters and that its practically spread all over the Java world. Yes, sure, there are some minor drawbacks, like the inability of the log4j committers to provide clean Maven pom.xml files for some version. Did they fix that btw?&lt;br /&gt;
&lt;br /&gt;
Anyway, to cut a long story short: i&#039;ve played around with Neo4j and Maven and came up with a quick Maven Repository scanner which counts the dependencies from reverse: it shows how often a certain artifact is referenced by another project as dependency. The data basis was my local repository (11988 artifacts) and it&#039;s surely biased to some degree. I&#039;ll try to get a clean Maven Repo mirror some day and rerun the experiment.&lt;br /&gt;
&lt;br /&gt;
The winner is:&lt;br /&gt;
&lt;br /&gt;
1162 times used (9,69%): &lt;strong&gt;org.slf4j&lt;/strong&gt;&lt;br /&gt;
867 times used (7,23%): log4j  &lt;br /&gt;
837 times used (6,98%): commons-logging  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is other interesting information in that experiment, like&lt;br /&gt;
20,33% of the artifacts are using junit, thereas 1,9% use testng. 21,13% use the Spring Framework and 6,45% of all the Maven artifacts in my repo use the javax.servlet spec. Easymock is used by 5,62% of the artifacts. Other popular libraries include com.sun.xml.bind, commons-lang, asm, Xerces, Apache Camel, Jetty, javax.xml.bind, javax.xml.soap, wsdl4j, commons-collections, Ant, Apache Cocoon, Apache Abdera, org.eclipse, commons-io, cglib, hibernate, velocity, woodstox and derby.&lt;br /&gt;
&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 04 May 2010 08:43:44 +0200</pubDate>
    <guid isPermaLink="false">http://www.java-community.de/archives/149-guid.html</guid>
    
</item>

</channel>
</rss>