<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rich Internet Applications (RIA) &#187; JavaOne</title>
	<atom:link href="http://www.canoo.com/blog/tag/javaone/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.canoo.com/blog</link>
	<description></description>
	<lastBuildDate>Wed, 18 Jan 2012 14:30:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>JavaOne 2011 Thursday and wrap-up</title>
		<link>http://www.canoo.com/blog/2011/10/07/javaone-2011-thursday-and-wrap-up/</link>
		<comments>http://www.canoo.com/blog/2011/10/07/javaone-2011-thursday-and-wrap-up/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 05:15:10 +0000</pubDate>
		<dc:creator>Dierk</dc:creator>
				<category><![CDATA[Grails]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[JavaOne]]></category>
		<category><![CDATA[Swing]]></category>
		<category><![CDATA[canoo]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Dierk König]]></category>

		<guid isPermaLink="false">http://www.canoo.com/blog/?p=2291</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/10/07/javaone-2011-thursday-and-wrap-up/";</script>Opinions expressed in the post are solely my own and not necessarily those of my employer. Thursday started with the Community Keynote. Well, it actually started with a 25 minutes IBM presentation about their cloud story. This had obviously nothing to do with the topic of the event and later speakers pointed this out rather [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/10/07/javaone-2011-thursday-and-wrap-up/";</script><div id="_mcePaste"><em>Opinions expressed in the post are solely my own and not necessarily those of my employer.</em></div>
<div><em><br />
</em></div>
<div>Thursday started with the Community Keynote. Well, it actually started with a 25 minutes IBM presentation about their cloud story. This had obviously nothing to do with the topic of the event and later speakers pointed this out rather frankly. At least it was interesting to hear that there is a job title like &#8220;Cloud Architect&#8221;.</div>
<div id="_mcePaste">The real part of the Community Keynote started with a <em>quiet moment to honor Steve Jobs</em>.</div>
<div id="_mcePaste">Later on, various winners of the Duke choice award and JUG luminaries cared for a lighter mood again, presented their work and asked the audience for participation in their local JUGs and in the advancement of Java via the OpendJDK. The JavaPosse appeared on stage and presented a funny show.</div>
<div id="_mcePaste">It was also announced that many of the JavaOne talks will be available on parleys.com, which provide by far the best experience when it comes to viewing live-captured talks.</div>
<div id="_mcePaste">Afterwards I attended the ZeroTurnaround (JRebel) talk on classloader issues. The rather big room (~300 ppl) was packed and left the impression that many Java developers share a common pain around classloaders. It was a good talk, covering the basics and typical pifalls. The only surprise for me was *how* easily you can end up with a classloader leak.</div>
<div id="_mcePaste">In order to improve my fathering skills, I went into Ken Sipe&#8217;s talk on &#8220;Rocking the Gradle&#8221;, where I met Adam Bien. Ken is a great presenter. However, convincing the crowd is a challenge especially as many Maven users seem to suffer from the Stockholm syndrome.</div>
<div id="_mcePaste">Then onto &#8220;Visualization of Geomaps and Topic Maps with JavaFX 2.0&#8243;, which had some interesting visuals captured <a href="http://www.lodgon.com/lodgon/NEWS/Artikelen/2010/9/22_Our_CTO_presented_a_JavaOne_session_on_JavaFX.html">here</a>.</div>
<div>For me JavaOne 2011 finished with Jim Clarke and Dean Iverson on GroovyFX, where they made some really good points suggesting that Groovy is the best language to drive the JavaFX 2.0 API.</div>
<div>As a side note, James Weaver introduced me to Jim Clarke by pointing out &#8220;He is from *<strong>Canoo</strong>*&#8221;. Then the discussion went into how well-known Canoo is in the community and that all employees must be true geniuses to achieve so much with so few people <img src='http://www.canoo.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </div>
<div>Fazit: Still, JavaOne is nowhere near where it was before the Oracle acquisition both in terms of size and in terms of being an unparalleled community experience. Distribution all over various hotels just doesn&#8217;t feel right. However, meeting friends has been and still remains the most important part of JavaOne and the conference still delivers on that account.</div>
<div id="_mcePaste">Important topics were new Java versions, JavaEE (+cloud), and Java for the Desktop with 50+ talks on JavaFX. Whenever the audience was asked about which alternative languages they use, Groovy was the clear winner. It appears that in the mainstream, Groovy has become the default choice for dynamic programming on the JVM.</div>
<div id="_mcePaste">The topic of concurrent programming was in my eyes underrepresented. Guillaume and myself had simple usage of GPars in our demos but for such a big and increasingly important topic the coverage should be much more extensive.</div>
<div>Finally, some visual impressions.</div>
<div>Good-bye SF</div>
<div>Dierk Koenig</div>
<p><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/j1-01.jpg"><img class="alignnone size-medium wp-image-2292" title="j1-01" src="http://www.canoo.com/blog/wp-content/uploads/2011/10/j1-01-225x300.jpg" alt="" width="225" height="300" /></a><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/j1-02.jpg"><img class="alignnone size-medium wp-image-2293" title="j1-02" src="http://www.canoo.com/blog/wp-content/uploads/2011/10/j1-02-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/j1-03.jpg"><img class="alignnone size-medium wp-image-2294" title="j1-03" src="http://www.canoo.com/blog/wp-content/uploads/2011/10/j1-03-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/j1-04.jpg"><img class="alignnone size-medium wp-image-2295" title="j1-04" src="http://www.canoo.com/blog/wp-content/uploads/2011/10/j1-04-225x300.jpg" alt="" width="225" height="300" /></a><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/j1-17.jpg"><img class="alignnone size-medium wp-image-2296" title="j1-17" src="http://www.canoo.com/blog/wp-content/uploads/2011/10/j1-17-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/j1-25.jpg"><img class="alignnone size-medium wp-image-2297" title="j1-25" src="http://www.canoo.com/blog/wp-content/uploads/2011/10/j1-25-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/j1-27.jpg"><img class="alignnone size-medium wp-image-2298" title="j1-27" src="http://www.canoo.com/blog/wp-content/uploads/2011/10/j1-27-300x225.jpg" alt="" width="300" height="225" /></a></p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2011/10/07/javaone-2011-thursday-and-wrap-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaOne 2011 Wednesday</title>
		<link>http://www.canoo.com/blog/2011/10/06/javaone-2011-wednesday/</link>
		<comments>http://www.canoo.com/blog/2011/10/06/javaone-2011-wednesday/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 17:11:44 +0000</pubDate>
		<dc:creator>Dierk</dc:creator>
				<category><![CDATA[Grails]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaOne]]></category>
		<category><![CDATA[Swing]]></category>
		<category><![CDATA[Dierk König]]></category>

		<guid isPermaLink="false">http://www.canoo.com/blog/?p=2286</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/10/06/javaone-2011-wednesday/";</script>Opinions expressed in this post are totally my own and not necessarily that of my employer. Wednesday started with the infamous &#8220;scriptbowl&#8221;, a competition between various scripting languages. This year the contenters were JRuby, Groovy, Scala, and Clojure. I wondered whether Scala considers itself a scripting language but obviously they either do or just seek [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/10/06/javaone-2011-wednesday/";</script><p><em>Opinions expressed in this post are totally my own and not necessarily that of my employer.</em></p>
