<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
        <title type="html">Arun Gupta, Miles to go ...</title>
    <subtitle type="html">Arun Gupta's Weblog</subtitle>
    <id>https://blogs.oracle.com/arungupta/feed/entries/atom</id>
            
        <link rel="alternate" type="text/html" href="https://blogs.oracle.com/arungupta/" />
        <updated>2012-05-20T07:48:08+00:00</updated>
        <generator uri="http://roller.apache.org" version="BLOGS401ORA4 (20120329084749)">Apache Roller</generator>
        <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/MilesToGo" /><feedburner:info uri="milestogo" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
        <id>https://blogs.oracle.com/arungupta/entry/jeeconf_2012_trip_report</id>
        <title type="html">JEEConf 2012 Trip Report</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/se7MF7PRLhg/jeeconf_2012_trip_report" />
        <published>2012-05-20T02:40:14+00:00</published>
        <updated>2012-05-20T05:43:17+00:00</updated> 
        <category term="/Finance" label="Finance" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jeeconf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="kiev" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ukraine" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
&lt;img style=" width: 194px; height: 97px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/jeeconf-2012-logo.png"&gt;&lt;br&gt;
&lt;br&gt;
600+ participants, 3 days, 4 concurrent tracks, 28 sessions, 3
workshops, 30+ speakers - a quick summary of &lt;a
href="http://jeeconf.com/"&gt;JEEConf 2012&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
This is second year of the conference and they've grown &amp;gt;50% from
&lt;a href="http://jeeconf.com/archive/jeeconf-2011/"&gt;last year&lt;/a&gt;.
This is the only major Java conference in Ukraine and there is a
huge demand for Java speakers in this region. Even though the
conference started with a focus on enterprise Java but has
diversified into broader Java ecosystem covering Play, Gradle,
Hazelcast, Scala, Hadoop, Cassandra, and other topics.&lt;br&gt;
&lt;br&gt;
I gave a talk on Java EE 7: Developing for the Cloud to about 400+
developers. I used the newly refreshed slide deck with tons of code
samples from different technologies such as &lt;a
href="https://blogs.oracle.com/arungupta/entry/jax_rs_2_0_early"&gt;JAX-RS






2.0&lt;/a&gt;, &lt;a
href="https://blogs.oracle.com/arungupta/entry/jpa_2_1_early_draft"&gt;JPA






2.1&lt;/a&gt;, and &lt;a href="http://beanvalidation.org/1.1/"&gt;Bean
Validation 1.1&lt;/a&gt;. The slide deck is available.&lt;br&gt;
&lt;br&gt;
&lt;div style="width:425px" id="__ss_12955567"&gt; &lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/java-ee7-latest"
title="Java EE 7: Developing for the Cloud at JEEConf 2012"
target="_blank"&gt;Java EE 7: Developing for the Cloud at JEEConf
2012&lt;/a&gt;&lt;/strong&gt; &lt;iframe
src="http://www.slideshare.net/slideshow/embed_code/12955567"
marginwidth="0" marginheight="0" frameborder="0" height="355"
scrolling="no" width="425"&gt;&lt;/iframe&gt; &lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
I had the opportunity to spend some time with &lt;a
href="http://yakovfain.com/"&gt;Yakov Fain&lt;/a&gt;, &lt;a
href="http://java.net/website/java-champions/bios.html#Fain"&gt;a
Java Champion&lt;/a&gt;, who gave two day-long workshops on Java EE 6
and JavaScript. I also spent some time with Ruslan, CEO of &lt;a
href="http://jelastic.com/"&gt;Jelastic&lt;/a&gt; and thanked them for
their continued support of GlassFish. The local JUG is not active
but I learned about &lt;a href="http://xpinjection.com/uadevclub/"&gt;Club


of Anonymous Developers&lt;/a&gt; where geeks meet couple of times a
month to talk about different technologies. If you live in the local
region, then consider joining this group and learn/share your
experience.&lt;br&gt;
&lt;br&gt;
Thank you Nikolai and Alexsey for taking the lead on running a Java
conference in Ukraine. I hope to be back next year!&lt;br&gt;
&lt;br&gt;
Here are some pictures captured from the trip ...&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-x5jWBU5D_AQ/T7hTxTbIEiI/AAAAAAAAka4/s0yBCWG3VMk/s288/DSCN3146.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-uAz7seSO3UY/T7hTx1eg0mI/AAAAAAAAkbA/cecsgeQXp_I/s288/DSCN3148.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-upCbu02JLLE/T7hTyr-qsuI/AAAAAAAAkbI/spSgAWw6R9U/s288/DSCN3149.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-LWvq7JWv48w/T7hTzch3CyI/AAAAAAAAkbQ/xZBia7ZLzG0/s288/DSCN3150.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-RUZ6iLJCEMM/T7hT10Hq4QI/AAAAAAAAkbo/HwToU3_HlXY/s288/DSCN3153.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-fgRcEzTDobE/T7hT3l9pmDI/AAAAAAAAkb4/BNKcwKRSFo4/s288/DSCN3156.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-FvKdAtz86-Q/T7hUDuLyDwI/AAAAAAAAkds/9SM7Y2jWOa8/s288/DSCN3171.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-cXEkdqrMZFc/T7hT-BTfbpI/AAAAAAAAkc4/rBUljwNPTGs/s288/DSCN3165.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-H-juitpQUYs/T7hUFX16ljI/AAAAAAAAkd4/KWFqiuWfDmk/s288/DSCN3174.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-kB_BhinrEgc/T7hUNH60AeI/AAAAAAAAke4/eJlPQkKOMlE/s288/DSCN3185.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
I also managed to run in the streets of Ukraine:&lt;br&gt;
&lt;br&gt;
&lt;iframe src="http://runkeeper.com/activityMap/1h56dq" height="345"
width="425"&gt;&lt;/iframe&gt; &lt;br&gt;
&lt;br&gt;
And now the complete photo album&lt;br&gt;
&lt;br&gt;
&lt;embed type="application/x-shockwave-flash"
src="https://picasaweb.google.com/s/c/bin/slideshow.swf"
flashvars="host=picasaweb.google.com&amp;amp;hl=en_US&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F101195212405190467512%2Falbumid%2F5744433326496879249%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US"
pluginspage="http://www.macromedia.com/go/getflashplayer"
height="192" width="288"&gt;&lt;br&gt;
Next and last stop in this trip, &lt;a
href="https://blogs.oracle.com/arungupta/entry/otn_developer_days_in_turkey"&gt;Java



Developer Day, Johannesburg&lt;/a&gt; ...
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/i4V_WHF6EX8Qy-9ICrVyzJCXgKg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i4V_WHF6EX8Qy-9ICrVyzJCXgKg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/i4V_WHF6EX8Qy-9ICrVyzJCXgKg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i4V_WHF6EX8Qy-9ICrVyzJCXgKg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/se7MF7PRLhg" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/jeeconf_2012_trip_report</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/geecon_2012_trip_report</id>
        <title type="html">Geecon 2012 Trip Report</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/2VaxnG9eCO8/geecon_2012_trip_report" />
        <published>2012-05-18T21:45:32+00:00</published>
        <updated>2012-05-18T21:45:32+00:00</updated> 
        <category term="/General" label="General" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="geecon" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="poland" scheme="http://roller.apache.org/ns/tags/" />
        <category term="poznan" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
What moved the Java world in Poland ? About 600 participants, 60+
sessions, 45+ speakers, and 3 days at &lt;a
href="http://2012.geecon.org/"&gt;Geecon&lt;/a&gt;!&lt;br&gt;
&lt;br&gt;
This was my first time at the conference and they kept me busy :-)
I've delivered the self-paced Java EE 6 hands-on lab multiple times
all around the world, but this is the first time where I used the
content to demonstrate the simplicity and ease-of-use of the
platform in a code-driven session. The 2 hrs were entertaining with
constant interaction from about 50+ attendees. The lab material can
be downloaded from &lt;a
href="https://blogs.oracle.com/arungupta/resource/javaee6-hol-glassfish.pdf"&gt;here
anyway&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Then right after I gave a talk on Java EE 7: Developing for the
Cloud. This talk gave an introduction to the upcoming Java EE 7
platform to about 50 attendees. And I refreshed the slide deck with
tons of code samples from different technologies such as &lt;a
href="https://blogs.oracle.com/arungupta/entry/jax_rs_2_0_early"&gt;JAX-RS
2.0&lt;/a&gt;, &lt;a
href="https://blogs.oracle.com/arungupta/entry/jpa_2_1_early_draft"&gt;JPA
2.1&lt;/a&gt;, and &lt;a href="http://beanvalidation.org/1.1/"&gt;Bean
Validation 1.1&lt;/a&gt; that have released their early drafts so far.
The slide deck is available.&lt;br&gt;
&lt;br&gt;
&lt;div style="width:425px" id="__ss_12955567"&gt; &lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/java-ee7-latest"
title="Java EE 7: Developing for the Cloud at Geecon 2012"
target="_blank"&gt;Java EE 7: Developing for the Cloud at Geecon
2012&lt;/a&gt;&lt;/strong&gt; &lt;iframe
src="http://www.slideshare.net/slideshow/embed_code/12955567"
marginwidth="0" marginheight="0" frameborder="0" height="355"
scrolling="no" width="425"&gt;&lt;/iframe&gt; &lt;/div&gt;
&lt;br&gt;
Pete Muir also helped me provide a more thorough insight into
Contexts &amp;amp; Dependency Injection 1.1.&lt;br&gt;
&lt;br&gt;
The talk on JAX-RS 2.0 had about 100+ attendees where I gave an
introduction to JAX-RS, explained the motivation behind upcoming
features, and showed code samples of how the API is evolving. The
slide deck is available here.&lt;br&gt;
&lt;br&gt;
&lt;div style="width:425px" id="__ss_12987811"&gt;&lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/jaxrs-20-restful-web-services-on-steroids-at-geecon-2012"
title="JAX-RS 2.0: RESTful Web services on steroids at Geecon
2012"&gt;JAX-RS 2.0: RESTful Web services on steroids at Geecon
2012&lt;/a&gt;&lt;/strong&gt;&lt;object id="__sse12987811" height="355"
width="425"&gt;&lt;param name="movie"
value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=jax-rs2-0-120518163335-phpapp02&amp;amp;stripped_title=jaxrs-20-restful-web-services-on-steroids-at-geecon-2012&amp;amp;userName=arungupta1"&gt;&lt;param
name="allowFullScreen" value="true"&gt;&lt;param
name="allowScriptAccess" value="always"&gt;&lt;param name="wmode"
value="transparent"&gt;&lt;embed name="__sse12987811"
src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=jax-rs2-0-120518163335-phpapp02&amp;amp;stripped_title=jaxrs-20-restful-web-services-on-steroids-at-geecon-2012&amp;amp;userName=arungupta1"
type="application/x-shockwave-flash"
allowscriptaccess="always" allowfullscreen="true"
wmode="transparent" height="355" width="425"&gt;&lt;/object&gt;&lt;/div&gt;
&lt;br&gt;
And finally the last talk shared our experience of building a PaaS
platform using GlassFish, the slides are available.&lt;br&gt;
&lt;br&gt;
&lt;div style="width:425px" id="__ss_12987826"&gt;&lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/paasing-a-java-ee-6-application-at-geecon-2012"
title="PaaSing a Java EE 6 Application at Geecon 2012"&gt;PaaSing
a Java EE 6 Application at Geecon 2012&lt;/a&gt;&lt;/strong&gt;&lt;object
id="__sse12987826" height="355" width="425"&gt;&lt;param name="movie"
value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=paas-javaee-120518163610-phpapp02&amp;amp;stripped_title=paasing-a-java-ee-6-application-at-geecon-2012&amp;amp;userName=arungupta1"&gt;&lt;param
name="allowFullScreen" value="true"&gt;&lt;param
name="allowScriptAccess" value="always"&gt;&lt;param name="wmode"
value="transparent"&gt;&lt;embed name="__sse12987826"
src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=paas-javaee-120518163610-phpapp02&amp;amp;stripped_title=paasing-a-java-ee-6-application-at-geecon-2012&amp;amp;userName=arungupta1"
type="application/x-shockwave-flash"
allowscriptaccess="always" allowfullscreen="true"
wmode="transparent" height="355" width="425"&gt;&lt;/object&gt;&lt;/div&gt;
&lt;br&gt;
This talk explained the internals of GlassFish and how
Orachestration Engine, Service Provisioning Engine, IaaS Management
Service, and Cloud Elasticity Manager work together to provide a
Java EE 7-based PaaS environment.&lt;br&gt;
&lt;br&gt;
Overall, the movie theater-style seating worked well and the
technical crew knew their job very well. The volunteers were very
prompt in showing the time remaining which was helpful. Everybody in
the conference team gave a very welcome feeling which certainly
wants me to go back there again next year (provided they accept my
submissions ;-) Thank you AdamD (Poznan JUG leader and conference
organizer), AdamP, Adrian, Marcin, Lukasz, and everybody else for a
great show! &lt;br&gt;
&lt;br&gt;
The speakers' dinner was in the old part of the town and I enjoyed
sharing stories with Gavin King, Pete Muir, Stephane Eperdaud, Anton
Arhipov, Joonas Lehtinen, and many others.&lt;br&gt;
&lt;br&gt;
Here are some pictures captured from the trip ...&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh6.googleusercontent.com/-MIY7m0hz_0g/T7ZWQgNZUNI/AAAAAAAAkS0/sP5TX81m_vw/s288/DSCN3089.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-wXp88rTPlkc/T7ZWTgnSikI/AAAAAAAAkTM/PSJSv8d3k8I/s288/DSCN3094.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh5.googleusercontent.com/-Wv6K5uHPP4o/T7ZWU0bPSnI/AAAAAAAAkTU/0luqf6csgOo/s288/DSCN3095.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-y-EhB3p4Mfk/T7ZWZfl31bI/AAAAAAAAkTk/F41K_lmV93I/s288/DSCN3097.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-niVBwP-XEes/T7ZWd9sZynI/AAAAAAAAkT0/K7hncyxhDQ4/s288/DSCN3099.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh6.googleusercontent.com/-Xfc8kKextMw/T7ZWiicB0nI/AAAAAAAAkUE/5gnqHeBiLDA/s288/DSCN3101.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-IDLeuXhYfGg/T7ZW4tENplI/AAAAAAAAkVU/bfN0n5gCDCc/s288/DSCN3112.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-8DS1QgbzmcE/T7ZXBMZa2TI/AAAAAAAAkVs/kXBGIHepiek/s288/DSCN3119.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-oNaltTW4WlY/T7ZXYJAUhXI/AAAAAAAAkW0/03VDhToyZj8/s288/DSCN3128.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-WejKt4dQi8k/T7ZXjiQg2YI/AAAAAAAAkXU/fLuq6WEWo6g/s288/DSCN3133.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
And the complete album&lt;br&gt;
&lt;br&gt;
&lt;embed type="application/x-shockwave-flash"
src="https://picasaweb.google.com/s/c/bin/slideshow.swf"
flashvars="host=picasaweb.google.com&amp;amp;hl=en_US&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F101195212405190467512%2Falbumid%2F5743873099582694369%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US"
pluginspage="http://www.macromedia.com/go/getflashplayer"
height="192" width="288"&gt; &lt;br&gt;
Next stop &lt;a
href="https://blogs.oracle.com/arungupta/entry/otn_developer_days_in_turkey"&gt;JEEConf&lt;/a&gt;
...
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4i0fv5sCh-RX2yW3niIk3HHKLh8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4i0fv5sCh-RX2yW3niIk3HHKLh8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4i0fv5sCh-RX2yW3niIk3HHKLh8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4i0fv5sCh-RX2yW3niIk3HHKLh8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/2VaxnG9eCO8" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/geecon_2012_trip_report</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/json_p_java_api_for</id>
        <title type="html">JSON-P: Java API for JSON Processing (TOTD #178)</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/Jnt0QrH447I/json_p_java_api_for" />
        <published>2012-05-15T12:11:10+00:00</published>
        <updated>2012-05-15T12:11:10+00:00</updated> 
        <category term="/General" label="General" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="json" scheme="http://roller.apache.org/ns/tags/" />
        <category term="spec" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
&lt;a href="http://jcp.org/en/jsr/detail?id=353"&gt;JSR 353&lt;/a&gt; is Java
API for JSON Processing (JSON-P) and will define an API to process
(e.g. parse, generate, transform, and query) JSON. This JSR will be
delivered as part of Java EE 7. The API will allow to produce and
consume JSON in a streaming fashion (StAX equivalent in XML world)
and build a Java object model for JSON (DOM equivalent in XML
world). Note, binding JSON to Java objects and vice versa is not
part of the scope of this JSR.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://json-processing-spec.java.net"&gt;json-processing-spec.java.net&lt;/a&gt;
is where all the specification work is happening and &lt;a
href="http://jsonp.java.net"&gt;jsonp.java.net&lt;/a&gt; is the project for
the&amp;nbsp; Reference Implementation. Its still early days but this &lt;span
style="font-weight: bold;"&gt;T&lt;/span&gt;ip &lt;span style="font-weight:
bold;"&gt;O&lt;/span&gt;f &lt;span style="font-weight: bold;"&gt;T&lt;/span&gt;he &lt;span
style="font-weight: bold;"&gt;D&lt;/span&gt;ay (TOTD) will explain how to
get started. The workspace can be checked out as&lt;br&gt;
&lt;br&gt;
&lt;pre&gt;&lt;span style="font-weight: bold;"&gt;git clone git://java.net/jsonp~git&lt;/span&gt;&lt;br&gt;Cloning into jsonp~git...&lt;br&gt;remote: Counting objects: 313, done.&lt;br&gt;remote: Compressing objects: 100% (218/218), done.&lt;br&gt;remote: Total 313 (delta 110), reused 0 (delta 0)&lt;br&gt;Receiving objects: 100% (313/313), 64.13 KiB, done.&lt;br&gt;Resolving deltas: 100% (110/110), done.&lt;br&gt;&lt;/pre&gt;
&lt;br&gt;
Building the workspace require JAVA_HOME to be set (&lt;code&gt;/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home&lt;/code&gt;
or &lt;code&gt;/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home&lt;/code&gt;).



Once set, the workspace can be built as&lt;br&gt;
&lt;pre&gt;&lt;span style="font-weight: bold;"&gt;mvn install&lt;/span&gt;&lt;br&gt;[INFO] Scanning for projects...&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] Reactor Build Order:&lt;br&gt;[INFO] &lt;br&gt;[INFO] RI for JSON-P JSR&lt;br&gt;[INFO] Java API for Processing JSON (JSON-P)&lt;br&gt;[INFO] jsonp-tests&lt;br&gt;[INFO] &lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] Building RI for JSON-P JSR 1.0-SNAPSHOT&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;&lt;br&gt;. . .&lt;br&gt;&lt;br&gt;Tests run: 22, Failures: 0, Errors: 0, Skipped: 0&lt;br&gt;&lt;br&gt;[INFO] &lt;br&gt;[INFO] --- maven-jar-plugin:2.3.1:jar (default-jar) @ jsonp-tests ---&lt;br&gt;[WARNING] JAR will be empty - no content was marked for inclusion!&lt;br&gt;[INFO] Building jar: /Users/arungup/code/workspaces/jsonp~git/tests/target/jsonp-tests-1.0-SNAPSHOT.jar&lt;br&gt;[INFO] &lt;br&gt;[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ jsonp-tests ---&lt;br&gt;[INFO] Installing /Users/arungup/code/workspaces/jsonp~git/tests/target/jsonp-tests-1.0-SNAPSHOT.jar to /Users/arungup/.m2/repository/org/glassfish/jsonp-tests/1.0-SNAPSHOT/jsonp-tests-1.0-SNAPSHOT.jar&lt;br&gt;[INFO] Installing /Users/arungup/code/workspaces/jsonp~git/tests/pom.xml to /Users/arungup/.m2/repository/org/glassfish/jsonp-tests/1.0-SNAPSHOT/jsonp-tests-1.0-SNAPSHOT.pom&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] Reactor Summary:&lt;br&gt;[INFO] &lt;br&gt;[INFO] RI for JSON-P JSR ................................. SUCCESS [0.528s]&lt;br&gt;[INFO] Java API for Processing JSON (JSON-P) ............. SUCCESS [12.214s]&lt;br&gt;[INFO] jsonp-tests ....................................... SUCCESS [1.695s]&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] BUILD SUCCESS&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;&lt;/pre&gt;
&lt;br&gt;
The API .jar file is in &lt;code&gt;api/target/jsonp-ri-1.0-SNAPSHOT.jar&lt;/code&gt;
and javadocs are in &lt;code&gt;api/target/jsonp-ri-1.0-SNAPSHOT-javadoc.jar&lt;/code&gt;.
There are several tests in the &lt;code&gt;tests&lt;/code&gt; directory that
shows the API usage. The RI JARs are not pushed to a public maven
repo yet but are installed in the local repo with the above command.
These can be included in your "pom.xml" with the following
coordinates:&lt;br&gt;
&lt;br&gt;
&lt;pre&gt;&amp;lt;dependency&amp;gt;&lt;br&gt; &amp;lt;groupId&amp;gt;javax.json&amp;lt;/groupId&amp;gt;&lt;br&gt; &amp;lt;artifactId&amp;gt;jsonp-ri&amp;lt;/artifactId&amp;gt;&lt;br&gt; &amp;lt;version&amp;gt;1.0-SNAPSHOT&amp;lt;/version&amp;gt;&lt;br&gt;&amp;lt;/dependency&amp;gt;&lt;br&gt;&lt;/pre&gt;
&lt;br&gt;
The key APIs are&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;DOM-based APIs (javax.json package)&lt;br&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;JsonBuilder - Builds a JSON object or JSON array&lt;/li&gt;
&lt;li&gt;JsonReader - Reads a JSON object or array from the stream&lt;/li&gt;
&lt;li&gt;JsonWriter - Writes a JSON object or array to the stream&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Streaming APIs (javax.json.stream package)&lt;br&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;JsonGenerator - Streaming JSON generator&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;JsonParser - Allows forward, read-only access to JSON&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br&gt;
Here is an sample usage of JsonBuilder:&lt;br&gt;
&lt;code&gt;JsonObject value = new JsonBuilder() &lt;br&gt;
&amp;nbsp;&amp;nbsp; .beginObject() &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .add("firstName", "John") &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .add("lastName", "Smith") &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .add("age", 25) &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .beginObject("address")
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.add("streetAddress", "21 2nd Street") &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.add("city", "New York") &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.add("state", "NY") &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.add("postalCode", "10021") &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .endObject() &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.beginArray("phoneNumber") &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.beginObject() &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.add("type", "home") &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.add("number", "212 555-1234") &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.endObject() &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.beginObject() &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.add("type", "home") &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.add("number", "646 555-4567") &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.endObject() &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .endArray() &lt;br&gt;
&amp;nbsp;&amp;nbsp; .endObject() &lt;br&gt;
.build();&lt;/code&gt; &lt;br&gt;
Here is a sample usage of JsonReader:&lt;br&gt;
&lt;br&gt;
&lt;pre&gt;String json = "...";&lt;br&gt;JsonReader reader = new JsonReader(new StringReader(json));&lt;br&gt;JsonValue value = reader.readObject();&lt;br&gt;reader.close();&lt;br&gt;&lt;/pre&gt;
&lt;br&gt;
A sample usage of JsonWriter:&lt;br class="Apple-interchange-newline"&gt;
&lt;pre&gt;&lt;code&gt;
JsonWriter jsonWriter = new JsonWriter(new FileWriter(...));&lt;br&gt;&lt;/code&gt;&lt;code&gt;JsonObject jsonObject = new JsonBuilder()&lt;br&gt; .beginObject()&lt;br&gt; . . .&lt;br&gt; .endObject()&lt;br&gt; .build()&lt;/code&gt;;
&lt;code&gt;jsonWriter.writeObject(jsonObject);
jsonWriter.close();&lt;/code&gt;&lt;/pre&gt;
Here is a sample usage of JsonGenerator:&lt;br&gt;
&lt;br&gt;
&lt;pre&gt;JsonGenerator generator = new JsonGenerator(new FileWriter(...));&lt;br&gt;generator&lt;br&gt; .beginObject()&lt;br&gt; . . .&lt;br&gt; .beginArray()&lt;br&gt; . . .&lt;br&gt; .endArray()&lt;br&gt; .endObject()&lt;br&gt;.build();&lt;br&gt;generator.close();&lt;br&gt;&lt;/pre&gt;
&lt;br&gt;
And finally a sample usage of JsonParser:&lt;br&gt;
&lt;pre&gt;String json = "...";
JsonParser parser = new JsonParser(new StringReader(json));&lt;br&gt;Iterator&amp;lt;Event&amp;gt; it = reader.iterator();&lt;br&gt;Event event = it.next();&lt;br&gt;&lt;/pre&gt;
The &lt;code&gt;event&lt;/code&gt;&amp;nbsp; can be of the following types:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;START_OBJECT&lt;/li&gt;
&lt;li&gt;END_OBJECT&lt;/li&gt;
&lt;li&gt;START_ARRAY&lt;/li&gt;
&lt;li&gt;END_ARRAY&lt;/li&gt;
&lt;li&gt;KEY_NAME&lt;/li&gt;
&lt;li&gt;VALUE_STRING&lt;/li&gt;
&lt;li&gt;VALUE_NUMBER&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;VALUE_FALSE&lt;/li&gt;
&lt;li&gt;VALUE_TRUE&lt;/li&gt;
&lt;li&gt;VALUE_NULL&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
Here are some references to track the progress and provide feedback:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Join the specification project at &lt;a
href="http://json-processing-spec.java.net"&gt;json-processing-spec.java.net&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The Reference Implementation is built at &lt;a
href="http://jsonp.java.net"&gt;jsonp.java.net&lt;/a&gt;&lt;span
style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Mailing Lists&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;users@json-processing-spec.java.net&lt;/li&gt;
&lt;li&gt;jsr353-experts@json-processing.java.net&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Issue Tracker: &lt;a
href="http://java.net/jira/browse/JSON_PROCESSING_SPEC"&gt;java.net/jira/browse/JSON_PROCESSING_SPEC&lt;/a&gt;&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
This JSR will be delivered as part of Java EE 7. Here are some other
early work that has been explained:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
href="https://blogs.oracle.com/arungupta/entry/jpa_2_1_early_draft"&gt;JPA



2.1 Early Draft Explained&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a
href="https://blogs.oracle.com/arungupta/entry/jax_rs_2_0_early"&gt;JAX-RS



2.0 Early Draft Explained&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://jdevelopment.nl/jsf-22/"&gt;What's new in JSF 2.2
?&lt;/a&gt;&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
Have fun!&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8lT3zxBZAb8snUOznfTRS6ZkrOw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8lT3zxBZAb8snUOznfTRS6ZkrOw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8lT3zxBZAb8snUOznfTRS6ZkrOw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8lT3zxBZAb8snUOznfTRS6ZkrOw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/Jnt0QrH447I" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/json_p_java_api_for</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/java_day_istanbul_may_2012</id>
        <title type="html">Java Day, Istanbul, May 2012 Trip Report</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/t-WHsf-b04U/java_day_istanbul_may_2012" />
        <published>2012-05-14T18:27:31+00:00</published>
        <updated>2012-05-15T20:57:01+00:00</updated> 
        <category term="/General" label="General" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="istanbul" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <category term="turkey" scheme="http://roller.apache.org/ns/tags/" />
        <category term="weblogic" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
