<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel>
  <title>Adam Bien</title>
  <link>http://www.adam-bien.com/roller</link>
      
    <description>Adam Bien's Software Engineering Weblog</description>
  <language>en-us</language>
    <copyright>Copyright 2009</copyright>
  <lastBuildDate>Thu, 19 Nov 2009 09:22:00 +0100</lastBuildDate>
  <generator>Apache Roller Weblogger 4.0 (20071120033321:dave)</generator>
      <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/AdamBien" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
    <guid isPermaLink="true">http://www.adam-bien.com/roller/abien/entry/are_naming_conventions_for_junit</guid>
    <title>Are Naming Conventions For JUnit 4+ Still Needed?</title>
    <dc:creator>admin</dc:creator>
    <link>http://www.adam-bien.com/roller/abien/entry/are_naming_conventions_for_junit</link>
        <pubDate>Thu, 19 Nov 2009 09:00:00 +0100</pubDate>
    <category>Real World Java EE Patterns - Rethinking Best Practices</category>
    <category>junit</category>
            <description>&lt;p&gt;JUnit 3 used naming conventions for the identification of test methods. JUnit 4 uses annotations for that purpose, so that the prefix &amp;quot;test&amp;quot; is actually superfluous. It is not only superfluous, but also redundant.&lt;/p&gt;&lt;p&gt;Instead writing something like:&lt;/p&gt;&lt;p&gt;&lt;font class="Apple-style-span" face="'courier new', courier, monospace"&gt;@Test&lt;br /&gt;public void &lt;/font&gt;&lt;b&gt;&lt;font class="Apple-style-span" face="'courier new', courier, monospace"&gt;test&lt;/font&gt;&lt;/b&gt;&lt;font class="Apple-style-span" face="'courier new', courier, monospace"&gt;AverageTotalStartedThreadCount() {}&lt;/font&gt;&lt;/p&gt;&lt;p&gt;you could just skip the prefix &amp;quot;test&amp;quot; and go with the annotation only:&lt;/p&gt;&lt;p&gt;&lt;font class="Apple-style-span" face="'courier new', courier, monospace"&gt;@Test&lt;br /&gt;public void&amp;nbsp;averageTotalStartedThreadCount() {}&lt;/font&gt;&lt;/p&gt;&lt;p&gt;The &amp;quot;test&amp;quot; prefixes are still generated by Eclipse and NetBeans, so if you don't like the superfluous naming, you will have to remove it manually. The &amp;quot;test&amp;quot; prefix in the test-class name, however, is still useful. It makes the search for test classes more easy.&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">http://www.adam-bien.com/roller/abien/entry/upcoming_2009_2010_java_ee1</guid>
    <title>Upcoming (2009-2010) Java EE 5/6 Workshops and Events - Some Free</title>
    <dc:creator>admin</dc:creator>
    <link>http://www.adam-bien.com/roller/abien/entry/upcoming_2009_2010_java_ee1</link>
        <pubDate>Tue, 17 Nov 2009 09:41:39 +0100</pubDate>
    <category>Events</category>
    <category>events</category>
            <description>&lt;ol&gt;&lt;li&gt;A &lt;a href="http://entwickler-akademie.de/ak/psecom,id,23,seminar,22.html" target="_blank"&gt;workshop about &amp;quot;Pragmatic Enterprise Architectures&amp;quot;&lt;/a&gt; in Munich - there are already enough registrations - it will take place. I plan to explain how to create pragmatic, but maintainable architectures - of course with real world examples.&lt;/li&gt;&lt;li&gt;January 2010 at the OOP conference - a &lt;a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1%5Bpointer%5D=0&amp;amp;tx_mwconferences_pi1%5Bmode%5D=1&amp;amp;tx_mwconferences_pi1%5BshowUid%5D=47&amp;amp;tx_mwconferences_pi1%5Btx_mwconferences_pi1%5D%5Bmode%5D=2" target="_blank"&gt;talk about cloud computing&lt;/a&gt; and a &lt;a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1%5Bpointer%5D=0&amp;amp;tx_mwconferences_pi1%5Bmode%5D=1&amp;amp;tx_mwconferences_pi1%5BshowUid%5D=133&amp;amp;tx_mwconferences_pi1%5Btx_mwconferences_pi1%5D%5Bmode%5D=2" target="_blank"&gt;Java EE 6 &amp;quot;Rethinking Best Practices&amp;quot; tutorial / workshop&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;I will give a talk at Java User Group Hamburg - probably about Java EE 6 stuff. Preliminary date: 02.02.2010&lt;/li&gt;&lt;li&gt;Februaray 2010, &lt;a href="http://ejugdays.ejug.at/main/index.jsf?conversationContext=1" target="_blank"&gt;ejugdays 2010&lt;/a&gt; - Spring vs. &amp;nbsp;EJB &amp;quot;talk&amp;quot; with Juergen Hoeller, Pragmatic Java EE Architectures workshop and a session about &amp;quot;Xtreme Lightweight EJB&amp;quot; :-).&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.scandevconf.se/2010/conference/speakers/adam-bien/" target="_blank"&gt;March 2010, at Scanconf.se in Gothenborg&lt;/a&gt; &amp;nbsp;a session about Java EE 6&lt;/li&gt;&lt;/ol&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">http://www.adam-bien.com/roller/abien/entry/and_the_adoption_of_ejb</guid>
    <title>...and the Adoption Of EJB 3 / Java EE is:</title>
    <dc:creator>admin</dc:creator>
    <link>http://www.adam-bien.com/roller/abien/entry/and_the_adoption_of_ejb</link>
        <pubDate>Mon, 16 Nov 2009 09:00:00 +0100</pubDate>
    <category>Productive Java EE - Rethinking Best Practices</category>
    <category>javaee</category>
    <category>ejb3</category>
    <category>adotion</category>
            <description>&lt;p&gt;far better than expected. The landscape:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Java EE 5 is already supported by &lt;a href="http://www.adam-bien.com/roller/abien/entry/the_list_of_certified_java" target="_blank"&gt;14 (all major) application servers&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Java EE 6&amp;nbsp;is already supported by Glassfish 3 and partially by JBoss 6.0 and Geronimo.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;p&gt;The adoption is harder to estimate - but it seems like Java EE 5 (6 is too early) and EJB 3 are gaining momentum. The &lt;a href="http://it-republik.de/jaxenter/wjax09/" target="_blank"&gt;w-jax&lt;/a&gt; conference is over - it was interesting to observe some indicators:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;The first time ever there was an EJB 3 / Java EE 6 day. More important: it was very well attended.&lt;/li&gt;&lt;li&gt;Our EJB 3 / Java EE 6 &amp;nbsp;table during the ballroom night (a kind of openspace) was (over)crowded. We already thought about occupying the JRuby table near us :-). All attendees had already EJB 3 experience. The participants introduced interesting projects from the biometric area, over health care system, to route planing and automation. This really surprised me.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Several projects are going to migrate their existing EJB 2 infrastructure to EJB 3. I had two conversations about migration from Spring to EJB 3. The reasons, however, were strategic and not technology driven.&lt;/li&gt;&lt;li&gt;Speakers signalized their interests as well. We had a really nice hall conversations about the EJB 3 programming model and its lightweight nature. I didn't expected it either. Even a Tomcat committer is starting to investigate EJB 3 :-).&lt;/li&gt;&lt;li&gt;My interactive hacking session (60 minutes - with Java EE 6) was attended by ~ 200 people in a room with 180 capacity :-). &amp;nbsp;Btw. the average deployment time took &amp;lt;10ms (Glassfishv3b70 and NetBeans 6.8beta). This caused some interesting discussions afterwards.&lt;/li&gt;&lt;li&gt;At the very last day - I gave a workshop with the title &amp;quot;Java EE Patterns - Rethinking Best Practices&amp;quot; with 55 attendees&amp;nbsp;(a new record). The majority of the attendees had already EJB 3 / Java EE 5 experience. I got really good questions about modularization, transactions, caching and performance during the day.&amp;nbsp;My general observation is: developers, who already used EJB 3, really like it.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;See also my &lt;a href="http://twitter.com/adambien" target="_blank"&gt;tweets&lt;/a&gt;. The w-jax conference this year was very well attended (subjectively: more than last year). The conference was well organized with excellent food and location (Westin Grand Hotel in Munich...). &lt;/p&gt;&lt;p&gt;I also recognize growing interests in EJB 3 / Java EE topics in this blog. EJB 3 / Java EE 6 topics are&amp;nbsp;&lt;a href="http://www.adam-bien.com/roller/abien/entry/best_of_october_jsf_without" target="_blank"&gt;very popular&lt;/a&gt;. &amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">http://www.adam-bien.com/roller/abien/entry/best_of_october_jsf_without</guid>
    <title>Best Of October - JSF Without EJB = Bloat (17k), JSF 2 with NB 6.8 (10k), NB Features (7k)</title>
    <dc:creator>admin</dc:creator>
    <link>http://www.adam-bien.com/roller/abien/entry/best_of_october_jsf_without</link>
        <pubDate>Sat, 14 Nov 2009 14:09:31 +0100</pubDate>
    <category>Blog Statistics</category>
    <category>stats</category>
            <description>&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.adam-bien.com/roller/abien/entry/jsf_jpa_ejb_bloat" target="_blank"&gt;(JSF + JPA) - EJB = Bloat&lt;/a&gt;&amp;nbsp;(17436&amp;nbsp;views)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.adam-bien.com/roller/abien/entry/jsf_2_jpa_2_ejb" target="_blank"&gt;JSF 2 + JPA 2 + EJB 3.1 Scaffolding With Netbeans 6.8 in 3 Steps - And The Code Is Even Usable&lt;/a&gt; (10118&amp;nbsp;views)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.adam-bien.com/roller/abien/entry/netbean_6_8_m2_some" target="_blank"&gt;NetBeans 6.8 m2 - Some Cool + Lightweight Java EE 6 Stuff&lt;/a&gt; (6972&amp;nbsp;views)&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