<p>Wednesday started with the infamous &#8220;scriptbowl&#8221;, a competition between various scripting languages. This year the contenters were JRuby, Groovy, Scala, and Clojure. I wondered whether Scala considers itself a scripting language but obviously they either do or just seek the opportunity to be on stage.</p>
<p>To keep a long story short: <strong>Groovy has won this event for the third time in a row</strong>! This year the race was tied with Scala. Guillaume presented Groovy in the typical Groovy-idomatic style and explained every single line of his concurrent visual analyzer for Google+ postings. Dick Wall presented only non-idomatic Scala code. I interpret this as: to make Scala appealing you have to make it look like Groovy. Furthermore, he presented Kojo, which is a great interactive learning environment written in Play/Scala. In contrast to all other presentations, this was not specifically created for the scriptbowl, nor was it written by the presenter, nor was it clear how much effort went into it, nor did the audience see a single line the implementation code. How much this skewed the comparison, I leave to everybody&#8217;s judgement. The show was good, though.</p>
<p>I felt a bit sorry for Clojure. It is a great language and deserves a presentation that is more visually appealing to convince the crowd.</p>
<p>Afterwards, I attended a hands-on lab for &#8220;rapid enterprise development with netbeans&#8221;, which was essentially creating a Swing app for database CRUD actions. If I remember correctly, I did the exact same task 1997 with JBuilder. It left me with the feeling of &#8220;Yes, it works&#8221; but it is not less complex than it was 13 years ago.</p>
<p>Early afternoon Gerrit Grunwald (better known as @hansolo_) presented his work on simplified custom components for Swing. Given that he speaks about an activity that is both utterly important and highly underadvertised he would really deserve speaking at the center stage.</p>
<p>Graeme Rocher&#8217;s great session about Grails, polyglot datastores (hibernate, jpa, redis, mongodb, &#8230;), and the cloud was overshadowed by the news that Steve Jobs has died. Accidentally, the demo application was about showing a BBC News stream, which displayed this information live on stage. Both the presenter and the audience were equally touched.</p>
<p>The day officially ended with a big event at treasure island. I decided to not go there, though, and meet the former Canooey Denis Antonioli in Berkely where we had a great evening.</p>
<p>Dierk Koenig</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2011/10/06/javaone-2011-wednesday/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JavaOne 2011 Monday</title>
		<link>http://www.canoo.com/blog/2011/10/04/javaone-2011-monday/</link>
		<comments>http://www.canoo.com/blog/2011/10/04/javaone-2011-monday/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 06:40:38 +0000</pubDate>
		<dc:creator>Dierk</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[JavaOne]]></category>
		<category><![CDATA[Dierk König]]></category>

		<guid isPermaLink="false">http://www.canoo.com/blog/?p=2273</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/10/04/javaone-2011-monday/";</script>The technical keynote started with a weird JavaZone-style video featuring a Java programmer as a rapper. It was certainly intended to be funny but as far as I can tell, it didn&#8217;t catch on. The keynote was packed but the somehow reduced ballroom layout added to this impression. Attendance was said to be twice that [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/10/04/javaone-2011-monday/";</script><p>The technical keynote started with a weird JavaZone-style video featuring a Java programmer as a rapper. It was certainly intended to be funny but as far as I can tell, it didn&#8217;t catch on.</p>