&lt;a
href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=144022&amp;amp;src=7307403&amp;amp;src=7307403&amp;amp;Act=212"&gt;&lt;img
alt=""
src="https://lh5.googleusercontent.com/-tbSIK9bxScI/T7K0pcDdtLI/AAAAAAAAkDw/L851FXfgLlI/s912/DSC_0052.jpg"
style="border: 0px solid; width: 650px; height: 292px;"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
About &lt;span style="text-decoration: line-through;"&gt;120+&lt;/span&gt; 150
attendees at Java Day, Istanbul learned about Java EE 6/7
earlier today. The Java track had about &lt;span
style="text-decoration: line-through;"&gt;100&lt;/span&gt; 110 attendees
during most of
the day. I gave 4 sessions:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Developing Modern and Lightweight Java EE 6 Applications using
WebLogic 12c (keynote to all the attendees)&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;What's coming in Java EE 7&lt;/li&gt;
&lt;li&gt;Java EE 6 Hands-on Lab using NetBeans/WebLogic&lt;/li&gt;
&lt;li&gt;RESTful Web services using JAX-RS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The attendees were generally quiet but the hands-on session had
some interesting conversations around Java EE 6 usage. &lt;a
href="https://blogs.oracle.com/arungupta/entry/wls_maven_plugin_weblogic_12c"&gt;TOTD
#177&lt;/a&gt; showcase the WebLogic Maven plugin usage &lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_sample_application"&gt;TOTD
#176&lt;/a&gt; shows how to run Conference Planner application on
WebLogic 12c. I also had the opportunity to meet the &lt;a
href="http://www.jtpd.org/"&gt;Istanbul JUG&lt;/a&gt; leader and &lt;a
href="http://www.istanbul-gtug.org/"&gt;local GTUG&lt;/a&gt; leader. Show
your passion about Java by participating at the local JUG, all the
more better to volunteer as a speaker :-)&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;The slides presented are available below. &lt;br&gt;
&lt;/p&gt;
&lt;div style="width:425px" id="__ss_12811157"&gt; &lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/weblogic-12c-developer-deep-dive-at-oracle-develop-india-2012"
title="WebLogic 12c Developer Deep Dive at Oracle Develop
India 2012" target="_blank"&gt;WebLogic 12c Developer Deep Dive
at Oracle Develop India 2012&lt;/a&gt;&lt;/strong&gt; &lt;iframe
src="http://www.slideshare.net/slideshow/embed_code/12811157"
marginwidth="0" marginheight="0" frameborder="0" height="355"
scrolling="no" width="425"&gt;&lt;/iframe&gt; &lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;div style="width:425px" id="__ss_12928507"&gt; &lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/java-ee-7-developing-for-the-cloud-at-java-day-istanbul-may-2012"
title="Java EE 7: Developing for the Cloud at Java Day,
Istanbul, May 2012" target="_blank"&gt;Java EE 7: Developing for
the Cloud at Java Day, Istanbul, May 2012&lt;/a&gt;&lt;/strong&gt; &lt;iframe
src="http://www.slideshare.net/slideshow/embed_code/12928507"
marginwidth="0" marginheight="0" frameborder="0" height="355"
scrolling="no" width="425"&gt;&lt;/iframe&gt; &lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;div style="width:425px" id="__ss_12928365"&gt; &lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/restful-web-services-using-jaxrs"
title="RESTful Web services using JAX-RS" target="_blank"&gt;RESTful
Web
services using JAX-RS&lt;/a&gt;&lt;/strong&gt; &lt;iframe
src="http://www.slideshare.net/slideshow/embed_code/12928365"
marginwidth="0" marginheight="0" frameborder="0" height="355"
scrolling="no" width="425"&gt;&lt;/iframe&gt; &lt;/div&gt;
&lt;br&gt;
The self-paced instructions for Java EE 6 hands-on lab using
NetBeans and WebLogic is &lt;a
href="https://blogs.oracle.com/arungupta/resource/javaee6-hol-weblogic.pdf"&gt;available
here&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Some pictures from the event and around the city ...&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-EngCKkFPwwU/T7E-U2I66SI/AAAAAAAAj38/-3qN26VafoA/s288/DSCN3037.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-JXbFTw1omiA/T7E-ZKfzibI/AAAAAAAAj4k/I7as2Zq92OM/s288/DSCN3042.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;&lt;img
style=" width: 216px; height: 288px;" alt=""
src="https://lh3.googleusercontent.com/-zezBmTlEG-w/T7E-cAFhF6I/AAAAAAAAj5A/aatBkvyHESY/s288/DSCN3046.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;&lt;img
style=" width: 216px; height: 288px;" alt=""
src="https://lh4.googleusercontent.com/-oQA2a9gTZkg/T7E-dkjM_xI/AAAAAAAAj5M/28zL1ApGjto/s288/DSCN3049.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-2TVVxY2NTic/T7E-hJrBCJI/AAAAAAAAj50/eBQ2--ssiBA/s288/DSCN3054.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-xx_mBjbx_Qw/T7E-i9-_BdI/AAAAAAAAj6A/ZoXkKx8L-As/s288/DSCN3056.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-lr2e6zYBfXg/T7E-lM6-UBI/AAAAAAAAj6U/nqk3g_OHNaA/s288/DSCN3059.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-5wFUzckUlCA/T7E-nptWTcI/AAAAAAAAj60/mXLWjklxoqU/s288/DSCN3062.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-71m8AZY3DfA/T7E-qVBp3jI/AAAAAAAAj7E/yDNnoSxzUWo/s288/DSCN3065.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-J9WBEjSQ-30/T7E-rDLX33I/AAAAAAAAj7M/Cp28OCqbhQI/s288/DSCN3066.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-b_xMrVFsRC8/T7E-x8TZdqI/AAAAAAAAj78/Y9GhGlSP7Bo/s288/DSCN3074.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/--vIfwX--VY4/T7E-yqPhB6I/AAAAAAAAj8E/Jin4DPuRnKE/s288/DSCN3075.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
Here are a couple of more pictures from the local events team:&lt;br&gt;
&lt;br&gt;
&lt;img style=" width: 640px; height: 426px;" alt=""
src="https://lh5.googleusercontent.com/-pzJ-tmylkks/T7K0xkn0FaI/AAAAAAAAkD4/z4ZwgbYieXE/s800/DSC_0056.jpg"&gt;&lt;br&gt;
&lt;br&gt;
&lt;img style=" width: 640px; height: 426px;" alt=""
src="https://lh6.googleusercontent.com/-EOJB9Cgpz2s/T7K02exSSII/AAAAAAAAkEA/4V3b6a_kskA/s800/DSC_0061.jpg"&gt;&lt;br&gt;
&lt;br&gt;
And the complete album:&lt;br&gt;
&lt;br&gt;
&lt;embed type="application/x-shockwave-flash"
src="https://picasaweb.google.com/s/c/bin/slideshow.swf"
flashvars="host=picasaweb.google.com&amp;amp;hl=en_US&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F101195212405190467512%2Falbumid%2F5742439517866265105%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US"
pluginspage="http://www.macromedia.com/go/getflashplayer"
height="192" width="288"&gt; &lt;br&gt;
Next stop &lt;a
href="https://blogs.oracle.com/arungupta/entry/otn_developer_days_in_turkey"&gt;Geecon,
Poland&lt;/a&gt; ...
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jYWl1sjNMB5De0xCHwKmXrmHwqs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jYWl1sjNMB5De0xCHwKmXrmHwqs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jYWl1sjNMB5De0xCHwKmXrmHwqs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jYWl1sjNMB5De0xCHwKmXrmHwqs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/t-WHsf-b04U" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/java_day_istanbul_may_2012</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/wls_maven_plugin_weblogic_12c</id>
        <title type="html">wls-maven-plugin: WebLogic 12c Maven Plugin Usage (TOTD #177)</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/7UV7Lhh0EkY/wls_maven_plugin_weblogic_12c" />
        <published>2012-05-11T16:41:13+00:00</published>
        <updated>2012-05-11T16:48:05+00:00</updated> 
        <category term="/General" label="General" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="maven" scheme="http://roller.apache.org/ns/tags/" />
        <category term="plugin" scheme="http://roller.apache.org/ns/tags/" />
        <category term="totd" scheme="http://roller.apache.org/ns/tags/" />
        <category term="weblogic" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
&lt;a
href="http://www.oracle.com/technetwork/middleware/weblogic/overview/index.html"&gt;
Oracle WebLogic Server 12c&lt;/a&gt; provides full Java EE 6 platform
support. The &lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_using_weblogic"&gt;screencast
#39&lt;/a&gt; shows how to build a complete application using NetBeans.
The self-paced hands-on lab provides &lt;a
href="https://blogs.oracle.com/arungupta/resource/javaee6-hol-weblogic.pdf"&gt;detailed
instructions&lt;/a&gt; on the same as well. The Maven support in
WebLogic 12c is much more improved. &lt;a
href="http://buttso.blogspot.in/2011/12/weblogic-server-12c-maven-usage-notes.html"&gt;Steve


Button&lt;/a&gt; and &lt;a
href="http://blog.eisele.net/2011/12/installing-and-using-new-weblogic-12.html"&gt;Markus

Eisele&lt;/a&gt; wrote detailed blogs on how/what/why of Maven support
in WebLogic. This &lt;span style="font-weight: bold;"&gt;T&lt;/span&gt;ip &lt;span
style="font-weight: bold;"&gt;O&lt;/span&gt;f &lt;span style="font-weight:
bold;"&gt;T&lt;/span&gt;he &lt;span style="font-weight: bold;"&gt;D&lt;/span&gt;ay
(TOTD) will provide a quick overview of how to get started with
using the maven plugin for deploying a Java EE 6 web application.&lt;br&gt;
&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;Download and install WebLogic 12c using the zip installer as
explained in &lt;a
href="https://blogs.oracle.com/arungupta/entry/get_started_with_oracle_weblogic"&gt;TOTD

#174&lt;/a&gt;. &lt;br&gt;
&lt;/li&gt;
&lt;li&gt;The Maven plugin can be installed using
"$MW_HOME/wlserver/server/lib/wls-maven-plugin.jar". Change the
directory to "$MW_HOME/wlserver/server/lib" and give the
following commands:&lt;br&gt;
&lt;pre&gt;mvn install
mvn install:install-file –Dfile=wls-maven-plugin.jar -DpomFile=pom.xml&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;The maven plugin usage can be seen by giving the following
command:&lt;br&gt;
&lt;pre&gt;mvn com.oracle.weblogic:wls-maven-plugin:help&lt;/pre&gt;
Or add the following to "~/.m2/settings.xml":&lt;br&gt;
&lt;pre&gt;&amp;lt;pluginGroups&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;pluginGroup&amp;gt;com.oracle.weblogic&amp;lt;/pluginGroup&amp;gt;
&amp;lt;/pluginGroups&amp;gt;&lt;/pre&gt;
And then give the following command:&lt;br&gt;
&lt;pre&gt;mvn wls:help&lt;/pre&gt;
to see the output as:&lt;br&gt;
&lt;pre&gt;[INFO] Scanning for projects...&lt;br&gt;[INFO] &lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] Building wls-maven-sample 1.0-SNAPSHOT&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] &lt;br&gt;[INFO] --- wls-maven-plugin:12.1.1.0:help (default-cli) @ wls-maven-sample ---&lt;br&gt;[INFO] &lt;br&gt;WebLogic Server Maven Plugin&lt;br&gt;The following goals are supported by wls-maven-plugin:&lt;br&gt;&lt;br&gt;appc:&lt;br&gt; The appc compiler generates and compiles the classes needed to deploy &lt;br&gt; EJBs and JSPs to WebLogic Server. It also validates the deployment &lt;br&gt; descriptors for compliance with the current specifications at both the &lt;br&gt; individual module level and the application level. &lt;br&gt;&lt;br&gt;deploy:&lt;br&gt; To deploy a weblogic server application (supports all formats WAR,JAR &lt;br&gt; etc..)&lt;br&gt;&lt;br&gt;create-domain:&lt;br&gt; Create a domain for WebLogic Server using the default domain template. &lt;br&gt; For more complex domain creation use the WLST goal. &lt;br&gt;&lt;br&gt;help:&lt;br&gt; Provides a list of all the goals supported by the wls-maven-plugin &lt;br&gt;&lt;br&gt;install:&lt;br&gt; Install WebLogic Server &lt;br&gt;&lt;br&gt;list-apps:&lt;br&gt; Lists the deployment names for applications and stand-alone modules &lt;br&gt; deployed distributed, or installed to the domain &lt;br&gt;&lt;br&gt;redeploy:&lt;br&gt; Redeploys a running application or part of a running application &lt;br&gt;&lt;br&gt;start-app:&lt;br&gt; Starts an application deployed on weblogic server. &lt;br&gt;&lt;br&gt;start-server:&lt;br&gt; Start WebLogic Server &lt;br&gt;&lt;br&gt;stop-app:&lt;br&gt; Stops an application &lt;br&gt;&lt;br&gt;stop-server:&lt;br&gt; Stop Weblogic Server &lt;br&gt;&lt;br&gt;undeploy:&lt;br&gt; Undeploys the application from weblogic server. Stops the deployment unit &lt;br&gt; and removes staged files from target servers &lt;br&gt;&lt;br&gt;update-app:&lt;br&gt; Updates an application's deployment plan by redistributing the plan files &lt;br&gt; and reconfiguring the application based on the new plan contents. &lt;br&gt;&lt;br&gt;wlst:&lt;br&gt; WLST wrapper for Maven &lt;br&gt;&lt;br&gt;&lt;br&gt;For detailed help on a goal, use -Dgoal=&amp;lt;goal-name&amp;gt; -Ddetail=true options.&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] BUILD SUCCESS&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] Total time: 0.794s&lt;br&gt;[INFO] Finished at: Thu May 03 06:38:23 IST 2012&lt;br&gt;[INFO] Final Memory: 8M/125M&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;&lt;/pre&gt;
More details about each goal can be found using the following
command:&lt;br&gt;
&lt;pre&gt;mvn wls:help -Dgoal=&amp;lt;GOAL&amp;gt; -Ddetail=true&lt;/pre&gt;
For example:&lt;br&gt;
&lt;pre&gt;&lt;span style="font-weight: bold;"&gt;mvn wls:help -Dgoal=install -Ddetail=true&lt;/span&gt;&lt;br&gt;[INFO] Scanning for projects...&lt;br&gt;[INFO] &lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] Building Maven Stub Project (No POM) 1&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] &lt;br&gt;[INFO] --- wls-maven-plugin:12.1.1.0:help (default-cli) @ standalone-pom ---&lt;br&gt;[INFO] &lt;br&gt;WebLogic Server Maven Plugin&lt;br&gt;The following goals are supported by wls-maven-plugin:&lt;br&gt;&lt;br&gt;install:&lt;br&gt; Install WebLogic Server &lt;br&gt;&lt;br&gt; Available Parameters:&lt;br&gt;&lt;br&gt; installCommand:&lt;br&gt; The command to use to install the product when using an &lt;br&gt; 'executable' installer. The following macros are supported - &lt;br&gt; @INSTALLER_FILE@ - the path to the installer file, @JAVA_HOME@ - &lt;br&gt; path to the java home. eg: @JAVA_HOME@ -Xms512m -Xmx1024m -jar &lt;br&gt; @INSTALLER_FILE@ one two &lt;br&gt;&lt;br&gt; artifactLocation:&lt;br&gt; The address of the artifact. This can be one of the following - &lt;br&gt; 1) A ':' separated maven coordinates of the form (groupId:artifac-&lt;br&gt; tId:packaging:classifier:version) 2) A file on the local system &lt;br&gt; (/home/prash/myapps/helloworld.war)3) A remote http url &lt;br&gt; (http://foo/a/b.zip)&lt;br&gt;&lt;br&gt; middlewareHome:&lt;br&gt; The home directory for Oracle WebLogic Server or Fusion &lt;br&gt; Middleware installation. Required unless WLS was installed in the &lt;br&gt; default location selected by the WLS Maven Plugin's install goal. &lt;br&gt;&lt;br&gt; domainHome:&lt;br&gt; Location of WLS domain &lt;br&gt;&lt;br&gt; localRepository:&lt;br&gt; The absolute path of a local maven repository. &lt;br&gt;&lt;br&gt; artifactFactory:&lt;br&gt; The artifactFactory is used to locate an artifact with a &lt;br&gt; groupId:artifactId:artifactName:version in the remote Repository &lt;br&gt; as provided by the remoteRepsitories parameter. &lt;br&gt;&lt;br&gt; artifactResolver:&lt;br&gt; Artifactresolver resolves the artifact from the remote &lt;br&gt; repository. Downloads an updated version of the artifact if &lt;br&gt; present in the remote repo. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] BUILD SUCCESS&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] Total time: 0.889s&lt;br&gt;[INFO] Finished at: Wed May 02 17:35:46 PDT 2012&lt;br&gt;[INFO] Final Memory: 6M/89M&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;&lt;br&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Build a Java EE 6 application&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;Create a Java EE 6 Maven web application as:&lt;br&gt;
&lt;pre&gt;mvn archetype:generate
-DarchetypeGroupId=org.codehaus.mojo.archetypes
-DarchetypeArtifactId=webapp-javaee6 -DgroupId=example
-DartifactId=wls-maven-sample -DarchetypeVersion=1.5
-DinteractiveMode=false&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt; Add a trivial servlet to the sample project by following
the &lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_using_weblogic"&gt;screencast
#39&lt;/a&gt;. The complete source code for the project can be &lt;a
href="https://blogs.oracle.com/arungupta/resource/wls-maven-sample.zip"&gt;downloaded
here&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt; Add the following code fragment to the generated "pom.xml":&lt;br&gt;
&lt;pre&gt;&amp;lt;plugin&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;groupId&amp;gt;com.oracle.weblogic&amp;lt;/groupId&amp;gt;
&amp;lt;artifactId&amp;gt;wls-maven-plugin&amp;lt;/artifactId&amp;gt;
&amp;lt;version&amp;gt;12.1.1.0&amp;lt;/version&amp;gt;
&amp;lt;/plugin&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Try some Maven commands in the "wls-maven-sample" directory&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;The server can be started as:&lt;br&gt;
&lt;pre&gt;&lt;br&gt;&lt;span style="font-weight: bold;"&gt;mvn wls:start-server &lt;br&gt; -DmiddlewareHome=/Users/arungup/tools/weblogic/12c &lt;br&gt; -DdomainHome=/Users/arungup/tools/weblogic/mydomain&lt;/span&gt;&lt;br&gt;[INFO] Scanning for projects...&lt;br&gt;[INFO] &lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] Building wls-maven-sample 1.0-SNAPSHOT&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] &lt;br&gt;[INFO] --- wls-maven-plugin:12.1.1.0:start-server (default-cli) @ wls-maven-sample ---&lt;br&gt;[INFO] ++====================================================================++&lt;br&gt;[INFO] ++ wls-maven-plugin: start-server ++&lt;br&gt;[INFO] ++====================================================================++&lt;br&gt;.[INFO] Starting server in domain: /Users/arungup/tools/weblogic/mydomain&lt;br&gt;[INFO] Check stdout file for details: /Users/arungup/tools/weblogic/mydomain/server-922019421247284651.out&lt;br&gt;[INFO] Process being executed, waiting for completion.&lt;br&gt;................&lt;br&gt;[INFO] Server started successful&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] BUILD SUCCESS&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] Total time: 16.919s&lt;br&gt;[INFO] Finished at: Wed May 02 18:06:22 PDT 2012&lt;br&gt;[INFO] Final Memory: 5M/88M&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Build and deploy the application as:&lt;br&gt;
&lt;pre&gt;&lt;br&gt;&lt;span style="font-weight: bold;"&gt;mvn wls:deploy &lt;br&gt; -DmiddlewareHome=/Users/arungup/tools/weblogic/12c &lt;br&gt; -DdomainHome=/Users/arungup/tools/weblogic/mydomain &lt;br&gt; -Duser=admin &lt;br&gt; -Dpassword=admin007 &lt;br&gt; -Dsource=/Users/arungup/code/samples/weblogic/wls-maven-sample/target/wls-maven-sample-1.0-SNAPSHOT.war&lt;/span&gt;&lt;br&gt;[INFO] Scanning for projects...&lt;br&gt;[INFO] &lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] Building wls-maven-sample 1.0-SNAPSHOT&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] &lt;br&gt;[INFO] --- wls-maven-plugin:12.1.1.0:deploy (default-cli) @ wls-maven-sample ---&lt;br&gt;[INFO] ++====================================================================++&lt;br&gt;[INFO] ++ wls-maven-plugin: deploy ++&lt;br&gt;[INFO] ++====================================================================++&lt;br&gt;weblogic.Deployer invoked with options: -noexit -user admin -deploy -source /Users/arungup/code/samples/weblogic/wls-maven-sample/target/wls-maven-sample-1.0-SNAPSHOT.war&lt;br&gt;&amp;lt;May 3, 2012 8:24:17 AM IST&amp;gt; &amp;lt;Info&amp;gt; &amp;lt;J2EE Deployment SPI&amp;gt; &amp;lt;BEA-260121&amp;gt; &amp;lt;Initiating deploy operation for application, wls-maven-sample-1.0-SNAPSHOT [archive: /Users/arungup/code/samples/weblogic/wls-maven-sample/target/wls-maven-sample-1.0-SNAPSHOT.war], to configured targets.&amp;gt; &lt;br&gt;Task 0 initiated: [Deployer:149026]deploy application wls-maven-sample-1.0-SNAPSHOT on myserver.&lt;br&gt;Task 0 completed: [Deployer:149026]deploy application wls-maven-sample-1.0-SNAPSHOT on myserver.&lt;br&gt;Target state: deploy completed on Server myserver&lt;br&gt;&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] BUILD SUCCESS&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] Total time: 7.745s&lt;br&gt;[INFO] Finished at: Thu May 03 08:24:18 IST 2012&lt;br&gt;[INFO] Final Memory: 11M/130M&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt; The application is accessible at &lt;a
href="http://localhost:7001/wls-maven-sample-1.0-SNAPSHOT/TestServlet"&gt;localhost:7001/wls-maven-sample-1.0-SNAPSHOT/TestServlet&lt;/a&gt;.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Stop the server as:&lt;br&gt;
&lt;pre&gt;&lt;br&gt;&lt;span style="font-weight: bold;"&gt;mvn wls:stop-server &lt;br&gt; -DmiddlewareHome=/Users/arungup/tools/weblogic/12c &lt;br&gt; -DdomainHome=/Users/arungup/tools/weblogic/mydomain &lt;br&gt; -Duser=admin &lt;br&gt; -Dpassword=admin007&lt;/span&gt;&lt;br&gt;[INFO] Scanning for projects...&lt;br&gt;[INFO] &lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] Building wls-maven-sample 1.0-SNAPSHOT&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] &lt;br&gt;[INFO] --- wls-maven-plugin:12.1.1.0:stop-server (default-cli) @ wls-maven-sample ---&lt;br&gt;[INFO] ++====================================================================++&lt;br&gt;[INFO] ++ wls-maven-plugin: stop-server ++&lt;br&gt;[INFO] ++====================================================================++&lt;br&gt;[INFO] Stop server in domain: /Users/arungup/tools/weblogic/mydomain&lt;br&gt;[INFO] Process being executed, waiting for completion.&lt;br&gt;[INFO] [exec] Stopping Weblogic Server...&lt;br&gt;[INFO] [exec] &lt;br&gt;[INFO] [exec] Initializing WebLogic Scripting Tool (WLST) ...&lt;br&gt;[INFO] [exec] &lt;br&gt;[INFO] [exec] Welcome to WebLogic Server Administration Scripting Shell&lt;br&gt;[INFO] [exec] &lt;br&gt;[INFO] [exec] Type help() for help on available commands&lt;br&gt;[INFO] [exec] &lt;br&gt;[INFO] [exec] Connecting to t3://localhost:7001 with userid admin ...&lt;br&gt;[INFO] [exec] Successfully connected to Admin Server 'myserver' that belongs to domain 'mydomain'.&lt;br&gt;[INFO] [exec] &lt;br&gt;[INFO] [exec] Warning: An insecure protocol was used to connect to the &lt;br&gt;[INFO] [exec] server. To ensure on-the-wire security, the SSL port or &lt;br&gt;[INFO] [exec] Admin port should be used instead.&lt;br&gt;[INFO] [exec] &lt;br&gt;[INFO] [exec] Shutting down the server myserver with force=false while connected to myserver ...&lt;br&gt;[INFO] [exec] WLST lost connection to the WebLogic Server that you were &lt;br&gt;[INFO] [exec] connected to, this may happen if the server was shutdown or &lt;br&gt;[INFO] [exec] partitioned. You will have to re-connect to the server once the &lt;br&gt;[INFO] [exec] server is available.&lt;br&gt;[INFO] [exec] Disconnected from weblogic server: myserver&lt;br&gt;[INFO] [exec] Disconnected from weblogic server: &lt;br&gt;[INFO] [exec] &lt;br&gt;[INFO] [exec] &lt;br&gt;[INFO] [exec] Exiting WebLogic Scripting Tool.&lt;br&gt;[INFO] [exec] &lt;br&gt;[INFO] [exec] Done&lt;br&gt;[INFO] [exec] Stopping Derby Server...&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] BUILD SUCCESS&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;[INFO] Total time: 10.847s&lt;br&gt;[INFO] Finished at: Thu May 03 06:37:48 IST 2012&lt;br&gt;[INFO] Final Memory: 9M/125M&lt;br&gt;[INFO] ------------------------------------------------------------------------&lt;br&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
&lt;br&gt;
Simple, quick, and easy!&lt;br&gt;
&lt;br&gt;
Are you building Java EE 6 applications on WebLogic ? With Maven ?
Now you can fully integrate the WebLogic lifecycle with your
"pom.xml".&lt;br&gt;
&lt;br&gt;
The &lt;a
href="http://docs.oracle.com/cd/E24329_01/web.1211/e24368/overview.htm"&gt;WebLogic
Application Development Guide&lt;/a&gt; provide &lt;a
href="http://docs.oracle.com/cd/E24329_01/web.1211/e24368/maven.htm#WLPRG585"&gt;detailed



documentation&lt;/a&gt; on the maven plugin.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uP-Tspi2hvulkKkqIMK1adrGLvo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uP-Tspi2hvulkKkqIMK1adrGLvo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uP-Tspi2hvulkKkqIMK1adrGLvo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uP-Tspi2hvulkKkqIMK1adrGLvo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/7UV7Lhh0EkY" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/wls_maven_plugin_weblogic_12c</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/otn_developer_days_in_turkey</id>
        <title type="html">OTN Developer Days in Turkey and Johannesburg, Geecon in Poland, JEEConf in Ukraine</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/Bb8yJQM8ACk/otn_developer_days_in_turkey" />
        <published>2012-05-10T04:45:00+00:00</published>
        <updated>2012-05-13T18:26:47+00:00</updated> 
        <category term="/General" label="General" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="geecon" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="istanbul" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jeeconf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="johannesburg" scheme="http://roller.apache.org/ns/tags/" />
        <category term="kiev" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <category term="poland" scheme="http://roller.apache.org/ns/tags/" />
        <category term="turkey" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ukraine" scheme="http://roller.apache.org/ns/tags/" />
        <category term="weblogic" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
Several Java EE sessions around the world over next few days ...&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;a
href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=144022&amp;amp;src=7307403&amp;amp;src=7307403&amp;amp;Act=212"&gt;&lt;img
alt=""
src="https://blogs.oracle.com/arungupta/resource/otn-day-turkey-2012.png"
style="border: 0px solid; width: 200px; height: 94px;"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;Where: Ceylan
Intercontinental Istanbul, Turkey&lt;br&gt;
When: May 14, 9am&lt;br&gt;
Sessions: Several Java EE 6/7 sessions&lt;br&gt;
&lt;a
href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=144022&amp;amp;src=7307403&amp;amp;src=7307403&amp;amp;Act=212"&gt;Agenda&lt;/a&gt;,
&lt;a
href="http://www.oracle.com/webapps/events/EvtInit.jsp?prfURL=https%3A%2F%2Fmyprofile.oracle.com%2FEndUser%2Ffaces%2Fprofile%2Fsso%2FupdateUser.jspx%3Ftid%3Dcomplete%26doupdate%3Dn%26nextURL%3D&amp;amp;evtURL=http%3A%2F%2Fwww.oracle.com%2Fwebapps%2Fevents%2Fservlet%2FSurvey%3Fp_eventId%3D144022%26src%3D7307403%26src%3D7307403%26Act%3D212%26showProfile%3Dn%26langCode%3Dtr"&gt;Register&lt;/a&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 167px;
height: 100px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/geecon-2012-logo.png"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;Where: Poznan, Poland&lt;br&gt;
When: May 16-18&lt;br&gt;
Sessions: &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a
href="http://2012.geecon.org/speakers/arun-gupta"&gt;Java EE
6 = Less Code + More Power&lt;/a&gt; (May 16, 9am)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a
href="http://2012.geecon.org/speakers/arun-gupta"&gt;Java EE
7: Developing for the Cloud&lt;/a&gt; (May 16, 11:10am)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;a href="http://2012.geecon.org/speakers/arun-gupta"&gt; JAX-RS
2.0: RESTful Java on Steroids&lt;/a&gt; (May 18, 11:20am)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a
href="http://2012.geecon.org/speakers/arun-gupta"&gt;PaaSing
a Java EE 6 Application&lt;/a&gt; (May 18, 2:30pm)&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 194px;
height: 97px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/jeeconf-2012-logo.png"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;Where: International
Exhibition Center, Kiev, Ukraine&lt;br&gt;
When: May 19, 10am&lt;br&gt;
Session: &lt;a href="http://jeeconf.com/program/#jee7"&gt;Java EE
7: Developing for the Cloud&lt;/a&gt;&lt;br&gt;
&lt;a href="http://jeeconf.com/registration/"&gt;Register&lt;/a&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;a
href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=144025&amp;amp;src=7307403&amp;amp;src=7307403&amp;amp;Act=352"&gt;&lt;img
alt=""
src="https://blogs.oracle.com/arungupta/resource/otn-day-joburg-2012.png"
style="border: 0px solid; width: 250px; height: 74px;"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;When: May 21&lt;br&gt;
Where: The Forum, Johannesburg, South Africa&lt;br&gt;
Session: Several&lt;br&gt;
&lt;a
href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=144025&amp;amp;src=7307403&amp;amp;src=7307403&amp;amp;Act=352"&gt;Agenda&lt;/a&gt;,
&lt;a
href="http://www.oracle.com/webapps/events/EvtInit.jsp?prfURL=https%3A%2F%2Fmyprofile.oracle.com%2FEndUser%2Ffaces%2Fprofile%2Fsso%2FupdateUser.jspx%3Ftid%3Dcomplete%26doupdate%3Dn%26nextURL%3D&amp;amp;evtURL=http%3A%2F%2Fwww.oracle.com%2Fwebapps%2Fevents%2Fservlet%2FSurvey%3Fp_eventId%3D144025%26src%3D7307403%26src%3D7307403%26Act%3D352%26showProfile%3Dn%26langCode%3Den"&gt;Register&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
Where will I see or run with you ?&lt;br&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eAl7e_QnUsPMgoR8azeKBB51kn4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eAl7e_QnUsPMgoR8azeKBB51kn4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eAl7e_QnUsPMgoR8azeKBB51kn4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eAl7e_QnUsPMgoR8azeKBB51kn4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/Bb8yJQM8ACk" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/otn_developer_days_in_turkey</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/javaone_and_oracle_develop_india1</id>
        <title type="html">JavaOne and Oracle Develop India 2012 Trip Report</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/RxlufXs0nNs/javaone_and_oracle_develop_india1" />
        <published>2012-05-06T09:14:18+00:00</published>
        <updated>2012-05-08T21:14:39+00:00</updated> 
        <category term="/General" label="General" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="develop" scheme="http://roller.apache.org/ns/tags/" />
        <category term="hyderabad" scheme="http://roller.apache.org/ns/tags/" />
        <category term="india" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaone" scheme="http://roller.apache.org/ns/tags/" />
        <category term="oracle" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
&lt;a href="http://www.oracle.com/javaone/in-en/index.html"&gt; JavaOne
and Oracle Develop India 2012&lt;/a&gt; concluded earlier this week.
About 2000 attendees for JavaOne makes it the biggest Java developer
conference in South Asia. The conference showed Oracle's continued
commitment to move Java forward and demonstrated progress on
different fronts. &lt;br&gt;
&lt;br&gt;
Several attendees told me that they liked Java EE related sessions
and how it demonstrated how the platform is making progress. The
automatic service provisioning feature was particularly well
appreciated. The complete instructions to download the Conference
Planner sample showing some PaaS capabilities of the platform is
available at &lt;a href="http://glassfish.org/javaone2011"&gt;glassfish.org/javaone2011&lt;/a&gt;.
And the video that explains the PaaSing a Java EE application is
shown below.&lt;br&gt;
&lt;br&gt;
&lt;iframe src="http://www.youtube.com/embed/NXg2FYPPLLw"
allowfullscreen="" frameborder="0" height="315" width="560"&gt;&lt;/iframe&gt;
&lt;br&gt;
&lt;br&gt;
I had several speaking engagements at the conference including
Technical Keynote, Meet The Experts, 2 Hands-on Labs, and 2
Technical Sessions.&lt;br&gt;
&lt;br&gt;
I helped mentor a hands-on lab that explained how to
Develop/Deploy/Monitor a Java EE 6 Application in a GlassFish
Cluster. The room was packed with 120 attendees and several folks
made good progress by following the instructions in the document.
The complete self-paced lab instructions can be &lt;a
href="http://blogs.oracle.com/arungupta/resource/javaone2011/19120-lab-instructions.pdf"&gt;downloaded






here&lt;/a&gt; and the &lt;a
href="http://blogs.oracle.com/arungupta/resource/javaone2011/19120-app.zip"&gt;source






code here&lt;/a&gt;. The lab explains how to create a 2-instance
cluster, front-end the cluster with a load balancer, verify that
session replication works, and then monitor the application using
JavaScript.&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh6.googleusercontent.com/-p1TJmtZPbRM/T6QSjAt5iKI/AAAAAAAAi3g/dY9bTZjNISI/s288/DSCN2899.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh6.googleusercontent.com/--EnqvAOobQY/T6QSk54WszI/AAAAAAAAi4A/Be332QTwVJU/s288/DSCN2901.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
The session on GlassFish REST Administration Backend explained the
internals of how GlassFish exposes a RESTful API for administration,
monitoring, and management. But other than learning internals, the
emphasis was more on how to build a large-scale RESTful application.
The tips and tricks part of the presentation shared the lessons
learned during our exercise of publishing this API. The slides are
available:&lt;br&gt;
&lt;br&gt;
&lt;div style="width:425px" id="__ss_12816345"&gt; &lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/glassfish-rest-administration-backend-at-javaone-india-2012"
title="GlassFish REST Administration Backend at JavaOne India
2012" target="_blank"&gt;GlassFish REST Administration Backend at
JavaOne India 2012&lt;/a&gt;&lt;/strong&gt; &lt;iframe
src="http://www.slideshare.net/slideshow/embed_code/12816345"
marginwidth="0" marginheight="0" frameborder="0" height="355"
scrolling="no" width="425"&gt;&lt;/iframe&gt; &lt;/div&gt;
&lt;br&gt;
Do you know the RESTful management API is at &lt;a
href="http://localhost:4848/management/domain"&gt;localhost:4848/management/domain&lt;/a&gt;
and the monitoring API is &lt;a
href="http://localhost:4848/monitoring/domain"&gt;localhost:4848/monitoring/domain&lt;/a&gt;.
And did you know that you can append ".xml" or ".json" to the
RESTful URIs and the data is displayed in the requested format ?&lt;br&gt;
&lt;br&gt;
The evening concluded with a dinner with several JUG leaders and
Java Champions from all around the world. There was Kevin Nilson
from the Silicon Valley JUG, Vinicius and Yara Senger from the
SouJava, Stephen Chin from the Java FX User Group, Raj Mahendra from
the JUG Chennai, Kayal from JDuchess Chennai, Murali Vallath from
AIOUG and several other luminaries. However its still surprisingly
shocking that in a country of 1.2 billion+ people, there are only 4
active JUGs - &lt;a href="http://www.meetup.com/PuneJUG/"&gt;Pune&lt;/a&gt;, &lt;a
href="http://www.meetup.com/BangaloreOpenJUG/"&gt;Bangalore&lt;/a&gt;, &lt;a
href="http://www.jugchennai.in/"&gt;Chennai&lt;/a&gt;, and &lt;a
href="http://www.jugnagpur.com/"&gt;Nagpur&lt;/a&gt;. And then &lt;a
href="http://meetup.com/hydjug"&gt;Hyderabad JUG&lt;/a&gt; was created at
JavaOne India. I plan to write a detailed blog on what it takes to
start a JUG any where and hopefully that will motivate some
individuals to start more JUGs around the world. Anyway, here are
some pictures from the dinner:&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-oERbqPmRjEc/T6QTU-pbWkI/AAAAAAAAjEU/qDoc1oB2pEQ/s288/DSCN2958.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-SOYtli87Lwo/T6QTYoYE05I/AAAAAAAAi9U/VdDoaDH_PXE/s288/DSCN2961.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh5.googleusercontent.com/-iZZ22Q-SUSE/T6QTdJoAFpI/AAAAAAAAi98/ZPTS-URyIdk/s288/DSCN2967.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh4.googleusercontent.com/-GcIQJREqFnI/T6QTfDBTr4I/AAAAAAAAi-I/lK6RGjCAmPk/s288/DSCN2969.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh6.googleusercontent.com/-NfVYbhx46SU/T6QTkDo9VEI/AAAAAAAAi-0/VvFBWYH41Pk/s288/DSCN2974.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-M8kDELQYCoA/T6QTmYCJexI/AAAAAAAAi_A/EthGhX2vgKo/s288/DSCN2976.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
Day 2 for me started with Meet The Experts session with Dalibor
Topic, Terrence Barr, Michael Heinrichs, and Markus Hirt. The 9am
session started low on attendance but the 250+ capacity room was packed within 15
minutes. And the questions ranged from merged JVMs, comparison
between HTML5 and JavaFX, NoSQL support in Java EE, JavaFX on
mobile, features in JDK 8/9/10, Project Avatar, and all over the
Java landscape. The engaged audience kept asking questions all the
way to the end.&lt;br&gt;
&lt;br&gt;
Then I delivered a session on WebLogic 12c: Developer Deep Dive at
Oracle Develop. This session gave an overview of some of the new
features that are available in Oracle WebLogic Server 12c such as
zip installer (&lt;a
href="https://blogs.oracle.com/arungupta/entry/get_started_with_oracle_weblogic"&gt;TOTD




#174&lt;/a&gt;), simplified programming model with Java EE 6, new Maven
goals, and extensive IDE support. The slides are available.&lt;br&gt;
&lt;br&gt;
&lt;div style="width:425px" id="__ss_12811157"&gt; &lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/weblogic-12c-developer-deep-dive-at-oracle-develop-india-2012"
title="WebLogic 12c Developer Deep Dive at Oracle Develop
India 2012" target="_blank"&gt;WebLogic 12c Developer Deep Dive
at Oracle Develop India 2012&lt;/a&gt;&lt;/strong&gt; &lt;iframe
src="http://www.slideshare.net/slideshow/embed_code/12811157"
marginwidth="0" marginheight="0" frameborder="0" height="355"
scrolling="no" width="425"&gt;&lt;/iframe&gt; &lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
A comprehensive Java EE 6 application was explained with a code
walk-through and deployed on WebLogic server using NetBeans. &lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_sample_application"&gt;TOTD





#176&lt;/a&gt; explains how you can deploy this application on WebLogic
as well. There are several blogs that explain new Maven support in
WebLogic and I've already prepared a blog draft (to be published
soon) explaining the same using the TOTD format. There were some
cases of Websphere -&amp;gt; WebLogic migration and that is always
welcome!&lt;br&gt;
&lt;br&gt;
The final session of the day for me was the Java EE 6 Application
Development using NetBeans and WebLogic hands-on lab at Oracle
Develop. This self-paced guided the attendees to build a complete
end-to-end application using different Java EE 6 technologies such
as JavaServer Faces 2, Enterprise JavaBeans 3.1, Java Persistence
API 2, and Contexts &amp;amp; Dependency Injection. The self-paced lab
instructions are &lt;a
href="https://blogs.oracle.com/arungupta/resource/javaee6-hol-weblogic.pdf"&gt;available




here&lt;/a&gt;. I was told that with about 75 attendees this was the
most heavily attended lab of Oracle Develop.&lt;br&gt;
&lt;br&gt;
The evening concluded with the GlassFish &amp;amp; Friends Party. We've
conducted this party at the premier JavaOne event for the past 5
years and this is the first time we've taken it to a regional event.
There were about 110+ JavaOne attendees who were present at the
party and had some great conversations. Several folks told me that
they enjoyed the party and are already looking forward to it next
year. The Nagpur JUG had the biggest presence at the party and they
are a charged up bunch of folks. I really wish other cities have
similar amount of passion and energy as well. Here are some pictures
from the party:&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-5KTzzosVYxM/T6QT2gBshRI/AAAAAAAAjA8/11Ve46f8uws/s288/DSCN2992.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh4.googleusercontent.com/-JyZV6zb6VIk/T6QUDR-6oVI/AAAAAAAAjCU/PBd4qxBFhBE/s288/DSCN3003.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh4.googleusercontent.com/-5xbhxex5ZdM/T6QUFUq2rpI/AAAAAAAAjCs/kY2n3bJ2gMg/s288/DSCN3006.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-8jeoWcYyxRw/T6QUHWqtopI/AAAAAAAAjC0/EgrM8NqWWbY/s288/DSCN3008.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh4.googleusercontent.com/-0ntB0IWndlg/T6QUH1nQUxI/AAAAAAAAjC8/V1xPjuRqS0I/s288/DSCN3009.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-JVJ2OsYGGI8/T6QUL1RnUyI/AAAAAAAAjDc/Egnju45ojkk/s288/DSCN3013.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-SIkX_rdxV8Q/T6QUPCS2ifI/AAAAAAAAjD0/s6E2b4zI0oE/s288/DSCN3016.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh6.googleusercontent.com/-_WfD-_p_UNc/T6QUQ1GWwVI/AAAAAAAAjEE/vYs7qlf9Dys/s288/DSCN3018.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
On a personal side, the fitness center of Novotel Hotel is pretty
good and this allowed me to continue following the &lt;a
href="http://my.menshealth.com/workout/The-Spartacus-Workout-2.0"&gt;Spartacus