and:&amp;nbsp;376645&amp;nbsp;direct requests&amp;nbsp;(best result ever),&amp;nbsp;83803&amp;nbsp;RSS (best result ever) reads and&amp;nbsp;21756&amp;nbsp;atom reads&amp;nbsp;(best result ever)&lt;/p&gt;&lt;p&gt;

Daily Avg.&amp;nbsp;Visitors&amp;nbsp;7236&amp;nbsp;(September&amp;nbsp;7068) best result ever&lt;/p&gt;&lt;p&gt;
Total Visitors&amp;nbsp;224329&amp;nbsp;(September&amp;nbsp;212058)&amp;nbsp;best result ever&lt;/p&gt;&lt;p&gt;Total Hits:&amp;nbsp;775886&amp;nbsp;(September&amp;nbsp;789488)&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">http://www.adam-bien.com/roller/abien/entry/java_ee_6_kills_the</guid>
    <title>Java EE 6 Kills The WAR-Bloat - The KiloByte Deployment</title>
    <dc:creator>admin</dc:creator>
    <link>http://www.adam-bien.com/roller/abien/entry/java_ee_6_kills_the</link>
        <pubDate>Fri, 13 Nov 2009 08:00:00 +0100</pubDate>
    <category>Real World Java EE Patterns - Rethinking Best Practices</category>
    <category>javaee</category>
            <description>&lt;p&gt;The beauty of Java EE is the lack of libraries and JARs which have to be deployed with your project. Everything you needs resides already on the server.&amp;nbsp;This makes your WARs / EJB-JARS / EARs extremely lean. They only consists of your compiled classes - the actual business logic. There is no need to deploy anything, because the frameworks (JPA implementation, EJB container, JSF implementation, REST implementation, JMS / JDBC-drivers) are already installed on the server. The last time I pushed some examples to:&amp;nbsp;&lt;a href="http://kenai.com/projects/javaee-patterns/" target="_blank"&gt;http://kenai.com/projects/javaee-patterns/&lt;/a&gt;. The size of the deployment units were:&lt;/p&gt;&lt;p&gt;&lt;ul&gt;&lt;li&gt;BeanLocatorTest.war - 16 kB&lt;/li&gt;&lt;li&gt;FireAndForget.war - 8 kB&lt;/li&gt;&lt;li&gt;DAOPattern.war - 29kB&lt;/li&gt;&lt;li&gt;ResourceBinder.war - 8kB&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Java EE 6 deployments gets even leaner, than Java EE 5 because REST implementation, Bean Validation, DI extensions (JSR-299, JSR-330) etc. are already part of the spec. &lt;/p&gt;&lt;p&gt;Small deployment units makes the deployment cycle really fast. With Glassfish v3 and incremental deployment of a EJB, Interceptor, JPA-Entity, JSF backing bean takes in general &amp;lt; 10 ms. The full deployment takes at most few seconds.&lt;/p&gt;&lt;p&gt;It seems like some developers are concerned about the size of the server. I prefer small deployments and actually don't care very much about the size of the server. Although Java EE 5/6 servers became surprisingly small. The EJB container in the newest Glassfish v3b71 build is still &amp;lt; 1 MB. &lt;/p&gt;&lt;p&gt;Small deployment units are good for short deployment times - furthermore you don't have to deploy the same stuff over and over again in your WARs.&lt;/p&gt;</description>          </item>
  </channel>
</rss>