<p>The keynote was packed but the somehow reduced ballroom layout added to this impression. Attendance was said to be twice that of last year (so probably around 10&#8217;000). Even though there are certainly more people than last year, a doubled number seems a bit exaggerated to me. Throughout the day, all talks were well attended, though, but nothing like in the days when JavaOne had 10&#8217;000 attendees in Moscone Center.</p>
<p>The technical content was not surprising, beside that Oracle now advertises its NoSQL solution, which is based on the former Berkeley DB. As expected JavaFX 2.0 GA has been announced along with the respective tooling and covered by 50 (!) talks on JavaFX at JavaOne. The JavaFX presentation started very conventionally but in the end showed some really cool lab projects with a dancing duke steered by gesture recognition.</p>
<p>The best presenter was Mark Reinhold on Java 7/8/9. Good style, nice slides, perfect pace, interesting (but not really surprising) content. New to me was project Nashorn: new JavaScript implementation for the JVM expected for Java 8. Project Lambda is planned to contain &#8220;defender methods&#8221;, default implementations for interface methods. That sounds like traits and actually I expect some issues when doing this in Java.</p>
<p>Overall, the keynote was missing the JavaOne &#8220;feeling&#8221; from the olden Sun times. There was no host that led through the event, welcomed the attendees, and encouraged everybody to network. No big names on stage, no overwhelming achievements. The crowd left the room unexcited.</p>
<p>For the rest of the day I was mainly concerned with preparing and delivering my own talks on &#8220;Extending Java&#8217;s reach with Groovy&#8221; and &#8220;Pro Groovy&#8221;. They were well attended and received.</p>
<p>Andres delivered his Griffon talk in parallel.</p>
<p>Afterwards, I was a tired but still listened to Charles Nutter on JVM bytecode, Dan Sline on Griffon, and Jim Discroll on Groovy DSLs. Quote to take away: &#8220;Oracle ADFm makes <strong>heavy</strong> use of Groovy!&#8221;</p>
<p>That&#8217;s it for today.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2011/10/04/javaone-2011-monday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaOne 2011 Arrival</title>
		<link>http://www.canoo.com/blog/2011/10/02/javaone-2011-arrival/</link>
		<comments>http://www.canoo.com/blog/2011/10/02/javaone-2011-arrival/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 14:36:37 +0000</pubDate>
		<dc:creator>Dierk</dc:creator>
				<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaOne]]></category>
		<category><![CDATA[Dierk König]]></category>

		<guid isPermaLink="false">http://www.canoo.com/blog/?p=2261</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/10/02/javaone-2011-arrival/";</script>This is gonna be a short series about my impressions of JavaOne 2011. As always, it is nice to see the town decorated for the event, even though Oracle World gets certainly much higher attention. So the immigration officer as well as the nice guy sitting next to me on a bench at Union Square [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/10/02/javaone-2011-arrival/";</script><p>This is gonna be a short series about my impressions of JavaOne 2011.</p>