Workout&lt;/a&gt;. A visit to Hyderabad must include a trip to &lt;a
href="http://paradisefoodcourt.com/"&gt;Paradise Biryani&lt;/a&gt; and so
managed to sneak in that after the GlassFish party. The OTN welcome
party was a good way to decompress at the end of Day 1 and got the
attendees dancing to the latest bollywood flicks by &lt;a
href="http://en.wikipedia.org/wiki/Vasundhara_Das"&gt;Vasundhara Das&lt;/a&gt;.
Here are some pictures from the dance party:&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh6.googleusercontent.com/-EdZPXPU0jM4/T6QTAGo95ZI/AAAAAAAAi64/J6U3NvBT0Dk/s288/DSCN2929.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-xwFdH5AnLOQ/T6QTD7abbZI/AAAAAAAAi7U/40FDTak8qSY/s288/DSCN2933.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh5.googleusercontent.com/-2CAokYh2kLg/T6QTNL8AE5I/AAAAAAAAi8I/LmGVbUOIdwA/s288/DSCN2944.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh5.googleusercontent.com/-nMkaLfkrLO4/T6QTOt72ySI/AAAAAAAAi8Y/I3tDC8eFmgM/s288/DSCN2947.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
Here are some more pictures captured from the event:&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh5.googleusercontent.com/-HF478mZLgsQ/T6QSFACg4DI/AAAAAAAAi0Y/QDlLf_EV0vw/s288/DSCN2870.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-hiAImXJnrJw/T6QSGxfbECI/AAAAAAAAi0o/tixEgTc5lfw/s288/DSCN2872.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh4.googleusercontent.com/-fohxXQkyaHs/T6QSJI0PTkI/AAAAAAAAi00/dQXd5ZGFdRs/s288/DSCN2874.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-d21bEPKwDvo/T6QSPb7p0sI/AAAAAAAAi1g/ap65m4i_kms/s288/DSCN2880.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-Cosb9a2DdGQ/T6QSTTxVL-I/AAAAAAAAi18/lns-FWOYzOg/s288/DSCN2886.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-a5HhM_RZaHM/T6QSahowG0I/AAAAAAAAi2o/28LWnfvdaWg/s288/DSCN2891.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-F2rX3CNVWU4/T6QSrYqtz2I/AAAAAAAAi4k/CdkjBCEhjX4/s288/DSCN2908.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh4.googleusercontent.com/-i9WE3Ux2Ms4/T6QSueqyF6I/AAAAAAAAi5I/NpndQzDuQ_w/s288/DSCN2910.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-mtoZY3AYmJI/T6QS1E_ifMI/AAAAAAAAi5k/wncAI01szVA/s288/DSCN2917.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh5.googleusercontent.com/-h7A93LoDfN4/T6QS5g4uq_I/AAAAAAAAi6A/3bcJZEBo19I/s288/DSCN2920.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
And now the complete album:&lt;br&gt;
&lt;br&gt;
&lt;embed type="application/x-shockwave-flash"
src="https://picasaweb.google.com/s/c/bin/slideshow.swf"
flashvars="host=picasaweb.google.com&amp;amp;hl=en_US&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F101195212405190467512%2Falbumid%2F5738731415208739809%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US"
pluginspage="http://www.macromedia.com/go/getflashplayer"
height="192" width="288"&gt; &lt;br&gt;
&lt;br&gt;
Many thanks to the Novotel Hotel and HICC staff, competent technical
crew, events team running around for logistics, attendees, local and
international speakers, and everybody else. A good conference is a
blend of all of these together and JavaOne India certainly had a
good mix.&lt;br&gt;
&lt;br&gt;
For me, the next stops are &lt;a
href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=144022&amp;amp;src=7307403&amp;amp;src=7307403&amp;amp;Act=212"&gt;Turkey&lt;/a&gt;,
&lt;a href="http://2012.geecon.org/speakers/arun-gupta"&gt;Poland&lt;/a&gt;, &lt;a
href="http://jeeconf.com/program/"&gt;Ukraine&lt;/a&gt;, &lt;a
href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=144025&amp;amp;src=7307403&amp;amp;src=7307403&amp;amp;Act=352"&gt;Johannesburg&lt;/a&gt;
...
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XBc9zLi7G3Fb2KVW_N7UNQRqUrI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XBc9zLi7G3Fb2KVW_N7UNQRqUrI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XBc9zLi7G3Fb2KVW_N7UNQRqUrI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XBc9zLi7G3Fb2KVW_N7UNQRqUrI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/RxlufXs0nNs" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/javaone_and_oracle_develop_india1</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/java_ee_6_sample_application</id>
        <title type="html">Java EE 6 Sample Application on WebLogic 12c: Conference Planner (TOTD #176)</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/AE2-FaqDvdU/java_ee_6_sample_application" />
        <published>2012-05-02T11:16:43+00:00</published>
        <updated>2012-05-02T11:21:13+00:00</updated> 
        <category term="/General" label="General" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaone" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <category term="weblogic" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
&lt;a
href="http://www.oracle.com/technetwork/middleware/weblogic/overview/index.html"&gt;Oracle
WebLogic 12c&lt;/a&gt; provide a Java EE 6 Full Platform compliant
application server. During the &lt;a
href="https://event.on24.com/eventRegistration/EventLobbyServlet?target=registration.jsp&amp;amp;eventid=375727&amp;amp;sessionid=1&amp;amp;key=108E7A597FD93F05D40355E5A6A5F60C&amp;amp;partnerref=WLS12c_Launch_OTN&amp;amp;sourcepage=register"&gt;launch



event&lt;/a&gt; last year, a Java EE 6 application was shown that
demonstrated all the features of Java EE 6. This application allows
conference organizers to publish details about their conference such
as tracks, sessions, and speakers. It also allows attendees to
register for the conference and prepare their schedule. The
application is built as a typical 3-tier Java EE 6 application using
JavaServer Faces (with PrimeFaces widgets) for the front-end,
Enterprise JavaBeans for the middle tier business logic, and Java
Persistence API for connectivity with the database.&lt;br&gt;
&lt;br&gt;
This &lt;span style="font-weight: bold;"&gt;T&lt;/span&gt;ip &lt;span
style="font-weight: bold;"&gt;O&lt;/span&gt;f &lt;span style="font-weight:
bold;"&gt;T&lt;/span&gt;he &lt;span style="font-weight: bold;"&gt;D&lt;/span&gt;ay
(TOTD) shows how to deploy the application on WebLogic 12c.&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;Check out the application from &lt;a
href="https://svn.java.net/svn/glassfish%7Esvn/branches/arun/ConferencePlanner/trunk/"&gt;svn.java.net/svn/glassfish~svn/branches/arun/ConferencePlanner/trunk/&lt;/a&gt;
or download the &lt;a
href="http://glassfish.java.net/javaone2011/ConferencePlanner-devoxx-2011.zip"&gt;source


bundle&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Download and install &lt;a
href="http://db.apache.org/derby/releases/release-10.8.2.2.cgi"&gt;Apache



Derby&lt;/a&gt;. If you are using JDK7 then it comes bundled with
Derby and installed in directory
(/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/db).
Any other database can be used as well but the instructions will
differ accordingly.&lt;br&gt;
&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;Create "derby.properties" file in the main directory of and
specify the following content:&lt;br&gt;
&lt;br&gt;
#&lt;br&gt;
derby.user.sa=sa&lt;br&gt;
&lt;br&gt;
This creates a user "sa" with the password "sa".&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Start the database by invoking the "bin/startNetworkServer"
script.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Copy "derbyclient.jar" to "mydomain/lib" directory and
restart the server by using "mydomain/startWeblogic.sh"
script.&lt;/li&gt;
&lt;li&gt;Create and populate the database by invoking the interactive
SQL scripting tool "bin/ij". Specify the location of the SQL
from the application as shown.&lt;br&gt;
&lt;pre&gt;./ij
ij version 10.8
ij&amp;gt; driver 'org.apache.derby.jdbc.ClientDriver';
ij&amp;gt; connect 'jdbc:derby://localhost:1527/cp;ServerName=localhost;databaseName=cp;user=sa;password=sa;create=true';
ij&amp;gt; run '/Users/arungup/code/workspaces/arun/ConferencePlanner/trunk/src/main/sql/javaone-sf-2011.sql';
ij&amp;gt; . . .
1 row inserted/updated/deleted
ij&amp;gt; exit;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;&lt;a
href="http://www.oracle.com/technetwork/middleware/fusion-middleware/downloads/index.html"&gt;Download&lt;/a&gt;,
unzip, and configure WebLogic 12c as described in &lt;a
href="https://blogs.oracle.com/arungupta/entry/get_started_with_oracle_weblogic"&gt;TOTD



#174&lt;/a&gt;. Here is my simple script that performs all the steps
required:&lt;br&gt;
&lt;pre&gt;mkdir 12c
cd 12c
export CLASSPATH=/Users/arungup/tools/db-derby-10.8.2.2-bin/lib/derbyclient.jar&lt;br&gt;unzip ~/Downloads/wls1211_dev.zip
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home
./configure.sh
. $MW_HOME/wlserver/server/bin/setWLSEnv.sh
cd ..
mkdir mydomain
cd mydomain
$JAVA_HOME/bin/java $JAVA_OPTIONS -Xmx1024m -XX:MaxPermSize=256m weblogic.Server&lt;/pre&gt;
&lt;br&gt;
Notice, here we are explicitly including "derbyclient.jar" in
the&amp;nbsp; CLASSPATH. This will ensure that Derby database's JDBC
driver is available to WebLogic Administration Console which was
not able to pick up JAR files from "mydomain/lib" directory
otherwise.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Access WebLogic Admin Console at &lt;a
href="http://localhost:7001/console"&gt;localhost:7001/console&lt;/a&gt;,
the login/password used in &lt;a
href="https://blogs.oracle.com/arungupta/entry/get_started_with_oracle_weblogic"&gt;TOTD



#174&lt;/a&gt; is admin/admin007.&lt;/li&gt;
&lt;li&gt;Create a JDBC data source&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;Click on "Data Sources" as shown.&lt;br&gt;
&lt;br&gt;
&lt;img alt=""
src="https://blogs.oracle.com/arungupta/resource/totd176-data-sources.png"&gt;&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Click on "New" and select "Generic Data Source" as shown.&lt;br&gt;
&lt;br&gt;
&lt;img style=" width: 203px; height: 201px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/totd176-generic-data-source.png"&gt;&lt;/li&gt;
&lt;li&gt;Specify the values as shown.&lt;br&gt;
&lt;br&gt;
&lt;img alt=""
src="https://blogs.oracle.com/arungupta/resource/totd176-new-data-source.png"&gt;&lt;br&gt;
&lt;br&gt;
The JDBC resource name is "jdbc/cp" and the database is
"Derby".&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Change the "Database Driver" to "Derby's Driver (Type 4)
Versions: Any" and click on "Next". Make sure to not choose
Type 4 XA driver which is the default.&lt;/li&gt;
&lt;li&gt;Take the defaults and select "Next".&lt;/li&gt;
&lt;li&gt;Specify the connection properties as shown.&lt;br&gt;
&lt;br&gt;
&lt;img style=" width: 474px; height: 427px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/tod176-connection-properties.png"&gt;&lt;br&gt;
&lt;br&gt;
And click on "Next".&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Click on "Test Configuration" to make sure that every thing
is configured correctly. Make sure to see the message
"Connection test succeeded.". Verify the defaults and click on
"Next".&lt;/li&gt;
&lt;li&gt;Select the target "myserver" as shown&lt;br&gt;
&lt;br&gt;
&lt;img alt=""
src="https://blogs.oracle.com/arungupta/resource/totd176-targets.png"&gt;&lt;br&gt;
&lt;br&gt;
and click on "Finish".&lt;br&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;Deploy the application&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;In the localhost:7001/console, click on "Home" (at the top
center) and then "Deployments".&lt;br&gt;
&lt;br&gt;
&lt;img alt=""
src="https://blogs.oracle.com/arungupta/resource/totd176-deployments.png"&gt;&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Click on "Install".&lt;/li&gt;
&lt;li&gt;Specify the location of the WAR file as shown&lt;br&gt;
&lt;br&gt;
&lt;img style=" width: 666px; height: 185px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/totd176-war.png"&gt;&lt;br&gt;
&lt;br&gt;
Make sure to pick the WAR file by selecting the radio button
and click on "Next".&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Take the defaults and click on "Next".&lt;/li&gt;
&lt;li&gt;Take the defaults again and click on "Next". Notice that
"myserver" is chosen as the target of deployment.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Click on "Finish". After the application is deployed the
console shows the following snapshot:&lt;br&gt;
&lt;br&gt;
&lt;img style=" width: 495px; height: 365px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/totd176-cp-deployed.png"&gt;&lt;br&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;Access the application at localhost:7001/ConferencePlanner to
see the output as:&lt;br&gt;
&lt;br&gt;
&lt;img alt=""
src="https://blogs.oracle.com/arungupta/resource/totd176-deploy-app-output.png"&gt;&lt;br&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
Feel free to browse through the source code!&lt;br&gt;
&lt;br&gt;
&lt;a
href="http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html"&gt;Download
WebLogic&lt;/a&gt; and play with it! &lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_using_weblogic"&gt;Screencast
#39&lt;/a&gt; explains how to build a more comprehensive Java EE 6
application using &lt;a href="http://netbeans.org"&gt;NetBeans&lt;/a&gt; and
WebLogic.&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/neYv96--oKRJRgzKZojX3ltgd6Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/neYv96--oKRJRgzKZojX3ltgd6Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/neYv96--oKRJRgzKZojX3ltgd6Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/neYv96--oKRJRgzKZojX3ltgd6Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/AE2-FaqDvdU" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/java_ee_6_sample_application</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/javaone_india_2012</id>
        <title type="html">JavaOne India 2012</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/kyV5EbyNNMc/javaone_india_2012" />
        <published>2012-04-25T17:12:00+00:00</published>
        <updated>2012-04-25T17:12:00+00:00</updated> 
        <category term="/General" label="General" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="india" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaone" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;a href="http://oracle.com/goto/javaone-india"&gt;JavaOne India&lt;/a&gt; is
right around the corner. Several Oracle and community speakers will
be there sharing the latest and greatest around Java technology in
Hyderabad.&lt;br&gt;
&lt;br&gt;
The main tracks are:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Client Side Technologies and Rich User Experiences&lt;/li&gt;
&lt;li&gt;Core Java Platform&lt;/li&gt;
&lt;li&gt;Java EE, Web Profile, Platform Technologies, And Cloud&lt;/li&gt;
&lt;li&gt;Java ME, Java Card, Mobile, Embedded, and Devices&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are some important links to remember:&lt;br&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://oracle.com/goto/javaone-india"&gt;oracle.com/goto/javaone-india&lt;/a&gt;&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://www.oracle.com/javaone/agenda16apr-1593249.pdf"&gt;Schedule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://www.oracle.com/javaone/in-en/program/keynotes/index.html"&gt;Keynotes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a
href="https://www.regpulse.com/j1od2012/register.php?pcode=WWMK11024795MPP084&amp;amp;src=7268797&amp;amp;Act=156"&gt;Register

Now&lt;/a&gt; (&lt;a
href="https://www.regpulse.com/j1od2012/feeStructure.html"&gt;Fee
Structure&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More details in the flyer below:&lt;br&gt;
&lt;/p&gt;
&lt;br&gt;
&lt;img alt=""
src="https://blogs.oracle.com/arungupta/resource/JavaOneIndia_2012-Ad_v7.jpg"&gt;&lt;br&gt;
&lt;br&gt;
Did you see this advertisement in &lt;a
href="http://pcquest.ciol.com/"&gt;PCQuest&lt;/a&gt; or &lt;a
href="http://www.chip.in/"&gt;Chip&lt;/a&gt; magazine ?&lt;br&gt;
&lt;br&gt;
Don't wait, &lt;a
href="https://www.regpulse.com/j1od2012/register.php?pcode=WWMK11024795MPP084&amp;amp;src=7268797&amp;amp;Act=156"&gt;register&lt;/a&gt;
before May 2 to save 1200 Rupees.&lt;br&gt;
&lt;br&gt;
I'll be there, will you ?&lt;br&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VpXxew_V-k7Pwfsfml6KEXIeeEM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VpXxew_V-k7Pwfsfml6KEXIeeEM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VpXxew_V-k7Pwfsfml6KEXIeeEM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VpXxew_V-k7Pwfsfml6KEXIeeEM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/kyV5EbyNNMc" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/javaone_india_2012</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/chennai_java_summit_2012_trip</id>
        <title type="html">Chennai Java Summit 2012 Trip Report</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/X9Nu6JwXsS4/chennai_java_summit_2012_trip" />
        <published>2012-04-23T06:25:46+00:00</published>
        <updated>2012-04-23T06:25:46+00:00</updated> 
        <category term="/General" label="General" />
        <category term="chennai" scheme="http://roller.apache.org/ns/tags/" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="india" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jaxrs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jug" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
&lt;img alt=""
src="https://blogs.oracle.com/arungupta/resource/chennai-java-summit-2012.png"&gt;&lt;br&gt;
&lt;br&gt;
I attended my first &lt;a
href="http://jugchennai.in/chennaijavasummit/"&gt;Chennai Java Summit&lt;/a&gt;
last weekend.
&lt;meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1"&gt;
The one-day conference had two parallel tracks. The conference was
organized as part of &lt;a href="http://www.aioug.org/"&gt;AIOUG&lt;/a&gt; (All
India Oracle User Group) and so there was a parallel track covering
Oracle technologies as well. &lt;a
href="http://twitter.com/#%21/NPaduvare"&gt;Nagaraj Paduvare&lt;/a&gt; from
Oracle talked about what User Groups. The title of the presentation
"User Groups - Are you a member yet ?" clearly conveyed the urge for
the community to join the local User Groups - be it Java . Oracle's
vision is to promote a world-class user group community where
community and customers realize outstanding value from participation
and experience constant and healthy dialogue with one another and
Oracle at all levels. There are 870+ independent Oracle user groups
related by interests and location. You can find all the information
about them at &lt;a href="http://iouc.org"&gt;iouc.org&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
I gave two presentations and the slides are available.&lt;br&gt;
&lt;br&gt;
&lt;div style="width:425px" id="__ss_12640102"&gt; &lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/java-ee7-chennaijavasummit"
title="Java Summit Chennai: Java EE 7" target="_blank"&gt;Java
Summit Chennai: Java EE 7&lt;/a&gt;&lt;/strong&gt; &lt;iframe
src="http://www.slideshare.net/slideshow/embed_code/12640102"
marginwidth="0" marginheight="0" frameborder="0" height="355"
scrolling="no" width="425"&gt;&lt;/iframe&gt; &lt;/div&gt;
&lt;br&gt;
There were about 40+ attendees in this talk. Some of the audience
were not even aware of Java EE 6 so I started the talk with a
NetBeans-driven introduction to the platform. A more comprehensive
video of Java EE 6 tooling with NetBeans is available at screencast
#36. The screencast #37 covers the same with Eclipse. And then I
explained how Java EE 7 platform is embracing cloud by providing
support for&amp;nbsp; dynamic service provisioning, metrics-driven
elasticity, and multi-tenancy. Its important to remember that Java
EE 7 will offer lot more than cloud as several specifications such
as Java Message Service 2.0, Java API for RESTful Web Service 2.0,
and Expression Language 3.0. Several other specifications are
getting a minor update as well. You can get all the latest updates
at &lt;a href="http://javaee-spec.java.net"&gt;javaee-spec.java.net&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
The demonstration of taking a Java EE 6 application and deploying it
to GlassFish 4 showing service provisioning hit the point home. The
complete instructions to download and build the sample are available
at &lt;a href="http://glassfish.org/javaone2011"&gt;glassfish.org/javaone2011&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&lt;div style="width:425px" id="__ss_12640162"&gt; &lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/jax-rs-20java-summitchennai"
title="Java Summit Chennai: JAX-RS 2.0" target="_blank"&gt;Java
Summit Chennai: JAX-RS 2.0&lt;/a&gt;&lt;/strong&gt; &lt;iframe
src="http://www.slideshare.net/slideshow/embed_code/12640162"
marginwidth="0" marginheight="0" frameborder="0" height="355"
scrolling="no" width="425"&gt;&lt;/iframe&gt; &lt;/div&gt;
&lt;br&gt;
This talk gave a brief overview of REST Architecture, how JAX-RS
provides support for RESTful Web services, and a complete overview
of the new features coming in JAX-RS 2.0. I also demonstrated how
NetBeans wizards make life simple for generating RESTful Web
services from JPA Entity classes. The working JAX-RS 2.0 sample
codes convey the point that an early implementation is already
available. You can get all the latest updates at &lt;a
href="http://jax-rs-spec.java.net"&gt;jax-rs-spec.java.net&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
It was certainly good to spend some time with Venkat Subramaniam and
Scott Davis.&lt;br&gt;
&lt;br&gt;
On a personal side, I enjoyed &lt;a
href="http://en.wikipedia.org/wiki/Baati"&gt;Dal-Baati-Churma&lt;/a&gt; at
a Rajasthani restaurant in the hotel. For me, enjoying the local
cuisine is definitely one of the joys of staying in India. However
the humidity was very high and so that prevented me from running in
the morning. In times like this, the &lt;a
href="http://my.menshealth.com/workout/The-Spartacus-Workout-2.0"&gt;Spartacus
Workout&lt;/a&gt; from &lt;a href="http://my.menshealth.com/"&gt;Men's Health
Magazine&lt;/a&gt; has been really helping me recently. If you have not
tried this workout, you must!&lt;br&gt;
&lt;br&gt;
Here are some pictures captured from the event:&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh4.googleusercontent.com/-D5Pfbt1njT0/T5PivJ_czJI/AAAAAAAAh2g/qcAz5DizKdE/s288/DSCN2271.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh6.googleusercontent.com/-BJTLbZvDPtA/T5PiymwMuUI/AAAAAAAAh3E/sogyXlJZzeM/s288/DSCN2276.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-TWqFqHZT7U8/T5PixQX5R3I/AAAAAAAAh28/7QjsqYIfmPU/s288/DSCN2274.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-Ro2kllA38rw/T5Pizas12rI/AAAAAAAAh3U/W9BOR77_kVY/s288/DSCN2278.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
And the complete video album:&lt;br&gt;
&lt;br&gt;
&lt;embed type="application/x-shockwave-flash"
src="https://picasaweb.google.com/s/c/bin/slideshow.swf"
flashvars="host=picasaweb.google.com&amp;amp;hl=en_US&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F101195212405190467512%2Falbumid%2F5734175961045961665%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US"
pluginspage="http://www.macromedia.com/go/getflashplayer"
height="192" width="288"&gt; &lt;br&gt;
&lt;br&gt;
Thank you Raj Mahendra for holding the Java flag strong and leading
the community in Chennai. Only Bangalore, Nagpur, Chennai, and Pune
has an active JUG. The JUG community in India is in its infancy and
I hope more cities start planning activities like this.&lt;br&gt;
&lt;br&gt;
Next stop JavaOne India ...&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FuF30elu_cO0TwAVBKuUqqCQNLM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FuF30elu_cO0TwAVBKuUqqCQNLM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FuF30elu_cO0TwAVBKuUqqCQNLM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FuF30elu_cO0TwAVBKuUqqCQNLM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/X9Nu6JwXsS4" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/chennai_java_summit_2012_trip</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/great_indian_developer_summit_2012</id>
        <title type="html">Great Indian Developer Summit 2012 Trip Report</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/eEk8rJPki_s/great_indian_developer_summit_2012" />
        <published>2012-04-22T10:44:47+00:00</published>
        <updated>2012-04-22T10:44:47+00:00</updated> 
        <category term="/General" label="General" />
        <category term="bangalore" scheme="http://roller.apache.org/ns/tags/" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jaxrs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jms" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <category term="paas" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
I attended the fifth, and my first, Great Indian Developer Summit in
the &lt;a href="http://en.wikipedia.org/wiki/Silicon_Valley_of_India"&gt;Silicon

Valley of India&lt;/a&gt;, Bangalore. The conference is spread over 4
days with each day covering .NET, Web, Java, and Workshops
respectively. The Java track had 800+ attendees (roughly based on a
cursory headcount for the opening keynote) and the hall was packed.
The theater style seating allowed the attendees to enjoy the wide
screen presentations. &lt;br&gt;
&lt;br&gt;
Another unique and cool thing about the conference is that they
create life size posters of all the speakers and display them
outside the speakers' room. This not only help you identify your
room easily but also makes you feel like a celebrity ;-) Here are
some pictures of the posters:&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-9LmMwFbAqx8/T5PadHugEvI/AAAAAAAAhxg/Hoaco4UnzbE/s288/DSCN2227.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-5tzIiyb8uzw/T5PaaUewVGI/AAAAAAAAhxE/9rOrMboBUCo/s288/DSCN2222.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-r9a2Iud0_9E/T5Pael_Nq3I/AAAAAAAAhx8/s0oOVI4dDLA/s288/DSCN2229.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-ZKtlOQaWvFM/T5PanEKgBFI/AAAAAAAAhzw/cgUQ-qBgCBQ/s288/DSCN2247.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
Venkat's opening keynote is always fun. He talked about "Refactor
your Language Knowledge Portfolio: We're What We Can Code In". His
entertaining presentation style keeps the audience engaged and
laughing. His &lt;a
href="http://thinkrelevance.com/blog/2008/04/23/refactoring-from-ceremony-to-essence"&gt;Essence




vs Ceremony&lt;/a&gt; analogy was particularly impressive and I
recommend reading that blog.&lt;br&gt;
&lt;br&gt;
I gave three presentations and a hands-on workshop and the slides
are now available.&lt;br&gt;
&lt;br&gt;
&lt;div style="width:425px" id="__ss_12638467"&gt; &lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/jms2" title="GIDS
2012: Java Message Service 2.0" target="_blank"&gt;GIDS 2012:
Java Message Service 2.0&lt;/a&gt;&lt;/strong&gt; &lt;iframe
src="http://www.slideshare.net/slideshow/embed_code/12638467"
marginwidth="0" marginheight="0" frameborder="0" height="355"
scrolling="no" width="425"&gt;&lt;/iframe&gt; &lt;/div&gt;
&lt;br&gt;
This presentation gave an overview of JMS 2.0 and the new features
coming there. This presentation had 200+ attendees and 50% of the
audience were existing users of JMS. There was a lot interactivity
during/after the session. Do you know &lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr343/index.html"&gt;JMS


2.0 Early Draft&lt;/a&gt; is already available ? &lt;br&gt;
&lt;br&gt;
The primary goal of this specification is to provide a simplified
API and clarify the ambiguities discovered over the past few years.
Check out &lt;a
href="https://blogs.oracle.com/arungupta/entry/jms_2_0_early_draft"&gt;this


blog&lt;/a&gt; for a quick comparison between the existing and the
simplified API. If you have any feature request then its highly
recommended to file a JIRA issue at &lt;a
href="http://jms-spec.java.net"&gt;jms-spec.java.net&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&lt;div style="width:425px" id="__ss_12638465"&gt; &lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/jax-rs-20-12638465"
title="GIDS 2012: JAX-RS 2.0: RESTful Java on Steroids"
target="_blank"&gt;GIDS 2012: JAX-RS 2.0: RESTful Java on
Steroids&lt;/a&gt;&lt;/strong&gt; &lt;iframe
src="http://www.slideshare.net/slideshow/embed_code/12638465"
marginwidth="0" marginheight="0" frameborder="0" height="355"
scrolling="no" width="425"&gt;&lt;/iframe&gt; &lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
This presentation gave an overview of JAX-RS 2.0. Do you know that &lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr339/index.html"&gt;
Early Draft 2&lt;/a&gt; is already available ? Check out &lt;a
href="https://blogs.oracle.com/arungupta/entry/jax_rs_2_0_early"&gt;this


blog&lt;/a&gt; for a brief overview of the new features coming in JAX-RS
2.0. You can find the latest updates at &lt;a
href="http://jax-rs-spec.java.net"&gt;jax-rs-spec.java.net&lt;/a&gt; and
also follow &lt;a href="http://twitter.com/gf_jersey"&gt;@gf_jersey&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&lt;div style="width:425px" id="__ss_12638474"&gt; &lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/paa-s-javaee"
title="GIDS 2012: PaaSing a Java EE Application"
target="_blank"&gt;GIDS 2012: PaaSing a Java EE Application&lt;/a&gt;&lt;/strong&gt;
&lt;iframe
src="http://www.slideshare.net/slideshow/embed_code/12638474"
marginwidth="0" marginheight="0" frameborder="0" height="355"
scrolling="no" width="425"&gt;&lt;/iframe&gt; &lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
This presentation explained the key concepts of how GlassFish
PaaS-enable your Java EE application. The talk also showed how a
Java EE application can be deployed where all he services required
by the application are dynamically provisioned. A working version of
the application, along with instructions, are available at &lt;a
href="http://glassfish.org/javaone2011"&gt;glassfish.org/javaone2011&lt;/a&gt;.
A video of the application in action is shown below:&lt;br&gt;
&lt;br&gt;
&lt;iframe src="http://www.youtube.com/embed/NXg2FYPPLLw"
allowfullscreen="" frameborder="0" height="315" width="560"&gt;&lt;/iframe&gt;
&lt;br&gt;
&lt;br&gt;
The video also shows how the cluster dynamically adjusts to meet the
elasticity constraints pre-defined for the application.&lt;br&gt;
&lt;br&gt;
The Java EE 6 hands-on lab had about 20 attendees. The self-pace
instructions can be &lt;a
href="https://blogs.oracle.com/arungupta/resource/javaee6-hol-glassfish.pdf"&gt;downloaded


here&lt;/a&gt;. I was pretty amazed by the level of interaction. There
was one particular guy who who came from the PHP land, was taking
notes on a paper notebook, and was asking the most intelligent
questions. There were other experienced J2EE/Java EE users who also
enjoyed the simplicity introduced in the platform. &lt;br&gt;
&lt;br&gt;
And somehow for the past few days the question of Java EE 6 over
Spring has come up during each such engagement. My views are clearly
expressed at &lt;a
href="https://blogs.oracle.com/arungupta/entry/why_java_ee_6_is"&gt;Why


Java EE 6 is better than Spring&lt;/a&gt;. And do read the interesting
discussion in the comments, all the way to the end.&lt;br&gt;
&lt;br&gt;
The conference was well organized with a personal introduction of
each speaker. The rooms were well marked and the projectors worked
very well. The conference crew was very helpful and prompt in
reminding about the time remaining. However a 45 minute session is a
few minutes too short and so had to tweak my existing slide deck to
meet the time requirements.&lt;br&gt;
&lt;br&gt;
Multiple conflicting talks were arranged such as Mike's Java EE 7
and mine JMS 2.0, Venkat's "Java 8: A Sneak Peak" and Simon's "Java
SE 8 &amp;amp; Beyond". This feedback was conveyed to the organizers.
Hopefully they'll be able to do a better job of this next time
around.&lt;br&gt;
&lt;br&gt;
On a personal side, I enjoyed a team dinner at &lt;a
href="http://www.barbeque-nation.com/"&gt;BBQ Nation&lt;/a&gt; and is
definitely worth visiting once at least. And could also manage to
enjoy a lunch at &lt;a href="http://mavallitiffinrooms.com/"&gt;MTR&lt;/a&gt;
with Vivek. The &lt;a
href="http://www.itchotels.in/hotels/itcwindsor.aspx"&gt;ITC Windsor&lt;/a&gt;
is a nice hotel with a decent fitness center and a great restaurant.
The breakfast buffet had a great variety and very scrumptious.&lt;br&gt;
&lt;br&gt;
Here are some pictures captured from the event:&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-gTtpzXNO4fk/T5PaZaJomHI/AAAAAAAAhw4/36TW2rQ6fEE/s288/DSCN2216.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-4voxbWXGfGQ/T5PaYVW802I/AAAAAAAAhws/BXFQdNNhOTQ/s288/DSCN2219.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/--DlXoTZ4ApY/T5PadybigZI/AAAAAAAAhxw/G4tdjT9WCCM/s288/DSCN2228.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-DWF-IIY20kg/T5PagvxJL3I/AAAAAAAAhyM/oFKDNmsZLhI/s288/DSCN2233.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-CZjU2OAaArQ/T5Pais1nryI/AAAAAAAAhyk/HJoo7a-yGRA/s288/DSCN2236.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-JURtGJ5Ws9E/T5Palb6arYI/AAAAAAAAhzQ/nsUqsri2Gdo/s288/DSCN2241.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-5oW8bo4LThE/T5PalzKgJ8I/AAAAAAAAh0o/ABqUQuBZA-k/s288/DSCN2242.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-AYandgMRnBY/T5PamencyKI/AAAAAAAAh0s/YpYD60qLQKo/s288/DSCN2243.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
And now the complete album:&lt;br&gt;
&lt;br&gt;
&lt;embed type="application/x-shockwave-flash"
src="https://picasaweb.google.com/s/c/bin/slideshow.swf"
flashvars="host=picasaweb.google.com&amp;amp;hl=en_US&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F101195212405190467512%2Falbumid%2F5734166836121234385%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US"
pluginspage="http://www.macromedia.com/go/getflashplayer"
height="192" width="288"&gt; &lt;br&gt;
The Java EE 7 platform will be much more mature by this time next
year and who knows I might even submit a Java EE 7 hands-on lab!&lt;br&gt;
&lt;br&gt;
Thank you &lt;a href="http://www.saltmarch.com/"&gt;Salt March Media&lt;/a&gt;
for putting up a great show and providing me an opportunity to
present. Looking forward to my participation again next year!&lt;br&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eXc-nzRF-1ry7Z3oEBZD5ZjqTZ4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eXc-nzRF-1ry7Z3oEBZD5ZjqTZ4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eXc-nzRF-1ry7Z3oEBZD5ZjqTZ4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eXc-nzRF-1ry7Z3oEBZD5ZjqTZ4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/eEk8rJPki_s" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/great_indian_developer_summit_2012</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/jms_2_0_early_draft</id>
        <title type="html">JMS 2.0 Early Draft - Simplified API Sample Code</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/IT6CFfLurDY/jms_2_0_early_draft" />
        <published>2012-04-21T10:00:00+00:00</published>
        <updated>2012-04-21T10:40:00+00:00</updated> 
        <category term="/General" label="General" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jms" scheme="http://roller.apache.org/ns/tags/" />
        <category term="spec" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
Java Message Service (&lt;a href="http://jcp.org/en/jsr/detail?id=343"&gt;JSR















343&lt;/a&gt;) is undergoing a major revision as part of Java EE 7. The
&lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr343/index.html"&gt;Early















Draft&lt;/a&gt; of the specification has been available for a few weeks
now and &lt;a
href="http://jms-spec.java.net/2.0-SNAPSHOT/apidocs/index.html"&gt;online
javadocs are now available&lt;/a&gt;. Several other specifications such
as &lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr338/index.html"&gt;JPA


2.1&lt;/a&gt;, &lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr339/index.html"&gt;JAX-RS


2.0&lt;/a&gt;, &lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr345/index.html"&gt;EJB


3.2&lt;/a&gt;, &lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr344/"&gt;JavaServer


Faces 2&lt;/a&gt;, and &lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr346/index.html"&gt;CDI


1.1&lt;/a&gt; in the Java EE 7 umbrella have released early drafts. Some
of the specs have been explained in detailed:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
href="https://blogs.oracle.com/arungupta/entry/jax_rs_2_0_early"&gt;JAX-RS


2.0 Early Draft Explained&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://blogs.oracle.com/arungupta/entry/jpa_2_1_early_draft"&gt;JPA


2.1 Early Draft Explained&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://jdevelopment.nl/jsf-22/"&gt;What's new in JSF 2.2
?&lt;/a&gt; (external contribution)&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
This blog will provide an update on &lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr343/index.html"&gt;JMS


2.0 Early Draft&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
JMS 1.1 was released in &lt;a
href="http://www.jcp.org/en/jsr/detail?id=914"&gt;Dec 2003&lt;/a&gt;. A lot
has chnged in the Java landscape since then - think about
annotations, generics, auto-closeable, dependency injection, and a
lot more. The Java EE platform itself has evolved extensively since
then, especially Java EE 6 is a "game changer". There are multiple
JMS implementations still running solid and so there is lot of
development/deployment experience on that as well. Keeping all of
that, and much more, in mind, the main goals of JMS 2.0 are:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Changes to improve ease of development&lt;/li&gt;
&lt;li&gt;Clarification of relationship between the JMS and other Java
EE specifications&lt;/li&gt;
&lt;li&gt;Definition of a new mandatory API to allow any JMS provider to
be integrated with any Java EE application server&lt;/li&gt;
&lt;li&gt;Extensions to support Java EE 7&lt;/li&gt;
&lt;li&gt;Other enhancements as requested by the community&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
This blog will take a code sample from the section 11.4 of the &lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr343/index.html"&gt;Early











Draft&lt;/a&gt; to highlight how ease-of-development changes are now
coming to JMS 2.0.&lt;br&gt;
&lt;br&gt;
This is how a message is sent using the existing JMS API:&lt;br&gt;
&lt;br&gt;
&lt;pre&gt;@Resource(lookup = "jms/connectionFactory ")
ConnectionFactory connectionFactory;

@Resource(lookup="jms/inboundQueue")
Queue inboundQueue;

public void sendMessageOld (String payload) {&lt;br&gt; Connection connection = null;
try {&lt;br&gt; connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer messageProducer = session.createProducer(inboundQueue);
TextMessage textMessage = session.createTextMessage(payload);
messageProducer.send(textMessage);
} catch (JMSException e) {&lt;br&gt; // do something&lt;br&gt; } finally {&lt;br&gt; try {&lt;br&gt; if (connection != null)&lt;br&gt; connection.close();&lt;br&gt; } catch (JMSException e2) {&lt;br&gt; // do something else&lt;br&gt; }&lt;br&gt; }
}

&lt;/pre&gt;
This works very well but several issues with it:&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;Multiple intermediate objects such as &lt;code&gt;Connection&lt;/code&gt;,
&lt;code&gt;Session&lt;/code&gt;, and &lt;code&gt;MessageProducer&lt;/code&gt; need to
be created in order to send a message. All these objects serve a
purpose but makes the JMS application more complicated. It also
leads to lots of boilerplate code as well.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;The arguments to &lt;code&gt;createSession&lt;/code&gt; are confusing.
The first argument specifies whether the session is transacted
or not. The second argument specifies, how, if you used the
session to receive messages, how those messages would be
acknowledged. These two arguments are not independent. If the
first argument is set to true then the second argument is
irrelevant. So we only need one argument here.&lt;br&gt;
&lt;br&gt;
The other part is when this method is in a EJB then the
transactions are controlled by the container. Or if a
bean-managed transactions are used then the transaction would be
started and committed using the &lt;code&gt;UserTransaction&lt;/code&gt;
API, not by methods in the JMS API. In fact, the EJB spec says
that if this code is running in a transaction then the arguments
to &lt;code&gt;createSession&lt;/code&gt; are completely ignored. And even
then we are required to supply some arguments here to satisfy
the contract.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;Connection&lt;/code&gt; need to explicitly closed in the
finally block in order to release the resources appropriately on
the server side. The code does not even show closing of &lt;code&gt;MessageProducer&lt;/code&gt;
and &lt;code&gt;Session&lt;/code&gt; and And the finally block gets ugly
with nested exceptions.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now lets take a look at how the new API will simplify the
programming model:&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;pre&gt;@Resource(lookup = "jms/connectionFactory")
ConnectionFactory connectionFactory;&lt;br&gt;
@Resource(lookup="jms/inboundQueue")
Queue inboundQueue;&lt;br&gt;
public void sendMessageNew (String payload) {
try (JMSContext context = connectionFactory.createContext();){
context.send(inboundQueue,payload);
}
}
&lt;/pre&gt;
Simple, isn't it ?&lt;br&gt;
&lt;br&gt;
Here are the main changes:&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;All the boilerplate is gone. Instead just create a &lt;code&gt;ConnectionFactory&lt;/code&gt;,
create a context from it, and invoke &lt;code&gt;send&lt;/code&gt; on it.&lt;/li&gt;
&lt;li&gt;The destinatation (inboundQueue) is now specified on &lt;code&gt;send&lt;/code&gt;
insead of &lt;code&gt;MessageProducer&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Connection&lt;/code&gt; is now auto-closeable so try block
will close it autoamatically.&lt;/li&gt;
&lt;li&gt;New methods throw runtime exception so the code looks much
cleaner.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;And if you are using Dependency Injection, then the code can be
further simplified to:&lt;br&gt;
&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;@Inject&lt;br&gt;@JMSConnectionFactory("jms/connectionFactory")&lt;br&gt;private JMSContext context;&lt;br&gt;
@Resource(mappedName = "jms/inboundQueue")&lt;br&gt;private Queue inboundQueue;&lt;br&gt;
public void sendMessageNew(String payload) {&lt;br&gt; context.send(inboundQueue, payload);&lt;br&gt;}&lt;br&gt;
&lt;/pre&gt;
Some clean ups to note here are ...&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;No need for application to instantiate &lt;code&gt;JMSContext&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The same injected &lt;code&gt;JMSContext&lt;/code&gt; is available in
other places, if within the same CDI scope&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
How cool is that ?&lt;br&gt;
&lt;br&gt;
Here is yet another example on how the simplified API receives a
message synchronously:&lt;br&gt;
&lt;br&gt;
&lt;pre&gt;@Inject
@JMSConnectionFactory("jms/connectionFactory")
private JMSContext context;&lt;br&gt;
@Resource(lookup="jms/inboundQueue")
Queue inboundQueue;&lt;br&gt;
public String receiveMessageNew() {
JMSConsumer consumer = context.createConsumer(inboundQueue);
return consumer.receivePayload(String.class);
}
&lt;/pre&gt;
&lt;br&gt;
The section 11.4 of the JMS 2.0 Early Draft provide more lot more
samples with the standard (or existing) API and the simplified (or
new) API.&lt;br&gt;
&lt;br&gt;
Do you like the direction that the JMS 2.0 Expert Group is taking ?
Would you like to provide feedback and contribute ?&lt;br&gt;
&lt;br&gt;
The latest progress on JMS 2.0 can be tracked at:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://jms-spec.java.net"&gt;jms-spec.java.net&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;JSR 343 EG archive at &lt;a
href="http://java.net/projects/jms-spec/lists/jsr343-experts/archive"&gt;jsr343-experts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Discussion at &lt;a
href="http://java.net/projects/jms-spec/lists/users/archive"&gt;users@jms-spec&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://jcp.org/en/jsr/detail?id=343"&gt;JSR 343&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr343/index.html"&gt;Early











Draft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Latest Javadocs (&lt;a
href="http://java.net/projects/jms-spec/sources/repository/content/jms2.0/target/jms-2.0-javadoc.jar"&gt;download&lt;/a&gt;,
&lt;a
href="http://jms-spec.java.net/2.0-SNAPSHOT/apidocs/index.html"&gt;online&lt;/a&gt;)&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;Help us make JMS 2.0 better, simpler, easier to use. Join &lt;a
href="http://java.net/projects/jms-spec/lists/users/archive"&gt;users@jms-spec&lt;/a&gt;
and contribute!&lt;br&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jQMS6onuivOUZ9ZlbSgGfP50x9c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jQMS6onuivOUZ9ZlbSgGfP50x9c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jQMS6onuivOUZ9ZlbSgGfP50x9c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jQMS6onuivOUZ9ZlbSgGfP50x9c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/IT6CFfLurDY" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/jms_2_0_early_draft</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/javaone_moscow_russia_trip_report</id>
        <title type="html">JavaOne Moscow/Russia Trip Report</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/A_BbZh5bVis/javaone_moscow_russia_trip_report" />
        <published>2012-04-17T15:11:05+00:00</published>
        <updated>2012-04-17T15:11:05+00:00</updated> 
        <category term="/General" label="General" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaone" scheme="http://roller.apache.org/ns/tags/" />
        <category term="moscow" scheme="http://roller.apache.org/ns/tags/" />
        <category term="russia" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
&lt;a href="http://www.oracle.com/ru/javaonedevelop/en/index.html"&gt;
JavaOne Moscow/Russia&lt;/a&gt; was kick started this morning and
followed the usual pattern of a strategy keynote providing an
overall strategy of the Java platform, technical keynotes providing
more detailed overview of Java SE, JavaFX, Java ME, and Java EE, and
then there were hands-on labs and sessions. The big keynote theater
was packed with 1300+ audience in the morning and then scattered to
different rooms.&lt;br&gt;
&lt;br&gt;
The "Develop, Deploy, and Monitor a Java E 6 Application on
GlassFish" hands-on lab had about 40+ attendees. The network was a
little slow and so it took a long time to download the maven
repository. However as I was explaining the Java EE 6 applications,
folks started drawing analogies with Spring and realizing how much
simpler Java EE 6 has become from its predecessors. An existing
Spring user pointed out that "Java EE 6 is much simpler than Spring
because of the default conventions and require minimal
configuration". Read a more engaged discussion on &lt;a
href="https://blogs.oracle.com/arungupta/entry/why_java_ee_6_is"&gt;Why

Java EE 6 is better than Spring&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-nCD3Jf6jVKk/T42cEdlkLFI/AAAAAAAAhY4/B3BLFPYjv_8/s288/DSCN2196.JPG"&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh4.googleusercontent.com/-cD7bAriXCng/T42cEsTwJPI/AAAAAAAAhY4/OjVGalEA1O8/s288/DSCN2197.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
Anyway, the content for the hands-on lab can be &lt;a
href="https://blogs.oracle.com/arungupta/resource/javaee6-hol-glassfish.pdf"&gt;downloaded

from here&lt;/a&gt;. It explains:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Walk through a Java EE 6 application&lt;/li&gt;
&lt;li&gt;Create a 2-instance GlassFish cluster and front-end with a Web
server and a load balancer&lt;/li&gt;
&lt;li&gt;Show session replication when one of the instances fail&lt;/li&gt;
&lt;li&gt;Use extensible monitoring infrastructure to generate
application-specific monitoring data&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also delivered the Java EE Technical Keynote which gave an
update on Java EE 7. It also showed a demo of how GlassFish
automatically provisions service as part of the initial work in
Java EE 7. The complete demo instructions, along with a video are
available at &lt;a href="http://glassfish.org/javaone2011"&gt;glassfish.org/javaone2011&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;
&lt;iframe src="http://www.youtube.com/embed/NXg2FYPPLLw"
allowfullscreen="" frameborder="0" height="315" width="560"&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;br&gt;
&lt;/p&gt;
Here are some pictures captured from the day:&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh4.googleusercontent.com/-rM_MsCIqvGo/T42bv_T_GsI/AAAAAAAAhY4/2UU3BPGwVMc/s288/DSCN2143.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-d8os3ypvAK4/T42bxBdxHsI/AAAAAAAAhY4/7FpBjprT0pg/s288/DSCN2147.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-hfzBpjrfq3Q/T42b4ji9JSI/AAAAAAAAhY4/IRCe00PV3L0/s288/DSCN2166.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-ckkSL_-yQR0/T42b4jthjsI/AAAAAAAAhY4/3zqNwzW2IYY/s288/DSCN2162.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-NA7-X6IC-FA/T42b5nqLm7I/AAAAAAAAhY4/B02-fEieiVM/s288/DSCN2169.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-XcMx7HPN80Y/T42b7_MWVGI/AAAAAAAAhY4/J2bsp10ZccA/s288/DSCN2175.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh5.googleusercontent.com/-5TtJurubl3E/T42b9M57gtI/AAAAAAAAhY4/u2RVCGLZ6yM/s288/DSCN2179.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-YE4JACovGbk/T42cAP_RGYI/AAAAAAAAhY4/vqq4IyBv3eo/s288/DSCN2187.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-w8lD51Xni70/T42cB8zOk1I/AAAAAAAAhY4/j7BQS9Ovj8A/s288/DSCN2190.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh4.googleusercontent.com/-LIGsLqef3v4/T42bzmskgDI/AAAAAAAAhY4/2qLDFj2wQXk/s288/DSCN2148.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;&lt;img
style=" width: 216px; height: 288px;" alt=""
src="https://lh3.googleusercontent.com/-qKgO9LQnuys/T42cFmYbbUI/AAAAAAAAhZc/rB6QnDMBCOY/s288/DSCN2202.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh6.googleusercontent.com/-3tlbwUAEIdU/T42b6oeOA6I/AAAAAAAAhY4/8cVTteGWunQ/s288/DSCN2172.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
Do you know the man in the last picture on right column ?&lt;br&gt;
&lt;br&gt;
You probably will not see him in person. But he is the man who
maintains the master JavaOne schedule, besides many other tasks. Its
not an easy job as you can imagine :-)&lt;br&gt;
&lt;br&gt;
Many thanks to Ralph Crawford for doing an outstanding job for all
these years!&lt;br&gt;
&lt;br&gt;
And now the complete album:&lt;br&gt;
&lt;br&gt;
&lt;embed type="application/x-shockwave-flash"
src="https://picasaweb.google.com/s/c/bin/slideshow.swf"
flashvars="host=picasaweb.google.com&amp;amp;hl=en_US&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F101195212405190467512%2Falbumid%2F5731965414430085041%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US"
pluginspage="http://www.macromedia.com/go/getflashplayer"
height="192" width="288"&gt; &lt;br&gt;
&lt;br&gt;
JavaOne Russia continues tomorrow so make sure you attend the
sessions, talk with the speakers, and make the best use of this
premier conference in your neighborhood.&lt;br&gt;
&lt;br&gt;
For me, next stop is &lt;a
href="http://www.developermarch.com/developersummit/"&gt;Great Indian
Developer Summit&lt;/a&gt;!&lt;br&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fq7t3lfqn7LG6SAa-1J_ar0XBjE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fq7t3lfqn7LG6SAa-1J_ar0XBjE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fq7t3lfqn7LG6SAa-1J_ar0XBjE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fq7t3lfqn7LG6SAa-1J_ar0XBjE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/A_BbZh5bVis" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/javaone_moscow_russia_trip_report</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/running_by_moscow_river</id>
        <title type="html">Running by Moscow River</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/6WZ06AWCvy8/running_by_moscow_river" />
        <published>2012-04-16T07:15:27+00:00</published>
        <updated>2012-04-16T07:15:27+00:00</updated> 
        <category term="/Running" label="Running" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaone" scheme="http://roller.apache.org/ns/tags/" />
        <category term="moscow" scheme="http://roller.apache.org/ns/tags/" />
        <category term="running" scheme="http://roller.apache.org/ns/tags/" />
        <category term="russia" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
&lt;a href="http://www.oracle.com/ru/javaonedevelop/en/index.html"&gt;
JavaOne Russia&lt;/a&gt; is starting tomorrow! I got in the city early
this morning, slept a little but got up early because of jet lag.&lt;br&gt;
&lt;br&gt;
New country, new city and how do you get familiar ? Run!&lt;br&gt;
&lt;br&gt;
Running would you take you places that you would generally not see
otherwise. And the hotel is right by the &lt;a
href="http://en.wikipedia.org/wiki/Moskva_River"&gt;Moskva River&lt;/a&gt;
with long empty sidewalks right next to it. Here is how my running
route from this morning:&lt;br&gt;
&lt;iframe src="http://connect.garmin.com:80/activity/embed/168686417"
frameborder="0" height="548" width="465"&gt;&lt;/iframe&gt; &lt;br&gt;
&lt;br&gt;
Fortunately, it was not "Moscow cold" and I enjoyed the run. I
could've gone longer but had to revert back because of other
activities already planned during the day. Here are some pictures
captured during the run:&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-E6-9WIwO8u8/T4wILxRFQxI/AAAAAAAAhBQ/rE1wlc8KjT8/s288/DSCN2059.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-Igf6nfcHurU/T4wIQJVOvdI/AAAAAAAAhCY/HKg7mqCK_gU/s288/DSCN2063.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-mcAbPkv4lrw/T4wIPqC025I/AAAAAAAAhCA/y0Xo7DA_F_0/s288/DSCN2066.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-jed5EB8GCfQ/T4wIUVN82FI/AAAAAAAAhDI/Mr65g6ZDx6g/s288/DSCN2077.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-igFUJRf4GNo/T4wIVLQfMpI/AAAAAAAAhDc/K4t15Vsvcwc/s288/DSCN2078.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-iFW2mUCN3vQ/T4wITyMRyZI/AAAAAAAAhDQ/H9i8NoI5o0o/s288/DSCN2079.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
And then some more pictures from around the city ...&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-82lQ9o1Q3T0/T4wIXGidUqI/AAAAAAAAhD8/n0aW2pm9Hts/s288/DSCN2086.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-q1e_oVjgbLQ/T4wIWqJuVHI/AAAAAAAAhD0/lecIsRfDd0s/s288/DSCN2084.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-p1ff1cvae0A/T4wIbl6YPwI/AAAAAAAAhFM/oycw1YQSC7U/s288/DSCN2091.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-McItreVKl4Y/T4wIcFOqauI/AAAAAAAAhFQ/iWFm-oEDf74/s288/DSCN2097.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;&lt;img
style=" width: 216px; height: 288px;" alt=""
src="https://lh4.googleusercontent.com/-TpWtKbhMLy4/T4wId1ZErLI/AAAAAAAAhF0/PhT35w97Mhc/s288/DSCN2103.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-8Csp8uH5DCM/T4wIfrTHZ9I/AAAAAAAAhGc/fYpyhjw3GPE/s288/DSCN2108.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-sx-Et4jqEhI/T4wIlxLPgfI/AAAAAAAAhHo/tyxMO-KXFSE/s288/DSCN2118.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-FztQO3qt6xY/T4wIsiLkLEI/AAAAAAAAhJQ/Nq4PGGYU3C4/s288/DSCN2135.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
&lt;br&gt;
And the evolving album at:&lt;br&gt;
&lt;br&gt;
&lt;embed type="application/x-shockwave-flash"
src="https://picasaweb.google.com/s/c/bin/slideshow.swf"
flashvars="host=picasaweb.google.com&amp;amp;hl=en_US&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F101195212405190467512%2Falbumid%2F5731965414430085041%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US"
pluginspage="http://www.macromedia.com/go/getflashplayer"
height="192" width="288"&gt; &lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.oracle.com/ru/javaonedevelop/en/index.html"&gt;JavaOne
and Oracle Develop Russia&lt;/a&gt; starts tomorrow and I hope to see
you there!&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4IHFHTKTi4WJp6b1f2WjrNoh8l0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4IHFHTKTi4WJp6b1f2WjrNoh8l0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4IHFHTKTi4WJp6b1f2WjrNoh8l0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4IHFHTKTi4WJp6b1f2WjrNoh8l0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/6WZ06AWCvy8" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/running_by_moscow_river</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/java_ee_6_and_nosql</id>
        <title type="html">Java EE 6 and NoSQL/MongoDB on GlassFish using JPA and EclipseLink 2.4 (TOTD #175)</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/5rvL6RAwIY0/java_ee_6_and_nosql" />
        <published>2012-04-11T01:30:00+00:00</published>
        <updated>2012-04-16T07:20:15+00:00</updated> 
        <category term="/General" label="General" />
        <category term="eclipselink" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jpa" scheme="http://roller.apache.org/ns/tags/" />
        <category term="mongodb" scheme="http://roller.apache.org/ns/tags/" />
        <category term="nosql" scheme="http://roller.apache.org/ns/tags/" />
        <category term="totd" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
&lt;a
href="https://blogs.oracle.com/arungupta/entry/totd_166_using_nosql_database"&gt;TOTD




#166&lt;/a&gt; explained how to use MongoDB in your Java EE 6
applications. The code in that tip used the APIs exposed by the &lt;a
href="http://www.mongodb.org/display/DOCS/Java+Language+Center#JavaLanguageCenter-JavaDriver"&gt;MongoDB




Java driver&lt;/a&gt; and so requires you to learn a new API. However if
you are building Java EE 6 applications then you are already
familiar with Java Persistence API (JPA). &lt;a
href="http://wiki.eclipse.org/EclipseLink/Development/2.4.0"&gt;Eclipse




Link 2.4&lt;/a&gt;, scheduled to release as part of &lt;a
href="http://wiki.eclipse.org/Juno/Simultaneous_Release_Plan"&gt;Eclipse




Juno&lt;/a&gt;, provides support for &lt;a
href="http://wiki.eclipse.org/EclipseLink/Development/2.4.0"&gt;NoSQL
databases&lt;/a&gt; by mapping a JPA entity to a document. Their &lt;a
href="http://wiki.eclipse.org/EclipseLink/Examples/JPA/NoSQL"&gt;wiki&lt;/a&gt;
provides complete explanation of how the mapping is done.&lt;br&gt;
&lt;br&gt;
This &lt;span style="font-weight: bold;"&gt;T&lt;/span&gt;ip &lt;span
style="font-weight: bold;"&gt;O&lt;/span&gt;f &lt;span style="font-weight:
bold;"&gt;T&lt;/span&gt;he &lt;span style="font-weight: bold;"&gt;D&lt;/span&gt;ay
(TOTD) will show how you can leverage that support in your Java EE 6
applications deployed on &lt;a
href="http://glassfish.java.net/downloads/3.1.2-final.html"&gt;GlassFish

3.1.2&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Before we dig into the code, here are the key concepts ...&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;A POJO is mapped to a NoSQL data source using @NoSQL or
&amp;lt;no-sql&amp;gt; element in "orm.xml".&lt;/li&gt;
&lt;li&gt;A subset of JPQL and Criteria query are supported, based upon
the underlying data store&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Connection properties are defined in "persistence.xml"&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
Now, lets lets take a look at the code ...&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;Download the latest &lt;a
href="http://www.eclipse.org/eclipselink/downloads/nightly.php"&gt;EclipseLink





2.4 Nightly Bundle&lt;/a&gt;. There is a Installer, Source, and
Bundle - make sure to download the Bundle link (&lt;a
href="http://www.eclipse.org/downloads/download.php?file=/rt/eclipselink/nightly/2.4.0/20120410/eclipselink-plugins-2.4.0.v20120410-r11137.zip"&gt;20120410&lt;/a&gt;)
and unzip.&lt;/li&gt;
&lt;li&gt;Download &lt;a
href="http://download.java.net/glassfish/3.1.2/release/glassfish-3.1.2.zip"&gt;GlassFish





3.1.2 zip&lt;/a&gt; and unzip.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Install the Eclipse Link 2.4 JARs in GlassFish&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Remove the following JARs from "glassfish/modules":
&lt;pre&gt;org.eclipse.persistence.antlr.jar
org.eclipse.persistence.asm.jar
org.eclipse.persistence.core.jar
org.eclipse.persistence.jpa.jar
org.eclipse.persistence.jpa.modelgen.jar
org.eclipse.persistence.moxy.jar
org.eclipse.persistence.oracle.jar&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Add the following JARs from Eclipse Link 2.4 nightly build
to "glassfish/modules":&lt;br&gt;
&lt;pre&gt;org.eclipse.persistence.antlr_3.2.0.v201107111232.jar
org.eclipse.persistence.asm_3.3.1.v201107111215.jar
org.eclipse.persistence.core.jpql_2.4.0.v20120407-r11132.jar
org.eclipse.persistence.core_2.4.0.v20120407-r11132.jar
org.eclipse.persistence.jpa.jpql_2.0.0.v20120407-r11132.jar
org.eclipse.persistence.jpa.modelgen_2.4.0.v20120407-r11132.jar
org.eclipse.persistence.jpa_2.4.0.v20120407-r11132.jar
org.eclipse.persistence.moxy_2.4.0.v20120407-r11132.jar
org.eclipse.persistence.nosql_2.4.0.v20120407-r11132.jar
org.eclipse.persistence.oracle_2.4.0.v20120407-r11132.jar&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Start MongoDB&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;Download latest &lt;a href="http://www.mongodb.org/downloads"&gt;MongoDB





from here&lt;/a&gt; (2.0.4 as of this writing).&lt;/li&gt;
&lt;li&gt;Create the default data directory for MongoDB as:&lt;br&gt;
&lt;pre&gt;sudo mkdir -p /data/db/&lt;br&gt;sudo chown `id -u` /data/db&lt;/pre&gt;
Refer to &lt;a
href="http://www.mongodb.org/display/DOCS/Quickstart"&gt;Quickstart&lt;/a&gt;
for more details.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Start MongoDB as:&lt;br&gt;
&lt;pre&gt;arungup-mac:mongodb-osx-x86_64-2.0.4 &amp;lt;arungup&amp;gt; -&amp;gt;&lt;span style="font-weight: bold;"&gt;./bin/mongod&lt;/span&gt;&lt;br&gt;./bin/mongod --help for help and startup options&lt;br&gt;Mon Apr&amp;nbsp; 9 12:56:02 [initandlisten] MongoDB starting : pid=3124 port=27017 dbpath=/data/db/ 64-bit host=arungup-mac.local&lt;br&gt;Mon Apr&amp;nbsp; 9 12:56:02 [initandlisten] db version v2.0.4, pdfile version 4.5&lt;br&gt;Mon Apr&amp;nbsp; 9 12:56:02 [initandlisten] git version: 329f3c47fe8136c03392c8f0e548506cb21f8ebf&lt;br&gt;Mon Apr&amp;nbsp; 9 12:56:02 [initandlisten] build info: Darwin erh2.10gen.cc 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_40&lt;br&gt;Mon Apr&amp;nbsp; 9 12:56:02 [initandlisten] options: {}&lt;br&gt;Mon Apr&amp;nbsp; 9 12:56:02 [initandlisten] journal dir=/data/db/journal&lt;br&gt;Mon Apr&amp;nbsp; 9 12:56:02 [initandlisten] recover : no journal files present, no recovery needed&lt;br&gt;Mon Apr&amp;nbsp; 9 12:56:02 [websvr] admin web console waiting for connections on port 28017&lt;br&gt;Mon Apr&amp;nbsp; 9 12:56:02 [initandlisten] waiting for connections on port 27017&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;Check out the JPA/NoSQL sample from &lt;a
href="http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/trunk/examples/org.eclipse.persistence.example.jpa.nosql.mongo/"&gt;SVN





repository&lt;/a&gt;. The complete source code built in this TOTD
can be &lt;a
href="https://blogs.oracle.com/arungupta/resource/totd175-javaee-nosql.zip"&gt;downloaded

here&lt;/a&gt;.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Create Java EE 6 web app&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;Create a Java EE 6 Maven web app as:&lt;br&gt;
&lt;pre&gt;mvn archetype:generate
-DarchetypeGroupId=org.codehaus.mojo.archetypes
-DarchetypeArtifactId=webapp-javaee6
-DgroupId=model -DartifactId=javaee-nosql
-DarchetypeVersion=1.5 -DinteractiveMode=false&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Copy the model files from the checked out workspace to the
generated project as:&lt;br&gt;
&lt;pre&gt;cd javaee-nosql&lt;br&gt;cp -r ~/code/workspaces/org.eclipse.persistence.example.jpa.nosql.mongo/src/model src/main/java&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Copy "persistence.xml"&lt;br&gt;
&lt;pre&gt;mkdir src/main/resources
cp -r ~/code/workspaces/org.eclipse.persistence.example.jpa.nosql.mongo/src/META-INF ./src/main/resources&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Add the following dependencies:&lt;br&gt;
&lt;pre&gt;&amp;lt;dependency&amp;gt;&lt;br&gt; &amp;lt;groupId&amp;gt;org.eclipse.persistence&amp;lt;/groupId&amp;gt;&lt;br&gt; &amp;lt;artifactId&amp;gt;org.eclipse.persistence.jpa&amp;lt;/artifactId&amp;gt;&lt;br&gt; &amp;lt;version&amp;gt;2.4.0-SNAPSHOT&amp;lt;/version&amp;gt;&lt;br&gt; &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;&lt;br&gt;&amp;lt;/dependency&amp;gt;&lt;br&gt;&amp;lt;dependency&amp;gt;&lt;br&gt; &amp;lt;groupId&amp;gt;org.eclipse.persistence&amp;lt;/groupId&amp;gt;&lt;br&gt; &amp;lt;artifactId&amp;gt;org.eclipse.persistence.nosql&amp;lt;/artifactId&amp;gt;&lt;br&gt; &amp;lt;version&amp;gt;2.4.0-SNAPSHOT&amp;lt;/version&amp;gt;&lt;br&gt;&amp;lt;/dependency&amp;gt;&lt;br&gt;&amp;lt;dependency&amp;gt;&lt;br&gt; &amp;lt;groupId&amp;gt;org.mongodb&amp;lt;/groupId&amp;gt;&lt;br&gt; &amp;lt;artifactId&amp;gt;mongo-java-driver&amp;lt;/artifactId&amp;gt;&lt;br&gt; &amp;lt;version&amp;gt;2.7.3&amp;lt;/version&amp;gt;&lt;br&gt;&amp;lt;/dependency&amp;gt;&lt;/pre&gt;
&lt;br&gt;
The first one is for the EclipseLink latest APIs, the second
one is for EclipseLink/NoSQL support, and the last one is the
MongoDB Java driver. &lt;br&gt;
&lt;br&gt;
And the following repository:&lt;br&gt;
&lt;pre&gt;&amp;lt;repositories&amp;gt;
&amp;lt;repository&amp;gt;&lt;br&gt; &amp;lt;id&amp;gt;EclipseLink Repo&amp;lt;/id&amp;gt;&lt;br&gt; &amp;lt;url&amp;gt;http://www.eclipse.org/downloads/download.php?r=1&amp;amp;amp;nf=1&amp;amp;amp;file=/rt/eclipselink/maven.repo&amp;lt;/url&amp;gt;&lt;br&gt; &amp;lt;snapshots&amp;gt;&lt;br&gt; &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br&gt; &amp;lt;/snapshots&amp;gt;&lt;br&gt; &amp;lt;/repository&amp;gt;&amp;nbsp; &lt;br&gt;&amp;lt;/repositories&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Copy the "Test.java" to the generated project:&lt;br&gt;
&lt;pre&gt;mkdir src/main/java/example&lt;br&gt;cp -r ~/code/workspaces/org.eclipse.persistence.example.jpa.nosql.mongo/src/example/Test.java ./src/main/java/example/&lt;br&gt;&lt;/pre&gt;
This file contains the source code to CRUD the JPA entity to
MongoDB. This sample is explained in detail on &lt;a
href="http://wiki.eclipse.org/EclipseLink/Examples/JPA/NoSQL"&gt;EclipseLink

wiki&lt;/a&gt;.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Create a new Servlet in "example" directory as:&lt;br&gt;
&lt;pre&gt;package example;&lt;br&gt;&lt;br&gt;import java.io.IOException;&lt;br&gt;import java.io.PrintWriter;&lt;br&gt;import javax.servlet.ServletException;&lt;br&gt;import javax.servlet.annotation.WebServlet;&lt;br&gt;import javax.servlet.http.HttpServlet;&lt;br&gt;import javax.servlet.http.HttpServletRequest;&lt;br&gt;import javax.servlet.http.HttpServletResponse;&lt;br&gt;&lt;br&gt;/**&lt;br&gt; * @author Arun Gupta&lt;br&gt; */&lt;br&gt;@WebServlet(name = "TestServlet", urlPatterns = {"/TestServlet"})&lt;br&gt;public class TestServlet extends HttpServlet {&lt;br&gt;&lt;br&gt; protected void processRequest(HttpServletRequest request, HttpServletResponse response)&lt;br&gt; throws ServletException, IOException {&lt;br&gt; response.setContentType("text/html;charset=UTF-8");&lt;br&gt; PrintWriter out = response.getWriter();&lt;br&gt; try {&lt;br&gt; out.println("&amp;lt;html&amp;gt;");&lt;br&gt; out.println("&amp;lt;head&amp;gt;");&lt;br&gt; out.println("&amp;lt;title&amp;gt;Servlet TestServlet&amp;lt;/title&amp;gt;"); &lt;br&gt; out.println("&amp;lt;/head&amp;gt;");&lt;br&gt; out.println("&amp;lt;body&amp;gt;");&lt;br&gt; out.println("&amp;lt;h1&amp;gt;Servlet TestServlet at " + request.getContextPath() + "&amp;lt;/h1&amp;gt;");&lt;br&gt; try {&lt;br&gt; Test.main(null);&lt;br&gt; } catch (Exception ex) {&lt;br&gt; ex.printStackTrace();&lt;br&gt; }&lt;br&gt; out.println("&amp;lt;/body&amp;gt;");&lt;br&gt; out.println("&amp;lt;/html&amp;gt;");&lt;br&gt; } finally { &lt;br&gt; out.close();&lt;br&gt; }&lt;br&gt; }&lt;br&gt;&lt;br&gt; @Override&lt;br&gt; protected void doGet(HttpServletRequest request, HttpServletResponse response)&lt;br&gt; throws ServletException, IOException {&lt;br&gt; processRequest(request, response);&lt;br&gt; }&lt;br&gt;&lt;br&gt; @Override&lt;br&gt; protected void doPost(HttpServletRequest request, HttpServletResponse response)&lt;br&gt; throws ServletException, IOException {&lt;br&gt; processRequest(request, response);&lt;br&gt; }&lt;br&gt;}&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;Build the project and deploy it as:&lt;br&gt;
&lt;br&gt;
&lt;pre&gt;mvn clean package&lt;br&gt;glassfish3/bin/asadmin deploy --force=true target/javaee-nosql-1.0-SNAPSHOT.war&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Accessing &lt;a
href="http://localhost:8080/javaee-nosql/TestServlet"&gt;http://localhost:8080/javaee-nosql/TestServlet&lt;/a&gt;
shows the following messages in the server.log:&lt;br&gt;
&lt;pre&gt;&lt;br&gt;connecting(EISLogin(&lt;br&gt; platform=&amp;gt; MongoPlatform&lt;br&gt; user name=&amp;gt; ""&lt;br&gt; MongoConnectionSpec()&lt;br&gt;))&lt;br&gt;
. . .&lt;br&gt;&lt;br&gt;Connected: &lt;br&gt; User: &lt;br&gt; Database: 2.7&amp;nbsp; Version: 2.7 &lt;br&gt;&lt;br&gt;. . .&lt;br&gt;&lt;br&gt;Executing MappedInteraction()&lt;br&gt; spec =&amp;gt; null&lt;br&gt; properties =&amp;gt; {mongo.collection=CUSTOMER, mongo.operation=INSERT}&lt;br&gt; input =&amp;gt; [DatabaseRecord(&lt;br&gt; CUSTOMER._id =&amp;gt; 4F848E2BDA0670307E2A8FA4&lt;br&gt; CUSTOMER.NAME =&amp;gt; AMCE)]&lt;br&gt;&lt;br&gt;. . .&lt;br&gt;&lt;br&gt;&lt;br&gt;Data access result: [{TOTALCOST=757.0, ORDERLINES=[{DESCRIPTION=table,&lt;br&gt; LINENUMBER=1, COST=300.0}, {DESCRIPTION=balls, LINENUMBER=2, COST=5.0}, &lt;br&gt;{DESCRIPTION=rackets, LINENUMBER=3, COST=15.0}, {DESCRIPTION=net, &lt;br&gt;LINENUMBER=4, COST=2.0}, {DESCRIPTION=shipping, LINENUMBER=5, &lt;br&gt;COST=80.0}, {DESCRIPTION=handling, LINENUMBER=6, COST=55.0},&lt;br&gt;{DESCRIPTION=tax, LINENUMBER=7, COST=300.0}], SHIPPINGADDRESS=&lt;br&gt;[{POSTALCODE=L5J1H7, PROVINCE=ON, COUNTRY=Canada, CITY=Ottawa,&lt;br&gt;STREET=17 Jane St.}], VERSION=2, _id=4F848E2BDA0670307E2A8FA8,&lt;br&gt;DESCRIPTION=Pingpong table, CUSTOMER__id=4F848E2BDA0670307E2A8FA7, &lt;br&gt;BILLINGADDRESS=[{POSTALCODE=L5J1H8, PROVINCE=ON, COUNTRY=Canada, &lt;br&gt;CITY=Ottawa, STREET=7 Bank St.}]}]&lt;/pre&gt;
&lt;br&gt;
You'll not see any output in the browser, just the output in the
console. But the code can be easily modified to do so. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once again, the complete Maven project can be &lt;a
href="https://blogs.oracle.com/arungupta/resource/totd175-javaee-nosql.zip"&gt;downloaded

here&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;Do you want to try accessing relational and non-relational (aka
NoSQL) databases in the same PU ?&lt;br&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0RxHtPG4umJk1c7hz9mdFfrCIow/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0RxHtPG4umJk1c7hz9mdFfrCIow/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0RxHtPG4umJk1c7hz9mdFfrCIow/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0RxHtPG4umJk1c7hz9mdFfrCIow/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/5rvL6RAwIY0" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/java_ee_6_and_nosql</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/global_indian_developer_summit_gids</id>
        <title type="html">Great Indian Developer Summit (GIDS), JavaOne Moscow, Java Summit Chennai </title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/uFHXSljaxJE/global_indian_developer_summit_gids" />
        <published>2012-04-09T03:00:00+00:00</published>
        <updated>2012-04-09T09:18:18+00:00</updated> 
        <category term="/General" label="General" />
        <category term="bangalore" scheme="http://roller.apache.org/ns/tags/" />
        <category term="chennai" scheme="http://roller.apache.org/ns/tags/" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="gids" scheme="http://roller.apache.org/ns/tags/" />
        <category term="india" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaone" scheme="http://roller.apache.org/ns/tags/" />
        <category term="moscow" scheme="http://roller.apache.org/ns/tags/" />
        <category term="russia" scheme="http://roller.apache.org/ns/tags/" />
        <category term="summit" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
My whirlwind tour of Java EE and GlassFish starts next weekend and
covers the following cities in the next 6 weeks:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;JavaOne and Oracle Develop, Moscow&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Great Indian Developer Summit, Bangalore&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Java Summit, Chennai&lt;/li&gt;
&lt;li&gt;JavaOne, Hyderabad&lt;/li&gt;
&lt;li&gt;OTN Developer Day, Pune&lt;/li&gt;
&lt;li&gt;OTN Developer Day, Istanbul&lt;/li&gt;
&lt;li&gt;Geecon, Poznan&lt;/li&gt;
&lt;li&gt;JEEConf, Kiev&lt;/li&gt;
&lt;li&gt;OTN Developer Day, Johannesburg&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Several other members of the team will be speaking at some of
these events as well. Please feel free to reach out to any of us,
ask a question, and share your passion. Here is the first set of
conferences coming up:&lt;br&gt;
&lt;/p&gt;
&lt;br&gt;
&lt;a href="http://www.oracle.com/javaone/ru-en/index.html"&gt;&lt;img alt=""
src="https://blogs.oracle.com/arungupta/resource/javaone-russia-2012.png"
style="border: 0px solid; border: 0px solid; width: 600px;
height: 64px;"&gt;&lt;/a&gt;&lt;br&gt;
Date: Apr 17-18&lt;br&gt;
&lt;a href="http://www.oracle.com/javaone/ru-en/schedule/"&gt;Schedule&lt;/a&gt;&lt;br&gt;
My Schedule&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Deploying your Java EE 6 Applications
in Producion hands-on lab&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Technical Keynote&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Some other technical sessions&lt;br&gt;
Venue: &lt;a href="http://www.ras.ru/en/index.aspx"&gt;Russian Academy of
Sciences&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.oracle.com/javaone/ru-en/register/index.html"&gt;Register&lt;/a&gt;&lt;br&gt;
Connect: &lt;a href="http://twitter.com/OracleRU"&gt;@OracleRU&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.developermarch.com/developersummit/"&gt;&lt;img alt=""
src="https://blogs.oracle.com/arungupta/resource/gids-2012.png"
style="border: 0px solid; width: 391px; height: 150px;"&gt;&lt;/a&gt;&lt;br&gt;
&lt;table style=" text-align: left; width: 100%;" border="0"
cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 200px;
height: 300px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/gids4.gif"&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 200px;
height: 300px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/gids2.gif"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 200px;
height: 300px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/gids3.gif"&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 200px;
height: 300px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/gids1.gif"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
Date: April 17-20&lt;br&gt;
&lt;a
href="http://www.developermarch.com/developersummit/sessions.html"&gt;
Schedule&lt;/a&gt; (date decided, time slots TBD)&lt;br&gt;
My Schedule: NetBeans/Java EE 6 workshop on April 19th, Other
sessions (as listed above) on April 20&lt;br&gt;
Venue: &lt;a
href="http://www.developermarch.com/developersummit/venueTravelHotel.html"&gt;J.
N. Tata Auditorium, National Science Symposium Complex, Sir C. V.
Raman Avenue, Bangalore, India&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.eventavenue.com/attReglogin.do?eventId=EVT2996"&gt;Register&lt;/a&gt;
&lt;br&gt;
Connect: &lt;a href="https://twitter.com/#%21/GreatIndiandev"&gt;@GreatIndianDev&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://jugchennai.in/chennaijavasummit/"&gt;&lt;img alt=""
src="https://blogs.oracle.com/arungupta/resource/chennai-java-summit-2012.png"
style="border: 0px solid; width: 266px; height: 133px;"&gt;&lt;/a&gt;&lt;br&gt;
Date: April 21, 2011&lt;br&gt;
&lt;a href="http://jugchennai.in/chennaijavasummit/schedule.php"&gt;Schedule&lt;/a&gt;&lt;br&gt;
My Schedule: Java EE 7 at 9:30am, JAX-RS 2.0 at 11am&lt;br&gt;
Venue: &lt;a href="http://www.velsuniv.ac.in/"&gt;VELS University&lt;/a&gt;&lt;br&gt;
&lt;a
href="https://docs.google.com/spreadsheet/viewform?formkey=dGxTM1FWeFo5eUg4S1VIcHBULTJlREE6MQ#gid=0"&gt;Register&lt;/a&gt;
(FREE)&lt;br&gt;
Connect: &lt;a href="https://twitter.com/jug_c"&gt;@jug_c&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
Where will I meet or run with you ?&lt;br&gt;
&lt;br&gt;
Do ask me to record a video session if you are using GlassFish and
would like to share your story at &lt;a
href="http://blogs.oracle.com/stories"&gt;blogs.oracle.com/stories&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/G77yiRpYyhD44xY4Vdvq_5y5c9A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G77yiRpYyhD44xY4Vdvq_5y5c9A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/G77yiRpYyhD44xY4Vdvq_5y5c9A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G77yiRpYyhD44xY4Vdvq_5y5c9A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/uFHXSljaxJE" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/global_indian_developer_summit_gids</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/silicon_valley_code_camp_2012</id>
        <title type="html">Silicon Valley Code Camp 2012 - Submit Your Talks</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/SMWpFxa0GQs/silicon_valley_code_camp_2012" />
        <published>2012-04-02T12:48:22+00:00</published>
        <updated>2012-04-02T13:08:57+00:00</updated> 
        <category term="/General" label="General" />
        <category term="codecamp" scheme="http://roller.apache.org/ns/tags/" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sanfrancisco" scheme="http://roller.apache.org/ns/tags/" />
        <category term="svcc" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
&lt;a href="http://www.siliconvalley-codecamp.com/Default.aspx"&gt;&lt;img
alt=""
src="https://blogs.oracle.com/arungupta/resource/svcc12.png"
style="border: 0px solid; width: 288px; height: 37px;"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
Silicon Valley Code Camp follows three rules:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Given by/for the community&lt;/li&gt;
&lt;li&gt;Always free&lt;/li&gt;
&lt;li&gt;Never occur during work hours&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I've spoken there at &lt;a
href="https://blogs.oracle.com/arungupta/entry/silicon_valley_code_camp_20111"&gt;2011&lt;/a&gt;,
&lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_glassfish_silicon"&gt;2010&lt;/a&gt;,
&lt;a
href="https://blogs.oracle.com/arungupta/entry/silicon_valley_code_code_camp"&gt;2009&lt;/a&gt;,
&lt;a
href="https://blogs.oracle.com/arungupta/entry/glassfish_silicon_valley_code_camp1"&gt;2008&lt;/a&gt;,
and &lt;a
href="https://blogs.oracle.com/arungupta/entry/silicon_valley_code_camp_trip"&gt;2007&lt;/a&gt;
and have again submitted a &lt;a
href="http://www.siliconvalley-codecamp.com/Sessions.aspx?ForceSortBySessionTime=true&amp;amp;AttendeeId=1269"&gt;talk&lt;/a&gt;
this year as well, and will submit more!&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;Its one of the best organically grown code camps with the
attendance constantly growing over the past 6 years. Here is a
chart that shows how the number of conferences attendees that
registered and attended and the sessions delivered over past 6
years. If you wonder why there is such a big gap between
"registered" and "attended" that's because this event is FREE!&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;Yes, 100% free.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.siliconvalley-codecamp.com/Default.aspx"&gt;&lt;img
alt=""
src="http://blogs.oracle.com/arungupta/resource/silicon_valley_code_camp_trends-2011.png"
style="border: 0px solid; width: 600px; height: 371px;"&gt;&lt;/a&gt;&lt;br&gt;
If you are in and around Silicon Valley then you have no reason to
not participate/speak at SVCC. You have the opportunity to meet
all the local JUG leaders and the community "rockstars" :-)&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Date:&lt;/span&gt; Oct 6/7, 2012&lt;span
style="font-weight: bold;"&gt;&lt;br&gt;
Venue:&lt;/span&gt; Foothill College, 12345, El Monte Road, Los Altos
Hills, CA&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a
href="http://www.siliconvalley-codecamp.com/SubmitSession.aspx"&gt;Submit
today&lt;/a&gt; or &lt;a
href="http://www.siliconvalley-codecamp.com/Register.aspx"&gt;register&lt;/a&gt;!&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bsNZBQmriljgoC4w3EL-F8xWxOw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bsNZBQmriljgoC4w3EL-F8xWxOw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bsNZBQmriljgoC4w3EL-F8xWxOw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bsNZBQmriljgoC4w3EL-F8xWxOw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/SMWpFxa0GQs" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/silicon_valley_code_camp_2012</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/why_java_ee_6_is</id>
        <title type="html">Why is Java EE 6 better than Spring ?</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/u4Okpi7nMPs/why_java_ee_6_is" />
        <published>2012-03-22T20:16:43+00:00</published>
        <updated>2012-03-22T20:16:43+00:00</updated> 
        <category term="/General" label="General" />
        <category term="appserver" scheme="http://roller.apache.org/ns/tags/" />
        <category term="community" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="spring" scheme="http://roller.apache.org/ns/tags/" />
        <category term="vmware" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
Java EE 6 was released &lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_is_now"&gt;over






2 years ago&lt;/a&gt; and now there are &lt;a
href="http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html"&gt;14






compliant application servers&lt;/a&gt;. In all my talks around the
world, a question that is frequently asked is&lt;br&gt;
&lt;br&gt;
&lt;span style="font-style: italic;"&gt;Why should I use Java EE 6 instead
of Spring ?&lt;/span&gt;&lt;br&gt;
&lt;br&gt;
There are already several blogs covering that topic:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
href="http://bill.burkecentral.com/2012/03/13/java-ee-wins-over-spring/"&gt;Java




EE wins over Spring&lt;/a&gt; by Bill Burke&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://www.kai-waehner.de/blog/2011/11/21/why-i-will-use-java-ee-jee-and-not-j2ee-instead-of-spring-in-new-enterprise-java-projects-in-2012/"&gt;Why






will I use Java EE instead of Spring in new Enterprise Java
projects in 2012 ?&lt;/a&gt; by Kai Waehner (&lt;a
href="http://www.theserverside.com/news/thread.tss?thread_id=63784"&gt;more




discussion on TSS&lt;/a&gt;)&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Spring to Java EE migration (Part &lt;a
href="http://www.oracle.com/technetwork/articles/java/springtojavaee-522240.html"&gt;1&lt;/a&gt;
and &lt;a
href="http://www.oracle.com/technetwork/articles/java/springtojavaee2-1414289.html"&gt;2&lt;/a&gt;,
3 and 4 coming as well) by David Heffelfinger&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://ocpsoft.org/java/spring-to-java-ee-a-migration-guide-cdi-jsf-jpa-jta-ejb/"&gt;Spring






to Java EE - A Migration Experience&lt;/a&gt; by Lincoln Baxter&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.parleys.com/#st=5&amp;amp;id=2749&amp;amp;sl=1"&gt;Migrating






Spring to Java EE 6&lt;/a&gt; by Bert Ertman and Paul Bakker at
NLJUG&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://www.theserverside.com/discussions/thread.tss?thread_id=61023"&gt;Moving






from Spring to Java EE 6 - The Age of Frameworks is Over&lt;/a&gt;
at TSS&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://www.slideshare.net/kelapure/java-e-evsspringshootout"&gt;Java






EE vs Spring Shootout&lt;/a&gt; by Rohit Kelapure and Reza Rehman at
JavaOne 2011&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://www.devchronicles.com/2011/11/javaee6-and-ewoks.html"&gt;Java






EE 6 and the Ewoks&lt;/a&gt; by Murat Yener&lt;/li&gt;
&lt;li&gt;&lt;a
href="https://blogs.oracle.com/arungupta/entry/qa_8_java_ee_6"&gt;Definite

excuse to avoid Spring forever&lt;/a&gt; - Bert Ertman and Arun
Gupta&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
I will try to share my perspective in this blog.&lt;br&gt;
&lt;br&gt;
First of all, I'd like to start with a note:&lt;br&gt;
&lt;br&gt;
&lt;span style="font-style: italic;"&gt;Thank you Spring framework for
filling the interim gap and providing functionality that is now
included in the mainstream Java EE 6 application servers. The Java
EE platform has evolved over the years learning from frameworks
like Spring and provides all the functionality to build an
enterprise application. Thank you very much Spring framework!&lt;/span&gt;&lt;br&gt;
&lt;br&gt;
&lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"&gt;
While Spring was revolutionary in its time and is still very popular
and quite main stream in the same way Struts was circa 2003, it
really is last generation's framework - some people are even calling
it &lt;a
href="http://bill.burkecentral.com/2012/03/13/java-ee-wins-over-spring/"&gt;legacy&lt;/a&gt;.
However my theory is "code is king". So my approach is to build/take
a simple Hello World CRUD application in Java EE 6 and Spring and
compare the deployable artifacts.&lt;br&gt;
&lt;br&gt;
I started looking at the official tutorial &lt;a
href="http://static.springsource.org/docs/Spring-MVC-step-by-step/"&gt;Developing



















a Spring Framework MVC Application Step-by-Step&lt;/a&gt; but it is
using the older version 2.5. I wasn't able to find any updated
version in the current 3.1 release. Next, I downloaded Spring Tool
Suite and thought that would provide some template samples to get
started. A least a quick search did not show any handy tutorials -
either video or text-based. So I searched and found a link to their
SVN repository at &lt;a
href="src.springframework.org/svn/spring-samples/"&gt;src.springframework.org/svn/spring-samples/&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
I tried the "mvc-basic" sample and the generated WAR file was 4.43
MB.
&lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"&gt;
While it was named a "basic" sample it seemed to come with 19
different libraries bundled but it was what I could find:&lt;br&gt;
&lt;br&gt;
&lt;pre&gt;./WEB-INF/lib/aopalliance-1.0.jar&lt;br&gt;./WEB-INF/lib/hibernate-validator-4.1.0.Final.jar&lt;br&gt;./WEB-INF/lib/jcl-over-slf4j-1.6.1.jar&lt;br&gt;./WEB-INF/lib/joda-time-1.6.2.jar&lt;br&gt;./WEB-INF/lib/joda-time-jsptags-1.0.2.jar&lt;br&gt;./WEB-INF/lib/jstl-1.2.jar&lt;br&gt;./WEB-INF/lib/log4j-1.2.16.jar&lt;br&gt;./WEB-INF/lib/slf4j-api-1.6.1.jar&lt;br&gt;./WEB-INF/lib/slf4j-log4j12-1.6.1.jar&lt;br&gt;./WEB-INF/lib/spring-aop-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-asm-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-beans-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-context-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-context-support-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-core-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-expression-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-web-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-webmvc-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/validation-api-1.0.0.GA.jar&lt;/pre&gt;
And it is not even using any database!&lt;br&gt;
&lt;br&gt;
The app deployed fine on GlassFish 3.1.2 but the "@Controller
Example" link did not work as it was missing the context root.
&lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"&gt;
With a bit of tweaking I could deploy the application and assume
that the account got created because no error was displayed in the
browser or server log.&lt;br&gt;
&lt;br&gt;
Next I generated the WAR for "mvc-ajax" and the 5.1 MB WAR had 20
JARs (1 removed, 2 added):&lt;br&gt;
&lt;br&gt;
&lt;pre&gt;./WEB-INF/lib/aopalliance-1.0.jar&lt;br&gt;./WEB-INF/lib/hibernate-validator-4.1.0.Final.jar&lt;br&gt;./WEB-INF/lib/jackson-core-asl-1.6.4.jar&lt;br&gt;./WEB-INF/lib/jackson-mapper-asl-1.6.4.jar&lt;br&gt;./WEB-INF/lib/jcl-over-slf4j-1.6.1.jar&lt;br&gt;./WEB-INF/lib/joda-time-1.6.2.jar&lt;br&gt;./WEB-INF/lib/jstl-1.2.jar&lt;br&gt;./WEB-INF/lib/log4j-1.2.16.jar&lt;br&gt;./WEB-INF/lib/slf4j-api-1.6.1.jar&lt;br&gt;./WEB-INF/lib/slf4j-log4j12-1.6.1.jar&lt;br&gt;./WEB-INF/lib/spring-aop-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-asm-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-beans-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-context-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-context-support-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-core-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-expression-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-web-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-webmvc-3.0.5.RELEASE.jar&lt;br&gt;./WEB-INF/lib/validation-api-1.0.0.GA.jar&lt;br&gt;&lt;/pre&gt;
2 more JARs for just doing Ajax.&lt;br&gt;
&lt;br&gt;
Anyway, deploying this application gave the following error:&lt;br&gt;
&lt;br&gt;
&lt;pre&gt;Caused by: java.lang.NoSuchMethodError: org.codehaus.jackson.map.SerializationConfig.&amp;lt;init&amp;gt;(Lorg/codehaus/jackson/map/ClassIntrospector;Lorg/codehaus/jackson/map/AnnotationIntrospector;Lorg/codehaus/jackson/map/introspect/VisibilityChecker;Lorg/codehaus/jackson/map/jsontype/SubtypeResolver;)V&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.springframework.samples.mvc.ajax.json.ConversionServiceAwareObjectMapper.&amp;lt;init&amp;gt;(ConversionServiceAwareObjectMapper.java:20)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.springframework.samples.mvc.ajax.json.JacksonConversionServiceConfigurer.postProcessAfterInitialization(JacksonConversionServiceConfigurer.java:40)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:407)&lt;/pre&gt;
&lt;br&gt;
Seems like some incorrect repos in the "pom.xml".&lt;br&gt;
&lt;br&gt;
Next one is "mvc-showcase" and the 6.49 MB WAR now has 28 JARs as
shown below:&lt;br&gt;
&lt;pre&gt;&lt;br&gt;./WEB-INF/lib/aopalliance-1.0.jar&lt;br&gt;./WEB-INF/lib/aspectjrt-1.6.10.jar&lt;br&gt;./WEB-INF/lib/commons-fileupload-1.2.2.jar&lt;br&gt;./WEB-INF/lib/commons-io-2.0.1.jar&lt;br&gt;./WEB-INF/lib/el-api-2.2.jar&lt;br&gt;./WEB-INF/lib/hibernate-validator-4.1.0.Final.jar&lt;br&gt;./WEB-INF/lib/jackson-core-asl-1.8.1.jar&lt;br&gt;./WEB-INF/lib/jackson-mapper-asl-1.8.1.jar&lt;br&gt;./WEB-INF/lib/javax.inject-1.jar&lt;br&gt;./WEB-INF/lib/jcl-over-slf4j-1.6.1.jar&lt;br&gt;./WEB-INF/lib/jdom-1.0.jar&lt;br&gt;./WEB-INF/lib/joda-time-1.6.2.jar&lt;br&gt;./WEB-INF/lib/jstl-api-1.2.jar&lt;br&gt;./WEB-INF/lib/jstl-impl-1.2.jar&lt;br&gt;./WEB-INF/lib/log4j-1.2.16.jar&lt;br&gt;./WEB-INF/lib/rome-1.0.0.jar&lt;br&gt;./WEB-INF/lib/slf4j-api-1.6.1.jar&lt;br&gt;./WEB-INF/lib/slf4j-log4j12-1.6.1.jar&lt;br&gt;./WEB-INF/lib/spring-aop-3.1.0.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-asm-3.1.0.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-beans-3.1.0.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-context-3.1.0.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-context-support-3.1.0.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-core-3.1.0.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-expression-3.1.0.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-web-3.1.0.RELEASE.jar&lt;br&gt;./WEB-INF/lib/spring-webmvc-3.1.0.RELEASE.jar&lt;br&gt;./WEB-INF/lib/validation-api-1.0.0.GA.jar&lt;br&gt;&lt;/pre&gt;
&lt;br&gt;
The app at least deployed and showed results this time. But still no
database!&lt;br&gt;
&lt;br&gt;
Next I tried building "jpetstore" and got the error:&lt;br&gt;
&lt;br&gt;
&lt;pre&gt;[ERROR] Failed to execute goal on project org.springframework.samples.jpetstore:&lt;br&gt;Could not resolve dependencies for project org.springframework.samples:&lt;br&gt;org.springframework.samples.jpetstore:war:1.0.0-SNAPSHOT: Failed to collect &lt;br&gt;dependencies for [commons-fileupload:commons-fileupload:jar:1.2.1 (compile), &lt;br&gt;org.apache.struts:com.springsource.org.apache.struts:jar:1.2.9 (compile), &lt;br&gt;javax.xml.rpc:com.springsource.javax.xml.rpc:jar:1.1.0 (compile), &lt;br&gt;org.apache.commons:com.springsource.org.apache.commons.dbcp:jar:1.2.2.osgi (compile), &lt;br&gt;commons-io:commons-io:jar:1.3.2 (compile), hsqldb:hsqldb:jar:1.8.0.7 (compile), &lt;br&gt;org.apache.tiles:tiles-core:jar:2.2.0 (compile), org.apache.tiles:tiles-jsp:jar:2.2.0 (compile), &lt;br&gt;org.tuckey:urlrewritefilter:jar:3.1.0 (compile), org.springframework:spring-webmvc:jar:&lt;br&gt;3.0.0.BUILD-SNAPSHOT (compile), org.springframework:spring-orm:jar:3.0.0.BUILD-SNAPSHOT (compile), &lt;br&gt;org.springframework:spring-context-support:jar:3.0.0.BUILD-SNAPSHOT (compile), &lt;br&gt;org.springframework.webflow:spring-js:jar:2.0.7.RELEASE (compile), org.apache.ibatis:&lt;br&gt;com.springsource.com.ibatis:jar:2.3.4.726 (runtime), com.caucho:com.springsource.com.&lt;br&gt;caucho:jar:3.2.1 (compile), org.apache.axis:com.springsource.org.apache.axis:jar:1.4.0 (compile), &lt;br&gt;javax.wsdl:com.springsource.javax.wsdl:jar:1.6.1 (compile), javax.servlet:jstl:jar:1.2 (runtime), &lt;br&gt;org.aspectj:aspectjweaver:jar:1.6.5 (compile), javax.servlet:servlet-api:jar:2.5 (provided), &lt;br&gt;javax.servlet.jsp:jsp-api:jar:2.1 (provided), junit:junit:jar:4.6 (test)]: Failed to read &lt;br&gt;artifact descriptor for org.springframework:spring-webmvc:jar:3.0.0.BUILD-SNAPSHOT: Could &lt;br&gt;not transfer artifact org.springframework:spring-webmvc:pom:3.0.0.BUILD-SNAPSHOT from/to &lt;br&gt;JBoss repository (http://repository.jboss.com/maven2): Access denied to: http://&lt;br&gt;repository.jboss.com/maven2/org/springframework/spring-webmvc/3.0.0.BUILD-SNAPSHOT/&lt;br&gt;spring-webmvc-3.0.0.BUILD-SNAPSHOT.pom&lt;/pre&gt;
&lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"&gt;
It appears the sample is broken - maybe I was pulling from the wrong
repository - would be great if someone were to point me at a good
target to use here.&lt;br&gt;
&lt;br&gt;
With a 50% hit on samples in this repository, I started searching
through numerous blogs, most of which have either outdated
information (using XML-heavy Spring 2.5), some piece of
configuration (which is a typical "feature" of Spring) is missing,
or too much complexity in the sample. I finally found &lt;a
href="http://krams915.blogspot.com/2011/01/spring-mvc-3-hibernate-annotations.html"&gt;this



















blog&lt;/a&gt; that worked like a charm. This blog creates a trivial
Spring MVC 3 application using Hibernate and MySQL. This application
performs CRUD operations on a single table in a database using
typical Spring technologies.&amp;nbsp; I downloaded the sample code from
the blog, deployed it on GlassFish 3.1.2 and could CRUD the "person"
entity. The source code for this application can be &lt;a
href="http://spring-mvc-hibernate-annotations-integration-tutorial.googlecode.com/files/spring-hibernate-mysql.zip"&gt;downloaded




here&lt;/a&gt;. More details on the application statistics below.&lt;br&gt;
&lt;br&gt;
And then I built a similar CRUD application in Java EE 6 using
NetBeans wizards in a &lt;a
href="http://netbeans.org/kb/docs/web/jsf20-crud.html"&gt;couple of
minutes&lt;/a&gt;. The source code for the application can be &lt;a
href="https://blogs.oracle.com/arungupta/resource/javaee-mysql-maven.zip"&gt;downloaded




here&lt;/a&gt; and the &lt;a
href="https://blogs.oracle.com/arungupta/resource/javaee-mysql-1.0-SNAPSHOT.war"&gt;WAR

here&lt;/a&gt;. &lt;br&gt;
&lt;br&gt;
The Spring Source Tool Suite may also offer similar wizard-driven
capabilities but this blog focus primarily on comparing the
runtimes. The lack of STS tutorials was slightly disappointing as
well. NetBeans however has tons of &lt;a
href="http://netbeans.org/kb/"&gt;text-based&lt;/a&gt; and &lt;a
href="http://netbeans.org/community/media.html"&gt;video tutorials&lt;/a&gt;
and tons of material even by the &lt;a
href="http://netbeans.org/community/"&gt;community&lt;/a&gt;. One more bit
on the download size of tools bundle ... &lt;br&gt;
&lt;br&gt;
NetBeans 7.1.1 "All" is 211 MB (which includes GlassFish and Tomcat)&lt;br&gt;
Spring Tool Suite&amp;nbsp; 2.9.0 is 347 MB (~ 65% bigger)&lt;br&gt;
&lt;br&gt;
This blog is not about the tooling comparison so back to the Java EE
6 version of the application ....&lt;br&gt;
&lt;br&gt;
In order to run the Java EE version on GlassFish, copy the &lt;a
href="http://dev.mysql.com/downloads/connector/j/"&gt;MySQL
Connector/J&lt;/a&gt; to &lt;code&gt;glassfish3/glassfish/domains/domain1/lib/ext&lt;/code&gt;
directory and create a JDBC connection pool and JDBC resource as:&lt;br&gt;
&lt;pre&gt;./bin/asadmin create-jdbc-connection-pool --datasourceclassname \\
com.mysql.jdbc.jdbc2.optional.MysqlDataSource --restype \\
javax.sql.DataSource --property \\
portNumber=3306:user=mysql:password=mysql:databaseName=mydatabase \\
myConnectionPool
./bin/asadmin create-jdbc-resource --connectionpoolid myConnectionPool jdbc/myDataSource&lt;/pre&gt;
&lt;br&gt;
I generated WARs for the two projects and the table below highlights
some differences between them:&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left; width: 90%;" border="1"
cellpadding="2" cellspacing="2"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th style="vertical-align: top; width: 30%"&gt;&lt;br&gt;
&lt;/th&gt;
&lt;th style="vertical-align: top; width: 35%"&gt;Java EE 6&lt;br&gt;
&lt;/th&gt;
&lt;th style="vertical-align: top;width: 35%"&gt;Spring&lt;br&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;width: 30%"&gt;WAR File Size&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;0.021030 MB&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;10.87 MB (~516x)&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;width: 30%"&gt;Number of files&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;20&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;53 (&amp;gt; 2.5x)&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;width: 30%"&gt;Bundled libraries&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;0&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;36&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;width: 30%"&gt;Total size of
libraries&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;0&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;12.1 MB&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;width: 30%"&gt;XML files&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;3&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;5&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;width: 30%"&gt;LoC in XML files&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;50 (11 + 15 + 24)&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;129 (27 + 46 + 16 +
11 + 19) (~ 2.5x)&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;width: 30%"&gt;Total .properties
files&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;1&lt;br&gt;
Bundle.properties&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;2&lt;br&gt;
spring.properties, log4j.properties&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;width: 30%"&gt;Cold Deploy&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;5,339 ms&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;11,724 ms&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;width: 30%"&gt;Second Deploy&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;481 ms&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;6,261 ms&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;width: 30%"&gt;Third Deploy&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;528 ms&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width: 35%"&gt;5,484 ms&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;width: 30%"&gt;Fourth Deploy&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width=35%"&gt;484 ms&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;width=35%"&gt;5,576 ms&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;Runtime memory&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;~73 MB&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;~101 MB&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
Some points worth highlighting from the table ...&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-weight: bold;"&gt;516x WAR file, 10x deployment
time&lt;/span&gt; - With 12.1 MB of libraries (for a very basic
application) bundled in your application, the WAR file size and
the deployment time will naturally go higher. The WAR file for
Spring-based application is 516x bigger and the deployment time
is double during the first deployment and ~ 10x during
subsequent deployments. The Java EE 6 application is fully
portable and will run on any Java EE 6 compliant application
server.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-weight: bold;"&gt;36 libraries in the WAR&lt;/span&gt;
- There are &lt;a
href="http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html"&gt;14











Java





EE 6 compliant application servers&lt;/a&gt; today. Each of those
servers provide all the functionality like transactions,
dependency injection, security, persistence, etc typically
required of an enterprise or web application. There is no need
to bundle 36 libraries worth 12.1 MB for a trivial CRUD
application. These 14 compliant application servers provide all
the functionality baked in.&lt;br&gt;
&lt;br&gt;
Now you can also deploy these libraries in the container but
then you don't get the "portability" offered by Spring in that
case. Does your typical Spring deployment actually do that ?&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-weight: bold;"&gt;3x LoC in XML&lt;/span&gt; - The
number of XML files is about 1.6x and the LoC is ~ 2.5x. So much
XML seems circa 2003 when the Java language had no annotations.
The XML files can be further reduced, e.g. faces-config.xml can
be replaced without providing i18n, but I just want to compare
stock applications.&lt;/li&gt;
&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Memory usage&lt;/span&gt; - Both
the applications were deployed on default GlassFish 3.1.2
installation and any additional memory consumed as part of
deployment/access was attributed to the application. This is by
no means scientific but at least provides an initial ballpark.
This area definitely needs more investigation.&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Another table that compares typical Java EE 6 compliant
application servers and the custom-stack created for a Spring
application ...&lt;br&gt;
&lt;/p&gt;
&lt;table style=" text-align: left; width: 90%;" border="1"
cellpadding="2" cellspacing="2"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th style="vertical-align: top;"&gt;&lt;br&gt;
&lt;/th&gt;
&lt;th style="vertical-align: top; text-align: center;"&gt;Java EE 6&lt;br&gt;
&lt;/th&gt;
&lt;th style="vertical-align: top; text-align: center;"&gt;Spring&lt;br&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;Web Container&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;✓&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;53 MB
(tcServer 2.6.3 Developer Edition)&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;Security&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;✓ &lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;12 MB
(Spring Security 3.1.0)&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;Persistence&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;✓ &lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;6.3 MB
(Hibernate 4.1.0, required)&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;Dependency Injection&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;✓ &lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;5.3 MB
(Framework)&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;Web Services&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;✓ &lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;796 KB
(Spring WS 2.0.4)&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;Messaging&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;✓ &lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;3.4 MB
(RabbitMQ Server 2.7.1)&lt;br&gt;
936 KB (Java client 936)&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;OSGi&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;✓&lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;1.3 MB
(Spring OSGi 1.2.1)&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;GlassFish
and WebLogic (starting at 33 MB)&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; text-align: center;"&gt;83.3 MB&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
There are differentiating factors on both the stacks. But most of
the functionality like security, persistence, and dependency
injection is baked in a Java EE 6 compliant application server but
needs to be individually managed and patched for a Spring
application. This very quickly leads to a "stack explosion". The
Java EE 6 servers are tested extensively on a variety of platforms
in different combinations whereas a Spring application developer is
responsible for testing with different JDKs, Operating Systems,
Versions, Patches, etc. Oracle
&lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"&gt;
has both the leading OSS lightweight server with GlassFish and the
leading enterprise Java server with WebLogic Server, both Java EE 6
and both with lightweight deployment options.&lt;br&gt;
&lt;br&gt;
The Web Container offered as part of a Java EE 6 application server
not only deploys your enterprise Java applications but also provide
operational management, diagnostics, and mission-critical
capabilities required by your applications.&lt;br&gt;
&lt;br&gt;
The Java EE 6 platform also introduced the Web Profile which is a
subset of the specifications from the entire platform. It is
targeted at developers of modern web applications offering a
reasonably complete stack, composed of standard APIs, and is capable
out-of-the-box of addressing the needs of a large class of Web
applications. As your applications grow, the stack can grow to the
full Java EE 6 platform. The GlassFish Server Web Profile starting
at 33MB (smaller than just the non-standard tcServer) provides most
of the functionality typically required by a web application.
WebLogic provides battle-tested functionality for a high throughput,
low latency, and enterprise grade web application. No individual
managing or patching, all tested and commercially supported for you!&lt;br&gt;
&lt;br&gt;
&lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"&gt;
Note that VMWare does have a server, tcServer, but it is
non-standard and not even certified to the level of the standard Web
Profile most customers expect these days. Customers who choose this
risk proprietary lock-in since VMWare does not seem to want to
formally certify with either Java EE 6 Enterprise Platform or with
Java EE 6 Web Profile but of course it would be great if they were
to join the community and help their customers reduce the risk of
deploying on VMWare software.&lt;br&gt;
&lt;p&gt;Some more points to help you decide choose between Java EE 6 and
Spring ...&lt;br&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Freedom to choose container&lt;/span&gt;
- There are &lt;a
href="http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html"&gt;14
Java





EE 6 compliant&lt;/a&gt; application servers today, with a variety
of open source and commercial offerings. A Java EE 6 application
can be deployed on any of those containers. So if you deployed
your application on GlassFish today and would like to scale up
with your demands then you can deploy the same application to
WebLogic. And because of the portability of a Java EE 6
application, you can even take it a different vendor altogether.
&lt;br&gt;
&lt;br&gt;
Spring requires a runtime which could be any of these app
servers as well. But why use Spring when all the required
functionality is already baked into the application server
itself ?&lt;br&gt;
&lt;br&gt;
Spring also has a different definition of portability where they
claim to bundle all the libraries in the WAR file and move to
any application server. But we saw earlier how bloated that
archive could be.&lt;br&gt;
&lt;br&gt;
The equivalent features in Spring runtime offerings (mainly
tcServer) are not all open source, not as mature, and often
require manual assembly.&amp;nbsp; &lt;br&gt;
&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Vendor choice&lt;/span&gt; - The
Java EE 6 platform is created using the Java Community Process
where all the big players like Oracle, IBM, RedHat, and Apache
are conritbuting to make the platform successful. Each
application server provides the basic Java EE 6 platform
compliance and has its own competitive offerings. This allows
you to choose an application server for deploying your Java EE 6
applications. If you are not happy with the support or feature
of one vendor then you can move your application to a different
vendor because of the portability promise offered by the
platform. &lt;br&gt;
&lt;br&gt;
Spring is a set of products from a single company, one price
book, one support organization, one sustaining organization, one
sales organization, etc. If any of those cause a customer
headache, where do you go ? Java EE, backed by multiple vendors,
is a safer bet for those that are risk averse.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Production support&lt;/span&gt; -
With Spring, typically you need to get support from two vendors
- VMWare and the container provider. With Java EE 6, all of this
is typically provided by one vendor. For example, Oracle offers
commercial support from systems, operating systems, JDK,
application server, and applications on top of them. VMWare
certainly offers complete production support but do you really
want to put all your eggs in one basket ?&lt;br&gt;
&lt;br&gt;
Do you really use tcServer ? ;-)&lt;/li&gt;
&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Maintainability&lt;/span&gt; - With
Spring, you are likely building your own distribution with
multiple JAR files, integrating, patching, versioning, etc of
all those components. Spring's claim is that multiple JAR files
allow you to go à la carte and pick the latest versions of
different components. But who is responsible for testing whether
all these versions work together ? &lt;br&gt;
&lt;br&gt;
Yep, you got it, its YOU!&lt;br&gt;
If something does not work, who patches and maintains the JARs ?
Of course, you!&lt;br&gt;
Commercial support for such a configuration ? On your own!&lt;br&gt;
&lt;br&gt;
The Java EE application servers manage all of this for you and
provide a well-tested and commercially supported bundle.
&lt;meta http-equiv="content-type" content="text/html;
charset=UTF-8"&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"&gt;
While it is always good to realize that there is something new and
improved that updates and replaces older frameworks like Spring, the
good news is not only does a Java EE 6 container offer what is
described here, most also will let you deploy and run your Spring
applications on them while you go through an upgrade to a more
modern architecture. End result, you get the best of both worlds -
keeping your legacy investment but moving to a more agile,
lightweight world of Java EE 6.&lt;br&gt;
&lt;br&gt;
A message to the Spring lovers ...&lt;br&gt;
&lt;br&gt;
The complexity in J2EE 1.2, 1.3, and 1.4 led to the genesis of
Spring but that was in 2004. This is 2012 and the name has changed
to "Java EE 6" :-) There are tons of improvements in the Java EE
platform to make it easy-to-use and powerful. Some examples:
&lt;ul&gt;
&lt;li&gt;Adding @Stateless on a POJO makes it an EJB&lt;/li&gt;
&lt;li&gt;EJBs can be packaged in a WAR with no special packaging or
deployment descriptors&lt;/li&gt;
&lt;li&gt;"web.xml" and "faces-config.xml" are optional in most of the
common cases&lt;/li&gt;
&lt;li&gt;Typesafe dependency injection is now part of the Java EE
platform&lt;/li&gt;
&lt;li&gt;Add @Path on a POJO allows you to publish it as a RESTful
resource&lt;/li&gt;
&lt;li&gt;EJBs can be used as backing beans for Facelets-driven JSF
pages providing full MVC&lt;/li&gt;
&lt;li&gt;Java EE 6 WARs are known to be kilobytes in size and deployed
in milliseconds&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Tons of other simplifications in the platform and application
servers&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
So if you moved away from J2EE to Spring many years ago and have not
looked at Java EE 6 (which has been out since Dec 2009) then you
should definitely try it out. Just be at least aware of what other
alternatives are available instead of restricting yourself to one
stack. Here are some workshops and screencasts worth trying:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
href="http://www.youtube.com/watch?feature=player_embedded&amp;amp;v=UBNaiVWwAZw"&gt;screencast

















#37&lt;/a&gt; shows how to build an end-to-end application using
NetBeans&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a
href="https://blogs.oracle.com/arungupta/entry/web_app_development_using_java"&gt;screencast

















#36&lt;/a&gt; builds the same application using Eclipse&lt;/li&gt;
&lt;li&gt;&lt;a
href="https://blogs.oracle.com/arungupta/resource/javaee6-hol-feb2012.pdf"&gt;javaee-lab-feb2012.pdf&lt;/a&gt;
is a 3-4 hours self-paced hands-on workshop that guides you to
build a comprehensive Java EE 6 application using NetBeans&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
Each city generally has a "spring cleanup" program every year. It
allows you to clean up the mess from your house. For your software
projects, you don't need to wait for an annual event, just get
started and reduce the technical debt now! Move away from your
legacy Spring-based applications to a lighter and more modern
approach of building enterprise Java applications using Java EE 6.&lt;br&gt;
&lt;br&gt;
Watch this beautiful presentation that explains how to migrate from
Spring -&amp;gt; Java EE 6: &lt;br&gt;
&lt;br&gt;
&lt;object height="780" width="480"&gt;&lt;param name="movie"
value="http://www.parleys.com/dist/share/parleysshare.swf"&gt;&lt;param
name="allowFullScreen" value="true"&gt;&lt;param name="wmode"
value="direct"&gt;&lt;param name="bgcolor" value="#222222"&gt;&lt;param
name="flashVars" value="sv=true&amp;amp;pageId=2749"&gt;&lt;embed
src="http://www.parleys.com/dist/share/parleysshare.swf"
type="application/x-shockwave-flash"
flashvars="sv=true&amp;amp;pageId=2749" allowfullscreen="true"
bgcolor="#222222" height="780" width="480"&gt;&lt;/object&gt; &lt;br&gt;
&lt;br&gt;
List of files in the Java EE 6 project: &lt;br&gt;
&lt;br&gt;
&lt;pre&gt;./index.xhtml&lt;br&gt;./META-INF&lt;br&gt;./person&lt;br&gt;./person/Create.xhtml&lt;br&gt;./person/Edit.xhtml&lt;br&gt;./person/List.xhtml&lt;br&gt;./person/View.xhtml&lt;br&gt;./resources&lt;br&gt;./resources/css&lt;br&gt;./resources/css/jsfcrud.css&lt;br&gt;./template.xhtml&lt;br&gt;./WEB-INF&lt;br&gt;./WEB-INF/classes&lt;br&gt;./WEB-INF/classes/Bundle.properties&lt;br&gt;./WEB-INF/classes/META-INF&lt;br&gt;./WEB-INF/classes/META-INF/persistence.xml&lt;br&gt;./WEB-INF/classes/org&lt;br&gt;./WEB-INF/classes/org/javaee&lt;br&gt;./WEB-INF/classes/org/javaee/javaeemysql&lt;br&gt;./WEB-INF/classes/org/javaee/javaeemysql/AbstractFacade.class&lt;br&gt;./WEB-INF/classes/org/javaee/javaeemysql/Person.class&lt;br&gt;./WEB-INF/classes/org/javaee/javaeemysql/Person_.class&lt;br&gt;./WEB-INF/classes/org/javaee/javaeemysql/PersonController$1.class&lt;br&gt;./WEB-INF/classes/org/javaee/javaeemysql/PersonController$PersonControllerConverter.class&lt;br&gt;./WEB-INF/classes/org/javaee/javaeemysql/PersonController.class&lt;br&gt;./WEB-INF/classes/org/javaee/javaeemysql/PersonFacade.class&lt;br&gt;./WEB-INF/classes/org/javaee/javaeemysql/util&lt;br&gt;./WEB-INF/classes/org/javaee/javaeemysql/util/JsfUtil.class&lt;br&gt;./WEB-INF/classes/org/javaee/javaeemysql/util/PaginationHelper.class&lt;br&gt;./WEB-INF/faces-config.xml&lt;br&gt;./WEB-INF/web.xml&lt;br&gt;&lt;br&gt;&lt;/pre&gt;
List of files in the Spring 3.x project:&lt;br&gt;
&lt;br&gt;
&lt;pre&gt;./META-INF
./META-INF/MANIFEST.MF&lt;br&gt;./WEB-INF&lt;br&gt;./WEB-INF/applicationContext.xml&lt;br&gt;./WEB-INF/classes&lt;br&gt;./WEB-INF/classes/log4j.properties&lt;br&gt;./WEB-INF/classes/org./WEB-INF/classes/org/krams
./WEB-INF/classes/org/krams/tutorial
./WEB-INF/classes/org/krams/tutorial/controller
./WEB-INF/classes/org/krams/tutorial/controller/MainController.class
./WEB-INF/classes/org/krams/tutorial/domain
./WEB-INF/classes/org/krams/tutorial/domain/Person.class
./WEB-INF/classes/org/krams/tutorial/service
./WEB-INF/classes/org/krams/tutorial/service/PersonService.class
./WEB-INF/hibernate-context.xml
./WEB-INF/hibernate.cfg.xml
./WEB-INF/jsp
./WEB-INF/jsp/addedpage.jsp
./WEB-INF/jsp/addpage.jsp
./WEB-INF/jsp/deletedpage.jsp
./WEB-INF/jsp/editedpage.jsp
./WEB-INF/jsp/editpage.jsp
./WEB-INF/jsp/personspage.jsp
./WEB-INF/lib
./WEB-INF/lib/antlr-2.7.6.jar
./WEB-INF/lib/aopalliance-1.0.jar
./WEB-INF/lib/c3p0-0.9.1.2.jar
./WEB-INF/lib/cglib-nodep-2.2.jar
./WEB-INF/lib/commons-beanutils-1.8.3.jar
./WEB-INF/lib/commons-collections-3.2.1.jar
./WEB-INF/lib/commons-digester-2.1.jar
./WEB-INF/lib/commons-logging-1.1.1.jar
./WEB-INF/lib/dom4j-1.6.1.jar
./WEB-INF/lib/ejb3-persistence-1.0.2.GA.jar
./WEB-INF/lib/hibernate-annotations-3.4.0.GA.jar
./WEB-INF/lib/hibernate-commons-annotations-3.1.0.GA.jar
./WEB-INF/lib/hibernate-core-3.3.2.GA.jar
./WEB-INF/lib/javassist-3.7.ga.jar
./WEB-INF/lib/jstl-1.1.2.jar
./WEB-INF/lib/jta-1.1.jar
./WEB-INF/lib/junit-4.8.1.jar
./WEB-INF/lib/log4j-1.2.14.jar
./WEB-INF/lib/mysql-connector-java-5.1.14.jar
./WEB-INF/lib/persistence-api-1.0.jar
./WEB-INF/lib/slf4j-api-1.6.1.jar
./WEB-INF/lib/slf4j-log4j12-1.6.1.jar
./WEB-INF/lib/spring-aop-3.0.5.RELEASE.jar
./WEB-INF/lib/spring-asm-3.0.5.RELEASE.jar
./WEB-INF/lib/spring-beans-3.0.5.RELEASE.jar
./WEB-INF/lib/spring-context-3.0.5.RELEASE.jar
./WEB-INF/lib/spring-context-support-3.0.5.RELEASE.jar
./WEB-INF/lib/spring-core-3.0.5.RELEASE.jar
./WEB-INF/lib/spring-expression-3.0.5.RELEASE.jar
./WEB-INF/lib/spring-jdbc-3.0.5.RELEASE.jar
./WEB-INF/lib/spring-orm-3.0.5.RELEASE.jar
./WEB-INF/lib/spring-tx-3.0.5.RELEASE.jar
./WEB-INF/lib/spring-web-3.0.5.RELEASE.jar
./WEB-INF/lib/spring-webmvc-3.0.5.RELEASE.jar
./WEB-INF/lib/standard-1.1.2.jar
./WEB-INF/lib/xml-apis-1.0.b2.jar
./WEB-INF/spring-servlet.xml
./WEB-INF/spring.properties
./WEB-INF/web.xml&lt;br&gt;&lt;br&gt;&lt;/pre&gt;
So, are you excited about Java EE 6 ? Want to get started now ? Here
are some resources: &lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
href="http://www.oracle.com/technetwork/java/javaee/downloads/index.html"&gt;Java