<p>As always, it is nice to see the town decorated for the event, even though Oracle World gets certainly much higher attention. So the immigration officer as well as the nice guy sitting next to me on a bench at Union Square ask &#8220;ah &#8211; you are a programmer? Are you here for Oracle World?&#8221; &#8220;Hmpf&#8230;&#8221;</p>
<p><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/IMG_2737.jpg"><img class="alignnone size-medium wp-image-2262" title="town decoration" src="http://www.canoo.com/blog/wp-content/uploads/2011/10/IMG_2737-225x300.jpg" alt="" width="225" height="300" /></a></p>
<p>Should you ask yourself &#8220;what&#8217;s in for me&#8221;? Here is a first answer: the conference material</p>
<p><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/IMG_2733.jpg"><img class="alignnone size-medium wp-image-2263" title="JavaOne 2011 material" src="http://www.canoo.com/blog/wp-content/uploads/2011/10/IMG_2733-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>The bag is not very practical for a software developer. I guess the selection has been taken by an Oracle employee who assumes that their conference attendees never carry any material themselves in the first place (which may be true for OracleWorld). The jacket is very nice, though.</p>
<p>And, yes, you can rate conference organizers by the badges they produce. Hey, that should not be too difficult, right? Here is what you still can make wrong:</p>
<ul>
<li>Printing the delegate&#8217;s name so small that it is hardly readable from more than 20 cm away. Now since the badge usually hangs at belly height (if not lower) this can be a bit embarrassing for both involved parties.</li>
<li>Second, the name belongs on both sides of the badge! Really! How often did you try to read the name only finding that the badge hangs the wrong way around?</li>
</ul>
<p>Otherwise, the waiting time was not too long. The speakers registration was actually empty when I arrived. The attendees registration was pretty well filled, though. But then everybody has to go to the material pickup which was for me in Moscone West 3rd floor where I waited in line for about 20 minutes and I was very early and the queue grew much longer afterwards.</p>
<p><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/IMG_2734.jpg"><img class="alignnone size-medium wp-image-2265" title="material pickup waiting line" src="http://www.canoo.com/blog/wp-content/uploads/2011/10/IMG_2734-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>This made me think about my latest work on highly concurrent producer-consumer scenarios (http://people.canoo.com/mittie/kanbanflow.html) and what it would need to improve the situation.</p>
<p>Otherwise, from studying the program schedule, I found that Oracle has wisely chosen to pretty much always put two Groovy-related talks in parallel as if to make sure that nobody can escape the Groovy (\G) in these time-slots.</p>
<p>I&#8217;m eager to see what the week will bring.</p>
<p>Dierk Koenig, @mittie</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2011/10/02/javaone-2011-arrival/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaOne 2010 Final Remarks</title>
		<link>http://www.canoo.com/blog/2010/09/25/javaone-final-remarks/</link>
		<comments>http://www.canoo.com/blog/2010/09/25/javaone-final-remarks/#comments</comments>
		<pubDate>Sat, 25 Sep 2010 14:02:29 +0000</pubDate>
		<dc:creator>Bruno</dc:creator>
				<category><![CDATA[JavaOne]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=1539</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/09/25/javaone-final-remarks/";</script>JavaOne 2010 is already history and allow me to make some final remarks. This years&#8217;s JavaOne marks the biggest change this conference has ever seen. Replacing the familiar Sun logo by the Oracle logo (well almost &#8211; the Audi TT in the Java Frontier demo session still had a Sun sticker on it) was just [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/09/25/javaone-final-remarks/";</script><p>JavaOne 2010 is already history and allow me to make some final remarks. This years&#8217;s JavaOne marks the biggest change this conference has ever seen. Replacing the familiar Sun logo by the Oracle logo (well almost &#8211; the Audi TT in the Java Frontier demo session still had a Sun sticker on it) was just the least of changes. Java now seems to be just one technology in Oracle&#8217;s portfolio and not the pivotal technology as with Sun. It was a pretty sobering experience how the Java community pales next to the Oracle Develop conference. And the fact that the JavaOne sessions were &#8220;banned&#8221; from the Moscone center where the Oracle Develop conference took place emphasized this even more. Granted, it is far from easy to keep the enthusiasm rolling with a technology that is more than 15 years old. Sun did a far better job on this in the previous years, though.</p>
<p>Whereas the sales part was fairly bad the content is still top-notch. I enjoyed quite many good technical sessions even with the conference venue being a drag (most rooms were not really suited to host a conference session). Spreading the conference across three hotels around Union Square had only one advantage: sessions were only one hour long since people took much longer to move to the next session and hence, speakers were forced to focus more. I also missed the JavaOne slide templates. Sun used to keep a pretty tight leash on how slides looked like. This year, most slides were just alphabet soups.</p>
<p>The major topics of this year&#8217;s JavaOne were JavaFX on the client side (despite JavaFX Script&#8217;s demise) and the cloud and REST on the server side. I keep wondering whether JavaFX will really conquer the desktop, though. This will be a tough uphill battle, but Oracle tends to be more persistent (or stubborn) than Sun used to be. Having deep pockets certainly helps with this. The prominent absentees were portlets, Java ME, and Google. I haven&#8217;t seen a single session about portlets in the conference guide. For Java ME, they offered quite some sessions, but it got barely covered in the keynotes. The mobile world now turns around iOS and Android, JavaME seems to have fallen by the wayside. Last but not least, Google withdrew from the conference at short notice due to the legal battle started by Oracle. I certainly missed them because the Google sessions were always among the best technical sessions at JavaOne.</p>
<p>It was also interesting to see what kind of devices the attendees were using. iPads seem to be very popular with Java developers (despite the fact that the iPad does not run Java!).</p>
<p>My bottom line is that Java as a technology is well entrenched in the developer world and here to stay. I am not so sure about JavaOne. Oracle has quite some homework to do in this area.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2010/09/25/javaone-final-remarks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>JavaOne 2010 Day Four</title>
		<link>http://www.canoo.com/blog/2010/09/24/1530/</link>
		<comments>http://www.canoo.com/blog/2010/09/24/1530/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 13:17:14 +0000</pubDate>
		<dc:creator>Bruno</dc:creator>
				<category><![CDATA[JavaOne]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=1530</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/09/24/1530/";</script>It&#8217;s already Thursday and JavaOne 2010 starts it&#8217;s last day. By tradition, the last day of the conference starts with a keynote mostly dedicated to cool Java technology demos and Oracle continued with this tradition. The keynote intro was presented by Ray Kurzweil, who is an author, inventor and futurist. Among others, he made major [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/09/24/1530/";</script><p>It&#8217;s already Thursday and JavaOne 2010 starts it&#8217;s last day. By tradition, the last day of the conference starts with a keynote mostly dedicated to cool Java technology demos and Oracle continued with this tradition. The keynote intro was presented by <a href="http://en.wikipedia.org/wiki/Ray_Kurzweil">Ray Kurzweil</a>, who is an author, inventor and futurist. Among others, he made major contributions in OCR and text-to-speech synthesis. His talk focused on exponential growth in information technology, which he illustrated with numerous examples. He claimed that everytime exponential growth reaches its limits a paradigm shift will open the ground for new exponential growth. For example, in the early days of computing vacuum tubes were shrunk exponentially. When this was not possible anymore the shift to the transistor opened the opportunity for exponential growth for quite many years.</p>
<p>From the demos only one was really remarkable and worth mentioning: Livescribe, a Java-powered pen which records what you are writing and saying. I saw the first demo of Livescribe two years ago at JavaOne and still it impressed me again. Imagine that the pen application tells you how to draw the &#8220;user interface&#8221; on paper which then allows you to use the application.</p>
<p>Nevertheless, I missed the enthusiasm of the previous Java technology demo keynotes (not to mention the T-Shirt hurling contest). And I have never seen such a small keynote audience at a JavaOne.</p>
<p>&#8220;The Merging Point of Android and Swing&#8221; was my first technical session. It was given by the David Qiao, lead developer of JIDE, a company well known for its Java and Swing components. He had a look at what Android provides for user interface construction and how some of these ideas can be applied to Swing. The talk focused on the areas of resources and themeing. In both cases he demonstrated libraries he has been developing to make life easier for Swing developers. For resources the Android approach cannot really be ported to Swing without changing the API and his solution therefore looked a bit awkward. On the other hand, he showed a nice solution how a theme can be declaratively adapted. Last but not least I learned that colors have to be localized as well, e.g. in Western cultures rising stock prices are emphasized in green, falling stock prices in red; in China it is the other way round!</p>
<p>The &#8220;DSL vs. Library API Shootout&#8221; featured Rich Unger (the DSL guy) vs. Jaroslav Tulach (the library API guy). The result of the shootout which luckily both survived was: use an external DSL when your users are more domain experts and less Java developers, otherwise go for a library (or internal DSL) approach. Jaroslav also gave a nice demo how you can use the annotation processor together with IDE facilities to provide much nicer internal DSL support in Java. Both speakers also emphasized that evolution is challenging regardless whether for a DSL or an API.</p>
<p>The topic of &#8220;What&#8217;s Happening with My Application?: Java Virtual Machine Monitoring Tool&#8221; was the project &#8220;Palantir&#8221;, a JVM monitoring tool being developed at Oracle. Very impressive stuff: it is based on <a href="http://www.usenix.org/event/usenix04/tech/general/full_papers/cantrill/cantrill_html/">DTrace</a> which is a non-immersive technique for tracing on the kernel level. It is available on Solaris, Mac OS X and some Linux derivatives. Since Java 6 DTrace can also be used for the JVM. Palantir comprises a set of DTrace scripts tailored to the needs of investigating Java performance problems and a powerful tool for visualizing the trace log. The tracing is accurate since it is not sampling based as with typical profilers and not only shows JVM events but also events of the hosting operating system. They demonstrated a show case where Oracle had a massive performance problem which engineers had been trying to fix for quite some time. With Palantir the problem was identified in about 30 min without any access to the source code. The engineers guessed that it would have taken them at least another month to pinpoint the culprit.</p>
<p>My last JavaOne session was &#8220;Developing Rich Modular Clients with Java, JavaFX, and OSGI Technology&#8221;. The speaker is working for Oracle where he and his team developed a bridge between JavaFX and OSGi to create modular JavaFX clients. They used Felix as the OSGi container, defined the OSGi service interface in Java and the service implementation is developed in JavaFX script. Nice but with JavaFX Script on the way out this is kind of pointless. The poor guy learned about JavaFX Script&#8217;s demise only on Monday when it was officially announced by Oracle.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2010/09/24/1530/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaOne 2010 Day Three</title>
		<link>http://www.canoo.com/blog/2010/09/23/javaone-2010-day-three/</link>
		<comments>http://www.canoo.com/blog/2010/09/23/javaone-2010-day-three/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 22:20:30 +0000</pubDate>
		<dc:creator>Bruno</dc:creator>
				<category><![CDATA[JavaOne]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=1525</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/09/23/javaone-2010-day-three/";</script>My third day of JavaOne 2010 started with &#8220;Using Context and Dependency Injection (CDI) in the Java EE 6 Ecosystem&#8221;. This excellent talk gave a superb overview of many aspects of CDI. CDI is the JSR-299 (formerly known as WebBeans) which substantially enhances JSR-330. JSR-330 can also be used on Java SE whereas JSR-299 is [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/09/23/javaone-2010-day-three/";</script><p>My third day of JavaOne 2010 started with &#8220;Using Context and Dependency Injection (CDI) in the Java EE 6 Ecosystem&#8221;. This excellent talk gave a superb overview of many aspects of CDI. CDI is the <a href="http://jcp.org/en/jsr/detail?id=299">JSR-299</a> (formerly known as WebBeans) which substantially enhances <a href="http://jcp.org/en/jsr/detail?id=330">JSR-330</a>. JSR-330 can also be used on Java SE whereas JSR-299 is for Java EE only. Arun Gupta, who is an incredibly fast speaker, started with the basic guiding principles of CDI, such as type safe dependency injection or strong typing and loose coupling. He then covered all the different aspects of CDI, e.g. producer &amp; disposer, interceptors, alternatives or stereotypes. Small code examples demonstrated the application of CDI in different scenarios for JSF, JPA and JAX-RS. He promised to publish the slides on this blog and its certainly worthwile to get them.</p>
<p>Next up was Paul Marray with &#8220;Too Big to Fail: Top Tips for Massive, Mission-Critical Enterprise Applications&#8221;. The title was slightly misleading. I mostly expected tips on the architecture and design level but he focused on VM configurations, profiling and low-level coding. Nevertheless, a great talk and highly recommendable. Most tips were really simple but with more than great results, e.g. using compressed pointers on 64 bit VMs can get up to 30% improvement. Or, if you need to cache lots of read-only data and share them among several VMs on the same machine have a look at the DirectMappedByteBuffer class. For me the most surprising tip was how the identity hashcode can really deteriorate your garbage collection both in terms of memory size and execution time. The identity hashcode is for example created when you are serializing objects. Once created you cannot get rid of it anymore, it becomes part of the object as long as it lives and as a consequence the garbage collector needs more space and time to execute. BTW, many years ago Paul Murray used to work on a product called SoftPC, the first Mac VM for running Windows on a PowerPC. No wonder he is a low-level guy.</p>
<p>The talk &#8220;Creating Great-Looking Java Apps for Mac OS X Without Learning Objective-C&#8221; was slightly disappointing. The speaker introduced the Xito Dazzle library which provides typical Mac UI components such as source list or sheet dialogs. To me, this library looked inferior to MacWidgets and beyond that I didn&#8217;t learn anything new about platform-specific Java UI development. I liked one quote, though. When talking about user interface design being a craft not appreciated by managers he said &#8220;Managers who call me a resource don&#8217;t consider my work as a craft&#8221;.</p>
<p>Another talk by SpringSource was next: &#8220;Standard DI with @Inject and JSR-330&#8243;. JSR-330 was one of the fastest JSRs ever. No wonder, since it is very small. The JAR-file is only about 2.5 kB and contains a mere 5 annotations (Inject, Named, Qualifier, Scope and Singleton) and one interface (Provider). The speaker went through each of the annotations and demonstrated how the JSR-330 can be used with Google Guice (which is the reference implementation) and Spring 3.0. Apart from common applications he also discussed corner cases and there was a lively discussion after the talk as well. Bottom line: excellent talk given by a savvy speaker.</p>
<p>My last session was &#8220;Developing Beyond the Component Libraries&#8221;, which was about how to customize Swing components, develop Swing components from scratch or customizing a Swing L&amp;F. Each of these topics would have deserved a session of their own and therefore the speaker really had to rush through his many slides. The basic concepts of how the Swing component library separates the functionality of a component from its appearance were conveyed pretty well. The demos, however, were not that convincing. Maybe I am spoiled by the famous Filthy Rich Client sessions of previous JavaOnes.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2010/09/23/javaone-2010-day-three/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaOne 2010 Day Two (Part 2)</title>
		<link>http://www.canoo.com/blog/2010/09/22/javaone-2010-day-two-part-2/</link>
		<comments>http://www.canoo.com/blog/2010/09/22/javaone-2010-day-two-part-2/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 13:24:09 +0000</pubDate>
		<dc:creator>Bruno</dc:creator>
				<category><![CDATA[JavaOne]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=1522</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/09/22/javaone-2010-day-two-part-2/";</script>Spring seems to be a little less prominent this year than in previous years (that&#8217;s at least my gut feeling). Nevertheless, the Spring sessions are interesting and well attended. My Spring session today was &#8220;A Lean, RESTful Java Architecture for Building Rich HTML5 Web Applications&#8221;. It conveyed lots of information about HTML5, but little about [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/09/22/javaone-2010-day-two-part-2/";</script><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Spring seems to be a little less prominent this year than in previous years (that&#8217;s at least my gut feeling). Nevertheless, the Spring sessions are interesting and well attended. My Spring session today was &#8220;A Lean, RESTful Java Architecture for Building Rich HTML5 Web Applications&#8221;. It conveyed lots of information about HTML5, but little about RESTful-ness. They might have needed the keyword &#8220;REST&#8221; in the session title to get past the review process. The session with an overview over HTML5, which took quite long since the feature list of HTML5 is pretty daunting. If you would like to get an impression about HTML5 I can recommend the website HTML5 Rocks (http://www.html5rocks.com/). Then they explained how to use the Spring programming model, esp. the request handling, in this new context. On the one hand it was impressive to see how flexible the programming model is. The combination of convention and configuration (mostly by annotations) leads to considerably less and better readable code. On the other hand, coming from a &#8220;traditional&#8221; toolkit such as Swing or ULC it is still amazing how many hoops they make a developer to jump through. At the end of the session they gave a demo which used WebSockets. This allows bi-directional communication over a single TCP/IP socket and therefore enables server push. If this becomes available across common browsers this could pave the way for a new type of desktop-like Web applications.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The &#8220;JavaOne General Technical Session&#8221; gave an overview on the roadmaps of Java SE, EE and Mobile/Embedded. The Java SE part was a rerun of the Monday session &#8220;Java 7: The Road Ahead&#8221;. What I didn&#8217;t mention in my blog was that Oracle will merge the Hotspot and JRocket VMs. The new VM will mainly be based on the Hotspot VM (the reason being they simply have more knowledgable Hotspot than JRocket engineers). Hotspot will be expanded with performance and monitoring features from the JRocket VM. The Java EE part more or less explained what&#8217;s up with Java EE 6. According to the speaker Java EE 6 has seen the fastest adoption of all Java EE releases. The next generation of Java EE will have to deal with cloud challenges, such as alternative persistence or security models. Last was Greg Bollella with an update on Java ME/Embedded. Frankly spoken, Oracle has work extremely hard to regain credibility in this domain. The current story is pretty thin and it is simply not sufficient to point out that more phones are shipped with Java ME than what Google/Apple ship. The action (and the money) is with smartphones and Oracle has nothing to offer there. And the part about embedded Java was even more sobering. Attendants voted on this topic by leaving in droves.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">My last session was a BOF about &#8220;Patterns for Modularity&#8221;. The pattern part of this talk was less interesting since they had nothing to offer which went beyond the well know patterns Adapter, Mediator, and Facade. However, they gave good comparison of service infrastructure solutions, such as OSGi, lookups from NetBeans, Dependency Injection, and JDK ServiceLoader.</div>
<p>Spring seems to be a little less prominent this year than in previous years (that&#8217;s at least my gut feeling). Nevertheless, the Spring sessions are still interesting and well attended. My Spring session today was &#8220;A Lean, RESTful Java Architecture for Building Rich HTML5 Web Applications&#8221;. It conveyed lots of information about HTML5, but little about RESTful-ness. They might have needed the keyword &#8220;REST&#8221; in the session title to get past the review process. The session started with an overview over HTML5, which took quite long since the feature list of HTML5 is pretty daunting. If you would like to get an impression about HTML5 I can recommend the website <a href="http://www.html5rocks.com/">HTML5 Rocks</a>. After that they explained how to use the Spring programming model, esp. the request handling, in this new context. On the one hand it was again impressive to see how flexible the Spring programming model is. The combination of convention and configuration (mostly by annotations) leads to considerably less and better readable code. On the other hand, coming from a &#8220;traditional&#8221; toolkit such as Swing or ULC it is still amazing how many hoops they make a developer to jump through for Desktop like applications. At the end of the session they gave a demo which used WebSockets. This allows bi-directional communication over a single TCP/IP socket and therefore enables server push. If WebSockets become available across common browsers this could pave the way for a new type of desktop-like Web applications.</p>
<p>The &#8220;JavaOne General Technical Session&#8221; gave an overview on the roadmaps of Java SE, EE and Mobile/Embedded. The Java SE part was a rerun of the Monday session &#8220;Java 7: The Road Ahead&#8221;. What I didn&#8217;t mention in my blog was that Oracle will merge the Hotspot and JRocket VMs. The new VM will mainly be based on the Hotspot VM (the reason being they simply have more knowledgable Hotspot than JRocket engineers). Hotspot will be expanded with performance and monitoring features from the JRocket VM. The Java EE part more or less explained what&#8217;s up with Java EE 6. According to the speaker Java EE 6 has seen the fastest adoption of all Java EE releases. Beyond Java EE 6, the next EE generation will have to deal with cloud challenges, such as alternative persistence or security models. However, the roadmap is still fuzzy. The last speaker was Greg Bollella with an update on Java ME/Embedded. Frankly spoken, Oracle has to work extremely hard to regain credibility in this domain. The current story is pretty thin and it is simply not sufficient to point out that more phones are shipped with Java ME than what Google/Apple ship. The action (and the money) is with smartphones and Oracle has almost nothing to offer here. And the part about embedded Java was even more sobering. Attendants voted on this topic by leaving in droves.</p>
<p>My last session was a BOF about &#8220;Patterns for Modularity&#8221;. The pattern part of this talk was less interesting since they had nothing to offer which went beyond the well know patterns Adapter, Mediator, and Facade. However, they gave a nice comparison of service infrastructure solutions, such as OSGi, lookups from NetBeans, Dependency Injection, and JDK ServiceLoader.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2010/09/22/javaone-2010-day-two-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaOne 2010 Day Two</title>
		<link>http://www.canoo.com/blog/2010/09/22/javaone-2010-day-two/</link>
		<comments>http://www.canoo.com/blog/2010/09/22/javaone-2010-day-two/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 04:44:57 +0000</pubDate>
		<dc:creator>Bruno</dc:creator>
				<category><![CDATA[JavaOne]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=1516</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/09/22/javaone-2010-day-two/";</script>I chose &#8220;What&#8217;s new in Enterprise Java Bean Technology&#8221; for my first session on Tuesday. The talk started 20 min late since the speakers had a flat tire on the 280. It&#8217;s always hardware problems which bugs software people&#8230; Due to the late start the speakers had really to rush through the slides. Nevertheless, the [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/09/22/javaone-2010-day-two/";</script><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px 'Lucida Grande';">
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I chose &#8220;What&#8217;s new in Enterprise Java Bean Technology&#8221; for my first session on Tuesday. The talk started 20 min late since the speakers had a flat tire on the 280. It&#8217;s always hardware problems which bugs software people&#8230; Due to the late start the speakers had really to rush through the slides. Nevertheless, the talk was quite informative. Some of the new features in EJB 3.1 worth mentioning are:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Timers: any EJB method can be annotated with timer information. The syntax is quite comprehensive and still easy to grasp.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Testing of EJBs: client code and EJBs can be run without a container in the same VM when using the limited profile for Web applications. This comes very handy for testing EJBs.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Portable global JNDI names: the current JNDI specification leaves quite some room for interpretation which led to JNDI names which are non-portable across vendor implementations. With EJB 3.1 the JNDI naming conventions are strict and should therefore be portable among vendor implementations.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Singletons: by annotation a session bean can be declared as singleton which by default is even thread-safe.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The new features show that Java EE is still trying to catch up with Spring which continues to set the benchmark for simplified Java EE development by using conventions and a declarative apporach.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">My next session was about Swing and OSGi: &#8220;Swing OSGi Modular Desktop Application Framework&#8221;. Large application, regardless whether on the client or server tier, need some kind of component infrastructure. OSGi is the de-facto standard in the Java realm and used both on the client tier (e.g. in Eclipse) and on the server tier (e.g. SpringSource dm server). NetBeans uses a component infrastructure of their own. The talk demonstrated how NetBeans can use OSGi bundles and NetBeans plugins can be run within OSGi. To me it looked like NetBeans might eventually drop their module system and replace it by OSGi. This would allow headless Eclipse plugins to be used on the NetBeans platform as well. Eclipse plugins with a user interface, however, would be still excluded from NetBeans since mixing Swing and SWT is not a piece of cake and even not wanted by the NetBeans team.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Modularization has been a hot topic on the Java platform for years. Project Jigsaw intends to solve this problem, but has been pushed back to Java 8 (end of 2012). The session &#8220;The Modular Java Platform and Project Jigsaw&#8221; presented all you need to know about Jigsaw. The modularization effort for Java has been going on for years and is desperately needed to address problems like JAR hell, classpath nightmares, download and startup-performance, and scaling Java down to small devices. The technicalities of modularization support in Java are pretty much solved. What remains is the gargantuan task of modularizing the JDK. The first draft had about 50 nodes and 170 edges. It is now down to 27 nodes and 95 edges and might become even more coarse granular. A coarse granular approach is more likely to get accepted by the community and has fewer compatibility issues.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">To be continued&#8230;</div>
<p>I chose &#8220;What&#8217;s new in Enterprise Java Bean Technology&#8221; for my first session on Tuesday. The talk started 20 min late since the speakers had a flat tire on the 280. It&#8217;s always hardware problems which bugs software people&#8230; Due to the late start the speakers had really to rush through the slides. Nevertheless, the talk was quite informative. Some of the new features in EJB 3.1 worth mentioning are:</p>
<ul>
<li>Timers: any EJB method can be annotated with timer information. The syntax is quite comprehensive and still easy to grasp.</li>
<li>Testing of EJBs: client code and EJBs can be run without a container in the same VM when using the limited profile for Web applications. This comes very handy for testing EJBs.</li>
<li>Portable global JNDI names: the current JNDI specification leaves quite some room for interpretation which led to JNDI names which are non-portable across vendor implementations. With EJB 3.1 the JNDI naming conventions are strict and should therefore be portable among vendor implementations.</li>
<li>Singletons: by annotation a session bean can be declared as singleton which by default is even thread-safe.</li>
</ul>
<p>The new features show that Java EE is still trying to catch up with Spring which continues to set the benchmark for simplified Java EE development by using conventions and a declarative apporach.</p>
<p>My next session was about Swing and OSGi: &#8220;Swing OSGi Modular Desktop Application Framework&#8221;. Large application, regardless whether on the client or server tier, need some kind of component infrastructure. OSGi is the de-facto standard in the Java realm and used both on the client tier (e.g. in Eclipse) and on the server tier (e.g. SpringSource dm server). NetBeans uses a component infrastructure of their own. The talk demonstrated how NetBeans can use OSGi bundles and NetBeans plugins can be run within OSGi. To me it looked like NetBeans might eventually drop their module system and replace it by OSGi. This would allow headless Eclipse plugins to be used on the NetBeans platform as well. Eclipse plugins with a user interface, however, would be still excluded from NetBeans since mixing Swing and SWT is not a piece of cake and even not wanted by the NetBeans team.</p>
<p>Modularization has been a hot topic on the Java platform for years. <a href="http://openjdk.java.net/projects/jigsaw/">Project Jigsaw</a> intends to solve this problem, but has been pushed back to Java 8 (end of 2012). The session &#8220;The Modular Java Platform and Project Jigsaw&#8221; presented all you need to know about Jigsaw. The modularization effort for Java has been going on for years and is desperately needed to address problems like JAR hell, classpath nightmares, download and startup-performance, and scaling Java down to small devices. The technicalities of modularization support in Java are pretty much solved. What remains is the gargantuan task of modularizing the JDK. The first draft had about 50 nodes and 170 edges. It is now down to 27 nodes and 95 edges and might become even more coarse granular. A coarse granular approach is more likely to get accepted by the community and has fewer compatibility issues.</p>
<p>To be continued&#8230;</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2010/09/22/javaone-2010-day-two/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaOne 2010 Day One</title>
		<link>http://www.canoo.com/blog/2010/09/21/javaone-2010-day-one/</link>
		<comments>http://www.canoo.com/blog/2010/09/21/javaone-2010-day-one/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 19:20:30 +0000</pubDate>
		<dc:creator>Bruno</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[JavaOne]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=1505</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/09/21/javaone-2010-day-one/";</script>Deep down in the Hilton dungeons JavaOne started its first day, albeit not with a keynote which was held in the late afternoon at the Moscone center. My first session was titled &#8220;Java 7 &#8211; The Road Ahead&#8221;. The last major Java update, i.e. version 6, was way back in 2006. The release date for [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/09/21/javaone-2010-day-one/";</script><p>Deep down in the Hilton dungeons JavaOne started its first day, albeit not with a keynote which was held in the late afternoon at the Moscone center.</p>
<p>My first session was titled &#8220;Java 7 &#8211; The Road Ahead&#8221;. The last major Java update, i.e. version 6, was way back in 2006. The release date for Java 7 was rescheduled several times. In his talk Mark Reinhold who is the chief architect of the Java Platform Group at Oracle announced a new schedule for Java 7. There will be a Java 7 release around mid 2011. However, Jigsaw, Lambda and some parts of Coin have been pushed back to Java 8 which is planned for a late 2012 release. For a detailed feature list see:<a title="JDK 7 features" href="http://openjdk.java.net/projects/jdk7/features/"><span style="color: #000000;"> http://openjdk.java.net/projects/jdk7/features/</span></a></p>
<p>The next session gave a good overview about the Java Persistence API version 2.0. There are some nice features included:</p>
<ul>
<li>MetaModel API: Access to the OR-Mapping is provided at run-time. The metaclasses are generated by the annotation processor and form the basis for type-safe queries and path navigation</li>
<li>Criteria API: Type-safe queries can be built using a builder approach.</li>
<li>Collections of basic types: These collections were previously stored as blobs. Now they are mapped to queryable entities.</li>
</ul>
<div style="font-family: Verdana; line-height: normal; font-size: small;">
<p><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">What I don&#8217;t like so much is that JPA validation now builds on top of bean validation. I am no big fan of bean validation because in my opinion annotation based validation simply does not scale for more complex validation scenarios.</span></div>
<p>Dirk Lemmermann was next with &#8220;Attractive and Portable Mac OS X Swing Clients for Java EE Applications&#8221;. He is known for <a href="http://www.dlsc.com/Java_Gantt_Chart_for_Swing.html"><span style="color: #000000;">FlexGantt</span></a>, an impressive Gantt chart component based on Java and he is also a committer for the <a href="http://code.google.com/p/macwidgets/"><span style="color: #000000;">MacWidgets</span></a> project. His talk was full of hints how to make Java applications so Mac-like that you can&#8217;t tell it&#8217;s not a native Mac application. Using a mixture of layout guidelines, client properties, Apple Java APIs and additional components from the MacWidgets project one can get very close to native apps. In addition, using the <a href="http://code.google.com/p/seaglass/"><span style="color: #000000;">SeaGlass L&amp;F</span></a> this is even portable across Windows and Linux. He demoed the result by means of Collap, a collaboration based project planning tool he is developing. The application looked pretty attractive when run on Mac OS X and still quite nice on Windows 7. The &#8220;Java EE&#8221; in the session title was only mentioned on one slide and probably just needed to get past the JavaOne session proposal review.</p>
<p>My next session was &#8220;Unit Testing That&#8217;s Not so Bad: Small Things That Make a Big Difference&#8221; and without doubt it was the highlight of the first day. The talk was full of excellent information about libraries and tools for making test driven development even more effective and fun. Want more information? Have a look at <a href="http://code.google.com/p/hamcrest/"><span style="color: #000000;">hamcrest</span></a>, <a href="http://improvingworks.com/products/infinitest/"><span style="color: #000000;">Infinitest</span></a>, <a href="http://jester.sourceforge.net/"><span style="color: #000000;">Jester</span></a>, <a href="http://jtestr.codehaus.org/"><span style="color: #000000;">JTestR</span></a>, <a href="http://rspec.info/"><span style="color: #000000;">RSpec</span></a>, <a href="http://cukes.info/"><span style="color: #000000;">Cucumber</span></a>, and <a href="http://github.com/sandro/specjour"><span style="color: #000000;">SpecJour</span></a>.</p>
<p>The day ended with the JavaOne keynote. Mildly put, it was a mixed experience. The head of software development from Intel,</p>
<p>Dough Fisher, started the keynote by telling what Intel is doing for software development. Apart from praising its new generation of CPUs he didn&#8217;t have much to tell. One topic was consumerization of enterprise IT and on the slide he showed an iPad and an iPhone, both of which are not powered by Intel chips. The keynote host was Thomas Kurian, head of Java product development at Oracle. His presentation was very low key compared to the hyped-up JavaOne keynotes of previous years. This is not a bad thing per se. Sun always tried to release something at JavaOne. Quite often, however, it was half baked and barely usable software which took years to live up the promises of the keynote and too often never took off. Oracle just showed roadmaps for the core pieces of the Java platform and it remains to be seen how they can deliver. Their vision for JavaFX was most interesting, though. JavaFX Script is now officially dead. The JavaFX API will be available for Java and other languages in the Java VM realm. At run-time, JavaFX can be run on top of the Java VM or HTML 5. This gives way to RIA applications which can run in or outside of the browser. JavaFX on mobile devices is on the back burner, though. I think there is no way Oracle can compete in the mobile arena &#8211; simply too little too late.</p>
<p>And by the way, Larry Ellison didn&#8217;t make it to the keynote. This is not really an encouraging sign for the Java community.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2010/09/21/javaone-2010-day-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