EE 6 SDK&lt;/a&gt; (including runtime, samples, tutorials etc)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://glassfish.java.net/downloads/3.1.2-final.html"&gt;GlassFish






Server Open Source Edition 3.1.2&lt;/a&gt; (Community)&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://www.oracle.com/technetwork/java/javaee/downloads/ogs-3-1-1-downloads-439803.html?ssSourceSiteId=ocomen"&gt;Oracle






GlassFish Server 3.1.2&lt;/a&gt; (Commercial)&lt;/li&gt;
&lt;li&gt;&lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_using_weblogic"&gt;Java






EE 6 using WebLogic 12c and NetBeans&lt;/a&gt; (Video)&lt;/li&gt;
&lt;li&gt;&lt;a
href="https://blogs.oracle.com/arungupta/entry/screencast_37_java_ee_6"&gt;Java






EE 6 with NetBeans and GlassFish&lt;/a&gt; (Video)&lt;/li&gt;
&lt;li&gt;&lt;a
href="https://blogs.oracle.com/arungupta/entry/web_app_development_using_java"&gt;Java






EE with Eclipse and GlassFish&lt;/a&gt; (Video)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/59GB8Ai5OuuzlAnT02juf1JREps/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/59GB8Ai5OuuzlAnT02juf1JREps/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/59GB8Ai5OuuzlAnT02juf1JREps/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/59GB8Ai5OuuzlAnT02juf1JREps/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/u4Okpi7nMPs" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/why_java_ee_6_is</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/javaone_2012_cfp_open_ends</id>
        <title type="html">JavaOne 2012 CFP Open - Ends April 9</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/CR1KrLJJxeE/javaone_2012_cfp_open_ends" />
        <published>2012-03-14T16:05:27+00:00</published>
        <updated>2012-03-14T16:05:27+00:00</updated> 
        <category term="/General" label="General" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaone" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sanfrancisco" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;a
href="http://www.oracle.com/javaone/call-for-papers/information/index.html"&gt;&lt;img
alt=""
src="https://blogs.oracle.com/arungupta/resource/javaone-2012-logo.png"
style="border: 0px solid; width: 392px; height: 77px;"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;a href="http://oracle.com/javaone"&gt;JavaOne 2012&lt;/a&gt; San Francisco
is the 17th edition of the premier Java developer conference. The &lt;a
href="http://www.oracle.com/javaone/call-for-papers/information/index.html"&gt;Call
For Papers&lt;/a&gt; for this conference is now open. The main tracks
are:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Core Java Platform&lt;/li&gt;
&lt;li&gt;Development Tools and Techniques&lt;/li&gt;
&lt;li&gt;Emerging Langauges on the JVM&lt;/li&gt;
&lt;li&gt;Enterprise Services Architectures and the Cloud&lt;/li&gt;
&lt;li&gt;Java EE Web Profile and Platform Technologies&lt;/li&gt;
&lt;li&gt;Java ME, Java Card, Embedded, and Devices&lt;/li&gt;
&lt;li&gt;Java FX and Rich User Experiences&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;span style="font-weight: bold;"&gt;What are the key dates ?&lt;/span&gt;&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left; width: 80%;" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;Call for Papers Start&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;Mar 14, Wednesday&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;Call for Papers End&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;11:59 pm PDT, April 9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;Accept/Decline Notifications&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;End of May/Early June&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;Speakers to Accept Sessions&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;Mid-June&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
Here is some personal insight into the &lt;a
href="https://blogs.oracle.com/arungupta/entry/javaone_2011_content_review_process"&gt;review

process and tips for submissions&lt;/a&gt;. Bottom line ...&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;No product/marketing pitches, pure technology talks&lt;/li&gt;
&lt;li&gt;Make titles catchy&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Use all the characters for providing details about your
session&lt;/li&gt;
&lt;li&gt;Make sure to submit talks in the appropriate track&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
More &lt;a
href="http://www.oracle.com/javaone/call-for-papers/guidelines/index.html"&gt;tips
here&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
This year the conference is happening again at &lt;a
href="https://blogs.oracle.com/arungupta/entry/javaone_san_francisco_2011_oct"&gt;The
Zone&lt;/a&gt;:&lt;br&gt;
&lt;br&gt;
&lt;iframe marginheight="0" marginwidth="0"
src="http://maps.google.com/maps/ms?ie=UTF8&amp;amp;t=h&amp;amp;msa=0&amp;amp;msid=215435580086277558608.0004a1ef0072cc9389a61&amp;amp;ll=37.785622,-122.409335&amp;amp;spn=0.002968,0.00456&amp;amp;z=17&amp;amp;output=embed"
frameborder="0" height="350" scrolling="no" width="425"&gt;&lt;/iframe&gt;&lt;br&gt;
&lt;small&gt;View &lt;a
href="http://maps.google.com/maps/ms?ie=UTF8&amp;amp;t=h&amp;amp;msa=0&amp;amp;msid=215435580086277558608.0004a1ef0072cc9389a61&amp;amp;ll=37.785622,-122.409335&amp;amp;spn=0.002968,0.00456&amp;amp;z=17&amp;amp;source=embed"
style="color:#0000FF;text-align:left"&gt;The Zone - JavaOne
Conference Location&lt;/a&gt; in a larger map&lt;/small&gt; &lt;br&gt;
&lt;br&gt;
Here is some of the feedback from last year's JavaOne:&lt;br&gt;
&lt;br&gt;
&lt;span style="font-style: italic;"&gt;Not only thrill + thunder, but
also fun is back! #javaone11&lt;/span&gt;&lt;br style="font-style: italic;"&gt;
&lt;span style="font-style: italic;"&gt; Big thanx to Oracle for this
really nice conference...really enjoyed it... #javaone11&lt;/span&gt;&lt;br
style="font-style: italic;"&gt;
&lt;span style="font-style: italic;"&gt; JavaOne ended for me at breakfast
this morning. Now we're heading home. Great to be a part of such a
successful show this year! #javaone11&lt;/span&gt;&lt;br style="font-style:
italic;"&gt;
&lt;span style="font-style: italic;"&gt; #FF to all my fellow dev ghat
attended #javaone11. Really happy to be part of such a great
community.&lt;/span&gt;&lt;br style="font-style: italic;"&gt;
&lt;span style="font-style: italic;"&gt; Good nigth San Francisco, I had a
great week at #javaone11 very productive and motivating. Will I
ever be back&lt;/span&gt;&lt;br style="font-style: italic;"&gt;
&lt;span style="font-style: italic;"&gt; Sitting at SFO waiting for my
plane back. What an amazing #javaone11 lies behind us. Thanks to
everybody who made it happen.&lt;/span&gt;&lt;br style="font-style:
italic;"&gt;
&lt;span style="font-style: italic;"&gt; Thanks @Sharat_Chander for an
excellent #javaone11. Looking forward to many more to come.&lt;/span&gt;&lt;br
style="font-style: italic;"&gt;
&lt;span style="font-style: italic;"&gt; #JavaOne11 is a wrap! Great
conference and thanks @Oracle for listening to the community for
improvements.&lt;/span&gt;&lt;br style="font-style: italic;"&gt;
&lt;span style="font-style: italic;"&gt; last session at #javaone11
#javaone. it was most productive week in this year for me as
developer&lt;/span&gt;&lt;br style="font-style: italic;"&gt;
&lt;span style="font-style: italic;"&gt; It would be a great achievement
in my dev life if I come back to #javaone11 as a speaker.&lt;/span&gt;&lt;br&gt;
&lt;br&gt;
Don't you want to be part of this premier Java event ?&lt;br&gt;
&lt;br&gt;
What are you waiting for ? Just go ahead and share your passion with
rest of the Java community. You can submit a Technical Session,
Panel, and Birds-of-Feather. Read more details about &lt;a
href="http://www.oracle.com/javaone/call-for-papers/submission/index.html"&gt;submission
guidelines&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
You've 27 days to &lt;a
href="http://www.oracle.com/javaone/call-for-papers/information/index.html"&gt;submit

your talk&lt;/a&gt;! Don't wait too long though ;-)&lt;br&gt;
&lt;br&gt;
Check out &lt;a
href="https://blogs.oracle.com/arungupta/tags/javaone+sanfrancisco"&gt;blog

reports and pictures from last year&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Stay connected on JavaOne using any of the social media channels:&lt;br&gt;
&lt;br&gt;
&lt;img style=" width: 255px; height: 50px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/JavaOne-QuickBar-2012.png"
usemap="#quickbar_imagemap"&gt; &lt;map name="quickbar_imagemap"&gt;
&lt;area shape="rect" alt="" title="@JavaOneConf" coords="0,0,45,48"
href="http://twitter.com/JavaOneConf" target=""&gt;
&lt;area shape="rect" alt="" title="facebook.com/javaone" coords="50,0,95,48"
href="http://facebook.com/javaone" target=""&gt;
&lt;area shape="rect" alt="" title="JavaOne group @ LinkedIn" coords="99,0,147,48"
href="http://www.linkedin.com/groups/JavaOne-Conference-1749197"
target=""&gt;
&lt;area shape="rect" alt="" title="blogs.oracle.com/javaone" coords="151,0,199,48"
href="https://blogs.oracle.com/javaone/" target=""&gt;
&lt;area shape="rect" alt="" title="JavaOne @ Oracle Mix" coords="204,0,252,48"
href="https://mix.oracle.com/groups/20893" target=""&gt;
&lt;/map&gt;
&lt;br&gt;
&lt;br&gt;
Don't wait, &lt;a
href="http://www.oracle.com/javaone/call-for-papers/information/index.html"&gt;submit
your talk now&lt;/a&gt;!&lt;br&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VE8x5BFt_S1wjL1BK47Fyvj6exQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VE8x5BFt_S1wjL1BK47Fyvj6exQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VE8x5BFt_S1wjL1BK47Fyvj6exQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VE8x5BFt_S1wjL1BK47Fyvj6exQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/CR1KrLJJxeE" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/javaone_2012_cfp_open_ends</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/java_ee_6_7_at</id>
        <title type="html">Java EE 6/7 at 33rd Degree (Krakow) and Codemotion (Rome and Madrid)</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/YmzhoyxMMmc/java_ee_6_7_at" />
        <published>2012-03-12T06:00:00+00:00</published>
        <updated>2012-03-12T06:00:00+00:00</updated> 
        <category term="/General" label="General" />
        <category term="33degree" scheme="http://roller.apache.org/ns/tags/" />
        <category term="codemotion" scheme="http://roller.apache.org/ns/tags/" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="krakow" scheme="http://roller.apache.org/ns/tags/" />
        <category term="madrid" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <category term="poland" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rome" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
The conference circuit for March takes Java EE 6/7 to Krakow, Rome,
and Madrid ...&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left; width: 100%;" border="0"
cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;" width="20%"&gt;&lt;img style="
width: 125px; height: 187px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/33degree-2012-logo.png"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;span style="font-weight:
bold;"&gt;What ?&lt;/span&gt; Java EE 6 hands-on workshop (Mar 20,
9-12:30pm), The Java EE 7 Platform (Mar 21, 11:30am)&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Date ?&lt;/span&gt; Saturday,
Mar 20 and Sunday Mar 21, 2012&lt;span style="font-weight:
bold;"&gt;&lt;/span&gt;&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Where ?&lt;/span&gt; &lt;a
href="http://www.bestwesternkrakow.pl/"&gt;Best Western
Premium Krakow&lt;/a&gt;&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Register ?&lt;/span&gt; &lt;a
href="http://2012.33degree.org/main/register"&gt;Here&lt;/a&gt;
(sold out already)&lt;a
href="http://jugice-ag2012-eorg.eventbrite.com/"&gt;&lt;/a&gt;&lt;span
style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Prep work:&lt;/span&gt; Download
and Install NetBeans 7.1 or later ("All" version) from &lt;a
href="http://netbeans.org"&gt;netbeans.org&lt;/a&gt;, JDK 6 or 7
latest update from &lt;a
href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"&gt;oracle.com/javase&lt;/a&gt;.&lt;span
style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br&gt;
&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left; width: 100%;" border="0"
cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;" width="20%"&gt;&lt;img style="
width: 175px; height: 66px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/codemotion-2012-logo.png"&gt;&lt;br&gt;
&lt;img style=" width: 175px; height: 100px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/codemotion-rome-2012-logo.png"&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;span style="font-weight:
bold;"&gt;What ?&lt;/span&gt; &lt;a
href="http://www.codemotion.it/en/talk/jax-rs-20-restful-java-steroids"&gt;JAX-RS

2.0: RESTful Java on Steroids&lt;/a&gt;&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Date ?&lt;/span&gt; Mar 23, 2012&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Time ?&lt;/span&gt; 9:50am&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Where ?&lt;/span&gt; &lt;a
href="http://www.codemotion.it/en/where"&gt;Engineering
Department of Roma&lt;/a&gt;&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Register ?&lt;/span&gt; &lt;a
href="http://www.codemotion.it/en/register"&gt;codemotion.it&lt;/a&gt;&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Website:&lt;/span&gt; &lt;a
href="http://www.codemotion.it/en/"&gt;codemotion.it&lt;/a&gt;&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Twitter:&lt;/span&gt; &lt;a
href="https://twitter.com/#%21/CodemotionRoma"&gt;@CodemotionRoma&lt;/a&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left; width: 100%;" border="0"
cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;" width="20%"&gt;&lt;img style="
width: 175px; height: 66px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/codemotion-2012-logo.png"&gt;&lt;br&gt;
&lt;img style=" width: 175px; height: 71px;" alt=""
src="https://blogs.oracle.com/arungupta/resource/codemotion-madrid-2012-logo.png"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;span style="font-weight:
bold;"&gt;What ?&lt;/span&gt; &lt;a
href="http://www.codemotion.es/talks#t997"&gt;The Java EE 7
Platform, Developing for the Cloud&lt;/a&gt; (10:30 - 11:15am) ,
&lt;a href="http://www.codemotion.es/talks#t1000"&gt;JAX-RS 2:0:
RESTful Java on Steroids&lt;/a&gt; (4-4:45pm)&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Date ?&lt;/span&gt; Mar 24, 2012&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Time ?&lt;/span&gt; All Day&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Where ?&lt;/span&gt; &lt;a
href="http://www.codemotion.es/en/venue"&gt;School of
Computer Science, Polytechnic University of Madrid&lt;/a&gt;&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Register ?&lt;/span&gt; &lt;a
href="http://www.codemotion.es/en/register"&gt;codemotion.es&lt;/a&gt;&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Website:&lt;/span&gt; &lt;a
href="http://www.codemotion.es/en/"&gt;codemotion.es&lt;/a&gt;&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Twitter:&lt;/span&gt; &lt;a
href="https://twitter.com/#%21/Codemotion_es"&gt;@Codemotion_es&lt;/a&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
&lt;br&gt;
Where will I meet or run with you ? :)&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/n-7BF4OBMx4p9E1YyimNE_CLAWQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n-7BF4OBMx4p9E1YyimNE_CLAWQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/n-7BF4OBMx4p9E1YyimNE_CLAWQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n-7BF4OBMx4p9E1YyimNE_CLAWQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/YmzhoyxMMmc" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/java_ee_6_7_at</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/javaone_india_2012_cfp_now</id>
        <title type="html">JavaOne India 2012 CFP Now Open - Submit Now!</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/IepbQA42ihM/javaone_india_2012_cfp_now" />
        <published>2012-03-02T17:42:23+00:00</published>
        <updated>2012-03-02T17:47:13+00:00</updated> 
        <category term="/General" label="General" />
        <category term="cfp" scheme="http://roller.apache.org/ns/tags/" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="india" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaone" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
&lt;a href="http://www.141sercon.com/webapp/javaone/"&gt;&lt;img
title="JavaOne India 2012 CFP" alt="JavaOne India 2012 CFP"
src="https://blogs.oracle.com/arungupta/resource/javaone-develop-india-2012.png"
style="border: 0px solid; width: 626px; height: 149px;"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;span style="font-weight: bold;"&gt;When ?&lt;/span&gt; May 3-4, 2011&lt;br&gt;
&lt;br&gt;
&lt;span style="font-weight: bold;"&gt;Where ?&lt;/span&gt; &lt;a
href="http://www.hicc.com/"&gt;Hyderabad International Convention
Center&lt;/a&gt;, India&lt;br&gt;
&lt;br&gt;
&lt;span style="font-weight: bold;"&gt;What ?&lt;/span&gt; Technical keynote,
technical sessions, exhibitor halls, hallway conversations, biryani,
etc.&lt;br&gt;
&lt;br&gt;
&lt;span style="font-weight: bold;"&gt;Tracks ?&lt;/span&gt; Four tracks cover
the entire Java landscape ...&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Core Java Platform&lt;/li&gt;
&lt;li&gt;Client-side Technologies and Rich User Experience&lt;/li&gt;
&lt;li&gt;Java EE Web Profile, Platform Technologies, and the Cloud&lt;/li&gt;
&lt;li&gt;Mobile, Java Card, Embedded, and Devices&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Interested ? &lt;a href="http://www.141sercon.com/webapp/javaone/"&gt;Submit
paper now!&lt;/a&gt; CFP ends Mar 15 (13 more days).&lt;br&gt;
&lt;/p&gt;
Some other useful links ...&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.141sercon.com/webapp/javaone/tips.html"&gt;General
tips&lt;/a&gt; for submission&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.141sercon.com/webapp/javaone/tips2.html"&gt;Speaker
guidelines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.141sercon.com/webapp/javaone/tips3.html"&gt;Content
program policies&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
Get some more insight into the CFP review process and &lt;a
href="https://blogs.oracle.com/arungupta/entry/javaone_2011_content_review_process"&gt;tips
for submissions&lt;/a&gt; based upon multiple years of involvement as a
speaker, track lead, attendee, etc.
&lt;p&gt;Are you working on something exciting using the Java platform ? &lt;br&gt;
Would you like to share it at the premier Java conference ? &lt;br&gt;
What are you waiting for ? &lt;br&gt;
Remember CFP ends on Mar 15.&amp;nbsp; &lt;br&gt;
&lt;a href="http://www.141sercon.com/webapp/javaone/"&gt;Submit now!&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;And in case you are wondering what does it mean to be participate
in JavaOne India ? This &lt;a
href="https://blogs.oracle.com/arungupta/entry/javaone_india_2011_trip_report"&gt;blog
report&lt;/a&gt; from last year will provide you some details.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FTiu4ayzNs-bkwtkzzzi66NEpg8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FTiu4ayzNs-bkwtkzzzi66NEpg8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FTiu4ayzNs-bkwtkzzzi66NEpg8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FTiu4ayzNs-bkwtkzzzi66NEpg8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/IepbQA42ihM" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/javaone_india_2012_cfp_now</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/glassfish_3_1_2_is</id>
        <title type="html">GlassFish 3.1.2 is released!</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/6v343SYIOOk/glassfish_3_1_2_is" />
        <published>2012-02-29T19:35:59+00:00</published>
        <updated>2012-02-29T19:35:59+00:00</updated> 
        <category term="/General" label="General" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
GlassFish 3.1.2 is here and &lt;a
href="http://glassfish.java.net/downloads/3.1.2-final.html"&gt;download

it now&lt;/a&gt;!&lt;br&gt;
&lt;br&gt;
This is the latest and the greatest release for GlassFish 3.x. The
three main themes of this release are:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Higher Quality: &lt;a
href="http://java.net/jira/secure/IssueNavigator.jspa?mode=hide&amp;amp;requestId=10838"&gt;500+

bug fixes&lt;/a&gt; improving the overall quality of 3.1.x and still
maintaining backwards compatibility. Several community-filed
bugs are fixed in this release.&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Updated components (see below) alone provide 300+ bug fixes&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;New Features&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;meta http-equiv="content-type" content="text/html;
charset=UTF-8"&gt;
&lt;a
href="https://blogs.oracle.com/anilam/entry/glassfish_3_1_2_admin"&gt;Administration

Console Improvements&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Better startup time and option to load in background after
server startup&lt;/li&gt;
&lt;li&gt;Feature parity with asadmin CLI&lt;/li&gt;
&lt;li&gt;Enabling and disabling secure administration&lt;/li&gt;
&lt;li&gt;Viewing and monitoring app-scoped resources&lt;/li&gt;
&lt;li&gt;Setup SSH and Node installation&lt;/li&gt;
&lt;li&gt;Configure JMS clusters&lt;/li&gt;
&lt;li&gt;Consolidation of monitoring data in a single tab&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Administering Loadbalancer plug-in configurations (only in
Oracle GlassFish Server)&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Improved clustering&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;New DCOM Support for Windows (as an alternative to SSH for
remote management of GlassFish instances)&lt;/li&gt;
&lt;li&gt;Non-Multicast clustering&lt;/li&gt;
&lt;li&gt;mod_proxy_ajp support&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Improved EclipseLink integration with EclipseLink MOXy
support and TopLink Grid support (Coherence as 2nd level data
cache and only in Oracle GlassFish Server)&lt;/li&gt;
&lt;li&gt;WebSocket (RFC 6455) Support&lt;/li&gt;
&lt;li&gt;Transaction recovery using database (in addition to the
existing file system support)&lt;/li&gt;
&lt;li&gt;Improved Security (secure admin requires password, Oracle
GlassFish Server secure by default with new password required
be set during installation or on first use), and SSL Encrypted
traffic between the Domain Administration Server and remote
instances&lt;/li&gt;
&lt;li&gt;&lt;a href="http://netbeans.org/downloads/index.html"&gt;NetBeans
7.1.1&lt;/a&gt; ships with GlassFish Server 3.1.2 (more samples in
NetBeans Update Center)&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Updated Platforms &amp;amp; Components (in addition to existing
platforms, complete &lt;a
href="http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html"&gt;supported

matrix here&lt;/a&gt;)&lt;br&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Supporting Mac OSX 10.7.1 and Ubuntu 11.0.4 as developer
platform&lt;/li&gt;
&lt;li&gt;JDKs&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;JRockit 28.2.2&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;JDK 7 U3 and JDK 6 U31 &lt;br&gt;
&lt;/li&gt;
&lt;li&gt;IBM/AIX JDK 6&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Browsers: Chrome 15.x, Firefox 9+, Safari 5.x, IE 7.x+&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Updated component bundles: JSF/Mojarra 2.1.6, Grizzly
1.9.46, Metro 2.2, Jersey 1.11, Shoal, EclipseLink 2.3.2,
OpenMQ 4.5.2, OSGi Core 4.3.0, Update Center, Hibernate
Validator, JavaDB 10.8.1.2, Weld 1.1.4&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;Check out this video by GlassFish 3.1.2 engineering manager
providing highlights of the release:&lt;/p&gt;
&lt;iframe src="http://www.youtube.com/embed/7EQ17H6ZEo0"
allowfullscreen="" frameborder="0" height="315" width="560"&gt;&lt;/iframe&gt;
&lt;p&gt;Here are some other pointers for you to get started:&lt;br&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
href="http://glassfish.java.net/docs/3.1.2/release-notes.pdf"&gt;Release

Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Download&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
href="http://glassfish.java.net/downloads/3.1.2-final.html"&gt;GlassFish

Server Open Source Edition 3.1.2&lt;/a&gt; (unsupported community
release)&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://www.oracle.com/technetwork/java/javaee/downloads/ogs-3-1-1-downloads-439803.html?ssSourceSiteId=ocomen"&gt;Oracle

GlassFish Server&lt;/a&gt; (&lt;a
href="https://blogs.oracle.com/GlassFishForBusiness/entry/difference_between_glassfish_open_source"&gt;supported&lt;/a&gt;
commercial offering)&lt;/li&gt;
&lt;li&gt; &lt;a
href="http://www.oracle.com/technetwork/java/javaee/downloads/index.html"&gt;Java

EE 6 SDK Update 4&lt;/a&gt; (include samples, docs, APIs, etc)&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;a
href="http://glassfish.java.net/docs/3.1.2/installation-guide.pdf"&gt;Installation

Guide&lt;/a&gt;&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://glassfish.java.net/docs/3.1.2/quick-start-guide.pdf"&gt;Quick

Start Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://download.java.net/glassfish/3.1.2/release/glassfish-ose-3.1.2-docs-pdf.zip"&gt;All-in-one

documentation archive&lt;/a&gt; (Zip bundle of PDFs)&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://download.oracle.com/docs/cd/E17410_01/javaee/6/api/"&gt;Java

EE 6 API Javadoc&lt;/a&gt;&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Feedback to &lt;a
href="http://www.java.net/forums/glassfish/glassfish"&gt;GlassFish

Forums&lt;/a&gt;&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Qm4ha2J89Tz3tChjt2RNWHsR3pg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Qm4ha2J89Tz3tChjt2RNWHsR3pg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Qm4ha2J89Tz3tChjt2RNWHsR3pg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Qm4ha2J89Tz3tChjt2RNWHsR3pg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/6v343SYIOOk" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/glassfish_3_1_2_is</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/java_ee_6_workshop_delivered</id>
        <title type="html">Java EE 6 workshop delivered at Umeå JUG</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/rbz5_9rp1Ks/java_ee_6_workshop_delivered" />
        <published>2012-02-21T22:39:28+00:00</published>
        <updated>2012-02-23T01:00:57+00:00</updated> 
        <category term="/General" label="General" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sweden" scheme="http://roller.apache.org/ns/tags/" />
        <category term="umea" scheme="http://roller.apache.org/ns/tags/" />
        <category term="workshop" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
What's common between &lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_pulled_crowd"&gt;Austin&lt;/a&gt;
(Texas), &lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_netbeans_and"&gt;Reykjavik&lt;/a&gt;
(Iceland), &lt;a
href="https://blogs.oracle.com/arungupta/entry/jfokus_2012_trip_report"&gt;Stockholm&lt;/a&gt;
(Sweden), and Ume&amp;aring; (Sweden) ?&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;They all had a Java EE 6 workshop in the past 2.5 weeks&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;All of them had fairly higher attendance than normal/expected&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Every where the attendees stayed much longer than originally
planned&lt;/li&gt;
&lt;li&gt;The simplicity and power of awesome threesome of Java EE 6,
NetBeans, and GlassFish was very well appreciated by the
attendees&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The recently concluded workshop at &lt;a
href="http://umejug.blogspot.com/"&gt;Ume&amp;aring; JUG&lt;/a&gt; proved yet
again how Java EE 6 can easily attract audience. And now that
WebLogic and GlassFish are Java EE 6 compatible, there is a &lt;a
href="http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html"&gt;wide
variety&lt;/a&gt; of containers available to deploy your applications.
&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;This JUG, part of Javaforum Sweden, is the second most northern
JUG (Reykjavik is the northern most by about 150 km) in a small
university town of about 115,000. The constant sub-zero
temperature and tons of snow during my stay made the cross-country
an interesting first time experience. Running outside in the cold
was harder than I originally thought as the cheeks were getting
cold and making it difficult to talk. Thank you Jonas for teaching
me the basic skills and sharing your &lt;a
href="https://picasaweb.google.com/101195212405190467512/NordicsFeb2012#5711657208861150498"&gt;spiked
running shoes&lt;/a&gt;. Quite an enjoyable experience over all!&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;The interactive attendees learned all about:&lt;br&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Improvements in Java Persistence API 2&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;"web.xml"-free and annotation-driven Servlets&lt;/li&gt;
&lt;li&gt;Simplified packaging of EJBs in a WAR file, no-interface and
single file definition of EJB&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Session preservation across redeploys&lt;/li&gt;
&lt;li&gt;Facelets (XHTML/CSS) as templating language for JavaServer
Faes to achieve true MVC&lt;/li&gt;
&lt;li&gt;Integration of Bean Validation with JPA and JSF&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Typesafe dependency injection and Producer/Observer of events
using CDI&lt;/li&gt;
&lt;li&gt;RESTful resources using JAX-RS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The hands-on lab document is &lt;a
href="https://blogs.oracle.com/arungupta/resource/javaee6-hol-feb2012.pdf"&gt;available












here&lt;/a&gt; and the &lt;a
href="https://blogs.oracle.com/arungupta/resource/JavaEE6SampleApp-Nov2011.zip"&gt;complete












application here&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;Here is a picture with Jonas and &lt;a
href="https://twitter.com/#%21/msallstr/"&gt;Mattias&lt;/a&gt; - the JUG
leaders. Their mission is to learn and spread knowledge about Java
in Ume&amp;aring; by bringing in speakers from all around the world. A
local tech publication (&lt;a
href="http://www.infotechumea.se/eftertraktad-java-evangelist-pa-besok-i-umea"&gt;InfoTech
Ume&amp;aring;&lt;/a&gt;) also talked about the workshop. Here is a
picture from the &lt;a
href="http://www.infotechumea.se/eftertraktad-java-evangelist-pa-besok-i-umea"&gt;article&lt;/a&gt;:&lt;br&gt;
&lt;/p&gt;
&lt;br&gt;
&lt;a
href="http://www.infotechumea.se/eftertraktad-java-evangelist-pa-besok-i-umea"&gt;&lt;img
title="Jonas, Arun, Mattias at Ume&amp;aring; JUG" alt="Jonas, Arun,
Mattias at Ume&amp;aring; JUG"
src="http://www.infotechumea.se/Gemensamt/Bilder/Nyheter/120212umeajava01.jpg"
style="border: 0px solid; border: 0px solid; width: 577px;
height: 270px;"&gt;&lt;/a&gt;&lt;br&gt;
(Image Credits: &lt;a
href="http://www.infotechumea.se/eftertraktad-java-evangelist-pa-besok-i-umea"&gt;InfoTech
Ume&amp;aring;&lt;/a&gt;)&lt;br&gt;
&lt;br&gt;
And some more pictures from the visit ...&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-9V-72dmPDOM/T0PiQmlrjTI/AAAAAAAAddE/UO0kAJ5HNsI/s288/DSCN1721.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-RSVO-pU67qM/T0PiEAftH_I/AAAAAAAAdb8/-SiuFzZcgoA/s288/DSCN1700.JPG"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-5rmQTRT7Pyk/T0PiAHCrtKI/AAAAAAAAdbY/M9S63P0-66w/s288/DSCN1691.JPG"&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-fYCxtnre_tk/T0PiImsWKQI/AAAAAAAAdcc/GBqWkNU2f20/s288/DSCN1710.JPG"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-ZDoUGaOy0L4/T0PiKeROWaI/AAAAAAAAdco/EgY_CxuAvkY/s288/DSCN1713.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-mqya-ox2yUg/T0PiLsRpZ8I/AAAAAAAAdc0/VuxfQPD1JQM/s288/DSCN1716.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
The complete photo album is available at (pictures are from &lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_netbeans_and"&gt;trip
to JUGICE&lt;/a&gt; and &lt;a
href="https://blogs.oracle.com/arungupta/entry/jfokus_2012_trip_report"&gt;Jfokus&lt;/a&gt;)&amp;nbsp;
...&lt;br&gt;
&lt;br&gt;
&lt;embed type="application/x-shockwave-flash"
src="https://picasaweb.google.com/s/c/bin/slideshow.swf"
flashvars="host=picasaweb.google.com&amp;amp;hl=en_US&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F101195212405190467512%2Falbumid%2F5707649739211093233%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US"
pluginspage="http://www.macromedia.com/go/getflashplayer"
height="192" width="288"&gt; &lt;br&gt;
&lt;br&gt;
Next stop &lt;a href="http://2012.33degree.org/"&gt;33rd Degree&lt;/a&gt; and &lt;a
href="http://www.codemotion.it/"&gt;Codemotion&lt;/a&gt; ...&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YbY614pvDgA9DoheajL4MNkstUg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YbY614pvDgA9DoheajL4MNkstUg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YbY614pvDgA9DoheajL4MNkstUg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YbY614pvDgA9DoheajL4MNkstUg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/rbz5_9rp1Ks" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/java_ee_6_workshop_delivered</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/jfokus_2012_trip_report</id>
        <title type="html">Jfokus 2012 Trip Report</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/mtDntSrGTH8/jfokus_2012_trip_report" />
        <published>2012-02-15T22:43:58+00:00</published>
        <updated>2012-02-16T06:45:20+00:00</updated> 
        <category term="/General" label="General" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jfokus" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <category term="stockholm" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sweden" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
If I were to summarize Jfokus 2012 in two words then they would be -
bigger and better!&lt;br&gt;
&lt;br&gt;
Bigger because ...&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;8 tutorials/hands-on lab in 2011 -&amp;gt; 10 in 2012&lt;/li&gt;
&lt;li&gt;1 fully booked in 2011 -&amp;gt; 5 in 2012&lt;/li&gt;
&lt;li&gt;About 1450 attendees, 15% more from 2011&lt;/li&gt;
&lt;/ul&gt;
Better because ...&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Coffee was served all day&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;The best speakers' dinner at a top-notch restaurant. Any body
willing to beat that ? Make your speakers feel more special ?
;-)&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;REST interface to the program schedule&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;All-day &lt;a href="https://blogs.oracle.com/javaspotlight/"&gt;Java




Spotlight&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Speakers from Brazil, attendees from Morocco,&amp;nbsp; more
international participation (about 15-20% attendees were outside
Sweden) &lt;/li&gt;
&lt;li&gt;Flawless wireless connection, no complaints on #jfokus or
elsewhere&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/#%21/search/%23jfokus"&gt;#jfokus&lt;/a&gt;
was trending&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-AEkn1pHXH1E/TzkgWAl6vPI/AAAAAAAAdP0/_6F3kcI6ln8/s288/DSCN1570.JPG"&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-por2YmAJG2E/TzkgXz3EjEI/AAAAAAAAdQI/oAch8n4iejE/s288/DSCN1574.JPG"&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
There were several talks by Oracle speakers. I gave a Java EE 6
hands-on lab and two talks - &lt;a
href="http://www.jfokus.se/jfokus/talks.jsp#PaaSing%20a%20Java%20EE%20Application"&gt;PaaSing




a Java EE Application&lt;/a&gt; and &lt;a
href="http://www.jfokus.se/jfokus/talks.jsp#Java%20EE%207%3A%20Developing%20for%20the%20Cloud"&gt;The




Java EE 7 Platform: Developing for the Cloud&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_netbeans_and"&gt;Again&lt;/a&gt;
and &lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_pulled_crowd"&gt;again&lt;/a&gt;
the awesome threesome of Java EE 6, NetBeans, and GlassFish continue
to attract audience - this time at Jfokus 2012.&amp;nbsp; Lot more folks
showed up for the hands-on lab than originally registered and the
conference organizers had to arrange extra table and chairs.&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-hk9G2fR_-c8/Tzkga_EveII/AAAAAAAAdQw/Cj_Y7brJWJw/s288/DSCN1578.JPG"&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-R344J5p0JnY/TzkgdogBAFI/AAAAAAAAdRI/ty3c3D2dtuo/s288/DSCN1582.JPG"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-jQFJyjDI-Gs/TzkgciIyyxI/AAAAAAAAdQ4/HLfWYHH3uJo/s288/DSCN1580.JPG"&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-3tmHOR_GikQ/Tzkgfus3LlI/AAAAAAAAdRk/CauQWc_77QY/s288/DSCN1586.JPG"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
One of the attendees forgot to bring his laptop and connected to a
remote server running NetBeans using his Samsung Galaxy S1 smart
phone. He built some part of the application that way and then got
his laptop during one of the coffee breaks. That was pretty awesome!&lt;br&gt;
&lt;br&gt;
The interactive attendees learned all about:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Improvements in Java Persistence API 2&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;"web.xml"-free and annotation-driven Servlets&lt;/li&gt;
&lt;li&gt;Simplified packaging of EJBs in a WAR file, no-interface and
single file definition of EJB&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Session preservation across redeploys&lt;/li&gt;
&lt;li&gt;Facelets (XHTML/CSS) as templating language for JavaServer
Faes to achieve true MVC&lt;/li&gt;
&lt;li&gt;Integration of Bean Validation with JPA and JSF&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Typesafe dependency injection and Producer/Observer of events
using CDI&lt;/li&gt;
&lt;li&gt;RESTful resources using JAX-RS&lt;/li&gt;
&lt;/ul&gt;
Most of the attendees stayed for the 3.5 hrs long workshop. Several
folks gave positive feedback afterwards and suggestions on some
troubleshooting tips. The following bugs were filed/followed upon:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://netbeans.org/bugzilla/show_bug.cgi?id=190988"&gt;190988&lt;/a&gt;
(Refactor fields of an existing entity class to an Embeddable
class)&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://netbeans.org/bugzilla/show_bug.cgi?id=203659"&gt;203659&lt;/a&gt;
(Generate new lines between fields of a JPA entity)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://netbeans.org/bugzilla/show_bug.cgi?id=208335"&gt;208355&lt;/a&gt;
(Injecting a POJO shows a warning message)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://netbeans.org/bugzilla/show_bug.cgi?id=205392"&gt;205392&lt;/a&gt;
(Change the default RESTful URL to /webresources or /restful -
will be fixed in 7.2.&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
The revised hands-on lab document is &lt;a
href="https://blogs.oracle.com/arungupta/resource/javaee6-hol-feb2012.pdf"&gt;available











here&lt;/a&gt; and the &lt;a
href="https://blogs.oracle.com/arungupta/resource/JavaEE6SampleApp-Nov2011.zip"&gt;complete











application here&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Many thanks to Markus Eisele for helping me with the lab!&lt;br&gt;
&lt;br&gt;
The slides for "PaaSing your Java EE Application" are available
below:&lt;br&gt;
&lt;div style="width:425px" id="__ss_11590356"&gt;&lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/paa-s-javaeejfokus2012"
title="PaaSing a Java EE Application"&gt;PaaSing a Java EE
Application&lt;/a&gt;&lt;/strong&gt;&lt;object id="__sse11590356"
height="355" width="425"&gt;&lt;param name="movie"
value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=paas-javaee-jfokus2012-120215100230-phpapp02&amp;amp;stripped_title=paa-s-javaeejfokus2012&amp;amp;userName=arungupta1"&gt;&lt;param
name="allowFullScreen" value="true"&gt;&lt;param
name="allowScriptAccess" value="always"&gt;&lt;param name="wmode"
value="transparent"&gt;&lt;embed name="__sse11590356"
src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=paas-javaee-jfokus2012-120215100230-phpapp02&amp;amp;stripped_title=paa-s-javaeejfokus2012&amp;amp;userName=arungupta1"
type="application/x-shockwave-flash"
allowscriptaccess="always" allowfullscreen="true"
wmode="transparent" height="355" width="425"&gt;&lt;/object&gt;&lt;/div&gt;
&lt;br&gt;
This session explained different components of GlassFish to provide
a standards-based PaaS platform. There were about 25 attendees in
this 9am session.&lt;br&gt;
&lt;br&gt;
And the slides for "The Java EE 7 Platform: Developing for the
Cloud" are available below:&lt;br&gt;
&lt;br&gt;
&lt;div style="width:425px" id="__ss_11587294"&gt;&lt;strong
style="display:block;margin:12px 0 4px"&gt;&lt;a
href="http://www.slideshare.net/arungupta1/java-ee7-jfokus2012"
title="The Java EE 7 Platform: Developing for the Cloud"&gt;The
Java EE 7 Platform: Developing for the Cloud&lt;/a&gt;&lt;/strong&gt;&lt;object
id="__sse11587294" height="355" width="425"&gt;&lt;param name="movie"
value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=javaee7-jfokus2012-120215081917-phpapp02&amp;amp;stripped_title=java-ee7-jfokus2012&amp;amp;userName=arungupta1"&gt;&lt;param
name="allowFullScreen" value="true"&gt;&lt;param
name="allowScriptAccess" value="always"&gt;&lt;param name="wmode"
value="transparent"&gt;&lt;embed name="__sse11587294"
src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=javaee7-jfokus2012-120215081917-phpapp02&amp;amp;stripped_title=java-ee7-jfokus2012&amp;amp;userName=arungupta1"
type="application/x-shockwave-flash"
allowscriptaccess="always" allowfullscreen="true"
wmode="transparent" height="355" width="425"&gt;&lt;/object&gt;&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
This session gave an overview of the Java EE 7 platform. It also
gave a quick preview of Early Drafts from JAX-RS 2.0, JavaServer
Faces 2.2, Enterprise JavaBeans 3.2, and Contexs and Dependency
Injection 1.1. There were about 200+ attendees in this session.&lt;br&gt;
&lt;br&gt;
The &lt;a
href="https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_69_the"&gt;Java
Spotlight podcast #69&lt;/a&gt; had six different Java Champions - Jonas
Boner, Stephan Janssen, Chris Richardson, Mattias Karlsson, Fabiane
Nardon, and Bert Ertman talked about "Is Java Dead ?", "How is
Oracle doing with the Java community ?" and similar topics.&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-vwc3rKfxpUo/TzvRpR-XuWI/AAAAAAAAdXQ/WeBAFp7M7Yw/s288/DSCN1651.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-cpy9lqqpiT4/TzvRoNxPvtI/AAAAAAAAdXM/LeWAfrUmiWs/s288/DSCN1650.JPG"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
The opening keynote by Jurgen Holler reminded me of the famous quote
by Gandhi:&lt;br&gt;
&lt;br style="font-style: italic;"&gt;
&lt;span style="font-style: italic;"&gt;First they ignore you&lt;/span&gt;&lt;br
style="font-style: italic;"&gt;
&lt;span style="font-style: italic;"&gt;Then they laugh at you&lt;/span&gt;&lt;br
style="font-style: italic;"&gt;
&lt;span style="font-style: italic;"&gt;Then they fight you&lt;/span&gt;&lt;br
style="font-style: italic;"&gt;
&lt;span style="font-style: italic;"&gt;Then you win&lt;/span&gt;&lt;br&gt;
&lt;br&gt;
I think we are at the last but one stage :-) &lt;br&gt;
&lt;br&gt;
IMHO product pitches and negative campaigning (feels like Republican
party primaries back home) should be strictly avoided from such
conferences (not for the keynote at least) otherwise they leave a
bad taste!&lt;br&gt;
&lt;br&gt;
Check out some more pictures from the conference ...&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-BrnnEUBP8l0/TzkgiDBjlbI/AAAAAAAAdSA/UxN_CAguovk/s288/DSCN1589.JPG"&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-ugCw2x43rB4/TzmR7vF8IDI/AAAAAAAAdUE/AuTZCfBLAgE/s288/DSCN1597.JPG"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-7tIkDshOQCE/TzmR6D_R65I/AAAAAAAAdSw/2HU9E5g3vNs/s288/DSCN1595.JPG"&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-DfNsFtzmu2w/TzmR6gtpJnI/AAAAAAAAdS4/29k2by0SQPU/s288/DSCN1596.JPG"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/--bNw_0ur29I/TzmR-p0_qNI/AAAAAAAAdTc/dWrELsZU588/s288/DSCN1602.JPG"&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-0klDKqZf0dU/TzmSBDR1iMI/AAAAAAAAdT8/e6n1dylx0KE/s288/DSCN1607.JPG"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-kRn_CPbb3RQ/TzvRQVHnrHI/AAAAAAAAdUY/7_D5XD644Kc/s288/DSCN1616.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-oiu6Q1u4p5M/TzvRTnEIWUI/AAAAAAAAdU0/LTIOSmgmA6g/s288/DSCN1623.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-zqS34PO6Pq0/TzvRaiae2BI/AAAAAAAAdVc/4HZqcSi8KRs/s288/DSCN1628.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-FWQ7iR1sCQQ/TzvRb4EYFoI/AAAAAAAAdVs/dMD-SsYyA3A/s288/DSCN1633.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-o3eteFsn0Bk/TzvRdtXTR2I/AAAAAAAAdVw/XnzmiqjlHoM/s288/DSCN1636.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-HzBvVhgXJQc/TzvRswJ1kPI/AAAAAAAAdXo/w9mj1PXywdQ/s288/DSCN1654.JPG"&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-QZ_htz6LnO4/TzvR_gz3ysI/AAAAAAAAdaU/G42kuDBog3A/s288/DSCN1677.JPG"&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-3C2jKc8PTeM/TzvSBearDQI/AAAAAAAAdaY/Ow-BF6OJQLY/s288/DSCN1678.JPG"&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-vfr7kHJvz5M/TzvR-Cb5WlI/AAAAAAAAdaE/ywCUupS4O4E/s288/DSCN1675.JPG"&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-moiOq3P-Ouk/TzvRzKgtjyI/AAAAAAAAdYk/rcMxmQi4hMk/s288/DSCN1662.JPG"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt; &lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-w6-gPFIYb5A/TzvSB8RE0XI/AAAAAAAAdag/2U0zhpoNSM8/s288/DSCN1680.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-THBUHyHqH_s/TzvSCS4SSUI/AAAAAAAAdao/zdNNDyA-ZCg/s288/DSCN1681.JPG"&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
Even though it snowed overnight yesterday and a little bit this
morning as well but I managed to get a run in the city&lt;br&gt;
&lt;br&gt;
&lt;iframe src="http://connect.garmin.com:80/activity/embed/149718254"
frameborder="0" height="548" width="465"&gt;&lt;/iframe&gt; &lt;br&gt;
&lt;br&gt;
The city certainly has tons of running/biking trails and they look
beautiful covered with snow!&lt;br&gt;
&lt;br&gt;
An evolving album is available at (the first few pictures are from
the &lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_netbeans_and"&gt;trip






to JUGICE&lt;/a&gt; and then Jfokus)&amp;nbsp; ...&lt;br&gt;
&lt;br&gt;
&lt;embed type="application/x-shockwave-flash"
src="https://picasaweb.google.com/s/c/bin/slideshow.swf"
flashvars="host=picasaweb.google.com&amp;amp;hl=en_US&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F101195212405190467512%2Falbumid%2F5707649739211093233%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US"
pluginspage="http://www.macromedia.com/go/getflashplayer"
height="192" width="288"&gt; &lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Also watch a lovely set of photos by Markus Eisele:&lt;br&gt;
&lt;br&gt;
&lt;object height="300" width="400"&gt; &lt;param name="flashvars"
value="offsite=true&amp;amp;lang=en-us&amp;amp;page_show_url=%2Fphotos%2Fmyfear%2Fsets%2F72157629287035239%2Fshow%2F&amp;amp;page_show_back_url=%2Fphotos%2Fmyfear%2Fsets%2F72157629287035239%2F&amp;amp;set_id=72157629287035239&amp;amp;jump_to="&gt;
&lt;param name="movie"
value="http://www.flickr.com/apps/slideshow/show.swf?v=109615"&gt;
&lt;param name="allowFullScreen" value="true"&gt;&lt;embed
type="application/x-shockwave-flash"
src="http://www.flickr.com/apps/slideshow/show.swf?v=109615"
allowfullscreen="true"
flashvars="offsite=true&amp;amp;lang=en-us&amp;amp;page_show_url=%2Fphotos%2Fmyfear%2Fsets%2F72157629287035239%2Fshow%2F&amp;amp;page_show_back_url=%2Fphotos%2Fmyfear%2Fsets%2F72157629287035239%2F&amp;amp;set_id=72157629287035239&amp;amp;jump_to="
height="300" width="400"&gt;&lt;/object&gt; &lt;br&gt;
&lt;br&gt;
The &lt;a
href="http://blog.eisele.net/2011/09/jfokus-data-analysis-about-speakers.html"&gt;returning




speakers at Jfokus are only 7%&lt;/a&gt; in contrast with other big Java
conferences such as JavaOne, Devoxx, and W-JAX. I've already
attended two years in a row so guess getting into the smaller
percentage already ;-)&lt;br&gt;
&lt;br&gt;
Next stop &lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_and_7"&gt;Ume&amp;aring;&lt;/a&gt;
and finally home ...&lt;br&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/J4AhcuB3DCWlQCWdmK-ovEmCmAc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J4AhcuB3DCWlQCWdmK-ovEmCmAc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/J4AhcuB3DCWlQCWdmK-ovEmCmAc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J4AhcuB3DCWlQCWdmK-ovEmCmAc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/mtDntSrGTH8" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/jfokus_2012_trip_report</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/java_ee_6_netbeans_and</id>
        <title type="html">Java EE 6, NetBeans, and GlassFish workshop at Reykjavik, Iceland</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/Habl99HVQik/java_ee_6_netbeans_and" />
        <published>2012-02-13T01:00:00+00:00</published>
        <updated>2012-02-13T23:24:51+00:00</updated> 
        <category term="/General" label="General" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="iceland" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <category term="reykjavik" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
The &lt;a
href="http://www.linkedin.com/groups/JUGICE-Java-User-Group-Iceland-102100"&gt;JUGICE&lt;/a&gt;
normally has about 10-25 attendees, and &lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_pulled_crowd"&gt;once



again&lt;/a&gt;, the awesome threesome of Java EE 6, NetBeans, and
GlassFish attracted about 50+ attendees in Reykjavik, Iceland. &lt;br&gt;
&lt;br&gt;
&lt;img style=" width: 600px; height: 272px;" alt=""
src="https://lh4.googleusercontent.com/-9sAFChAyf9c/Tzb2xtFLUdI/AAAAAAAAdLw/oe0GKyTOuc8/s800/JavaEE6Workshop-Reykjavik.jpg"&gt;&lt;br&gt;
&lt;br&gt;
The interactive attendees learned all learned about:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Improvements in Java Persistence API 2&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;"web.xml"-free and annotation-driven Servlets&lt;/li&gt;
&lt;li&gt;Simplified packaging of EJBs in a WAR file, no-interface and
single file definition of EJB&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Session preservation across redeploys&lt;/li&gt;
&lt;li&gt;Facelets (XHTML/CSS) as templating language for JavaServer
Faes to achieve true MVC&lt;/li&gt;
&lt;li&gt;Integration of Bean Validation with JPA and JSF&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Typesafe dependency injection and Producer/Observer of events
using CDI&lt;/li&gt;
&lt;li&gt;RESTful resources using JAX-RS&lt;/li&gt;
&lt;/ul&gt;
Most of the attendees stayed for almost 4 hrs long workshop. Several
folks gave positive feedback afterwards and tweets like this are
much more explicit about it:&lt;br&gt;
&lt;br&gt;
&lt;a
href="https://twitter.com/#%21/palmithor/status/168461717435727872"&gt;&lt;img
alt=""
src="https://blogs.oracle.com/arungupta/resource/jugice-javaee6-feb2012-twitter.png"
style="border: 0px solid; width: 513px; height: 200px;"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
Almost everybody could complete all the exercises, which was
definitely satisfying. Most importantly I coached them on how to
debug errors and got them little more comfortable in NetBeans and
GlassFish. Some folks were even asking for the next level of
workshop already. I'd love come back in Summer to enjoy the
Icelandic hospitality!&lt;br&gt;
&lt;br&gt;
I had an interesting discussion with a J2EE-to-Spring-converted
architect on the benefits of Java EE 6 over Spring. Stay tuned on
that and I'll post more details in a few days :-)&lt;br&gt;
&lt;br&gt;
Check out some more pictures from the workshop ...&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-pJioLiT2PRc/TzbLUCSLBkI/AAAAAAAAdE4/racYb1vpkSs/s288/DSCN1463.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-lEonir5MQ2g/TzbLUiGokkI/AAAAAAAAdFA/I2lzcTXft_s/s288/DSCN1464.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-lEonir5MQ2g/TzbLUiGokkI/AAAAAAAAdFA/I2lzcTXft_s/s288/DSCN1464.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-hGPXGrYCnFs/TzbLVNILSEI/AAAAAAAAdFI/RzOfgrJrHrk/s288/DSCN1465.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
The attendees helped me clarify the document further and the revised
document is &lt;a
href="https://blogs.oracle.com/arungupta/resource/javaee6-hol-feb2012.pdf"&gt;available




here&lt;/a&gt; and the &lt;a
href="https://blogs.oracle.com/arungupta/resource/JavaEE6SampleApp-Nov2011.zip"&gt;complete




application here&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
I also had some good discussions with Reynir Hubner, the marvelous
and extremely hospitable JUGICE leader. He is the CTO at &lt;a
href="http://www.eplica.com/"&gt;Eplica&lt;/a&gt; and also the Vice
President of &lt;a href="http://hfr.is/"&gt;Reykjavik Cycling Club&lt;/a&gt;.
We had some interesting talks about cross training. He took me
around &lt;a href="https://blogs.oracle.com/arungupta/entry/pictures_from_golden_circle_iceland"&gt;Golden Circle&lt;/a&gt; and to Blue Lagoon.&lt;br&gt;
&lt;br&gt;
And some more pictures from the stay ...&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-omN8xJ7tOtg/TzWlcgP_NII/AAAAAAAAdEc/Rxst6xZD8ro/s288/DSCN1445.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-ioVxxuRVf-8/TzWldRljuvI/AAAAAAAAdDA/BsAts9p7eQw/s288/DSCN1447.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-K8b0ZsieRlk/TzWlh4m-U9I/AAAAAAAAdEA/fAPuGyx4ckQ/s288/DSCN1457.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-YGtQ0NIP4es/TzWlj7AWRdI/AAAAAAAAdEY/j4OhD2sGoJY/s288/DSCN1461.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img alt=""
src="https://lh3.googleusercontent.com/-E57zohmg8_k/TzgrUIPqj_I/AAAAAAAAdNA/-sXtAocFd28/s288/DSCN1543.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-wg3vahmyI6M/TzgrXxDkyzI/AAAAAAAAdNk/_mT4mI9fMOg/s288/DSCN1549.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-gMCyC65Mxd4/TzgrZO27x0I/AAAAAAAAdNs/Ma244GWY5Z0/s288/DSCN1550.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-boXCZ_e3nTg/TzgrizK8c1I/AAAAAAAAdOs/eAnfjUYLfUQ/s288/DSCN1561.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
Some interesting facts about Iceland ...&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;The country has about 300k people with two-thirds living in &lt;a
href="http://en.wikipedia.org/wiki/Reykjav%C3%ADk"&gt;Reykjavik
metro&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Even though its close to Arctic circle, the temperature is
still relatively warm because of the Gulf Stream.&lt;/li&gt;
&lt;li&gt;Fishing, Aluminium smelting, Tourism, and Geothermal power are
the primary industries.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;One of the first countries to have a democratically elected
female head of state.&lt;/li&gt;
&lt;li&gt;The landscape is vast, diverse (lava, craters, snow, lakes,
glacier, geysir to name a new), and beautiful (&lt;a
href="https://blogs.oracle.com/arungupta/entry/pictures_from_golden_circle_iceland"&gt;some




pictures&lt;/a&gt;).&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://en.wikipedia.org/wiki/Iceland_national_handball_team"&gt;Team




handball&lt;/a&gt; is the national sport and &lt;a
href="http://en.wikipedia.org/wiki/Sport_in_Iceland"&gt;other
sports&lt;/a&gt; are popular too. &lt;a
href="http://www.youtube.com/watch?v=VEQTm8RfkJk"&gt;Icelanding
wrestling&lt;/a&gt; (&lt;a href="http://en.wikipedia.org/wiki/Glima"&gt;Glima&lt;/a&gt;)
is a particularly interesting one!&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;The heat bill is received yearly because of the widespread
usage of geothermal power.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Iceland is all green, Greenland is all icy (&lt;a
href="http://answers.yahoo.com/question/index?qid=20060705222922AAahuj9"&gt;more




here&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Very low crime rate in Iceland is proven by the fact that the
country's name does not even exist in &lt;a
href="http://en.wikipedia.org/wiki/List_of_countries_by_intentional_homicide_rate"&gt;this




list&lt;/a&gt; for 2010 and &lt;a
href="http://chartsbin.com/view/1454"&gt;this&lt;/a&gt; shows 0 murder
per 100k for the year 2008. The country has no Army, Navy, or
Air Force and only has a Coast Guard. The only folks carrying
guns is the &lt;a
href="http://en.wikipedia.org/wiki/V%C3%ADkingasveitin"&gt;Viking
Squad&lt;/a&gt; which is about 50 cops in the entire country.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Everybody talks in terms of before and after the &lt;a
href="http://en.wikipedia.org/wiki/2008%E2%80%932011_Icelandic_financial_crisis"&gt;2008

financial crisis&lt;/a&gt;.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;The roof colors in Reykjavik are very bright and vibrant and
is by design. I guess this might be to complement the gray sky
which is prominent all through out the year ;-)&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://scores2010.crossfit.com/scoring/p/2010/women,149/"&gt;CrossFit

Games&lt;/a&gt; overall runner up is &lt;a
href="http://sealgrinderpt.com/crossfittraining/annie-thorisdottir-crossfit-elite-athlete-profile.html/"&gt;Annie

Thorisdottir&lt;/a&gt;, an Icelander.&lt;/li&gt;
&lt;li&gt;66 &lt;sup&gt;o&lt;/sup&gt; North is a common brand that sell outer wear
for all weather. No such thing as bad weather, just need to be
properly dressed.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;If you fly Iceland Air over Atlantic then you can take a 7-day
stopover in Iceland without any additional cost.&lt;/li&gt;
&lt;li&gt;Icelandic horses are short but neve call them pony. More about
them at &lt;a href="http://www.icelandichorsefestival.is"&gt;www.icelandichorsefestival.is&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Check the latest weather conditions from &lt;a
href="http://vedur.is"&gt;vedur.is&lt;/a&gt; instead of weather.com&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
And finally the complete set of pictures from Reykjavik and an
evolving album of the trip of Nordics trip so far ...&lt;br&gt;
&lt;br&gt;
&lt;embed type="application/x-shockwave-flash"
src="https://picasaweb.google.com/s/c/bin/slideshow.swf"
flashvars="host=picasaweb.google.com&amp;amp;hl=en_US&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F101195212405190467512%2Falbumid%2F5707649739211093233%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US"
pluginspage="http://www.macromedia.com/go/getflashplayer"
height="192" width="288"&gt; &lt;br&gt;
&lt;br&gt;
Next stop &lt;a
href="https://blogs.oracle.com/arungupta/entry/java_ee_6_and_7"&gt;JFokus&lt;/a&gt;
...
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YuSNntd-TEtentnpH9YnBnlutX0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YuSNntd-TEtentnpH9YnBnlutX0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YuSNntd-TEtentnpH9YnBnlutX0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YuSNntd-TEtentnpH9YnBnlutX0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/Habl99HVQik" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/java_ee_6_netbeans_and</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/pictures_from_golden_circle_iceland</id>
        <title type="html">Pictures from Golden Circle, Iceland - Þingvellir, Gullfoss, Geysir, Strokkur, and Kerið</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/3D5_2aAGj6M/pictures_from_golden_circle_iceland" />
        <published>2012-02-11T23:06:54+00:00</published>
        <updated>2012-02-11T23:06:54+00:00</updated> 
        <category term="/photography" label="photography" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="geysir" scheme="http://roller.apache.org/ns/tags/" />
        <category term="goldencircle" scheme="http://roller.apache.org/ns/tags/" />
        <category term="gullfoss" scheme="http://roller.apache.org/ns/tags/" />
        <category term="iceland" scheme="http://roller.apache.org/ns/tags/" />
        <category term="kerio" scheme="http://roller.apache.org/ns/tags/" />
        <category term="pingvellir" scheme="http://roller.apache.org/ns/tags/" />
        <category term="reykjavik" scheme="http://roller.apache.org/ns/tags/" />
        <category term="strokkur" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
After a very interactive and successful Java EE 6 workshop (more on
that later), Reynir, the esteemed Iceland JUG leader, took me out
for a trip of &lt;a
href="http://en.wikipedia.org/wiki/Golden_Circle_%28Iceland%29"&gt;Golden



Circle&lt;/a&gt; in Iceland covering &lt;a
href="http://en.wikipedia.org/wiki/%C3%9Eingvellir"&gt;
&amp;THORN;ingvellir&lt;/a&gt;, waterfall &lt;a
href="http://en.wikipedia.org/wiki/Gullfoss"&gt;Gullfoss&lt;/a&gt;,
&lt;a href="http://en.wikipedia.org/wiki/Haukadalur"&gt; Haukadalur&lt;/a&gt;
which contains the geysers &lt;a
href="http://en.wikipedia.org/wiki/Geysir"&gt;Geysir&lt;/a&gt; and &lt;a
href="http://en.wikipedia.org/wiki/Strokkur"&gt;Strokkur&lt;/a&gt;, and a
volcanic crater &lt;a href="http://en.wikipedia.org/wiki/Keri%C3%B0"&gt;Keri&amp;eth;&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&amp;THORN;ingvellir is home to the largest natural lake in Iceland. It
is also one of the unique places in the world where tectonic plates
between North America and Eurasia plates can be clearly seen in the
faults, otherwise they are mostly deep under the water.&lt;br&gt;
&lt;br&gt;
"Geysir" is the first known geyser and even the English word
"geyser" is derived from it. It was quite a surreal experience to
watch the now dormant geyser. However Strokkur which is about 50 m
south still erupts any where between 2-8 minutes.&lt;br&gt;
&lt;br&gt;
Check out some pictures below:&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-8RIa8pjEq1c/TzbLWMYmaLI/AAAAAAAAdFY/RQjs0Z8k-LI/s288/DSCN1468.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-1g4qKKSl76Q/TzbLYJdys-I/AAAAAAAAdF4/yPr6y-G608o/s288/DSCN1473.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-DLIj-ysfWa8/TzbLa8ZElnI/AAAAAAAAdGQ/mLSvC8rhR4w/s288/DSCN1477.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-A6eFMJvCylU/TzbLbVG7a_I/AAAAAAAAdGg/J0VkRXexnk4/s288/DSCN1478.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-4T3R70qBnEI/TzbLdkvYymI/AAAAAAAAdG0/D98dbU-U0mA/s288/DSCN1481.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-uoQXfuMjuNY/TzbLeQVJa3I/AAAAAAAAdHU/dOq7ZyyiWtI/s288/DSCN1483.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-6jHcoS9xmOw/TzbLgVoE6AI/AAAAAAAAdHo/pW9T4dgtlKU/s288/DSCN1489.JPG"&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-Z2MkCI-QehM/TzbLjLKC4YI/AAAAAAAAdIE/7OEeoqz-obI/s288/DSCN1492.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-vyQ_Zv5IGwQ/TzbLl8IFohI/AAAAAAAAdIs/YxtcTtey5kA/s288/DSCN1500.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-C8rXqCySSsA/TzbLntedSBI/AAAAAAAAdJA/Pc-7GFoAd-o/s288/DSCN1504.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-WYEgllGMUNk/TzbLq2ZdtiI/AAAAAAAAdJk/6JKxC-3a0FY/s288/DSCN1510.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-cJ_PBEwCdIg/TzbLrSQNZUI/AAAAAAAAdJ0/x4lkRVEPr2k/s288/DSCN1512.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-IyUJgOOrDT8/TzbLs_KfIcI/AAAAAAAAdKI/iwx7t_lus44/s288/DSCN1517.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-3EGbvJLW4kE/TzbLvp---5I/AAAAAAAAdKw/lfR30oXX6xI/s288/DSCN1526.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-ya6mdSmCE5w/TzbLv66ON0I/AAAAAAAAdLE/BWK0G4WGjRo/s288/DSCN1527.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-wkoOrBPdk3k/TzbLxHYYxyI/AAAAAAAAdLM/1mb2zk0C0cg/s288/DSCN1530.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
Thank you Reynir for the wonderful trip!&lt;br&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yKpfe1ImEdGh1PE8QAS_RdlJnvg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yKpfe1ImEdGh1PE8QAS_RdlJnvg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yKpfe1ImEdGh1PE8QAS_RdlJnvg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yKpfe1ImEdGh1PE8QAS_RdlJnvg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/3D5_2aAGj6M" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/pictures_from_golden_circle_iceland</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/running_in_reykjavik_iceland</id>
        <title type="html">Running in Reykjavik, Iceland</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/3BHfq1Vyx_8/running_in_reykjavik_iceland" />
        <published>2012-02-10T23:24:52+00:00</published>
        <updated>2012-02-10T23:24:52+00:00</updated> 
        <category term="/Finance" label="Finance" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="iceland" scheme="http://roller.apache.org/ns/tags/" />
        <category term="reykjavik" scheme="http://roller.apache.org/ns/tags/" />
        <category term="running" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
How do runners explore a new country ?&lt;br&gt;
&lt;br&gt;
Yep, by running!&lt;br&gt;
&lt;br&gt;
That's exactly what I did after sleeping for about 2.5 hrs during
San Francisco/Boston/Reykjavik night :-) Met an ex-Sun colleague who
arranged a wonderful trail run by Ellioa River and Atlantic Sea. The
river is the largest river to run through Reykjavik and is well
known for fishing salmon during summer. There was still sopme
residual snow, from last week's storm, on the trail and of course
water was all over. We also experienced some hail towards the end of
the run but a quick ride to the hotel and a warm shower was a great
ending.&lt;br&gt;
&lt;br&gt;
Here is the running route that we followed:&lt;br&gt;
&lt;br&gt;
&lt;iframe src="http://connect.garmin.com:80/activity/embed/148525330"
frameborder="0" height="548" width="465"&gt;&lt;/iframe&gt; &lt;br&gt;
And some pictures from the trail:&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-Jv9SmRKbWbU/TzWlPWPFUXI/AAAAAAAAdAU/GnwvpX3ypTw/s288/DSCN1421.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-Q31dEnTrYRo/TzWlQbo_r3I/AAAAAAAAdAk/sxT4G2CJfao/s288/DSCN1423.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh4.googleusercontent.com/-lcv17qhteqk/TzWlSTElR8I/AAAAAAAAdA0/aVvLJQAK2wk/s288/DSCN1425.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-COnCKmtK5SU/TzWlSylYWxI/AAAAAAAAdA4/48v-Yce4E34/s288/DSCN1426.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh3.googleusercontent.com/-ORrevZogTVM/TzWlUgBzJDI/AAAAAAAAdBM/cFAIksLEC00/s288/DSCN1428.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-FxKtzaMPWqY/TzWlYy8NuZI/AAAAAAAAdCM/xkeO-QuCf50/s288/DSCN1436.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
Running seems to becoming more main stream in Reykjavik. Each
swimming pool has a "hlaupakort" (running map) posted near the
entrance with routes marked in different lengths. The 3 most
frequented pools in the downtown area are
&lt;meta charset="utf-8"&gt;
&lt;a
href="http://www.swimminginiceland.com/reykjavik-and-capital-area/17-laugardalslaug"&gt;Laugardalslaug&lt;/a&gt;,
&lt;a href="http://www.swimmersguide.com/query/Detail.cfm?PoolID=9089"&gt;
Sundh&amp;ouml;llin&lt;/a&gt;, and &lt;a
href="http://www.swimminginiceland.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=8"&gt;Vesterb&amp;aelig;r&lt;/a&gt;.
There is no way to reach out the running groups except the last one
has a &lt;a
href="http://invitations.inspiredbyiceland.com/invitation/44005"&gt;presence
here&lt;/a&gt;. Generally the rule is just show up in running clothes
and look for the spandex-clad group stretching. Learn more about
running meetups in Reykjavik in &lt;a
href="http://www.lonelyplanet.com/thorntree/thread.jspa?threadID=1949345"&gt;this



thread&lt;/a&gt;. There is even a &lt;a
href="http://www.reykjavikhotels.is/Specials-and-packages/Sport-packages/Triathlon-in-Iceland/"&gt;1/2
Ironman&lt;/a&gt; in July and a &lt;a
href="http://www.marathon.is/reykjavik-marathon"&gt;full marathon&lt;/a&gt;
in August and . Read more about running in Reykjavik &lt;a
href="http://www.reykjavikhotels.is/Specials-and-packages/Sport-packages/Running-in-Iceland/"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Thank you Kristinn for arranging the run and Agust for showing me
the trail!&lt;br&gt;
&lt;br&gt;
Now to &lt;a
href="http://blogs.oracle.com/arungupta/entry/java_ee_6_and_7"&gt;Java
EE 6 workshop&lt;/a&gt; tomorrow morning ...&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QqTpnx_Gw9jzyti-Q_dReNvwggQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QqTpnx_Gw9jzyti-Q_dReNvwggQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QqTpnx_Gw9jzyti-Q_dReNvwggQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QqTpnx_Gw9jzyti-Q_dReNvwggQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/3BHfq1Vyx_8" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/running_in_reykjavik_iceland</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/jax_rs_2_0_early</id>
        <title type="html">JAX-RS 2.0 Early Draft Explained - Java EE 7 Making Progress</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/4v1ZQjoXVtU/jax_rs_2_0_early" />
        <published>2012-02-07T11:00:00+00:00</published>
        <updated>2012-02-07T14:34:19+00:00</updated> 
        <category term="/General" label="General" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jaxrs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="restful" scheme="http://roller.apache.org/ns/tags/" />
        <category term="spec" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webservices" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
&lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr339/index.html"&gt;JAX-RS








2.0&lt;/a&gt; Early Draft has been available for about 3 months now.
JAX-RS 2.0, just like JPA 2.1, was one &lt;a
href="http://blogs.oracle.com/arungupta/entry/jax_rs_2_0_and"&gt;one
of the first JSRs&lt;/a&gt; to be filed as part of &lt;a
href="http://blogs.oracle.com/arungupta/entry/java_ee_7_key_features"&gt;Java








EE 7&lt;/a&gt;. Several other specifications in Java EE 7 have released
early drafts as well (&lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr344/"&gt;JavaServer








Faces 2.2&lt;/a&gt;,&amp;nbsp;&lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr346/index.html"&gt;CDI








1.1&lt;/a&gt;, &lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr345/index.html"&gt;EJB
3.2&lt;/a&gt;, and more coming as well) and I'll cover them in later
blogs.&lt;br&gt;
&lt;br&gt;
Here are the topics covered so far:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
href="http://blogs.oracle.com/arungupta/entry/jpa_2_1_early_draft"&gt;JPA
2.1 Early Draft Explained&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://jdevelopment.nl/jsf-22/"&gt;What's new in JSF
2.2?&lt;/a&gt; (external contribution)&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
JAX-RS 2.0 is a brand new specification and here are the main
highlights so far:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Client API&lt;/span&gt;: The &lt;code&gt;HTTPUrlConnection&lt;/code&gt;
is too low level and is not RESTful-oriented. Invoking a RESTful
resource using this class would look like:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;URL url = new URL("http://.../atm/balance");&lt;br&gt;
HttpURLConnection conn = (HttpURLConnection)
url.openConnection();&lt;br&gt;
conn.setRequestMethod("GET");&lt;br&gt;
conn.setDoInput(true);&lt;br&gt;
conn.setDoOutput(false);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;br&gt;
BufferedReader br = new BufferedReader(new
InputStreamReader(conn.getInputStream()));&lt;br&gt;
String line;&lt;br&gt;
while ((line = br.readLine()) != null) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(line);&lt;br&gt;
}&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
Notice, how much code has to be written and its brittle. Some
JAX-RS 1.0/1.1 implementations already provide a higher-level
client-side API to access the Web resources. For example, read
&lt;a
href="http://blogs.oracle.com/arungupta/entry/totd_57_jersey_client_api"&gt;
TOTD #57&lt;/a&gt; for more details about Jersey Client API. A
slightly more advanced sample to access Twitter timeline using
Jersey Client API is described in &lt;a
href="http://blogs.oracle.com/arungupta/entry/totd_143_retrieve_twitter_user"&gt;TOTD
#143&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
JAX-RS 2.0 introduces a standard Client API to in &lt;code&gt;javax.ws.rs.client&lt;/code&gt;
package to access the Web resource. It also share features with
JAX-RS server API (readers/writers).&lt;br&gt;
&lt;br&gt;
A simple usage looks like:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;Client client = ClientFactory.newClient();&lt;br&gt;
String balance = client.target("http://.../atm/balance")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



.request("text/plain")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



.get(String.class);&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
Instead of &lt;code&gt;Client client = ClientFactory.newClient()&lt;/code&gt;,
would you like &lt;code&gt;@Inject Client client&lt;/code&gt; then vote for
&lt;a href="http://java.net/jira/browse/JAX_RS_SPEC-170"&gt;JAX_RS_SPEC-170&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Path and query parameters can be easily specified using the
builder pattern as shown below:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;Client client = ClientFactory.newClient();&lt;br&gt;
String balance =
client.target("http://.../atm/{card}/balance")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



.pathParam("card", "1111222233334444")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



.queryParam("pin", "1234")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



.request("text/plain")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



.get(String.class);&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
See how the template in the target path is automatically
substituted with the correct value. The request type is
specified to be "text/plain" and GET method of this web resource
is invoked. This will be translated to:&lt;br&gt;
&lt;br&gt;
http://.../atm/1111222233334444/balance?pin=1234&lt;br&gt;
&lt;br&gt;
A POST request will look like:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;Money balance =
client.target("http://.../atm/{card}/withdraw")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



.pathParam("card", "1111222233334444")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



.queryParam("pin", "1234")&lt;br&gt;
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



.request("application/json")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



.post(text("50.0"), Money.class);&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
There is also generic command pattern that enables separation of
concern between the creator and submitteruseful for batch
processing using &lt;code&gt;Invocation&lt;/code&gt;. And the code would
look like:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;Invocation inv1 =
client.target("http://.../atm/{card}/balance")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.pathParam("card", "1111222233334444")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.queryParam("pin", "1234")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.request("text/plain")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .buildGet();&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
&lt;code&gt;Invocation inv2 =
client.target("http://.../atm/{card}/withdraw")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .pathParam("card",
"1111222233334444")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .queryParam("pin", "1234")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .request("application/json")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; .buildPost(text("50.0"));&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
And once the &lt;code&gt;Invocation&lt;/code&gt;s are ready then they can
be invoked.&lt;br&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Filters and Handlers&lt;/span&gt;:
The filters and handlers allow app developers to perform message
request pre-processing and response post-processing via
well-defined extension points on the client- and server-side.
This is yet another feature that was supported by several JAX-RS
1.0/1.1 implementations with each using slightly different
semantics and now getting standardized in JAX-RS 2.0.&lt;br&gt;
&lt;br&gt;
Filters are non-wrapping extension points, allow pre-processing
without modifying the request itself. A filter implements
interface &lt;code&gt;RequestFilter&lt;/code&gt; or &lt;code&gt;ResponseFilter&lt;/code&gt;
or both and is annotated with &lt;code&gt;@Provider&lt;/code&gt;. A logging
filter that simply logs the message may look like:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;@Provider&lt;br&gt;
class LoggingFilter implements RequestFilter, ResponseFilter {&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public FilterAction preFilter(FilterContext
ctx) throws IOException {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
logRequest(ctx.getRequest());&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return
FilterAction.NEXT;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public FilterAction
postFilter(FilterContext ctx) throws IOException {&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
logResponse(ctx.getResponse());&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return
FilterAction.NEXT;&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Multiple filters are grouped in &lt;span style="font-style:
italic;"&gt;filter chains&lt;/span&gt;. The response from &lt;code&gt;preFilter&lt;/code&gt;
and &lt;code&gt;postFilter&lt;/code&gt; indicate whether the next filter in
the chain need to be executed (&lt;code&gt;FilterAction.NEXT&lt;/code&gt;)
or stopped (&lt;code&gt;FilterAction.STOP&lt;/code&gt;).&lt;br&gt;
&lt;br&gt;
Handlers provide wrapping extension points. A handler implements
interface &lt;code&gt;ReadFromHandler&lt;/code&gt; or &lt;code&gt;WriteToHandler&lt;/code&gt;
or both and is annotated with &lt;code&gt;@Provider&lt;/code&gt;. A GZIP
filter that provides deflate and inflate capabilities may look
like:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;@Provider&lt;br&gt;
class GzipHandler implements ReadFromHandler, WriteToHandler {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public Object
readFrom(ReadFromHandlerContext ctx) throws IOException {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InputStream old =
ctx.getInputStream();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
ctx.setInputStream(new GZIPInputStream(old));&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;


return ctx.proceed();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } finally {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;


ctx.setInputStream(old);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public Object writeTo(WriteToHandlerContext
ctx) throws IOException {&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
OutputStream old = ctx.getOutputStream();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GZIPOutputStream
gzipOutputStream = &lt;/code&gt;&lt;code&gt;new GZIPOutputStream(old);&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
ctx.setInputStream(gzipOutputStream);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;


return ctx.proceed();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } finally {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;


gzipOutputStream.finish();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;


ctx.setOutputStream(old);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/code&gt;&lt;br&gt;
&lt;code&gt; }&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Multiple handlers are grouped in &lt;span style="font-style:
italic;"&gt;handler chains&lt;/span&gt;. The &lt;code&gt;proceed&lt;/code&gt;
method must be explicitly called in order for the next handler
in the chain to be invoked.&lt;br&gt;
&lt;br&gt;
In the &lt;span style="font-style: italic;"&gt;direction of flow&lt;/span&gt;
the filters always executed before handlers. The following
diagram shows the exact execution order on client and
server-side:&lt;br&gt;
&lt;br&gt;
&lt;img style=" width: 600px; height: 228px;" alt=""
src="http://blogs.oracle.com/arungupta/resource/jaxrs2-filters-handler-execution-order.png"&gt;&lt;br&gt;
&lt;br&gt;
The handlers and filters can be associated to each method of a
resource specifically using &lt;code&gt;@NameBinding&lt;/code&gt;. The
specification defines &lt;code&gt;@GlobalBinding&lt;/code&gt; to associate
handlers and filters to all methods of a resource but the recent
version of the specification removes it and makes it a default.
Also look at &lt;a
href="http://java.net/jira/browse/JAX_RS_SPEC-146"&gt;JAX_RS_SPEC-146&lt;/a&gt;
that asks for a mechanism to override the global
filters/handlers.&lt;br&gt;
&lt;br&gt;
The dynamic binding, enabled by implementing &lt;code&gt;DynamicBinding&lt;/code&gt;,
provide more control on the association with resources and
methods.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Hypermedia&lt;/span&gt;: Linking
resources together is one of the main RESTful principles. There
are &lt;span style="font-style: italic;"&gt;structural links&lt;/span&gt;
that are used to avoid sending a complete representation of a
resource and enable lazy loading. The clients can follow these
type of links to retrieve the "pieces" they need. A &lt;span
style="font-style: italic;"&gt;transitional link&lt;/span&gt; is used
to update the state of a resource and is typically identified by
a "rel" attribute. Structural links are normally in the entity;
transitional links could be in link headers or the entity.&lt;br&gt;
&lt;br&gt;
JAX-RS 2.0 will only support transitional links in headers using
newly added &lt;code&gt;Link&lt;/code&gt; and &lt;code&gt;LinkBuilder&lt;/code&gt;
classes. The proposed &lt;code&gt;Client&lt;/code&gt; API can also create a
target from a link. The code may look like:&lt;br&gt;
&lt;code&gt;&lt;br&gt;
Response r =
client.target("/product").request("application/json").get();&lt;br&gt;
ResponseHeaders rh = r.getHeaders();&lt;br&gt;
if (rh.hasLink("ship")) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;
client.invocation(rh.getLink("ship")).invoke();&lt;br&gt;
}&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
On the server side, &lt;code&gt;ResponseBuilder&lt;/code&gt; has support
for adding one or more link headers. The code may look like:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;@Path("/products")&lt;br&gt;
public class MyResponse {&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @GET&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Path("{id}")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Produces({"application/json",
"application/xml"})&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public Response
getProduct(@PathParam("id")int id) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product product =
new Product(id);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return Response&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.ok(product)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.link("http://.../orders/" + id + "/ship", "ship")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.build();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Validation&lt;/span&gt;: Web
resources must validate data received in query or header
parameters or entity bodies. Currently this validation has to be
performed in the application code. The Bean Validation
specification already defines a extensible mechanism to specify
validation constraints on a bean. So the JAX-RS specification
leverages that and introduces support for declarative
validation. The constraint annotations can be specified in
public constructor parameters, method parameters, fields and
bean properties. In addition, they can also decorate resource
classes, entity parameters and resource methods. Here is a
sample class augmented with constraint annotations:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;@Path("/")&lt;br&gt;
class ProductResource {&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @POST&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void addProduct(@NotNull
@FormParam("productName") String name,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;


@NotNull @Category @FormParam("category") String category) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . . .&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
The &lt;code&gt;@NotNull&lt;/code&gt; is a pre-defined constraint in the
Bean Validation API and ensures that the target parameters are
not null. The &lt;code&gt;@Category&lt;/code&gt; is a user-defined
constraint using the extensible mechanism provided by the Bean
Validation API. If the constraints are violated then the
resource method is not invoked and instead a response with
status code 400 (Bad Request) and an entity that describe the
violations is returned to the client.&lt;br&gt;
&lt;br&gt;
Here is a sample code of how to validate request entity bodies
when they are mapped to resource method parameters:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;@CheckProduct&lt;br&gt;
class Product { . . . }&lt;br&gt;
&lt;br&gt;
@Path("/")&lt;br&gt;
class ProductResource {&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @POST&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Consumes(MediaType.APPLICATION_JSON)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void addProduct(@Valid Product
product) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . . .&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
The presence of &lt;code&gt;@Valid&lt;/code&gt; (a pre-defined annotation
in Bean Validation API) next to the method parameter ensures
that the &lt;code&gt;@CheckProduct&lt;/code&gt; constraint is called to
verify the mapped entity.&lt;br&gt;
&lt;br&gt;
The JAX-RS specification also defines the sequence to validate
root resource class instances. The recommendation is to return
as many violations as possible instead of aborting after the
first violation is encountered.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Asynchronous Processing&lt;/span&gt;:
JAX-RS 2.0 introduces asynchronous processing on server- and
client-side APIs for the usual reasons. The server-side code
will look like:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;@Path("/async")&lt;br&gt;
class ProductResource {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Context ExecutionContext ctx;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @GET&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Suspend&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public Product longOp() {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Executors.newSingleThreadExecutor().submit(&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
new Runnable() {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
public void run() {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Proruct product = longQueryFromDatabase();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
ctx.resume(product);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
The &lt;code&gt;longOp&lt;/code&gt; method is invoked when this resource is
accessed using GET, forks a new thread, and returns immediately
without producing the result. Once &lt;code&gt;longQueryFromDatabase&lt;/code&gt;
returns the product then the connection is resumed and the
response is returned by calling &lt;code&gt;ctx.resume&lt;/code&gt; and
setting the value.&lt;br&gt;
&lt;br&gt;
&lt;code&gt;ExecutionContext&lt;/code&gt; also provide &lt;code&gt;suspend()&lt;/code&gt;
that allows to override the values, such as timeout, specified
in the annotation based upon the runtime state.&lt;br&gt;
&lt;br&gt;
On the client-side, the code will look like:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;Client client = ClientFactory.newClient();&lt;br&gt;
&lt;/code&gt;&lt;code&gt;Future&amp;lt;String&amp;gt; future =
client.target("http://.../atm/{card}/balance")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .pathParam("card",
"1111222233334444")&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



.queryParam("pin", "1234")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code&gt;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



.request("text/plain")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code&gt;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.async()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code&gt;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/code&gt;&lt;code&gt;&amp;nbsp; .get();&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
The &lt;code&gt;async()&lt;/code&gt; is called during building the client
request. The return &lt;code&gt;Future&amp;lt;String&amp;gt;&lt;/code&gt; can be
used to query/cancel the status of execution on the server-side
using &lt;code&gt;isDone&lt;/code&gt; and &lt;code&gt;cancel&lt;/code&gt;. Once the
response is ready then &lt;code&gt;Future&amp;lt;T&amp;gt;.get()&lt;/code&gt; is
invoked to receive an instance of &lt;code&gt;T&lt;/code&gt; if the
response was successful or null if the invocation failed.&lt;br&gt;
&lt;br&gt;
Optionally an &lt;code&gt;InvocationCallback&amp;lt;T&amp;gt;&lt;/code&gt; may be
registered during the request invocation. The &lt;code&gt;completed&lt;/code&gt;
method is called when the invocation completes successfully and
a response is available and &lt;code&gt;failed&lt;/code&gt; method is
called when the invocation fails. The code looks like:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;Future&amp;lt;String&amp;gt; future =
client.target("http://.../atm/{card}/balance")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .pathParam("card",
"1111222233334444")&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



.queryParam("pin", "1234")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code&gt;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;



.request("text/plain")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code&gt;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.async()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code&gt;&amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/code&gt;&lt;code&gt;&amp;nbsp; .get(&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
new InvocationCallback&amp;lt;String&amp;gt;() {&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
@Override&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
public void completed(String result) {&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
// got the correct result&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
System.out.println(result);&lt;br&gt;
&lt;/code&gt;&lt;code&gt;
&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
@Override&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
public void failed(InvocationException error) {&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
// ouch, got an error!&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
System.err.println(error.getCause());&lt;br&gt;
&lt;/code&gt;&lt;code&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
);&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;br&gt;
Notice, the type of the result is specified as type parameter to
&lt;code&gt;InvocationCallback&lt;/code&gt;.&lt;p&gt;
Client and server developers optimize their resources (threads) depending upon their needs and are independent of each other. A client really can't tell if a resource is implemented asynchronously or not and shouldn't even need to know. 
&lt;/li&gt;
&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Improved connection
negotiation&lt;/span&gt;: This would allow a server to specify a
preferred MIME type if the client does not care about it. This
can be easily specified using the "qs" qualifier as shown below:&lt;br&gt;
&lt;br&gt;
&lt;code&gt;@Path("/")&lt;br&gt;
class ProductResource {&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @GET&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Produces({ "text/xml&lt;/code&gt;&lt;code&gt;;qs=0.75&lt;/code&gt;&lt;code&gt;",
"application/json"})&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public Product[] getProducts() {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . . .&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
The default server-side qs-value and the final order of
server-side served types preferences follow the same rules as
those specified for &lt;a
href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1"&gt;HTTP
Accept Header&lt;/a&gt;. Per those rules an unspecified value takes
the default value of 1. So the above &lt;code&gt;@Produces&lt;/code&gt;
rule says "application/json" will be served as the preferred
type if there is no &lt;code&gt;Accept&lt;/code&gt; header from the client.
The section 3.5 talks more about &lt;code&gt;qs&lt;/code&gt; parameter and
the section 3.8 in the specification provide complete details
about how media type of the response is chosen by a JAX-RS
runtime.&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The Appendix D in the specification provide a comprehensive list
of changes from the previous version of the specification.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;Here are some final set of references for you:&lt;br&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
href="http://jcp.org/aboutJava/communityprocess/edr/jsr339/index.html"&gt;JAX-RS





2.0 Specification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://jax-rs-spec.java.net/nonav/2.0/apidocs/index.html"&gt;Javadocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://java.net/projects/jax-rs-spec/pages/Home"&gt;JAX-RS
Specification Wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a
href="http://java.net/projects/jax-rs-spec/sources/git/show"&gt;JAX-RS
Workspace&lt;/a&gt; (including API and javadocs)&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
And of course, it'll all be delivered as part of GlassFish 4.0!&lt;br&gt;
&lt;p&gt; Learn the latest and greatest about JAX-RS 2.0 from Marek
Potociar's talk on JAX-RS at Devoxx 2011: &lt;br&gt;
&lt;object height="395" width="395"&gt; &lt;param name="movie"
value="http://www.parleys.com/dist/share/parleysshare.swf"&gt; &lt;param
name="allowFullScreen" value="true"&gt; &lt;param name="wmode"
value="direct"&gt; &lt;param name="bgcolor" value="#222222"&gt; &lt;param
name="flashVars" value="sv=true&amp;amp;pageId=2820"&gt; &lt;embed
src="http://www.parleys.com/dist/share/parleysshare.swf"
type="application/x-shockwave-flash"
flashvars="sv=true&amp;amp;pageId=2820" allowfullscreen="true"
bgcolor="#222222" height="395" width="395"&gt; &lt;/object&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_NU0YfWQ7YnRIVAo-iOgtA1vANM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_NU0YfWQ7YnRIVAo-iOgtA1vANM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_NU0YfWQ7YnRIVAo-iOgtA1vANM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_NU0YfWQ7YnRIVAo-iOgtA1vANM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/4v1ZQjoXVtU" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/jax_rs_2_0_early</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/java_ee_6_and_7</id>
        <title type="html">Java EE 6 and 7 at JUGICE, Iceland, JFokus 2012, and Umeå JUG, Sweden</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/h9f_PJSRAPc/java_ee_6_and_7" />
        <published>2012-02-06T16:50:06+00:00</published>
        <updated>2012-02-06T17:53:03+00:00</updated> 
        <category term="/General" label="General" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="iceland" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jfokus" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jug" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <category term="reykjavik" scheme="http://roller.apache.org/ns/tags/" />
        <category term="stockholm" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sweden" scheme="http://roller.apache.org/ns/tags/" />
        <category term="umea" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
After an easy January month, the conference circuit is starting with
a tour of the Nordics.&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left; width: 100%;" border="0"
cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;" width="20%"&gt;&lt;img style="
width: 123px; height: 175px;" alt=""
src="http://blogs.oracle.com/arungupta/resource/jugice-logo.jpg"&gt;&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;span style="font-weight:
bold;"&gt;What ?&lt;/span&gt; Java EE 6 hands-on workshop&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Date ?&lt;/span&gt; Saturday,
Feb 11, 2012&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Time ?&lt;/span&gt; 9am - 1pm&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Where ?&lt;/span&gt; &lt;a
href="http://www.ru.is/adstadan"&gt;Reykjavik University,
Fönix (m-105)&lt;/a&gt;&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Register ?&lt;/span&gt; &lt;a
href="http://jugice-ag2012-eorg.eventbrite.com/"&gt;jugice-ag2012-eorg.eventbrite.com&lt;/a&gt;&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Prep work:&lt;/span&gt; Download
and Install NetBeans 7.0.1 or later ("All" version) from &lt;a
href="http://netbeans.org"&gt;netbeans.org&lt;/a&gt;, JDK 6 latest
update from &lt;a
href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"&gt;oracle.com/javase&lt;/a&gt;.&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Twitter:&lt;/span&gt; &lt;a
href="https://twitter.com/#%21/JUGICE"&gt;@JUGICE&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left; width: 100%;" border="0"
cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;" width="20%"&gt;&lt;img style="
width: 220px; height: 220px;" alt=""
src="http://blogs.oracle.com/arungupta/resource/Jfokus2012_220x220.jpg"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;span style="font-weight:
bold;"&gt;What ?&lt;/span&gt; &lt;a
href="http://www.jfokus.se/jfokus/talks.jsp#HANDS-ON%20LAB%3A%20Building%20an%20end-to-end%20application%20using%20Java%20EE%206%20and%20NetBeans"&gt;Java




EE 6 hands-on workshop&lt;/a&gt; (Feb 13, 9am), &lt;a
href="http://www.jfokus.se/jfokus/talks.jsp#PaaSing%20a%20Java%20EE%20Application"&gt;PaaSing




a Java EE Application&lt;/a&gt; (Feb 15, 9am), &lt;a
href="http://www.jfokus.se/jfokus/talks.jsp#Java%20EE%207%3A%20Developing%20for%20the%20Cloud"&gt;Java




EE 7: Developing for the Cloud&lt;/a&gt; (Feb 15, 1pm)&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Date ?&lt;/span&gt; Monday -
Wednesday, Feb 13 - 15, 2012&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Time ?&lt;/span&gt; All Day&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Where ?&lt;/span&gt; Stockholm
Waterfront Congress Center, Sweden&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Register ?&lt;/span&gt; &lt;a
href="http://www.jfokus.se/jfokus/register.jsp?lang=en"&gt;jfokus.com&lt;/a&gt;
(almost sold out, register quick)&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Prep work:&lt;/span&gt; (For
hands-on workshop only) Download and Install NetBeans 7.0.1
or later ("All" version) from &lt;a
href="http://netbeans.org/"&gt;netbeans.org&lt;/a&gt;, JDK 6 latest
update from &lt;a
href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"&gt;oracle.com/javase&lt;/a&gt;.&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Website:&lt;/span&gt; &lt;a
href="http://jfokus.com/"&gt;jfokus.com&lt;/a&gt;&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Twitter:&lt;/span&gt; &lt;a
href="https://twitter.com/#%21/jfokus"&gt;@jfokus&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
Check out my reports from &lt;a
href="http://blogs.oracle.com/arungupta/entry/jfokus_2011_day_3_trip"&gt;JFokus


2011&lt;/a&gt;.&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left; width: 100%;" border="0"
cellpadding="5" cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;" width="20%"&gt;&lt;img style="
width: 209px; height: 200px;" alt=""
src="http://blogs.oracle.com/arungupta/resource/umea-sweden.png"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;span style="font-weight:
bold;"&gt;What ?&lt;/span&gt; &lt;a
href="http://umejug.blogspot.com/2012/02/java-ee-6glassfish-workshop-with-arun.html"&gt;Java
EE 6 hands-on workshop&lt;/a&gt;&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Date ?&lt;/span&gt; Thursday,
Feb 16, 2012&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Time ?&lt;/span&gt; 6pm&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Where ?&lt;/span&gt; &lt;a
href="http://www.umu.se/english"&gt;Ume&amp;aring; University&lt;/a&gt;
(Triple-Helix), Ume&amp;aring;, Sweden&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Register ?&lt;/span&gt; Just
show up&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Prep work:&lt;/span&gt; Download
and Install NetBeans 7.0.1 or later ("All" version) from &lt;a
href="http://netbeans.org/"&gt;netbeans.org&lt;/a&gt;, JDK 6 latest
update from &lt;a
href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"&gt;oracle.com/javase&lt;/a&gt;.&lt;br&gt;
&lt;span style="font-weight: bold;"&gt; Website:&lt;/span&gt; &lt;a
href="http://umejug.blogspot.com/"&gt;umejug.blogspot.com&lt;/a&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
Where will I meet or run with you ? :)&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kiRq8jDVA7wv758M8EcxQ7CQyHg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kiRq8jDVA7wv758M8EcxQ7CQyHg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kiRq8jDVA7wv758M8EcxQ7CQyHg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kiRq8jDVA7wv758M8EcxQ7CQyHg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/h9f_PJSRAPc" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/java_ee_6_and_7</feedburner:origLink></entry>
    <entry>
        <id>https://blogs.oracle.com/arungupta/entry/java_ee_6_pulled_crowd</id>
        <title type="html">Java EE 6 pulled crowd at Austin JUG</title>
        <author><name>arungupta  </name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/hRKSqz127_8/java_ee_6_pulled_crowd" />
        <published>2012-02-02T01:29:27+00:00</published>
        <updated>2012-02-02T17:16:05+00:00</updated> 
        <category term="/General" label="General" />
        <category term="austin" scheme="http://roller.apache.org/ns/tags/" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jug" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <category term="texas" scheme="http://roller.apache.org/ns/tags/" />
        <category term="weblogic" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;br&gt;
&lt;img style=" width: 178px; height: 90px;" alt=""
src="http://www.austinjug.org/banner/AustinJUG_banner_178x90.jpg"&gt;&lt;br&gt;
&lt;br&gt;
I delivered a NetBeans-driven Java EE 6 session to about 80+
attendees at the Austin JUG yesterday. The session built a typical
three-tier Web application using the new/updated technologies in the
Java EE 6 platform. I was told this is one of the largest attendance
seen at the JUG in recent months. Java EE 6 is indeed a crowd puller
;-)&lt;br&gt;
&lt;br&gt;
Rob Ratcliff, the JUG leader, started with a great overview of
"Whats new in Java" covering recent &lt;a
href="http://www.oracle.com/technetwork/java/javase/releasenotes-136954.html"&gt;JDK



update releases&lt;/a&gt;, &lt;a
href="http://www.oracle.com/technetwork/java/javafx/downloads/devpreview-1429449.html"&gt;Java



FX 2.1 Developer Preview for Mac and Linux&lt;/a&gt;, &lt;a
href="http://blogs.oracle.com/arungupta/entry/oracle_weblogic_server_12c_now"&gt;Java



EE 6 and WebLogic 12c&lt;/a&gt;, &lt;a
href="http://netbeans.org/community/releases/71/"&gt;NetBeans 7.1&lt;/a&gt;
and other stuff. His complete slides are available &lt;a href="http://www.austinjug.org/presentations/AustinJUG_01-31-2012.ppt"&gt;here&lt;/a&gt;. I was fortunate to speak at the JUG because an
informal survey of the attendees showed that nobody attends (or plan
to attend) a conference in the coming months.&lt;br&gt;
&lt;br&gt;
During my session, the highly interactive attendees learned about
NetBeans wizard-driven Java EE 6 application development. Here are
some of the features that were demonstrated in the talk:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Improvements in Java Persistence API&lt;/li&gt;
&lt;li&gt;"web.xml"-free and annotation-driven Servlets&lt;/li&gt;
&lt;li&gt;Simplified packaging of EJBs in a WAR file, no-interface and
single file definition of EJB&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Session preservation across redeploys&lt;/li&gt;
&lt;li&gt;Facelets (XHTML/CSS) as templating language for JavaServer
Faes to achieve true MVC&lt;/li&gt;
&lt;li&gt;Integration of Bean Validation with JPA and JSF&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Typesafe dependency injection and Producer/Observer of events
using CDI&lt;/li&gt;
&lt;li&gt;RESTful resources using JAX-RS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The application was built using NetBeans and deployed on
GlassFish. This same application can be easily deployed on
WebLogic 12c as well since it is full Java EE 6-compliant as well
now. The complete instructions for NetBeans/GlassFish are
available &lt;a
href="http://blogs.oracle.com/arungupta/resource/javaee6-hol-nov2011.pdf"&gt;here&lt;/a&gt;
&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;and same
instructions for NetBeans/WebLogic will be made available shortly
as well.&lt;br&gt;
&lt;/p&gt;
The session ran almost 45 minutes beyond the scheduled time with
most of the attendees staying late and asking questions. The
feedback from the attendees was very positive. One of them was even
starting a new project using NetBeans + Java EE 6 + GlassFish next
week so this talk was directly relevant. Also found another attendee
using GlassFish for development and WebLogic for deployment for
their Java EE 6 application. Rob used GlassFish for an internal US Military project and has been deployed for more than 2 years with nearly zero maintenance.
&lt;br&gt;
&lt;br&gt;
Check out some pictures from the JUG visit ...&lt;br&gt;
&lt;br&gt;
&lt;table style=" text-align: left;" border="0" cellpadding="5"
cellspacing="5"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh6.googleusercontent.com/-H3jm8j8FHE0/TynjKg7SBdI/AAAAAAAAc-0/-Nx5aDtUs1Q/s288/DSCN1387.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-X5Z-7tM0aYA/TynjLBUHuII/AAAAAAAAc_E/DV9DYkISwCY/s288/DSCN1389.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-aB-MP5-8RgQ/TynjLDFz5MI/AAAAAAAAc_M/S9n7GzicmTM/s288/DSCN1390.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top;"&gt;&lt;img style=" width: 288px;
height: 216px;" alt=""
src="https://lh5.googleusercontent.com/-a4vrmYi96lU/TynjLqIVRKI/AAAAAAAAc_c/2cPJxVOodEE/s288/DSCN1392.JPG"&gt;&lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br&gt;
A tweet like the one below definitely make the quick trip worth it
...&lt;br&gt;
&lt;br&gt;
&lt;a
href="https://twitter.com/#%21/rayploski/status/164542195947417601"&gt;&lt;img
alt=""
src="http://blogs.oracle.com/arungupta/resource/ajug-jan2012-feedback-tweet.png"
style="border: 0px solid; width: 524px; height: 151px;"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
The formal JUG session was followed by a beer-a-thon
(lemonade-a-thon for me ;-) at BJs. &lt;br&gt;
&lt;br&gt;
Some interesting facts about Austin ...&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Michael Dell (chairman and CEO of Dell) lives in Austin, Dell
worldwide headquarters are in Austin.&lt;/li&gt;
&lt;li&gt;Lance Armstrong is from Austin.&lt;/li&gt;
&lt;li&gt;Sandra Bullock, Matthew McConaughey, and Brad Pitt has homes
in Austin.&lt;/li&gt;
&lt;li&gt;Whole Foods chain started and headquartered in Austin. I was
lucky enough to squeeze time out for a lunch with a colleague at
one of their stores in this less-than-24-hour visit to Austin.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.keepaustinweird.com/"&gt;Keep Austin Weird&lt;/a&gt;&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
Download the &lt;a
href="http://blogs.oracle.com/arungupta/resource/javaee6-hol-nov2011.pdf"&gt;NetBeans/GlassFish



instructions&lt;/a&gt; and let us know how you are using Java EE 6.&lt;br&gt;
&lt;br&gt;
Next stop is Reykjavik (Iceland), Stockholm (Sweden) and Ume&amp;aring;
(Sweden), more on that later ...&lt;br&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gFQXEFKFsbMjiG0T6S8OetdrYpU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gFQXEFKFsbMjiG0T6S8OetdrYpU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gFQXEFKFsbMjiG0T6S8OetdrYpU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gFQXEFKFsbMjiG0T6S8OetdrYpU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MilesToGo/~4/hRKSqz127_8" height="1" width="1"/&gt;</content>
    <feedburner:origLink>https://blogs.oracle.com/arungupta/entry/java_ee_6_pulled_crowd</feedburner:origLink></entry>
</feed>

