<?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>http://blogs.sun.com/arungupta/feed/entries/atom</id>
            
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/arungupta/" />
        <updated>2010-03-11T03:03:20-08:00</updated>
    <generator uri="http://roller.apache.org" version="4.0.1.1 (BSC) (20100107025646)">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>http://blogs.sun.com/arungupta/entry/java_ee_6_glassfish_spark</id>
        <title type="html">Java EE 6 &amp; GlassFish - Spark IT 2010, Ruby Conf India 2010, Tech Days 2010</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/VrOqEyBxdbk/java_ee_6_glassfish_spark" />
        <published>2010-03-01T10:40:03-08:00</published>
        <updated>2010-03-02T10:45:11-08: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="hudson" scheme="http://roller.apache.org/ns/tags/" />
        <category term="hyderabad" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rubyconfindia" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sparkit2010" scheme="http://roller.apache.org/ns/tags/" />
        <category term="techdays" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Java EE 6 &amp;amp; GlassFish are swimming across the globe to participate in three different conferences in March 2010.&lt;/p&gt;
&lt;table border="0" cellpadding="5"&gt;
    &lt;tr&gt;
        &lt;td&gt;&lt;a href="http://www.ciol.com/sparkIT/2010/"&gt;&lt;img height="114" border="0" style="margin: 5px" width="242" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/03/sparkit2010-logo.png" title="Mar 18-19, Bangalore" /&gt;&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;
            &lt;p&gt;&lt;a href="http://www.ciol.com/sparkIT/2010/"&gt;Spark IT 2010&lt;/a&gt; is an inaugural conference and a joint initiative of &lt;a href="http://www.ciol.com/"&gt;CIOL&lt;/a&gt;, India's largest IT portal and &lt;a href="http://pcquest.ciol.com/"&gt;PCQuest&lt;/a&gt;, India's leading magazine for IT professionals. You'll hear about:&lt;/p&gt;
            &lt;ul&gt;
                &lt;li&gt;Java EE 6 &amp;amp; GlassFish (12:05 - 12:50pm, Mar 18)&lt;/li&gt;
                &lt;li&gt;Improving engineering process through Hudson (3:30 - 4:15pm, Mar 18)&lt;/li&gt;
                &lt;li&gt;GlassFish Toolapalooza (2:40 - 3:25pm, Mar 19)&lt;/li&gt;
                &lt;li&gt;Rails on GlassFish workshop (Mar 19)&lt;/li&gt;
            &lt;/ul&gt;
            &lt;p&gt;Check &lt;a href="http://www.ciol.com/sparkIT/2010/"&gt;Spark IT 2010 website&lt;/a&gt; for the latest updates. See the &lt;a href="http://www.ciol.com/sparkIT/2010/inc/agenda.asp"&gt;Agenda&lt;/a&gt;, &lt;a href="http://www.ciol.com/sparkIT/2010/inc/speakers.asp"&gt;Speakers&lt;/a&gt;, &lt;a href="http://www.ciol.com/sparkIT/2010/inc/venLayout.asp"&gt;Venue Layout&lt;/a&gt;, follow the updates on &lt;a href="http://twitter.com/sparkit2010"&gt;@sparkit2010&lt;/a&gt; and &lt;a href="http://www.ciol.com/sparkIT/2010/inc/Register.asp"&gt;register now&lt;/a&gt;!&lt;/p&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
&lt;table border="0" cellpadding="5"&gt;
    &lt;tr&gt;
        &lt;td&gt;&lt;a href="http://rubyconfindia.org/program.html"&gt;&lt;img height="150" border="0" width="180" style="margin: 5px" alt="" src="http://rubyconfindia.org/stock/rubyconf-badges/RubyConf2010/180X150_speaking.jpg" title="Mar 20-21, Bangalore" /&gt;&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;
            &lt;p&gt;&lt;a href="http://rubyconfindia.org/"&gt;Ruby Conf India 2010&lt;/a&gt; is India's first RubyConf and is presented by Ruby community in India (which seems to be growing) and supported by &lt;a href="http://www.rubycentral.org/"&gt;RubyCentral&lt;/a&gt;. There are lots of great speakers &lt;a href="http://en.wikipedia.org/wiki/Yukihiro_Matsumoto"&gt;Matz&lt;/a&gt;, &lt;a href="http://chadfowler.com/"&gt;Chad&lt;/a&gt;, &lt;a href="http://obiefernandez.com/"&gt;Obie&lt;/a&gt;, &lt;a href="http://blog.nicksieger.com/"&gt;Nick&lt;/a&gt;, and &lt;a href="http://olabini.com/blog/"&gt;Ola&lt;/a&gt;. And of course, you'll hear about:&lt;/p&gt;
            &lt;ul&gt;
                &lt;li&gt;GlassFish supports multiple Ruby frameworks ... really ? (2:00 - 2:45pm, Mar 21)&lt;/li&gt;
            &lt;/ul&gt;
            &lt;p&gt;Check &lt;a href="http://rubyconfindia.org/"&gt;Ruby Conf 2010 website&lt;/a&gt; for the latest updates. See the &lt;a href="http://rubyconfindia.org/program.html"&gt;Agenda&lt;/a&gt;, &lt;a href="http://www.royalorchidhotels.com/"&gt;Venue&lt;/a&gt; (Royal Orchid Hotel), follow the updates on &lt;a href="http://twitter.com/sparkit2010"&gt;@rubyconfindia&lt;/a&gt; and &lt;a href="http://rubyconfindia.doattend.com/"&gt;register now&lt;/a&gt;!&lt;/p&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Don't miss out on &lt;a href="http://en.wikipedia.org/wiki/Dosa"&gt;Sambar/Dosa&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Mavalli_Tiffin_Room"&gt;Mavalli Tiffin Room&lt;/a&gt; while in Bangalore :-)&lt;/p&gt;
&lt;table border="0" cellpadding="5"&gt;
    &lt;tr&gt;
        &lt;td&gt;&lt;a href="http://www.sercononline.com/suntechdays10/index.htm"&gt;&lt;img height="54" border="0" style="margin: 5px" width="248" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/03/techdays-2010.png" title="Mar 24-24, Hyderabad" /&gt;&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;
            &lt;p&gt;Tech Days 2010 at Hyderabad is biggest of all the Tech Days events. Other than &lt;a href="http://en.wikipedia.org/wiki/Hyderabad_biryani"&gt;Dum Biryani&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Charminar"&gt;Minarets&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Hyderabad_Pearls"&gt;Pearls&lt;/a&gt;, you'll hear about Java EE 6 platform and toolshow, OSGi, and Java Persistence API 2. The &lt;a href="http://www.sercononline.com/suntechdays10/agenda.htm"&gt;Agenda&lt;/a&gt; (to be updated) has all the details and &lt;a href="http://blogs.sun.com/jag/entry/life_oracle_is_starting_busy"&gt;James Gosling&lt;/a&gt; is going to be there as well!&lt;/p&gt;
            &lt;p&gt;Check &lt;a href="http://www.sercononline.com/suntechdays10/"&gt;Tech Days 2010 website&lt;/a&gt; for the latest updates. The &lt;a href="http://www.hicc.com/"&gt;venue&lt;/a&gt; (Hyderabad International Convention Center) is indeed very impressive so don't miss out and &lt;a href="http://www.reg-express.com/suntech10/register.jsp?count=1"&gt;register now&lt;/a&gt;!&lt;/p&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Check out reports from Tech Days 2009 (&lt;a href="http://blogs.sun.com/arungupta/entry/sun_tech_days_hyderabad_technology"&gt;1&lt;/a&gt;, &lt;a href="http://blogs.sun.com/arungupta/entry/sun_tech_days_hyderabad_2009"&gt;2&lt;/a&gt;) and Tech Days 2008 (&lt;a href="http://blogs.sun.com/arungupta/entry/glassfish_day_hyderabad_2008_packed"&gt;1&lt;/a&gt;, &lt;a href="http://blogs.sun.com/arungupta/entry/hyderabad_in_pictures_and_traffic"&gt;2&lt;/a&gt;, &lt;a href="http://blogs.sun.com/arungupta/entry/euphoria_sun_tech_days_hyderabad"&gt;3&lt;/a&gt;, &lt;a href="http://blogs.sun.com/arungupta/entry/sun_tech_days_hyderabad_2008"&gt;4&lt;/a&gt;, &lt;a href="http://blogs.sun.com/arungupta/entry/sun_tech_days_hyderabad_talent"&gt;5&lt;/a&gt;, &lt;a href="http://blogs.sun.com/arungupta/entry/sun_tech_days_hyderabad_day"&gt;6&lt;/a&gt;, &lt;a href="http://blogs.sun.com/arungupta/entry/glassfish_day_india_tech_days"&gt;7&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Here is the current speaking schedule:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Mar 7-8: &lt;a href="http://blogs.sun.com/arungupta/entry/java_ee_6_glassfish_swimming1"&gt;DevNexus, Atlanta&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Mar 18-19: &lt;a href="http://www.ciol.com/sparkIT/2010/"&gt;Spark IT 2010, Bangalore&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Mar 20-21: &lt;a href="http://rubyconfindia.org/program.html"&gt;Ruby Conf India 2010, Bangalore&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Mar 24-25: &lt;a href="http://www.sercononline.com/suntechdays10/index.htm"&gt;Tech Days 2010, Hyderabad&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Apr 5: &lt;a href="http://blogs.sun.com/arungupta/entry/java_ee_6_glassfish_swimming1"&gt;Java EE 6 &amp;amp; GlassFish workshop, Dallas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And as always, feel free to join me for a run :-)&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/conf"&gt;conf&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/javaee"&gt;javaee&lt;/a&gt; &lt;a href="http://technorati.com/tags/bangalore"&gt;bangalore&lt;/a&gt; &lt;a href="http://technorati.com/tags/hyderabad"&gt;hyderabad&lt;/a&gt; &lt;a href="http://technorati.com/tags/sparkit2010"&gt;sparkit2010&lt;/a&gt; &lt;a href="http://technorati.com/tags/rubyconfindia"&gt;rubyconfindia&lt;/a&gt; &lt;a href="http://technorati.com/tags/techdays"&gt;techdays&lt;/a&gt; &lt;a href="http://technorati.com/tags/hudson"&gt;hudson&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dOzi7DseNF62Sppzd8n2p2MTNVY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dOzi7DseNF62Sppzd8n2p2MTNVY/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/dOzi7DseNF62Sppzd8n2p2MTNVY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dOzi7DseNF62Sppzd8n2p2MTNVY/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/VrOqEyBxdbk" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/java_ee_6_glassfish_spark</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/oracle_at_eclipsecon_2010_java</id>
        <title type="html">Oracle at EclipseCon 2010 - Java EE 6, OSGi, GlassFish, EclipseLink, JPA 2.0/Dali, ...</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/n9Wq5bNbudQ/oracle_at_eclipsecon_2010_java" />
        <published>2010-02-26T17:02:11-08:00</published>
        <updated>2010-03-04T17:24:45-08:00</updated> 
        <category term="/General" label="General" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="eclipse" scheme="http://roller.apache.org/ns/tags/" />
        <category term="eclipsecon" 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="oepe" scheme="http://roller.apache.org/ns/tags/" />
        <category term="oracle" scheme="http://roller.apache.org/ns/tags/" />
        <category term="santaclara" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;table border="0" cellpadding="10"&gt;
    &lt;tr&gt;
        &lt;td&gt;&lt;a href="http://www.eclipsecon.org/2010/"&gt;&lt;img height="400" border="0" width="80" style="" class="" alt="EclipseCon 2010" src="http://www.eclipsecon.org/2010/static/image/120x600.jpg" title="" /&gt;&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;
&lt;a href="http://oracle.com"&gt;Oracle&lt;/a&gt; is a strategic developer &amp;amp; board member of the Eclipse Foundation and is a &lt;a href="http://www.eclipsecon.org/2010/sponsors/"&gt;gold sponsor&lt;/a&gt; of &lt;a href="http://www.eclipsecon.org/2010/"&gt;Eclipse Con 2010&lt;/a&gt;. See the complete list of &lt;a href="http://oss.oracle.com/oracle-eclipse-projects.html"&gt;Eclipse projects at Oracle&lt;/a&gt;.
            &lt;p&gt;&lt;strong&gt;When ?&lt;/strong&gt; Mar 22&lt;sup&gt;nd&lt;/sup&gt; - 25&lt;sup&gt;th&lt;/sup&gt;, 2010&lt;br /&gt;&lt;strong&gt;Where ?&lt;/strong&gt; Santa Clara, California&lt;br /&gt;&lt;strong&gt;How to register ?&lt;/strong&gt; &lt;a href="http://www.eclipsecon.org/2010/registration/"&gt;Register Now&lt;/a&gt; - Use the coupon code &lt;code&gt;ORACLE10&lt;/code&gt; (before Mar 2) for 10% off registration.&lt;br /&gt;&lt;strong&gt;What ?&lt;/strong&gt; &lt;a href="http://www.eclipsecon.org/2010/table/"&gt;Program Schedule&lt;/a&gt;&lt;/p&gt;
            &lt;p&gt;Oracle certainly has a lot to talk about &lt;a href="http://www.eclipsecon.org/2010/sessions/?page=sessions&amp;amp;id=1226"&gt;Java EE&lt;/a&gt; &lt;a href="http://www.eclipsecon.org/2010/sessions?id=1255"&gt;6&lt;/a&gt;, &lt;a href="http://www.eclipsecon.org/2010/sessions/?page=sessions&amp;amp;id=1392"&gt;OSGi/GlassFish&lt;/a&gt;, &lt;a href="https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1352"&gt;JPA 2.0 and Dali&lt;/a&gt;, &lt;a href="https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1559"&gt;Future of App Servers&lt;/a&gt;, &lt;a href="https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1125"&gt;Future of Enterprise Java&lt;/a&gt;, &lt;a href="https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1425"&gt;Eclipse RT&lt;/a&gt; and &lt;a href="https://www.eclipsecon.org/submissions/2010/view_talk.php?id=1574"&gt;WTP Reloaded&lt;/a&gt; tutorials and many other sessions. See the complete details about Oracle's participation &lt;a href="http://wiki.oracle.com/page/Oracle+@+EclipseCon+2010"&gt;here&lt;/a&gt;.&lt;/p&gt;
            &lt;p&gt;Also don't miss the keynote by Steve Harris and Jeet Kaul on &lt;a href="http://www.eclipsecon.org/2010/sessions/?page=sessions&amp;amp;id=1601"&gt;Community and Adaptation&lt;/a&gt;. Hear these two industry leaders and prolific speakers talk about how Java has empowered community, engendered new forms of adaptation and will continue to blaze the trails.&lt;/p&gt;
            &lt;p&gt;And then there is &lt;a href="http://www.eclipsecon.org/2010/activities/"&gt;Members and Committers reception&lt;/a&gt; on Monday evening sponsored by Oracle. Visit us at booth #8 to speak with technical experts, see demos and get information about Oracle's Eclipse technology and Project participation.&lt;/p&gt;
            &lt;p&gt;&lt;a href="http://www.osgi.org/DevCon2010/HomePage"&gt;OSGi DevCon 2010&lt;/a&gt; is happening on the same dates/venue and is covered with Eclipse Con registration.&lt;/p&gt;
            &lt;p&gt;And last, but not the least, let that runner in you have some fun and &lt;a href="http://wiki.eclipse.org/EclipseCon_Exercise_2010"&gt;run with fellow attendees&lt;/a&gt;. Yep, there are even prizes!&lt;/p&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&lt;br /&gt;Keep checking &lt;a href="http://eclipsecon.org"&gt;eclipsecon.org&lt;/a&gt; for the latest updates.&lt;/p&gt;
&lt;p align="left"&gt;Unfortunately, I'll be speaking elsewhere in a different part of the world during exact same dates and so will miss all the fun. More on that later but here are some key members of the Eclipse Foundation:&lt;/p&gt;
&lt;p align="center"&gt;&lt;img height="320" style="margin: 5px" width="496" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/eclipsecon-2010-puppets.png" /&gt;&lt;/p&gt;
&lt;p&gt;Feel free to greet and thank them for running the show :-)&lt;/p&gt;
&lt;p&gt;Read about 2009 participation &lt;a href="http://blogs.sun.com/arungupta/tags/eclipsecon"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/conf"&gt;conf&lt;/a&gt; &lt;a href="http://technorati.com/tags/oracle"&gt;oracle&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/javaee"&gt;javaee&lt;/a&gt; &lt;a href="http://technorati.com/tags/oepe"&gt;oepe&lt;/a&gt; &lt;a href="http://technorati.com/tags/eclipsecon"&gt;eclipsecon&lt;/a&gt; &lt;a href="http://technorati.com/tags/santaclara"&gt;santaclara&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MI4MGgGiqDQOMYCAdeRDWBW8yzc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MI4MGgGiqDQOMYCAdeRDWBW8yzc/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/MI4MGgGiqDQOMYCAdeRDWBW8yzc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MI4MGgGiqDQOMYCAdeRDWBW8yzc/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/n9Wq5bNbudQ" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/oracle_at_eclipsecon_2010_java</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/oracle_glassfish_server_3_new</id>
        <title type="html">Oracle GlassFish Server 3 - New Datasheet available</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/VbCmaKLLtRo/oracle_glassfish_server_3_new" />
        <published>2010-02-24T12:03:52-08:00</published>
        <updated>2010-02-24T12:04:01-08:00</updated> 
        <category term="/General" label="General" />
        <content type="html">&lt;table border="0" cellspacing="5"&gt;
    &lt;tr&gt;
        &lt;td&gt;&lt;img height="50" style="margin: 5px" width="238" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/oracle-glassfish-server-logo.png" /&gt;&lt;/td&gt;
        &lt;td&gt;Oracle announced a new datasheet for &amp;quot;&lt;a href="http://www.oracle.com/us/products/middleware/application-server/050870.pdf"&gt;Oracle GlassFish Server 3&lt;/a&gt;&amp;quot;, yep no &amp;quot;v&amp;quot;!&lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Here are some key points from the datasheet:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;BENEFITS&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;em&gt;Light weight and flexibility, with fast startup of only those services required by deployed applications&lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Support available from Oracle’s world-class services organization&lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Easy-to-use administration console and command-line tool&lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Microsoft .NET interoperability&lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Compatibility with the Java EE 6 and Java EE 6 Web Profile, improving application portability and developer productivity&lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;&lt;em&gt;Tomcat developers’ ability to begin with the more capable Java EE 6 Web Profile and then grow to a more feature-rich, standardized platform as needed, using only the resources necessary&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;. . .&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Oracle GlassFish Server is the world’s first implementation of the  Java Platform, Enterprise Edition (Java EE) 6 specification. Built with the open source GlassFish Project reference implementation, Oracle GlassFish Server is a flexible, lightweight, and extensible Java EE 6–compatible server. &lt;strong&gt;Completely supported for commercial  deployment and available standalone or packaged with other Oracle Fusion Middleware offerings&lt;/strong&gt;, Oracle GlassFish Server delivers a small-footprint, fully featured Java EE application server.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;. . .&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Oracle GlassFish Server is&lt;strong&gt; part of the Oracle Fusion Middleware application grid portfolio&lt;/strong&gt; and is ideally suited for applications requiring lightweight infrastructure with the most up-to-date implementation of enterprise Java, Java EE 6, and Java Web services. Oracle GlassFish Server complements Oracle WebLogic Server, which is designed to run the broader portfolio of Oracle Fusion Middleware and large-scale enterprise applications.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;. . .&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Please visit oracle.com/sun or call +1.800.786.0404 to speak to an Oracle representative.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Lot more details in the datasheet, &lt;a href="http://www.oracle.com/us/products/middleware/application-server/050870.pdf"&gt;download now&lt;/a&gt;! More details about Oracle GlassFish Server are on &lt;a href="http://www.oracle.com/us/products/middleware/application-server/oracle-glassfish-server/index.html"&gt;oracle.com&lt;/a&gt;. A Java EE 6 whitepaper is also available on &lt;a href="http://www.oracle.com/us/products/middleware/application-server/050871.pdf"&gt;oracle.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Additionally, you can watch the webcast on &lt;a href="http://blogs.sun.com/arungupta/entry/glassfish_strategy_by_oracle_sun"&gt;GlassFish Strategy by Oracle&lt;/a&gt; or attend a &lt;a href="http://blogs.sun.com/arungupta/entry/oracle_sun_welcome_events"&gt;Oracle+Sun welcome event&lt;/a&gt; in a city near you.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/oracle"&gt;oracle&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/javaee"&gt;javaee&lt;/a&gt; &lt;a href="http://technorati.com/tags/datasheet"&gt;datasheet&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sJy-DsQAhwzMlAb8xQO6EEqZHpo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sJy-DsQAhwzMlAb8xQO6EEqZHpo/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/sJy-DsQAhwzMlAb8xQO6EEqZHpo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sJy-DsQAhwzMlAb8xQO6EEqZHpo/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/VbCmaKLLtRo" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/oracle_glassfish_server_3_new</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/java_ee_6_glassfish_swimming1</id>
        <title type="html">Java EE 6 &amp; GlassFish swimming to DevNexus/Atlanta - Mar 8/9 &amp; Dallas - Apr 5</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/QXJ-yrT1SL8/java_ee_6_glassfish_swimming1" />
        <published>2010-02-23T11:28:37-08:00</published>
        <updated>2010-02-24T09:03:14-08:00</updated> 
        <category term="/General" label="General" />
        <category term="atlanta" scheme="http://roller.apache.org/ns/tags/" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="dallas" 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/" />
        <content type="html">&lt;p&gt;Here is an opportunity to hear the latest &amp;amp; greatest about &lt;a href="http://jcp.org/en/jsr/detail?id=316"&gt;Java EE 6&lt;/a&gt; &amp;amp; &lt;a href="https://glassfish.dev.java.net/"&gt;GlassFish&lt;/a&gt; in Atlanta and Dallas.&lt;/p&gt;
&lt;table border="0" width="60%" cellpadding="5" cellspacing="5"&gt;
    &lt;tr&gt;
        &lt;th&gt;Where ?&lt;/th&gt;
        &lt;th&gt;When ?&lt;/th&gt;
        &lt;th&gt;Participate ?&lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td align="center"&gt;Atlanta&lt;/td&gt;
        &lt;td align="center"&gt;Mar 8/9, 2010&lt;/td&gt;
        &lt;td align="center"&gt;&lt;a href="http://www.devnexus.com/"&gt;DevNexus&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td align="center"&gt;Dallas&lt;/td&gt;
        &lt;td align="center"&gt;Apr 5, 2010&lt;/td&gt;
        &lt;td align="center"&gt;&lt;a href="http://ee6roadshowdal.eventbrite.com/"&gt;FREE Invite&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
&lt;table border="0"&gt;
    &lt;tr&gt;
        &lt;td&gt;&lt;a href="http://www.devnexus.com/"&gt;&lt;img height="89" border="0" style="margin: 5px" width="300" class="" alt="" title="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/devnexus-logo.png" /&gt;&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;The Atlanta event is happening at &lt;a href="http://www.devnexus.com/"&gt;DevNexus&lt;/a&gt;, a developer conference organized by the &lt;a href="http://www.ajug.org/"&gt;Atlanta Java Users Group&lt;/a&gt;. The topics in this year's conference range from Java EE 6, Spring 3.0, Grails, Google App Engine, Google Wave, Context &amp;amp; Dependency Injection, Hudson and many others.&lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;See the complete list of &lt;a href="http://www.devnexus.com/site/speakers"&gt;speakers&lt;/a&gt; and &lt;a href="http://www.devnexus.com/site/schedule"&gt;schedule&lt;/a&gt;. Seats are limited and pre-registration is required, so &lt;a href="http://ajug.eventwax.com/devnexus-2010/register"&gt;register now&lt;/a&gt;! Follow &lt;a href="http://twitter.com/devnexus"&gt;@devnexus&lt;/a&gt; for more details.&lt;/p&gt;
&lt;table border="0"&gt;
    &lt;tr&gt;
        &lt;td&gt;&lt;a href="http://ee6roadshowdal.eventbrite.com/"&gt;&lt;img height="89" border="0" style="margin: 5px" width="231" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/oracle-university.png" /&gt;&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;
The Dallas event is organized by &lt;a href="http://education.oracle.com/"&gt;Oracle University&lt;/a&gt; in association with &lt;a href="http://www.gca.net/sun"&gt;GCA.net Technology Services&lt;/a&gt; and is dedicated to Java EE 6 &amp;amp; GlassFish.
            &lt;p&gt;&lt;a href="http://ee6roadshowdal.eventbrite.com/"&gt;Register today&lt;/a&gt;!&lt;/p&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&lt;br /&gt;In both the events, you'll learn how Java EE 6 provides a flexible technology stack, takes ease-of-development to a new level by following convention-over-configuration and using defaults, improves developer productivity by intuitive tooling, new/updated specifications in the platform and many other features.&lt;/p&gt;
&lt;p&gt;The talk will be accompanied by numerous live code samples showing the benefits of Java EE 6 platform and GlassFish.&lt;/p&gt;
&lt;p&gt;More details about both the events are available &lt;a href="http://www.gca.net/java-ee6-road-show-atlanta-dallas-2010"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="https://technorati.com/tags/javaee"&gt;javaee&lt;/a&gt; &lt;a href="https://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="https://technorati.com/tags/atlanta"&gt;atlanta&lt;/a&gt; &lt;a href="https://technorati.com/tags/dallas"&gt;dallas&lt;/a&gt; &lt;a href="https://technorati.com/tags/conf"&gt;conf&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qaM--rWZWwnX00AAvCA61_FmVEw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qaM--rWZWwnX00AAvCA61_FmVEw/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/qaM--rWZWwnX00AAvCA61_FmVEw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qaM--rWZWwnX00AAvCA61_FmVEw/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/QXJ-yrT1SL8" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/java_ee_6_glassfish_swimming1</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/totd_124_using_cdi_jpa</id>
        <title type="html">TOTD #124: Using CDI + JPA with JAX-RS and JAX-WS</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/fJKgUP3Yl-Q/totd_124_using_cdi_jpa" />
        <published>2010-02-18T10:36:00-08:00</published>
        <updated>2010-02-19T13:28:14-08:00</updated> 
        <category term="/General" label="General" />
        <category term="cdi" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jaxrs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jaxws" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jersey" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jsr299" scheme="http://roller.apache.org/ns/tags/" />
        <category term="metro" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rest" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webservices" scheme="http://roller.apache.org/ns/tags/" />
        <category term="weld" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;This is a follow up blog to &lt;a href="http://blogs.sun.com/arungupta/entry/totd_120_deployment_descriptor_free"&gt;TOTD #120&lt;/a&gt; and &lt;a href="http://blogs.sun.com/arungupta/entry/totd_123_f_ajax_bean"&gt;TOTD #123&lt;/a&gt;. These two blogs together have created a simple Java EE 6 application and showed the following features so far:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;No-interface view for EJB&lt;/li&gt;
    &lt;li&gt;EJBs packaged in a WAR file&lt;/li&gt;
    &lt;li&gt;Optional &amp;quot;faces-config.xml&amp;quot; for Java Server Faces&lt;/li&gt;
    &lt;li&gt;FacesServlet registered using Servlet 3.0 programmatic registration APIs&lt;/li&gt;
    &lt;li&gt;Java Server Faces navigation rules using convention-over-configuration&lt;/li&gt;
    &lt;li&gt;Optional &amp;quot;web.xml&amp;quot; for Servlets 3.0&lt;/li&gt;
    &lt;li&gt;Add database access using Java Persistence API 2.0&lt;/li&gt;
    &lt;li&gt;Show type-safe Criteria API from JPA 2.0&lt;/li&gt;
    &lt;li&gt;Use Context &amp;amp; Dependency Injection for JSF managed beans&lt;/li&gt;
    &lt;li&gt;Add Ajax effects from Java Server Faces 2.0&lt;/li&gt;
    &lt;li&gt;Add Bean Validation to the JSF managed bean&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://glassfish.dev.java.net/downloads/v3-final.html"&gt;GlassFish v3&lt;/a&gt; is the Java EE 6 Reference Implementation and comes bundled with a complete SOAP Web services stack (&lt;a href="http://metro.dev.java.net"&gt;Metro&lt;/a&gt;/&lt;a href="http://jax-ws.dev.java.net"&gt;JAX-WS&lt;/a&gt;) and a RESTful stack (&lt;a href="http://jsr311.dev.java.net"&gt;JAX-RS&lt;/a&gt;/&lt;a href="http://jersey.dev.java.net"&gt;Jersey&lt;/a&gt;). This blog will update the previously created Maven project with:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;A SOAP Web service using JAX-WS&lt;/li&gt;
    &lt;li&gt;A RESTful Web service using JAX-RS&lt;/li&gt;
    &lt;li&gt;Use Context &amp;amp; Dependency Injection with JAX-WS and JAX-RS&lt;/li&gt;
    &lt;li&gt;Query the database using JPA 2 based upon criteria from the Web service invocation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Lets get started!&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;
Use the Maven project from &lt;a href="http://blogs.sun.com/arungupta/entry/totd_123_f_ajax_bean"&gt;TOTD #123&lt;/a&gt; and update the directory structure as follows:&lt;br /&gt;
        &lt;pre&gt;
src
src/main
src/main/java
src/main/java/org
src/main/java/org/glassfish
src/main/java/org/glassfish/samples
src/main/java/org/glassfish/samples/ActorResource.java
src/main/java/org/glassfish/samples/RESTApplication.java
src/main/java/org/glassfish/samples/SakilaBean.java
src/main/java/org/glassfish/samples/SimpleBean.java
src/main/java/org/glassfish/samples/SimpleEJB.java
src/main/java/org/glassfish/samples/SimpleServlet.java
src/main/java/org/glassfish/samples/SOAPService.java
src/main/resources
src/main/webapp
src/main/webapp/index.jsp
src/main/webapp/index.xhtml
src/main/webapp/sakila.xhtml
src/main/webapp/show.xhtml
src/main/webapp/WEB-INF
src/main/webapp/WEB-INF/beans.xml
src/main/webapp/WEB-INF/web.xml
&lt;/pre&gt;
&lt;br /&gt;The changes are:
        &lt;ul&gt;
            &lt;li&gt;&amp;quot;ActorResource.java&amp;quot; is added for the RESTful representation of Actor table.&lt;/li&gt;
            &lt;li&gt;&amp;quot;SOAPSevice.java&amp;quot; is added to invoke the SOAP-based Web service.&lt;/li&gt;
            &lt;li&gt;&amp;quot;SakilaBean.java&amp;quot; is updated to query the database for an Actor identified by &amp;quot;id&amp;quot;.&lt;br /&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;
The updated files are explained below.
        &lt;ul&gt;
            &lt;li&gt;
A new method is added to &lt;strong&gt;SakilaBean.java&lt;/strong&gt; as shown below:&lt;br /&gt;
                &lt;pre&gt;
 public Actor findActorById(int id) {
    EntityManager em = emf.createEntityManager();

    CriteriaBuilder cb = emf.getCriteriaBuilder();
    CriteriaQuery&amp;lt;Actor&amp;gt; criteria = cb.createQuery(Actor.class);

    // FROM clause
    Root&amp;lt;Actor&amp;gt; actor = criteria.from(Actor.class);

    // SELECT clause
    criteria.multiselect(actor.&amp;lt;Short&amp;gt;get("actorId"),
                         actor.&amp;lt;String&amp;gt;get("firstName"),
                         actor.&amp;lt;String&amp;gt;get("lastName"));

    // WHERE clause
     criteria.where(cb.equal(actor.&amp;lt;Short&amp;gt;get("actorId"), id));

    Query q = em.createQuery(criteria);
    ((org.eclipse.persistence.jpa.JpaQuery)q).getDatabaseQuery().dontMaintainCache();

    return (Actor)q.getResultList().get(0);
}
&lt;/pre&gt;
&lt;br /&gt;This method queries the database for an actor by his id and uses the typesafe Criteria API to achieve the purpose. The FROM, SELECT, and WHERE clause are highlighted in the code. A cast to EclipseLink specific class is required because of the &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=303205"&gt;bug #303205&lt;/a&gt;.            &lt;/li&gt;
            &lt;li&gt;
&lt;strong&gt;SOAPService.java&lt;/strong&gt;
                &lt;pre&gt;
package org.glassfish.samples;

import javax.inject.Inject;
import javax.jws.WebService;
import sakila.Actor;

@WebService
public class SOAPService {
    @Inject SakilaBean bean;

    public String sayHello(int id) {
        Actor a = bean.findActorById(id);
        return "Hello " + a.getFirstName();
    }
}
&lt;/pre&gt;
&lt;br /&gt;The key points in the code are:
                &lt;ul&gt;
                    &lt;li&gt;Standard JAX-WS annotations from &amp;quot;javax.jws.*&amp;quot; package are used to represent the Web service.&lt;/li&gt;
                    &lt;li&gt;The Web service has only one method &amp;quot;sayHello&amp;quot; that concatenates the string &amp;quot;Hello&amp;quot; with the first name of &amp;quot;Actor&amp;quot; identified by &amp;quot;id&amp;quot;.&lt;/li&gt;
                    &lt;li&gt;No deployment descriptor modifications are required to publish this Web service.&lt;/li&gt;
                    &lt;li&gt;&amp;quot;SakilaBean&amp;quot; is injected using @Inject annotation and used to query the database. This allows to encapsulate all the database details in one class and injected in a typesafe manner.&lt;/li&gt;
                &lt;/ul&gt;
            &lt;/li&gt;
            &lt;li&gt;
&lt;strong&gt;RESTApplication.java&lt;/strong&gt;&lt;br /&gt;
                &lt;pre&gt;
package org.glassfish.samples;

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

@ApplicationPath("/sakila")
public class RESTApplication extends Application {
}
&lt;/pre&gt;
&lt;br /&gt;This is a marker class to inform Jersey of the root resource to be registered. By default, all classes with @Path and @Provider annotations are included. It also specifies the base path at which all resources are accessible.&lt;br /&gt;&lt;br /&gt;An alternative to this class is to specify the required information in &amp;quot;web.xml&amp;quot; as:
                &lt;pre&gt;
&amp;lt;servlet&amp;gt;
     &amp;lt;servlet-name&amp;gt;Jersey Web Application&amp;lt;/servlet-name&amp;gt;
     &amp;lt;servlet-class&amp;gt;com.sun.jersey.spi.container.servlet.ServletContainer&amp;lt;/servlet-class&amp;gt;
 &amp;lt;/servlet&amp;gt;

 &amp;lt;servlet-mapping&amp;gt;
     &amp;lt;servlet-name&amp;gt;Jersey Web Application&amp;lt;/servlet-name&amp;gt;
     &amp;lt;url-pattern&amp;gt;/sakila/*&amp;lt;/url-pattern&amp;gt;
 &amp;lt;/servlet-mapping&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;So only one of RESTApplication.java or changes in &amp;quot;web.xml&amp;quot; are required.            &lt;/li&gt;
            &lt;li&gt;
&lt;strong&gt;ActorResource.java&lt;/strong&gt;&lt;br /&gt;                &lt;pre&gt;
package org.glassfish.samples;

import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.PathParam;
import sakila.Actor;

@Path("/actor/{id}")
@RequestScoped
public class ActorResource {
    @Inject SakilaBean sakila;

    @GET
    @Produces("application/json")
    public Actor getActor(@PathParam("id") int id) {
        return sakila.findActorById(id);
    }
}
&lt;/pre&gt;
The key points in the code are:
                &lt;ul&gt;
                    &lt;li&gt;Standard JAX-RS annotations from &amp;quot;javax.ws.rs&amp;quot; package are used to represent the RESTful resource.&lt;/li&gt;
                    &lt;li&gt;&amp;quot;getActor&amp;quot; method is invoked when the resource is accessed using HTTP GET.&lt;/li&gt;
                    &lt;li&gt;The resource is accessible at &amp;quot;/actor/{id}&amp;quot; URL where &amp;quot;{id}&amp;quot; is mapped to the &amp;quot;id&amp;quot; parameter of &amp;quot;getActor&amp;quot; method.&lt;/li&gt;
                    &lt;li&gt;SakilaBean is injected in a typesafe manner using @Inject annotation. This bean is then used to query the database using the &amp;quot;id&amp;quot; parameter.&lt;/li&gt;
                    &lt;li&gt;&amp;quot;getActor&amp;quot; method produces JSON representation, as defined by the &amp;quot;@Produces&amp;quot; annotation. This is easily achieved by updating our Persistence Unit (PU) created in &lt;a href="http://blogs.sun.com/arungupta/entry/totd_122_creating_a_jpa"&gt;TOTD #122&lt;/a&gt; and adding &amp;quot;@javax.xml.bind.annotation.XmlRootElement&amp;quot; as the class level annotation on &amp;quot;sakila.Actor&amp;quot; class. Make sure to install the updated PU to your local Maven repository.&lt;/li&gt;
                &lt;/ul&gt;
            &lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;Package and deploy the application as:
&lt;pre&gt;
mvn clean package
./bin/asadmin deploy --force=true ~/samples/javaee6/simplewebapp/target/simplewebapp-1.0-SNAPSHOT.war
&lt;/pre&gt;
&lt;p&gt;Now the SOAP web service is accessible at &amp;quot;http://localhost:8080/simplwebapp-1.0-SNAPSHOT/SOAPServiceService&amp;quot; and looks like:&lt;/p&gt;
&lt;p&gt;&lt;img height="288" border="1" style="margin: 5px" width="795" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd124-soapservice-default-page.png" /&gt;&lt;br /&gt;Notice, the URL in your case may be different if the Web service class name was different. The default URL is &amp;quot;http://&amp;lt;HOST&amp;gt;:&amp;lt;PORT&amp;gt;/&amp;lt;CONTEXT ROOT&amp;gt;&amp;lt;WEB SERVICE CLASS NAME&amp;gt;Service&amp;quot;.&lt;/p&gt;
&lt;p&gt;This Web service can be easily tested by using the in-built tester accessible at &amp;quot;http://localhost:8080/simplwebapp-1.0-SNAPSHOT/SOAPServiceService?tester&amp;quot; and looks like:&lt;/p&gt;
&lt;p&gt;&lt;img height="294" border="1" style="margin: 5px" width="650" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd124-soapservice-tester-page.png" /&gt;&lt;/p&gt;
&lt;p&gt;The WSDL describing the Web service can be seen by clicking on the &amp;quot;WSDL File&amp;quot; link. The Web service method can be invoked by entering a value (&amp;quot;id&amp;quot; of the Actor) in the text box and clicking on &amp;quot;sayHello&amp;quot; button. Here is a sample run:&lt;/p&gt;
&lt;p&gt;&lt;img height="781" border="1" style="margin: 5px" width="652" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd124-soapservice-tester-output.png" /&gt;&lt;/p&gt;
&lt;p&gt;Clicking on &amp;quot;Submit&amp;quot; invokes the Web service which then uses the injected &amp;quot;SakilaBean&amp;quot; to query the database using the parameter specified. The first name from the response from the database is then extracted, concatenated with the string &amp;quot;Hello&amp;quot; and returned as Web service response.&lt;/p&gt;
&lt;p&gt;The RESTful resource is accessible at &amp;quot;http://localhost:8080/simplwebapp-1.0-SNAPSHOT/sakila/actor/5&amp;quot; and looks like:&lt;/p&gt;
&lt;p&gt;&lt;img height="84" border="1" style="margin: 5px" width="595" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd124-restservice-output.png" /&gt;&lt;/p&gt;
&lt;p&gt;As in the SOAP-based Web service, the &amp;quot;5&amp;quot; in the URL is mapped to a parameter in the &amp;quot;ActorResource.java&amp;quot;, the injected &amp;quot;SakilaBean&amp;quot; is then used to query the database and returns the JSON representation. Specifying a different number in the URL will show the RESTful JSON representation for that particular actor.&lt;/p&gt;
&lt;p&gt;More Java EE 6 features will be covered in subsequent blogs. Are you interested in any particular ones ?&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/jaxws"&gt;jaxws&lt;/a&gt; &lt;a href="http://technorati.com/tags/metro"&gt;metro&lt;/a&gt; &lt;a href="http://technorati.com/tags/webservices"&gt;webservices&lt;/a&gt; &lt;a href="http://technorati.com/tags/jaxrs"&gt;jaxrs&lt;/a&gt; &lt;a href="http://technorati.com/tags/rest"&gt;rest&lt;/a&gt; &lt;a href="http://technorati.com/tags/jersey"&gt;jersey&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/v3"&gt;v3&lt;/a&gt; &lt;a href="http://technorati.com/tags/cdi"&gt;cdi&lt;/a&gt; &lt;a href="http://technorati.com/tags/jsr299"&gt;jsr299&lt;/a&gt; &lt;a href="http://technorati.com/tags/weld"&gt;weld&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GazCX8ROGM9vUa79jNKcDAd3NHM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GazCX8ROGM9vUa79jNKcDAd3NHM/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/GazCX8ROGM9vUa79jNKcDAd3NHM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GazCX8ROGM9vUa79jNKcDAd3NHM/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/fJKgUP3Yl-Q" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/totd_124_using_cdi_jpa</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/latest_features_of_java_persistence</id>
        <title type="html">Latest features of Java Persistence 2.0 with MySQL - FREE webinar, Feb 23, 2010</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/DwgY1xykL0o/latest_features_of_java_persistence" />
        <published>2010-02-15T10:12:04-08:00</published>
        <updated>2010-02-16T10:13:04-08:00</updated> 
        <category term="/General" label="General" />
        <content type="html">&lt;p&gt;Want to learn the latest features of&lt;a href="http://jcp.org/en/jsr/detail?id=317"&gt; Java Persistence 2.0&lt;/a&gt; (JSR 317) with &lt;a href="http://mysql.org"&gt;MySQL&lt;/a&gt; ?&lt;/p&gt;
&lt;table border="0" cellpadding="5" cellspacing="5"&gt;
    &lt;tr&gt;
        &lt;td&gt;&lt;img style="margin: 5px" alt="" src="http://mysql.com/common/logos/logo-mysql-110x57.png" /&gt;&lt;/td&gt;
        &lt;td&gt;JPA 2 provides an object/relational mapping facility for the Java application developer using a Java domain model to manage a relational database. JPA got a major facelift as part of Java EE 6 specification and has been expanded to include several key new features - improved object/relational mapping and modeling additions, the query language facilities, the new criteria API, pessimistic locking, and support for validation.&lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&lt;br /&gt;Learn what these features mean in context of MySQL in an &lt;a href="http://mysql.com/news-and-events/web-seminars/display-504.html"&gt;upcoming webinar&lt;/a&gt; on Feb 23, 2010.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.sun.com/ldemichiel/"&gt;Linda DeMichiel&lt;/a&gt; (specification lead of JPA2) and I will be talking about them and showing live code samples to get you started.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://mysql.com/news-and-events/web-seminars/display-504.html"&gt;Register now&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/jpa"&gt;jpa&lt;/a&gt; &lt;a href="http://technorati.com/tags/mysql"&gt;mysql&lt;/a&gt; &lt;a href="http://technorati.com/tags/webinar"&gt;webinar&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/netbeans"&gt;netbeans&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TnCr6xKWz8NWzWIWHWGUEe9VB_M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TnCr6xKWz8NWzWIWHWGUEe9VB_M/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/TnCr6xKWz8NWzWIWHWGUEe9VB_M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TnCr6xKWz8NWzWIWHWGUEe9VB_M/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/DwgY1xykL0o" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/latest_features_of_java_persistence</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/totd_123_f_ajax_bean</id>
        <title type="html">TOTD #123: f:ajax, Bean Validation for JSF, CDI for JSF and JPA 2.0 Criteria API - all in one Java EE 6 sample application</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/ZL3xt26Uh04/totd_123_f_ajax_bean" />
        <published>2010-02-11T23:23:15-08:00</published>
        <updated>2010-02-11T23:24:00-08:00</updated> 
        <category term="/General" label="General" />
        <category term="ajax" scheme="http://roller.apache.org/ns/tags/" />
        <category term="beanvalidation" scheme="http://roller.apache.org/ns/tags/" />
        <category term="cdi" 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="javaserverfaces" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jpa" scheme="http://roller.apache.org/ns/tags/" />
        <category term="totd" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Taking &lt;a href="http://blogs.sun.com/arungupta/entry/totd_120_deployment_descriptor_free"&gt;TOTD #120&lt;/a&gt; forward, we'll add the following features to our application:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Add database access using Java Persistence API 2.0&lt;/li&gt;
    &lt;li&gt;Show type-safe Criteria API from JPA 2.0&lt;/li&gt;
    &lt;li&gt;Use Context &amp;amp; Dependency Injection for JSF managed beans&lt;/li&gt;
    &lt;li&gt;Add Ajax effects from Java Server Faces 2.0&lt;/li&gt;
    &lt;li&gt;Add Bean Validation to the JSF managed bean&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Lets get started!&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;
Use the Maven project created in &lt;a href="http://blogs.sun.com/arungupta/entry/totd_120_deployment_descriptor_free"&gt;TOTD #120&lt;/a&gt; and update the directory such that it looks like:&lt;br /&gt;
        &lt;pre&gt;
src
src/main
src/main/java
src/main/java/org
src/main/java/org/glassfish
src/main/java/org/glassfish/samples
src/main/java/org/glassfish/samples/SakilaBean.java
src/main/java/org/glassfish/samples/SimpleBean.java
src/main/java/org/glassfish/samples/SimpleEJB.java
src/main/java/org/glassfish/samples/SimpleServlet.java
src/main/webapp
src/main/webapp/index.jsp
src/main/webapp/index.xhtml
src/main/webapp/sakila.xhtml
src/main/webapp/show.xhtml
src/main/webapp/WEB-INF
src/main/webapp/WEB-INF/beans.xml
src/main/webapp/WEB-INF/web.xml

&lt;/pre&gt;
The key differences are:&lt;br /&gt;&lt;br /&gt;
        &lt;ol&gt;
            &lt;li&gt;&amp;quot;beans.xml&amp;quot; is an empty file to enable Context &amp;amp; Dependency Injection &lt;em&gt;bean discovery&lt;/em&gt;.&lt;/li&gt;
            &lt;li&gt;The JPA Persistence Unit is copied and installed in local Maven repository as explained in &lt;a href="http://blogs.sun.com/arungupta/entry/totd_122_creating_a_jpa"&gt;TOTD #122&lt;/a&gt;.&lt;/li&gt;
            &lt;li&gt;&amp;quot;web.xml&amp;quot; is added to bootstrap the Java Server Faces runtime. This is required because &amp;quot;@ManagedBean&amp;quot; annotation on &amp;quot;SimpleBean&amp;quot; class is now changed to &amp;quot;@javax.inject.Named&amp;quot;. The JSF runtime is automatically registered and booted if any bean in the webapp is annotated with &amp;quot;@ManagedBean&amp;quot; or one of the JSF common classes (such as Converter, Validator, or Renderer) is implemented or extended. If none of these &amp;quot;hints&amp;quot; are available in the application, and it's required, then it needs to enabled explicitly.&lt;/li&gt;
        &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here are the updated files, changes are highlighted in bold and explained after each fragment:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;index.xhtml&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;
&amp;lt;?xml version='1.0' encoding='UTF-8' ?&amp;gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm
l1-transitional.dtd"&amp;gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:ui="http://java.sun.com/jsf/facelets"
 xmlns:h="http://java.sun.com/jsf/html"&amp;gt;
 &amp;lt;h:head&amp;gt;
 &amp;lt;title&amp;gt;Enter Name &amp;amp;amp; Age&amp;lt;/title&amp;gt;
 &amp;lt;/h:head&amp;gt;
 &amp;lt;h:body&amp;gt;
 &amp;lt;h1&amp;gt;Enter Name &amp;amp;amp; Age&amp;lt;/h1&amp;gt;
&amp;lt;h:form&amp;gt;
 &amp;lt;h:panelGrid columns="&lt;strong&gt;3&lt;/strong&gt;"&amp;gt;
 &amp;lt;h:outputText value="Name:"/&amp;gt;
 &amp;lt;h:inputText value="#{simplebean.name}" title="name" id="name" required="true"/&amp;gt;
 &lt;strong&gt;&amp;lt;h:message for="name" style="color: red"/&amp;gt;&lt;/strong&gt;
 &amp;lt;h:outputText value="Age:"/&amp;gt;
 &amp;lt;h:inputText value="#{simplebean.age}" title="age" id="age" required="true"/&amp;gt;
 &lt;strong&gt;&amp;lt;h:message for="age" style="color: red"/&amp;gt;&lt;/strong&gt;
 &amp;lt;/h:panelGrid&amp;gt;
 &amp;lt;h:commandButton action="show" value="submit"/&amp;gt;
 &amp;lt;/h:form&amp;gt;
 &amp;lt;/h:body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Changed the panelGrid from &amp;quot;2&amp;quot; columns to &amp;quot;3&amp;quot;. This allows for any validation messages to be displayed right next to the source. Also added &amp;quot;&amp;lt;h:message .../&amp;gt;&amp;quot; to display the validation messages.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SimpleBean.java&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;
package org.glassfish.samples;

&lt;strong&gt;import javax.inject.Named;
import javax.enterprise.context.RequestScoped;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.validation.constraints.Min;
&lt;/strong&gt;
&lt;strong&gt;@Named("simplebean")
@RequestScoped
&lt;/strong&gt;public class SimpleBean {
 &lt;strong&gt;@NotNull
 @Size(min=2, message="Name must be at least 2 characters")
&lt;/strong&gt; private String name;

 &lt;strong&gt;@NotNull
 @Min(5)
&lt;/strong&gt; private int age;

 public String getName() { return name; }
 public void setName(String name) { this.name = name; }

 public int getAge() { return age; }
 public void setAge(int age) { this.age = age; }
}
&lt;/pre&gt;
&lt;p&gt;The changes to the above code are listed below:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Replaced &amp;quot;@ManagedBean&amp;quot; with &amp;quot;@Named&amp;quot; annotation defined in JSR 330 and used by CDI.&lt;/li&gt;
    &lt;li&gt;
Using constraints defined by Bean Validation APIs (JSR 303) to check for
        &lt;ul&gt;
            &lt;li&gt;Both bean properties to be non-null&lt;/li&gt;
            &lt;li&gt;Name to be at least 2 characters&lt;/li&gt;
            &lt;li&gt;A minimum age of 5&lt;/li&gt;
            &lt;li&gt;There are several other pre-defined constraints in &amp;quot;javax.validation.constraints&amp;quot; package and new constraints can be easily defined as well.&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;SakilaBean.java&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;
package org.glassfish.samples;

import java.util.List;
import javax.enterprise.context.RequestScoped;
import javax.faces.event.ActionEvent;
import javax.inject.Named;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceUnit;
import javax.persistence.EntityManagerFactory;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import sakila.Actor;

@Named("sakilabean")
@RequestScoped
public class SakilaBean {
 @PersistenceUnit(unitName="SakilaPU")
 EntityManagerFactory emf;

 private List&amp;lt;Actor&amp;gt; actors;
 private int length;
 private int totalActors;

 // getters &amp;amp; setters
 public List&amp;lt;Actor&amp;gt; getActors() { return actors; }
 public void setActors(List&amp;lt;Actor&amp;gt; actors) { this.actors = actors; }
 public int getLength() { return length; }
 public void setLength(int length) { this.length = length; }
 public int getTotalActors() { return totalActors; }
 public void setTotalActors(int totalActors) { this.totalActors = totalActors; }

 public void findActors(ActionEvent evt) {
   EntityManager em = emf.createEntityManager();

   CriteriaBuilder cb = emf.getCriteriaBuilder();
   CriteriaQuery&amp;lt;Actor&amp;gt; criteria = cb.createQuery(Actor.class);

   // FROM clause
   Root&amp;lt;Actor&amp;gt; actor = criteria.from(Actor.class);

   // SELECT clause
   criteria.select(actor);

   // WHERE clause
   criteria.where(cb.greaterThan(
     cb.length(actor.get("firstName").as(String.class)), length));

   // FIRE
   actors = em.createQuery(criteria).getResultList();
   totalActors = actors.size();
 }
}
&lt;/pre&gt;
&lt;p&gt;The key points:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;This is a CDI bean marked by @Named and used in the JSF view (shown next), with the name &amp;quot;sakilabean&amp;quot;&lt;/li&gt;
    &lt;li&gt;EntityManagerFactory is injected using @PersistenceUnit&lt;/li&gt;
    &lt;li&gt;&amp;quot;findActors&amp;quot; method builds the query using Criteria API. Returns actors' names limited by the number of characters in their first name.&lt;/li&gt;
    &lt;li&gt;Queries &amp;quot;Actor&amp;quot; table from the database and set bean properties &amp;quot;actors&amp;quot; and &amp;quot;totalActors&amp;quot;.&lt;/li&gt;
    &lt;li&gt;Uses &amp;quot;length&amp;quot; bean property (set from the JSF view) to restrict the number of characters in the name.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;sakila.xhtml&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;
&amp;lt;?xml version='1.0' encoding='UTF-8' ?&amp;gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm
l1-transitional.dtd"&amp;gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"&amp;gt;
  &amp;lt;h:head&amp;gt;
    &amp;lt;title&amp;gt;Sakila - Actors Listing&amp;lt;/title&amp;gt;
  &amp;lt;/h:head&amp;gt;
  &amp;lt;h:body&amp;gt;
    &amp;lt;h1&amp;gt;Sakila - Actors Listing&amp;lt;/h1&amp;gt;
    &amp;lt;h:form&amp;gt;
    &amp;lt;h:outputText value="Show actors with first name's length &amp;amp;lt;"/&amp;gt;
    &amp;lt;h:inputText value="#{sakilabean.length}" id="length" required="true" size="5"/&amp;gt;
    &amp;lt;h:commandButton actionListener="#{sakilabean.findActors}" value="submit"&amp;gt;
      &amp;lt;f:ajax execute="length" render="actorTable totalActors"/&amp;gt;
    &amp;lt;/h:commandButton&amp;gt;&amp;lt;br/&amp;gt;
     Total actors found: &amp;lt;h:outputText value="#{sakilabean.totalActors}" id="totalActors"/&amp;gt;&amp;lt;p/&amp;gt;
     &amp;lt;h:dataTable var="actor" value="#{sakilabean.actors}" border="1" id="actorTable"&amp;gt;
       &amp;lt;h:column&amp;gt;&amp;lt;h:outputText value="#{actor.firstName}"/&amp;gt;, &amp;lt;h:outputText value="#{actor.lastName}"/&amp;gt;&amp;lt;/h:column&amp;gt;
     &amp;lt;/h:dataTable&amp;gt;
   &amp;lt;/h:form&amp;gt;
 &amp;lt;/h:body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Key points:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;This JSF view shows a form that accepts a number used for restricting the length of actors' first name. The value of this attribute is bound to &amp;quot;length&amp;quot; property of the underlying bean.&lt;/li&gt;
    &lt;li&gt;Command Button is tied to a JSF Action Listener which is then bound to &amp;quot;findActors&amp;quot; method in the bean. This method executes the JPA query explained above.&lt;/li&gt;
    &lt;li&gt;&amp;quot;f:ajax&amp;quot; is a newly introduced tag in JSF 2.0 and means an Ajax request is performed on the &amp;quot;onClick&amp;quot; event of the rendered button, &amp;quot;findActors&amp;quot; method in the bean in this case. The tag also specifies other tags in the page, &amp;quot;actorTable&amp;quot; and &amp;quot;totalActors&amp;quot; in this case, that needs to be rendered after the request is completed. The input parameter to the Ajax request is specified using &amp;quot;execute&amp;quot; attribute. Read more about this tag &lt;a href="http://weblogs.java.net/blog/2008/12/03/jsf-20-fajax-tag"&gt;here&lt;/a&gt; or section 10.4.1.1 of the &lt;a href="http://jcp.org/en/jsr/detail?id=314"&gt;JSF 2 specification&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Package and deploy the application as:&lt;/p&gt;
&lt;pre&gt;
mvn clean package
./bin/asadmin deploy --force=true ~/samples/javaee6/simplewebapp/target/simplewebapp-1.0-SNAPSHOT.war
&lt;/pre&gt;
&lt;p&gt;The application is now accessible at &amp;quot;http://localhost:8080/simplewebapp-1.0-SNAPSHOT/sakila.jsf&amp;quot; and looks like:&lt;/p&gt;
&lt;p&gt;&lt;img height="237" border="1" style="margin: 5px" width="558" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd123-sakila-jsf-0.png" /&gt;&lt;/p&gt;
&lt;p&gt;Enter a value of &amp;quot;4&amp;quot; in the text box and hit &amp;quot;Submit&amp;quot;:&lt;/p&gt;
&lt;p&gt;&lt;img height="582" border="1" style="margin: 5px" width="547" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd123-sakila-jsf-4.png" /&gt;&lt;/p&gt;
&lt;p&gt;Only the HTML table of names and the total count of actors is refreshed showcasing &lt;em&gt;partial page refresh&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Now enter a value of &amp;quot;8&amp;quot; and hit &amp;quot;Submit&amp;quot;:&lt;/p&gt;
&lt;p&gt;&lt;img height="372" border="1" style="margin: 5px" width="552" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd123-sakila-jsf-8.png" /&gt;&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;More Java EE 6 features to be shown in subsequent blogs.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/totd"&gt;totd&lt;/a&gt; &lt;a href="http://technorati.com/tags/javaee"&gt;javaee&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/v3"&gt;v3&lt;/a&gt; &lt;a href="http://technorati.com/tags/javaserverfaces"&gt;javaserverfaces&lt;/a&gt; &lt;a href="http://technorati.com/tags/ajax"&gt;ajax&lt;/a&gt; &lt;a href="http://technorati.com/tags/jpa"&gt;jpa&lt;/a&gt; &lt;a href="http://technorati.com/tags/cdi"&gt;cdi&lt;/a&gt; &lt;a href="http://technorati.com/tags/beanvalidation"&gt;beanvalidation&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0jC48Qa-0bLwEPo78swY_oVTNA4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0jC48Qa-0bLwEPo78swY_oVTNA4/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/0jC48Qa-0bLwEPo78swY_oVTNA4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0jC48Qa-0bLwEPo78swY_oVTNA4/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/ZL3xt26Uh04" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/totd_123_f_ajax_bean</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/oracle_sun_welcome_events</id>
        <title type="html">Oracle+Sun Welcome Events</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/3SAEkMd68R4/oracle_sun_welcome_events" />
        <published>2010-02-10T10:00:41-08:00</published>
        <updated>2010-02-10T10:01:00-08:00</updated> 
        <category term="/General" label="General" />
        <category term="oracle" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sun" scheme="http://roller.apache.org/ns/tags/" />
        <category term="welcome" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Want to learn how Oracle+Sun are transforming the industry ? What the combination means to you ?&lt;/p&gt;
&lt;p&gt;Hear from Oracle and Sun executives in multiple cities &lt;a href="http://www.oracle.com/events/welcomesun/index.html"&gt;all around the world&lt;/a&gt; and learn the strategy.&lt;/p&gt;
&lt;p&gt;Here is an email flier from my inbox showing some of the North America cities, more cities are being added every day.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.oracle.com/events/welcomesun/index.html#northamerica"&gt;&lt;img height="761" border="1" width="585" style="margin: 5px" class="" alt="Oracle+Sun Welcome Events" src="http://blog.arungupta.me/wp-content/uploads/2010/02/welcome-event-oracle-sun-north-america-2010.png" title="Oracle+Sun Welcome Events" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the meanwhile, check out:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Larry Ellison and other execs on &lt;a href="http://www.oracle.com/us/sun/044498.html"&gt;Oracle + Sun strategy&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.oracle.com/events/productstrategy/index.html"&gt;Oracle + Sun Product Strategy Webcast Series&lt;/a&gt; (Detailed notes on &lt;a href="http://blogs.sun.com/arungupta/entry/glassfish_strategy_by_oracle_sun"&gt;GlassFish&lt;/a&gt; &amp;amp; &lt;a href="http://blogs.sun.com/arungupta/entry/developer_tools_strategy_by_oracle"&gt;Developer Tools&lt;/a&gt;)&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.oracle.com/technology/community/sun-oracle-community-continuity.html"&gt;Developer Community FAQ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/oracle"&gt;oracle&lt;/a&gt; &lt;a href="http://technorati.com/tags/sun"&gt;sun&lt;/a&gt; &lt;a href="http://technorati.com/tags/welcome"&gt;welcome&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/n8N_iyzAJXgw3r23o17DS26hrZY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n8N_iyzAJXgw3r23o17DS26hrZY/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/n8N_iyzAJXgw3r23o17DS26hrZY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n8N_iyzAJXgw3r23o17DS26hrZY/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/3SAEkMd68R4" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/oracle_sun_welcome_events</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/totd_122_creating_a_jpa</id>
        <title type="html">TOTD #122: Creating a JPA Persistence Unit using NetBeans 6.8</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/ZVIlfpNZ3Js/totd_122_creating_a_jpa" />
        <published>2010-02-09T23:08:43-08:00</published>
        <updated>2010-02-10T17:45:08-08: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="mysql" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <category term="persistenceunit" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sakila" scheme="http://roller.apache.org/ns/tags/" />
        <category term="totd" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Taking &lt;a href="http://blogs.sun.com/arungupta/entry/ttd_121_jdbc_resource_for"&gt;TOTD #121&lt;/a&gt; forward, this blog explains how to create a JPA Persistence Unit for a MySQL sample database and package it as a library. This JAR file can then be easily included in other web applications.&lt;/p&gt;
&lt;p&gt;Lets get started!&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Configure &lt;a href="http://glassfish.org"&gt;GlassFish&lt;/a&gt; for using the MySQL sample database (&lt;a href="http://dev.mysql.com/doc/sakila/en/sakila.html"&gt;sakila&lt;/a&gt;) as described in &lt;a href="http://blogs.sun.com/arungupta/entry/ttd_121_jdbc_resource_for"&gt;TOTD #121&lt;/a&gt;.&lt;/li&gt;
    &lt;li&gt;Add the GlassFish instance in &lt;a href="http://netbeans.org"&gt;NetBeans IDE&lt;/a&gt; using &amp;quot;Services&amp;quot; panel.&lt;/li&gt;
    &lt;li&gt;
Create JPA entities using NetBeans IDE.
        &lt;ol&gt;
            &lt;li&gt;Create a Java class library:&lt;br /&gt;&lt;br /&gt;&lt;img border="1" style="margin: 5px" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd122-create-java-class-library.png" /&gt;&lt;br /&gt;&lt;br /&gt;Our ultimate goal is to create a reusable JAR file and that's why this project type is chosen.&lt;br /&gt;&lt;/li&gt;
            &lt;li&gt;Specify the name of project as &amp;quot;SakilaPU&amp;quot;:&lt;br /&gt;&lt;br /&gt;&lt;img border="1" style="margin: 5px" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd122-name-and-location.png" /&gt;&lt;br /&gt;&lt;/li&gt;
            &lt;li&gt;Right-click on the project and select &amp;quot;New&amp;quot;, &amp;quot;Entity Classes from Database ...&amp;quot; to initiate the process of entity generation:&lt;br /&gt;&lt;br /&gt;&lt;img border="1" style="margin: 5px" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd122-entity-classes-from-database.png" /&gt;&lt;/li&gt;
            &lt;li&gt;
Choose the database connection as:&lt;br /&gt;&lt;br /&gt;&lt;img border="1" style="margin: 5px" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd122-db-connection.png" /&gt;&lt;br /&gt;&lt;br /&gt;If not configured, then can be easily done by clicking on &amp;quot;New Database Connection ...&amp;quot; in the list box.
                &lt;ol&gt;
                    &lt;li&gt;Click on &amp;quot;Add All &amp;gt;&amp;gt;&amp;quot; to generate the mapped JPA entities for all tables and views.&lt;/li&gt;
                    &lt;li&gt;The views do not have primary keys and will need to be appropriately annotated (described later).&lt;/li&gt;
                    &lt;li&gt;Click on &amp;quot;Next &amp;gt;&amp;quot;.&lt;br /&gt;&lt;/li&gt;
                &lt;/ol&gt;
            &lt;/li&gt;
            &lt;li&gt;Give the package name as:&lt;br /&gt;&lt;br /&gt;&lt;img border="1" style="margin: 5px" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd122-package-name.png" /&gt;&lt;br /&gt;&lt;br /&gt;and specify the package name as &amp;quot;sakila&amp;quot;. Click on &amp;quot;Create Persistence Unit ...&amp;quot;.&lt;/li&gt;
            &lt;li&gt;Change the default PU name from &amp;quot;SakilaPUPU&amp;quot; to &amp;quot;SakilaPU&amp;quot;:&lt;br /&gt;&lt;br /&gt;&lt;img border="1" style="margin: 5px" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd122-create-pu.png" /&gt;&lt;br /&gt;&lt;br /&gt;and click on &amp;quot;Finish&amp;quot;. Notice that &amp;quot;EclipseLink&amp;quot;, the Reference Implementation of JPA 2.0, is used as the persistence library.&lt;/li&gt;
            &lt;li&gt;
Add &amp;quot;@javax.persistence.Id&amp;quot; annotation to the following class/field combination:
                &lt;table border="0" width="60%"&gt;
                    &lt;tr&gt;
                        &lt;th&gt;Class&lt;/th&gt;
                        &lt;th&gt;Field&lt;/th&gt;
                    &lt;/tr&gt;
                    &lt;tr&gt;
                        &lt;td&gt;sakila.SalesByFilmCategory&lt;/td&gt;
                        &lt;td&gt;category&lt;/td&gt;
                    &lt;/tr&gt;
                    &lt;tr&gt;
                        &lt;td&gt;sakila.ActorInfo&lt;/td&gt;
                        &lt;td&gt;actorId&lt;/td&gt;
                    &lt;/tr&gt;
                    &lt;tr&gt;
                        &lt;td&gt;sakila.FilmList&lt;/td&gt;
                        &lt;td&gt;fid&lt;/td&gt;
                    &lt;/tr&gt;
                    &lt;tr&gt;
                        &lt;td&gt;sakila.CustomerList&lt;/td&gt;
                        &lt;td&gt;id&lt;/td&gt;
                    &lt;/tr&gt;
                    &lt;tr&gt;
                        &lt;td&gt;sakila.NicerButSlowerFilmList&lt;/td&gt;
                        &lt;td&gt;fid&lt;/td&gt;
                    &lt;/tr&gt;
                    &lt;tr&gt;
                        &lt;td&gt;sakila.StaffList&lt;/td&gt;
                        &lt;td&gt;id&lt;/td&gt;
                    &lt;/tr&gt;
                    &lt;tr&gt;
                        &lt;td&gt;sakila.SalesByStore&lt;/td&gt;
                        &lt;td&gt;store&lt;/td&gt;
                    &lt;/tr&gt;
                &lt;/table&gt;
&lt;br /&gt;This is required because none of the &amp;quot;views&amp;quot; are defined with a primary key.            &lt;/li&gt;
            &lt;li&gt;
                &lt;p&gt;Right-click on the project and select &amp;quot;Clean &amp;amp; Build&amp;quot;. This generates &amp;quot;dist/SakilaPU.jar&amp;quot; and the structure looks like:&lt;/p&gt;
                &lt;p&gt;&lt;img height="530" border="1" style="margin: 5px" width="296" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd122-jar-structure.png" /&gt;&lt;/p&gt;
            &lt;/li&gt;
        &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;This JAR file can now be included in any web application. The pre-built JAR file can also be &lt;a href="http://blogs.sun.com/arungupta/resource/SakilaPU.jar"&gt;downloaded here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In order for this PU to be used in an application server (such as GlassFish) that is pre-configured with a JDBC resource, the &amp;quot;persistence.xml&amp;quot; needs to be changed to:&lt;/p&gt;
&lt;pre&gt;
&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;
&amp;lt;persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"&amp;gt;
 &amp;lt;persistence-unit name="SakilaPU" transaction-type="JTA"&amp;gt;
 &amp;lt;jta-data-source&amp;gt;jdbc/sakila&amp;lt;/jta-data-source&amp;gt;
 &amp;lt;properties/&amp;gt;
 &amp;lt;/persistence-unit&amp;gt;
&amp;lt;/persistence&amp;gt;
&lt;/pre&gt;
&lt;p&gt;The JDBC resource name is specified using &amp;lt;jta-data-source&amp;gt;.&lt;/p&gt;
&lt;p&gt;The key items to note about this pre-built JAR:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Persistence Unit Name: &amp;quot;SakilaPU&amp;quot;&lt;/li&gt;
    &lt;li&gt;All classes are in &amp;quot;sakila.*&amp;quot; package.&lt;/li&gt;
    &lt;li&gt;Each class has a pre-defined &amp;quot;&amp;lt;CLASS-NAME&amp;gt;.findAll&amp;quot; named query that returns all elements from the underlying view/table.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This JAR can be installed to your local Maven repository as:&lt;/p&gt;
&lt;pre&gt;
mvn install:install-file -Dfile=SakilaPU.jar -DgroupId=org.glassfish.samples -DartifactId=sakilapu -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true
&lt;/pre&gt;
&lt;p&gt;and then included in your &amp;quot;pom.xml&amp;quot; as:&lt;/p&gt;
&lt;pre&gt;
 &amp;lt;dependency&amp;gt;
   &amp;lt;groupId&amp;gt;org.glassfish.samples&amp;lt;/groupId&amp;gt;
   &amp;lt;artifactId&amp;gt;sakilapu&amp;lt;/artifactId&amp;gt;
   &amp;lt;version&amp;gt;1.0&amp;lt;/version&amp;gt;
   &amp;lt;scope&amp;gt;compile&amp;lt;/scope&amp;gt;
 &amp;lt;/dependency&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Even though this blog uses a MySQL sample database, these steps can be easily followed for any other database such as Oracle or JavaDB.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/totd"&gt;totd&lt;/a&gt; &lt;a href="http://technorati.com/tags/javaee"&gt;javaee&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/v3"&gt;v3&lt;/a&gt; &lt;a href="http://technorati.com/tags/jpa"&gt;jpa&lt;/a&gt; &lt;a href="http://technorati.com/tags/eclipselink"&gt;eclipselink&lt;/a&gt; &lt;a href="http://technorati.com/tags/persistenceunit"&gt;persistenceunit&lt;/a&gt; &lt;a href="http://technorati.com/tags/mysql"&gt;mysql&lt;/a&gt; &lt;a href="http://technorati.com/tags/sakila"&gt;sakila&lt;/a&gt; &lt;a href="http://technorati.com/tags/netbeans"&gt;netbeans&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/J0nOwY7DrHMPHZBB1DgaMDc27b4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J0nOwY7DrHMPHZBB1DgaMDc27b4/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/J0nOwY7DrHMPHZBB1DgaMDc27b4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J0nOwY7DrHMPHZBB1DgaMDc27b4/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/ZVIlfpNZ3Js" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/totd_122_creating_a_jpa</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/ttd_121_jdbc_resource_for</id>
        <title type="html">TOTD #121: JDBC resource for MySQL and Oracle sample database in GlassFish v3</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/KM7Wj0nRUuQ/ttd_121_jdbc_resource_for" />
        <published>2010-02-08T23:00:17-08:00</published>
        <updated>2010-02-09T05:48:22-08: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="jpa" scheme="http://roller.apache.org/ns/tags/" />
        <category term="mysql" scheme="http://roller.apache.org/ns/tags/" />
        <category term="oracle" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sakila" scheme="http://roller.apache.org/ns/tags/" />
        <category term="totd" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;This blog clearly explains how to configure the MySQL sample database (&lt;a href="http://dev.mysql.com/doc/sakila/en/sakila.html"&gt;sakila&lt;/a&gt;) with &lt;a href="http://glassfish.org"&gt;GlassFish&lt;/a&gt;. Even though the instructions use a specific database but should work for other databases (such as Oracle, JavaDB, PostgreSQL, and others) as well. The second half of the blog provide specific syntax for the Oracle sample database.&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Download &lt;a href="http://downloads.mysql.com/docs/sakila-db.zip"&gt;sakila sample database&lt;/a&gt; and unzip the archive.&lt;/li&gt;
    &lt;li&gt;Install the database as described &lt;a href="http://dev.mysql.com/doc/sakila/en/sakila.html#sakila-installation"&gt;here&lt;/a&gt; - basically load and run &amp;quot;sakila-schema.sql&amp;quot; and &amp;quot;sakila-data.sql&amp;quot; extracted from the archive.&lt;/li&gt;
    &lt;li&gt;
Create a new MySQL user account using MySQL CLI Admin and assign the privileges
        &lt;ol&gt;
            &lt;li&gt;
Using &amp;quot;root&amp;quot; user (sudo mysql --user root)&lt;br /&gt;
                &lt;pre&gt;
CREATE USER glassfish IDENTIFIED BY 'glassfish';
GRANT ALL PRIVILEGES ON *.* TO 'glassfish'@'localhost' IDENTIFIED BY 'glassfish';
FLUSH PRIVILEGES;
&lt;/pre&gt;
            &lt;/li&gt;
            &lt;li&gt;
Using &amp;quot;glassfish&amp;quot; user (sudo mysql --user glassfish)
                &lt;pre&gt;
source sakila-schema.sql;
source sakila-data.sql;
&lt;/pre&gt;
            &lt;/li&gt;
        &lt;/ol&gt;
    &lt;/li&gt;
    &lt;li&gt;Download &lt;a href="http://dev.mysql.com/downloads/connector/j/"&gt;Connector/J&lt;/a&gt;, unzip and copy &amp;quot;mysql-connector-java-5.x.x-bin.jar&amp;quot; to &amp;quot;glassfish/domains/domain1/lib/ext&amp;quot; directory.&lt;/li&gt;
    &lt;li&gt;
Start GlassFish server as:
        &lt;pre&gt;
asadmin start-domain

&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;
Create a JDBC resource
        &lt;ol&gt;
            &lt;li&gt;
Create JDBC connection pool as:
                &lt;pre&gt;
asadmin create-jdbc-connection-pool --datasourceclassname com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource --restype javax.sql.DataSource --property "User=glassfish:Password=glassfish:URL=jdbc\:mysql\://localhost/sakila" jdbc/sakilaPool
&lt;/pre&gt;
            &lt;/li&gt;
            &lt;li&gt;
Test the JDBC connection pool as:
                &lt;pre&gt;
asadmin ping-connection-pool jdbc/sakilaPool
&lt;/pre&gt;
            &lt;/li&gt;
            &lt;li&gt;
Create the JDBC resource as:
                &lt;pre&gt;
asadmin create-jdbc-resource --connectionpoolid jdbc/sakilaPool jdbc/sakila
&lt;/pre&gt;
            &lt;/li&gt;
        &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That's it!&lt;/p&gt;
&lt;p&gt;Creating a JDBC resource for any other database requires the following updates to the steps mentioned above. Lets consider modifying these steps for the Oracle sample database.&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;
Use the client interface SQL*PLus and connect as:&lt;br /&gt;         &lt;pre&gt;
sqlplus "/ as sysdba"
&lt;/pre&gt;
&lt;br /&gt;create user and grant the privileges as:&lt;br /&gt;
        &lt;pre&gt;
CREATE USER glassfish IDENTIFIED BY glassfish DEFAULT tablespace users TEMPORARY tablespace temp;
GRANT CONNECT TO glassfish IDENTIFIED BY glassfish;
GRANT UNLIMITED TABLESPACE TO glassfish;
GRANT CREATE TABLE TO glassfish;
GRANT CREATE SEQUENCE TO glassfish;
&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;Copy the appropriate JDBC driver (&lt;a href="http://download.oracle.com/otn/utilities_drivers/jdbc/112/ojdbc6.jar"&gt;ojdbc6.jar&lt;/a&gt;).&lt;/li&gt;
    &lt;li&gt;
Create the JDBC resource as:&lt;br /&gt;
        &lt;pre&gt;
asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --restype javax.sql.DataSource --property "User=hr:Password=hr:URL=jdbc\:oracle\:thin\:@localhost\:1521\:orcl" jdbc/hr
asadmin ping-connection-pool jdbc/hr
asadmin create-jdbc-resource --connectionpoolid jdbc/hr jdbc/hr
&lt;/pre&gt;
&lt;br /&gt;as explained in &lt;a href="http://blogs.sun.com/arungupta/entry/totd_108_java_ee_6"&gt;TOTD #108&lt;/a&gt;.    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here are a few other related entries:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
        &lt;p&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/restful_representation_of_sakila_using"&gt;RESTful representation of sakila using NetBeans and GlassFish&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;p&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/totd_99_creating_a_java"&gt;JPA + Servlet 3.0 Application using Sakila in Eclipse&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;p&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/totd_108_java_ee_6"&gt;JSF + JPA + EJB Application using Oracle, NetBeans, and GlassFish&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/totd"&gt;totd&lt;/a&gt; &lt;a href="http://technorati.com/tags/javaee"&gt;javaee&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/v3"&gt;v3&lt;/a&gt; &lt;a href="http://technorati.com/tags/jpa"&gt;jpa&lt;/a&gt; &lt;a href="http://technorati.com/tags/mysql"&gt;mysql&lt;/a&gt; &lt;a href="http://technorati.com/tags/sakila"&gt;sakila&lt;/a&gt; &lt;a href="http://technorati.com/tags/oracle"&gt;oracle&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pOAfmsoGdBedLtQCaiQ-9WsoWYw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pOAfmsoGdBedLtQCaiQ-9WsoWYw/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/pOAfmsoGdBedLtQCaiQ-9WsoWYw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pOAfmsoGdBedLtQCaiQ-9WsoWYw/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/KM7Wj0nRUuQ" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/ttd_121_jdbc_resource_for</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/totd_120_deployment_descriptor_free</id>
        <title type="html">TOTD #120: Deployment Descriptor-free Java EE 6 application using JSF 2.0 + EJB 3.1 + Servlets 3.0</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/3QrP0zjn4ss/totd_120_deployment_descriptor_free" />
        <published>2010-02-05T14:00:54-08:00</published>
        <updated>2010-03-09T14:31:39-08:00</updated> 
        <category term="/General" label="General" />
        <category term="ejb" 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="javaserverfaces" scheme="http://roller.apache.org/ns/tags/" />
        <category term="maven" scheme="http://roller.apache.org/ns/tags/" />
        <category term="servlet3" scheme="http://roller.apache.org/ns/tags/" />
        <category term="totd" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Here is trivial Java EE 6 application that is keeping you away from any deployment descriptors. It uses Java Server Faces 2.0, Enterprise Java Beans 3.1, and Servlet 3.0. This application shows the following Java EE 6 features:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;No-interface view for EJB&lt;/li&gt;
    &lt;li&gt;EJBs packaged in a WAR file&lt;/li&gt;
    &lt;li&gt;Optional &amp;quot;faces-config.xml&amp;quot; for Java Server Faces&lt;/li&gt;
    &lt;li&gt;FacesServlet registered using Servlet 3.0 programmatic registration APIs&lt;/li&gt;
    &lt;li&gt;Java Server Faces navigation rules using convention-over-configuration&lt;/li&gt;
    &lt;li&gt;Optional &amp;quot;web.xml&amp;quot; for Servlets 3.0&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The WAR file structure is:&lt;/p&gt;
&lt;pre&gt;
./index.jsp
./index.xhtml
./META-INF
./show.xhtml
./WEB-INF
./WEB-INF/classes
./WEB-INF/classes/org
./WEB-INF/classes/org/glassfish
./WEB-INF/classes/org/glassfish/samples
./WEB-INF/classes/org/glassfish/samples/SimpleBean.class
./WEB-INF/classes/org/glassfish/samples/SimpleEJB.class
./WEB-INF/classes/org/glassfish/samples/SimpleServlet.class
&lt;/pre&gt;
&lt;p&gt;Look ma, no deployment descriptors!&lt;/p&gt;
&lt;p&gt;So how do you create this application:&lt;/p&gt;
&lt;pre&gt;
mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=org.glassfish.samples -DartifactId=simplewebapp
&lt;/pre&gt;
&lt;p&gt;This application is purposely not generated as a web application (missing &amp;quot;-DarchetypeArtifactId=maven-archetype-webapp&amp;quot;). If you specify this property then it will generate &amp;quot;WEB-INF/web.xml&amp;quot; which we don't intend to use.&lt;/p&gt;
&lt;p&gt;Change &amp;quot;pom.xml&amp;quot; to:&lt;/p&gt;
&lt;pre&gt;
&amp;lt;project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&amp;gt;
   &amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt;
   &amp;lt;groupId&amp;gt;org.glassfish.samples&amp;lt;/groupId&amp;gt;
   &amp;lt;artifactId&amp;gt;simplewebapp&amp;lt;/artifactId&amp;gt;
   &amp;lt;packaging&amp;gt;&lt;strong&gt;war&lt;/strong&gt;&amp;lt;/packaging&amp;gt;
   &amp;lt;version&amp;gt;1.0-SNAPSHOT&amp;lt;/version&amp;gt;
   &amp;lt;name&amp;gt;simplewebapp&amp;lt;/name&amp;gt;
   &amp;lt;url&amp;gt;http://maven.apache.org&amp;lt;/url&amp;gt;
   &lt;strong&gt;&amp;lt;repositories&amp;gt;
     &amp;lt;repository&amp;gt;
       &amp;lt;id&amp;gt;glassfish-repository&amp;lt;/id&amp;gt;
       &amp;lt;name&amp;gt;Java.net Repository for Glassfish&amp;lt;/name&amp;gt;
       &amp;lt;url&amp;gt;http://download.java.net/maven/glassfish&amp;lt;/url&amp;gt;
     &amp;lt;/repository&amp;gt;
   &amp;lt;/repositories&amp;gt;
   &amp;lt;build&amp;gt;
     &amp;lt;plugins&amp;gt;
       &amp;lt;plugin&amp;gt;
         &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;
         &amp;lt;artifactId&amp;gt;maven-compiler-plugin&amp;lt;/artifactId&amp;gt;
         &amp;lt;version&amp;gt;2.0.2&amp;lt;/version&amp;gt;
         &amp;lt;configuration&amp;gt;
           &amp;lt;source&amp;gt;1.5&amp;lt;/source&amp;gt;
           &amp;lt;target&amp;gt;1.5&amp;lt;/target&amp;gt;
         &amp;lt;/configuration&amp;gt;
       &amp;lt;/plugin&amp;gt;
       &amp;lt;plugin&amp;gt;
         &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;
         &amp;lt;artifactId&amp;gt;maven-war-plugin&amp;lt;/artifactId&amp;gt;
         &amp;lt;version&amp;gt;2.1-beta-1&amp;lt;/version&amp;gt;
         &amp;lt;configuration&amp;gt;
           &amp;lt;failOnMissingWebXml&amp;gt;false&amp;lt;/failOnMissingWebXml&amp;gt;
         &amp;lt;/configuration&amp;gt;
       &amp;lt;/plugin&amp;gt;
     &amp;lt;/plugins&amp;gt;
   &amp;lt;/build&amp;gt;&lt;/strong&gt;
   &amp;lt;dependencies&amp;gt;
     &amp;lt;dependency&amp;gt;
       &amp;lt;groupId&amp;gt;junit&amp;lt;/groupId&amp;gt;
       &amp;lt;artifactId&amp;gt;junit&amp;lt;/artifactId&amp;gt;
       &amp;lt;version&amp;gt;3.8.1&amp;lt;/version&amp;gt;
       &amp;lt;scope&amp;gt;test&amp;lt;/scope&amp;gt;
     &amp;lt;/dependency&amp;gt;
    &lt;strong&gt;&amp;lt;dependency&amp;gt;
       &amp;lt;groupId&amp;gt;javax&amp;lt;/groupId&amp;gt;
       &amp;lt;artifactId&amp;gt;javaee-api&amp;lt;/artifactId&amp;gt;
       &amp;lt;version&amp;gt;6.0&amp;lt;/version&amp;gt;
       &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;
    &amp;lt;/dependency&amp;gt;&lt;/strong&gt;
   &amp;lt;/dependencies&amp;gt;
&amp;lt;/project&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;In the above code:
&lt;ul&gt;
    &lt;li&gt;&amp;quot;maven-compiler-plugin&amp;quot; needs to be specified as the default source level for Maven compile plugin is JDK 1.3. It's been over 9 years JDK 1.3 was released, not even listed on &lt;a href="http://java.sun.com/javase/downloads/previous.jsp"&gt;Java SE standard downloads page&lt;/a&gt;, EOLed &lt;a href="http://java.sun.com/j2se/1.3/download.html"&gt;many years ago&lt;/a&gt;. Vote/Comment for the issue &lt;a href="http://jira.codehaus.org/browse/MCOMPILER-80"&gt;MCOMPILER-80&lt;/a&gt; if you'd like this bug to be fixed.&lt;/li&gt;
    &lt;li&gt;Adding &amp;quot;failOnMissingWebXml&amp;quot; ensures that Maven packages the WAR file even though no &amp;quot;web.xml&amp;quot; is present.&lt;/li&gt;
    &lt;li&gt;The complete list of Maven coordinates for GlassFish are available &lt;a href="https://glassfish.dev.java.net/downloads/v3-final.html"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Create the directory structure as:&lt;/p&gt;
&lt;pre&gt;
./src/main
./src/main/java
./src/main/java/org
./src/main/java/org/glassfish
./src/main/java/org/glassfish/samples
./src/main/java/org/glassfish/samples/SimpleBean.java
./src/main/java/org/glassfish/samples/SimpleEJB.java
./src/main/java/org/glassfish/samples/SimpleServlet.java
./src/main/webapp
./src/main/webapp/index.jsp
./src/main/webapp/index.xhtml
./src/main/webapp/show.xhtml
&lt;/pre&gt;
&lt;p&gt;Once again, there are no deployment descriptors, just plain Java files and XHTML/JSP pages.&lt;/p&gt;
&lt;p&gt;Here are the different source files with explanation after each one of them:&lt;/p&gt;
&lt;strong&gt;SimpleBean.java&lt;/strong&gt;
&lt;pre&gt;
package org.glassfish.samples;

import javax.faces.bean.ManagedBean;

@ManagedBean(name="simplebean")
public class SimpleBean {
    private String name;
    private int age;

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }

    public int getAge() { return age; }
    public void setAge(int age) { this.age = age; }
}
&lt;/pre&gt;
&lt;br /&gt;This is currently a simple JSF managed bean. &lt;a href="http://blogs.sun.com/arungupta/entry/totd_109_how_to_convert"&gt;TOTD #109&lt;/a&gt; explains how to convert a JSF managed bean to use CDI. A future blog will show how to convert this sample to use CDI.&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;SimpleEJB.java&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;
package org.glassfish.samples;

import javax.ejb.Stateless;

@Stateless
public class SimpleEJB {
    public String sayHello(String name) {
        return "Hello " + name + "!!!";
    }
}
&lt;/pre&gt;
&lt;br /&gt;The session bean has no interface, just the @Stateless annotation.
&lt;p&gt;&lt;strong&gt;SimpleServlet.java&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;
package org.glassfish.samples;

import javax.ejb.EJB;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.annotation.WebServlet;
import java.io.PrintWriter;
import java.io.IOException;

/**
 * Hello world!
 */
@WebServlet(urlPatterns={"/SimpleServlet"})
public class SimpleServlet extends HttpServlet {
    @EJB SimpleEJB bean;

    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        PrintWriter out = response.getWriter();
        out.println("&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;");
        out.println("&amp;lt;h2&amp;gt;Serving at: " + request.getContextPath() + "&amp;lt;/h2&amp;gt;");
        out.println("&amp;lt;h2&amp;gt;Invoking EJB: " + bean.sayHello("Duke") + "&amp;lt;/h2&amp;gt;");
        out.println("&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;");
    }
}
&lt;/pre&gt;
&lt;br /&gt;The servlet injects the EJB in the application, display the servlet context and the result of invoking the business operation of the EJB.
&lt;p&gt;&lt;br /&gt;&lt;strong&gt;index.jsp&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;
&amp;lt;html&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;h2&amp;gt;Hello World!&amp;lt;/h2&amp;gt;
Invoke the Servlet by clicking &amp;lt;a href="SimpleServlet"&amp;gt;here&amp;lt;/a&amp;gt;.
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;This is just a placeholder for invoking the servlet.&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;index.xhtml&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;
&amp;lt;?xml version='1.0' encoding='UTF-8' ?&amp;gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm
l1-transitional.dtd"&amp;gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:ui="http://java.sun.com/jsf/facelets"
 xmlns:h="http://java.sun.com/jsf/html"&amp;gt;
 &amp;lt;h:head&amp;gt;
 &amp;lt;title&amp;gt;Enter Name &amp;amp;amp; Age&amp;lt;/title&amp;gt;
 &amp;lt;/h:head&amp;gt;
 &amp;lt;h:body&amp;gt;
 &amp;lt;h1&amp;gt;Enter Name &amp;amp;amp; Age&amp;lt;/h1&amp;gt;
&amp;lt;h:form&amp;gt;
 &amp;lt;h:panelGrid columns="2"&amp;gt;
 &amp;lt;h:outputText value="Name:"/&amp;gt;
 &amp;lt;h:inputText value="#{simplebean.name}" title="name" id="name" required="true"/&amp;gt;
 &amp;lt;h:outputText value="Age:"/&amp;gt;
 &amp;lt;h:inputText value="#{simplebean.age}" title="age" id="age" required="true"/&amp;gt;
 &amp;lt;/h:panelGrid&amp;gt;
 &amp;lt;h:commandButton action="show" value="submit"/&amp;gt;
 &amp;lt;/h:form&amp;gt;
 &amp;lt;/h:body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;&lt;br /&gt;JSF 2 uses Facelets as viewing technology and so an &amp;quot;.xhtml&amp;quot; file is used for all the JSF tags. This page is intentionally kept simple and not using any templating, composition, or any other features of Facelets. This page renders an HTML form with two text boxes and a command button, binds the value of text box to the managed bean, and displays the page &amp;quot;show.xhtml&amp;quot; when the command button is clicked. The default JSF 2 navigation handler try to match a view on the disk (&amp;quot;show.xhtml&amp;quot; in this case) based upon the &amp;quot;action&amp;quot; attribute.
&lt;p&gt;&lt;strong&gt;show.xhtml&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;
&amp;lt;?xml version='1.0' encoding='UTF-8' ?&amp;gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm
l1-transitional.dtd"&amp;gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:h="http://java.sun.com/jsf/html"&amp;gt;
 &amp;lt;h:head&amp;gt;
 &amp;lt;title&amp;gt;Show Name &amp;amp;amp; Age&amp;lt;/title&amp;gt;
 &amp;lt;/h:head&amp;gt;
 &amp;lt;h:body&amp;gt;
 &amp;lt;h1&amp;gt;Show Name &amp;amp;amp; Age&amp;lt;/h1&amp;gt;
&amp;lt;h:form action="show"&amp;gt;
 &amp;lt;h:panelGrid columns="2"&amp;gt;
 &amp;lt;h:outputText value="Name:"/&amp;gt;
 &amp;lt;h:outputText value="#{simplebean.name}" /&amp;gt;
 &amp;lt;h:outputText value="Age:"/&amp;gt;
 &amp;lt;h:outputText value="#{simplebean.age}" /&amp;gt;
 &amp;lt;/h:panelGrid&amp;gt;
 &amp;lt;/h:form&amp;gt;
 &amp;lt;/h:body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;This page reads the bean properties (stored from previous page) and displays them on the page.
&lt;p&gt;How do you build this entire application ?&lt;/p&gt;
&lt;pre&gt;
mvn clean package
&lt;/pre&gt;
&lt;p&gt;Lets deploy the application on a Java EE 6 compliant application server, GlassFish v3 (&lt;a href="https://glassfish.dev.java.net/downloads/v3-final.html"&gt;download here&lt;/a&gt;):&lt;/p&gt;
&lt;pre&gt;
./bin/asadmin deploy --force=true ~/samples/javaee6/simplewebapp/target/simplewebapp-1.0-SNAPSHOT.war
&lt;/pre&gt;
&lt;br /&gt;And now your application is accessible at &amp;quot;http://localhost:8080/simplewebapp-1.0-SNAPSHOT/index.jsp&amp;quot; and looks like:
&lt;p&gt;&lt;img height="196" border="1" style="margin: 5px" width="560" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd120-index-jsp.png" /&gt;&lt;/p&gt;
&lt;p&gt;Clicking on &amp;quot;here&amp;quot; looks like:&lt;/p&gt;
&lt;p&gt;&lt;img height="191" border="1" style="margin: 5px" width="604" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd120-index-jsp-servlet.png" /&gt;&lt;/p&gt;
&lt;p&gt;The JSF page is accessible at &amp;quot;http://localhost:8080/simplewebapp-1.0-SNAPSHOT/index.jsf&amp;quot; and looks like (after entering the values):&lt;/p&gt;
&lt;p&gt;&lt;img height="235" border="1" style="margin: 5px" width="566" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd120-index-jsf.png" /&gt;&lt;/p&gt;
&lt;p&gt;Notice that even though the page is named &amp;quot;index.xhtml&amp;quot;, it's accessed as &amp;quot;index.jsf&amp;quot;. This is because the JSF specification provides recommended mapping for FacesServlet to &amp;quot;*.faces&amp;quot; and &amp;quot;/faces/*&amp;quot;. In addition, Mojarra (Reference Implementation of JSF2 in GlassFish) also adds a mapping to &amp;quot;*.jsf&amp;quot;. Any views using these URL pattersn are routed through FacesServlet. So alternative URLs for our page are &amp;quot;http://localhost:8080/simplewebapp-1.0-SNAPSHOT/index.faces&amp;quot; and &amp;quot;http://localhost:8080/simplewebapp-1.0-SNAPSHOT/faces/index.xhtml&amp;quot;.&lt;/p&gt;
&lt;p&gt;Clicking on &amp;quot;Submit&amp;quot; shows the following page:&lt;/p&gt;
&lt;p&gt;&lt;img height="203" border="1" style="margin: 5px" width="547" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/02/totd120-index-jsf-output.png" /&gt;&lt;br /&gt;&lt;br /&gt;That's it!&lt;/p&gt;
&lt;p&gt;Here are several other useful entries:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/totd_109_how_to_convert"&gt;TOTD #109&lt;/a&gt; : How to convert a JSF managed bean to JSR 299 bean (Web Beans) ?&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/totd_108_java_ee_6"&gt;TOTD #108&lt;/a&gt; : Java EE 6 web application (JSF 2.0 + JPA 2.0 + EJB 3.1) using Oracle, NetBeans, and GlassFish&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/totd_102_java_ee_6"&gt;TOTD #102&lt;/a&gt; : Java EE 6 (Servlet 3.0 and EJB 3.1) wizards in Eclipse&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/totd_99_creating_a_java"&gt;TOTD #99&lt;/a&gt; : Creating a Java EE 6 application using MySQL, JPA 2.0 and Servlet 3.0 with GlassFish Tools Bundle for Eclipse&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/totd_98_create_a_metro"&gt;TOTD #98&lt;/a&gt; : Create a Metro JAX-WS Web service using GlassFish Tools Bundle for Eclipse&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/totd_95_ejb_3_1"&gt;TOTD #95&lt;/a&gt; : EJB 3.1 + Java Server Faces 2.0 + JPA 2.0 web application - Getting Started with Java EE 6 using NetBeans 6.8 M1 &amp;amp; GlassFish v3&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/totd_94_a_simple_java"&gt;TOTD #94&lt;/a&gt; : A simple Java Server Faces 2.0 + JPA 2.0 application - Getting Started with Java EE 6 using NetBeans 6.8 M1 &amp;amp; GlassFish v3&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/totd_93_getting_started_with"&gt;TOTD #93&lt;/a&gt; : Getting Started with Java EE 6 using NetBeans 6.8 M1 &amp;amp; GlassFish v3 - A simple Servlet 3.0 + JPA 2.0 app&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The next follow up blog will show &amp;quot;Hello World&amp;quot;s of Context &amp;amp; Dependency Injection, Bean Validation, Java API for Restful Web services, Java Persistence API, Interceptors, and other Java EE 6 specifications in this application.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/totd"&gt;totd&lt;/a&gt; &lt;a href="http://technorati.com/tags/javaee"&gt;javaee&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/v3"&gt;v3&lt;/a&gt; &lt;a href="http://technorati.com/tags/javaserverfaces"&gt;javaserverfaces&lt;/a&gt; &lt;a href="http://technorati.com/tags/servlet3"&gt;servlet3&lt;/a&gt; &lt;a href="http://technorati.com/tags/ejb"&gt;ejb&lt;/a&gt; &lt;a href="http://technorati.com/tags/maven"&gt;maven&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/REIRY48JRWT-b1A_eMtc6CICYkA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/REIRY48JRWT-b1A_eMtc6CICYkA/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/REIRY48JRWT-b1A_eMtc6CICYkA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/REIRY48JRWT-b1A_eMtc6CICYkA/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/3QrP0zjn4ss" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/totd_120_deployment_descriptor_free</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/screencast_29_web_service_using</id>
        <title type="html">Screencast #29: Web service using NetBeans 6.8 and GlassFish v3 (Accessing database in business method)</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/RxBjGN4NtA0/screencast_29_web_service_using" />
        <published>2010-02-01T23:14:46-08:00</published>
        <updated>2010-02-23T17:06:50-08:00</updated> 
        <category term="/webservices" label="webservices" />
        <category term="database" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jax-ws" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jpa" scheme="http://roller.apache.org/ns/tags/" />
        <category term="metro" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <category term="screencast" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webservices" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;GlassFish v3 comes bundled with &lt;a href="http://metro.dev.java.net"&gt;Metro&lt;/a&gt; - a secure, reliable, transactional, and .NET interoperable Web services stack. Metro is compliant with &lt;a href="http://jax-ws.dev.java.net"&gt;JAX-WS&lt;/a&gt; and provides additional quality of service attributes that can be easily enabled using &lt;a href="http://netbeans.org"&gt;NetBeans IDE&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This blog contains a screencast that shows how to create a simple Web service using NetBeans 6.8, implement the business logic by accessing a database table using &lt;a href="http://java.sun.com/developer/technicalArticles/J2EE/jpa/"&gt;Java Persistence API&lt;/a&gt;, and deploy on &lt;a href="http://glassfish.org"&gt;GlassFish v3&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/HSajTWlDnhk&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/HSajTWlDnhk&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;p&gt;Please post your questions to &lt;a href="mailto:users@glassfish.dev.java.net"&gt;users@glassfish.dev.java.net&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Several other screencasts on GlassFish v3and related topics are available &lt;a href="http://blogs.sun.com/arungupta/tags/screencast"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/netbeans"&gt;netbeans&lt;/a&gt; &lt;a href="http://technorati.com/tags/jax-ws"&gt;jax-ws&lt;/a&gt; &lt;a href="http://technorati.com/tags/metro"&gt;metro&lt;/a&gt; &lt;a href="http://technorati.com/tags/webservice"&gt;webservice&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/jpa"&gt;jpa&lt;/a&gt; &lt;a href="http://technorati.com/tags/database"&gt;database&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tycsHzRcVA7r8UFH3exikbh_vqw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tycsHzRcVA7r8UFH3exikbh_vqw/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/tycsHzRcVA7r8UFH3exikbh_vqw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tycsHzRcVA7r8UFH3exikbh_vqw/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/RxBjGN4NtA0" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/screencast_29_web_service_using</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/developer_tools_strategy_by_oracle</id>
        <title type="html">Developer Tools Strategy by Oracle+Sun: NetBeans &amp; Hudson to stay!</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/pJZuNylX-3g/developer_tools_strategy_by_oracle" />
        <published>2010-01-29T04:43:05-08:00</published>
        <updated>2010-01-29T04:44:00-08:00</updated> 
        <category term="/General" label="General" />
        <category term="hudson" scheme="http://roller.apache.org/ns/tags/" />
        <category term="kenai" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <category term="oracle" scheme="http://roller.apache.org/ns/tags/" />
        <category term="strategy" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sun" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;table border="0"&gt;
    &lt;tr&gt;
        &lt;td&gt;&lt;img height="118" style="margin: 5px" width="199" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/01/oracle-sun-logo.png" /&gt;&lt;/td&gt;
        &lt;td&gt;
            &lt;p&gt;Hear Ted Farrell, Chief Architect and Senior Vice President talk about &lt;a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12627/lobby_external_flash_clean_480x360/default.htm"&gt;Oracle and Sun Java Developer Tools Strategy&lt;/a&gt;.&lt;/p&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12627/lobby_external_flash_clean_480x360/default.htm"&gt;&lt;img height="438" border="0" width="491" style="margin: 5px" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/01/oracle-sun-devtools-strategy-webcast-jan-2010.png" title="Oracle + Sun: Java Developer Tools Strategy Webcast" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here is a summary for those who want a quick juice:&lt;/p&gt;
&lt;ul class="noindent"&gt;
    &lt;li&gt;
Productivity With Choice
        &lt;ul&gt;
            &lt;li&gt;Choose the right tool set for your needs&lt;/li&gt;
            &lt;li&gt;Shared infrastructure across tools with &lt;a href="http://hudson.dev.java.net"&gt;Hudson&lt;/a&gt;, &lt;a href="http://www.oracle.com/technology/products/tpc/index.html"&gt;Oracle TPC&lt;/a&gt;, Subversion. Bugzilla, Maven, etc.&lt;/li&gt;
            &lt;li&gt;&lt;a href="http://netbeans.org"&gt;NetBeans&lt;/a&gt; continues with strong Java focus&lt;/li&gt;
            &lt;li&gt;Combine and integrate the best features across tools&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;
More resources for Developers
        &lt;ul&gt;
            &lt;li&gt;Netbeans.org, java.net, &lt;a href="http://otn.oracle.com"&gt;otn.oracle.com&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;More courses/training on Java technologies&lt;/li&gt;
            &lt;li&gt;More conferences around the world&lt;/li&gt;
            &lt;li&gt;Better products from expanded R&amp;amp;D and partner ecosystem&lt;/li&gt;
            &lt;li&gt;Larger combined developer community&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is a lovely snapshot from the webcast ...&lt;/p&gt;
&lt;p&gt;&lt;img height="312" border="1" style="margin: 5px" width="387" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/01/oracle-sun-devtools-ide-choice.png" /&gt;&lt;/p&gt;
&lt;p&gt;Some more detailed points captured from the webcast ...&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;If you are a NetBeans user today, you'll continue to be a NetBeans user after acquisition.&lt;/li&gt;
    &lt;li&gt;Increase the investment in Hudson, lots of synergy with Team Productivity Center.&lt;/li&gt;
    &lt;li&gt;Discontinue the public interface for kenai.com for now, fits very well with some internal projects. Read more about the &lt;a href="http://blogs.sun.com/projectkenai/entry/the_future_of_kenai_com"&gt;future of kenai.com&lt;/a&gt;.&lt;/li&gt;
    &lt;li&gt;Want to make the best Java IDE for the Java platform. NetBeans platform is very important to lot of customers.&lt;/li&gt;
    &lt;li&gt;For NetBeans, turn to community for external non-Java like Dynamic Languages. Invest more in the infrastructure and community.&lt;/li&gt;
    &lt;li&gt;netbeans.org unchanged&lt;/li&gt;
    &lt;li&gt;
Community participation is key for:
        &lt;ul&gt;
            &lt;li&gt;NetBeans plug-ins&lt;/li&gt;
            &lt;li&gt;Building apps on NetBeans Platform&lt;/li&gt;
            &lt;li&gt;Emerging, Dynamic Languages&lt;/li&gt;
            &lt;li&gt;Dialog, interaction, lists, docs, events, JUGS, etc &lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;
No licensing changes 
        &lt;ul&gt;
            &lt;li&gt;Versions of NetBeans &amp;lt;= 6.7 follow Sun policy &lt;/li&gt;
            &lt;li&gt;Versions of NetBeans &amp;gt;= 6.8 follow the Oracle policy (&lt;a href="http://www.oracle.com/support/lifetime-support-policy.html"&gt;complete details&lt;/a&gt;)&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The webcast also talks about JavaOne being co-located with Oracle Open World (Se 19-23, 2010) and also expanding to Brazil, Russia, India, and China.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.oracle.com/tools"&gt;oracle.com/tools&lt;/a&gt; for more details. The complete list of webcasts + slides from yesterday's event are &lt;a href="http://www.oracle.com/us/sun/044498.html"&gt;now available&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There are several other articles (in no particular order):&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.infoworld.com/d/open-source/oracle-reveals-strategy-glassfish-mysql-openoffice-and-solaris-914 target="&gt;Oracle reveals strategy for&lt;span class="Apple-converted-space"&gt;GlassFish, MySQL, OpenOffice, and Solaris&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://java.dzone.com/articles/oracles-roadmap-sun"&gt;Oracle's roadmap for Sun Technologies&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.ryandelaplante.com/2010/01/sun-has-not-set-oracle-makes-sun-shine.html" target="_blank"&gt;The Sun has not set: Oracle makes Sun shine&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.adam-bien.com/roller/abien/entry/sun_oracle_netbeans_glassfish_javaone" target="_blank"&gt;Sun + Oracle, NetBeans, Glassfish, JavaOne and the Death of Kenai&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also check out the &lt;a href="http://www.oracle.com/technology/community/sun-oracle-community-continuity.html"&gt;FAQ for Developer Community&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/sun"&gt;sun&lt;/a&gt; &lt;a href="http://technorati.com/tags/oracle"&gt;oracle&lt;/a&gt; &lt;a href="http://technorati.com/tags/netbeans"&gt;netbeans&lt;/a&gt; &lt;a href="http://technorati.com/tags/kenai"&gt;kenai&lt;/a&gt; &lt;a href="http://technorati.com/tags/hudson"&gt;hudson&lt;/a&gt; &lt;a href="http://technorati.com/tags/strategy"&gt;strategy&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gE_E5ocB6lIlM-am_tTbCr0zMgc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gE_E5ocB6lIlM-am_tTbCr0zMgc/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/gE_E5ocB6lIlM-am_tTbCr0zMgc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gE_E5ocB6lIlM-am_tTbCr0zMgc/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/pJZuNylX-3g" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/developer_tools_strategy_by_oracle</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/glassfish_strategy_by_oracle_sun</id>
        <title type="html">GlassFish strategy by Oracle+Sun</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/lz6wQ-_3ez4/glassfish_strategy_by_oracle_sun" />
        <published>2010-01-28T12:24:31-08:00</published>
        <updated>2010-01-28T12:57:40-08:00</updated> 
        <category term="/General" label="General" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="oracle" scheme="http://roller.apache.org/ns/tags/" />
        <category term="strategy" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sun" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;table border="0"&gt;
    &lt;tr&gt;
        &lt;td&gt;&lt;img height="118" style="margin: 5px" width="199" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/01/oracle-sun-logo.png" /&gt;&lt;/td&gt;
        &lt;td&gt;
            &lt;p&gt;Hear Hasan Rizvi, Senior Vice President, Oracle Fusion Middleware, talk about &lt;a href="http://glassfish.org"&gt;GlassFish&lt;/a&gt; in &lt;a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12629/lobby_external_flash_clean_480x360/default.htm"&gt;Oracle and Sun Application Server Strategy webcast&lt;/a&gt;. The first part of the webcast is about the overall strategy and then the GlassFish part starts around 5:23 in the video.&lt;/p&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12629/lobby_external_flash_clean_480x360/default.htm"&gt;&lt;img height="438" border="1" style="margin: 5px" width="491" alt="" title="Oracle+Sun App Server Strategy Webcast" src="http://blog.arungupta.me/wp-content/uploads/2010/01/oracle-sun-appserver-strategy-webcast-jan-2010.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here is a summary for those who want a quick juice:&lt;/p&gt;
&lt;ul class="noindent"&gt;
    &lt;li&gt;GlassFish joins WebLogic Server in the best java EE application server offering in the industry&lt;/li&gt;
    &lt;li&gt;GlassFish continues as the Java EE reference implementation&lt;/li&gt;
    &lt;li&gt;HotSpot and Java System Web Server augment Oracle's application grid portfolio to provide the most comprehensive, integrated, and open middleware foundation&lt;/li&gt;
    &lt;li&gt;All existing customers current on support will be fully supported according to their existing agreements&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some more detailed points captured from the webcast ...&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;GlassFish continues as the Java EE reference implementation and as an open source project.&lt;/li&gt;
    &lt;li&gt;Oracle's strategic application server, Oracle WebLogic Server, together with GlassFish, provide world class Java EE infrastructure.&lt;/li&gt;
    &lt;li&gt;GlassFish Enterprise Server and WebLogic Server expected to share core components.&lt;/li&gt;
    &lt;li&gt;Oracle plans to add GlassFish Enterprise Server all WebLogic offerings.&lt;/li&gt;
    &lt;li&gt;Hotspot and JRockit become Oracle's strategic JVMs.&lt;/li&gt;
    &lt;li&gt;Java System Web Server part of new Oracle Web Tier offering.&lt;/li&gt;
    &lt;li&gt;GlassFish Web Stack maintained for existing customers.&lt;/li&gt;
    &lt;li&gt;GlassFish Message Queue remains as the GlassFish messaging infrastructure.&lt;/li&gt;
    &lt;li&gt;Oracle plans to license GlassFish Enterprise Server and Java System Web Server with all WebLogic Server offerings.&lt;/li&gt;
    &lt;li&gt;GlassFish also available as standalone offering.&lt;/li&gt;
    &lt;li&gt;
GlassFish will continue to be supported and maintained for an extended time period for customers current on support.
        &lt;ul&gt;
            &lt;li&gt;GlassFish v2.1 supported until Jan 2013 (Premium) / Jan 2015 (Extended) / Indefinite (Sustaining)&lt;/li&gt;
            &lt;li&gt;GlassFish v3 supported until Dec 2014 (Premium) / Dec 2017 (Extended) / Indefinite (Sustaining)&lt;/li&gt;
            &lt;li&gt;Full details at &lt;a href="http://www.oracle.com/support/lifetime-support-policy.html"&gt;http://www.oracle.com/support/lifetime-support-policy.htm&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;GlassFish open source projects thrive&lt;/li&gt;
    &lt;li&gt;
On-going commitment by Oracle to java.net and other open source projects that make up GlassFish
        &lt;ul&gt;
            &lt;li&gt;Continue collaboration&lt;/li&gt;
            &lt;li&gt;Blogs - TheAquarium&lt;/li&gt;
            &lt;li&gt;Enhancements - java.net&lt;/li&gt;
            &lt;li&gt;GlassFish wiki&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://www.oracle.com/AppServer"&gt;oracle.com/AppServer&lt;/a&gt; for more details. The complete list of &lt;a href="http://www.oracle.com/us/products/middleware/044270.html#wbc"&gt;webcasts on Oracle Fusion Middleware Strategy&lt;/a&gt; shares the overall strategy (still evolving).&lt;/p&gt;
&lt;p&gt;Also checkout the &lt;a href="http://www.oracle.com/ocom/groups/public/@ocom/documents/webcontent/044523.pdf"&gt;slides presented by Thomas Kurian&lt;/a&gt; on Software Strategy at the webcast yesterday. The complete list of webcasts + slides from yesterday's event are &lt;a href="http://www.oracle.com/us/sun/044498.html"&gt;now available&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There are several other articles (in no particular order):&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.infoworld.com/d/open-source/oracle-reveals-strategy-glassfish-mysql-openoffice-and-solaris-914 target="&gt;Oracle reveals strategy for&lt;span class="Apple-converted-space"&gt;GlassFish, MySQL, OpenOffice, and Solaris&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://java.dzone.com/articles/oracles-roadmap-sun"&gt;Oracle's roadmap for Sun Technologies&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.ryandelaplante.com/2010/01/sun-has-not-set-oracle-makes-sun-shine.html" target="_blank"&gt;The Sun has not set: Oracle makes Sun shine&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.adam-bien.com/roller/abien/entry/sun_oracle_netbeans_glassfish_javaone" target="_blank"&gt;Sun + Oracle, NetBeans, Glassfish, JavaOne and the Death of Kenai&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also check out the &lt;a href="http://www.oracle.com/technology/community/sun-oracle-community-continuity.html"&gt;FAQ for Developer Community&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/sun"&gt;sun&lt;/a&gt; &lt;a href="http://technorati.com/tags/oracle"&gt;oracle&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/strategy"&gt;strategy&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dLg3iEykUODekKnaPVyqYCVHfjQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dLg3iEykUODekKnaPVyqYCVHfjQ/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/dLg3iEykUODekKnaPVyqYCVHfjQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dLg3iEykUODekKnaPVyqYCVHfjQ/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/lz6wQ-_3ez4" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/glassfish_strategy_by_oracle_sun</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/totd_119_telnet_to_glassfish</id>
        <title type="html">TOTD #119: Telnet to GlassFish v3 with NetBeans 6.8 - "Could not open connection to the host"</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/r7dHEeZfsUE/totd_119_telnet_to_glassfish" />
        <published>2010-01-22T02:00:48-08:00</published>
        <updated>2010-01-22T02:01:00-08:00</updated> 
        <category term="/General" label="General" />
        <category term="felix" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <category term="osgi" scheme="http://roller.apache.org/ns/tags/" />
        <category term="telnet" scheme="http://roller.apache.org/ns/tags/" />
        <category term="totd" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;As explained in &lt;a href="http://blogs.sun.com/arungupta/entry/totd_118_managing_osgi_bundles"&gt;TOTD #118&lt;/a&gt;, one of the ways to manage OSGi bundles in GlassFish is by giving the command &amp;quot;telnet localhost 6666&amp;quot;. &lt;/p&gt;
&lt;p&gt;This straight forward command works fine if you installed either the &lt;a href="http://www.sun.com/software/products/appsrvr/get_it.jsp"&gt;Sun GlassFish Enterprise Server&lt;/a&gt; or the &lt;a href="https://glassfish.dev.java.net/downloads/v3-final.html"&gt;GlassFish community bits&lt;/a&gt;. The &amp;quot;domain.xml&amp;quot; in both of them is pre-configured for the telnet port to 6666 using the &amp;quot;jvm-options&amp;quot; as shown below:&lt;/p&gt;
&lt;pre&gt;
&amp;lt;jvm-options&amp;gt;-Dosgi.shell.&lt;span class="il"&gt;telnet&lt;/span&gt;.port=6666&amp;lt;/jvm-options&amp;gt;
&lt;/pre&gt;
&lt;p&gt;However if you installed GlassFish as part of &lt;a href="http://netbeans.org/downloads/index.html"&gt;NetBeans 6.8&lt;/a&gt;, then you might see an error message as shown below:&lt;/p&gt;
&lt;pre&gt;
C:\Users\Arun&amp;gt;telnet localhost 6666
Connecting To localhost...Could not open connection to the host, on
port 6666: Connect failed
&lt;/pre&gt;
&lt;p&gt;This error is more prominent in Windows Vista / 7 because of the &lt;a href="http://en.wikipedia.org/wiki/User_Account_Control"&gt;Windows User Account Control&lt;/a&gt; (UAC). Or anywhere where GlassFish is installed in a directory that require root/administrator/sudo access to read/write. This &lt;strong&gt;T&lt;/strong&gt;ip &lt;strong&gt;O&lt;/strong&gt;f &lt;strong&gt;T&lt;/strong&gt;he &lt;strong&gt;D&lt;/strong&gt;ay will explain how to workaround this issue.&lt;/p&gt;
&lt;p&gt;The default NetBeans installation directory is &amp;quot;C:\Program Files\NetBeans 6.8&amp;quot; and GlassFish goes in &amp;quot;C:\Program Files\sges-v3&amp;quot;. At first start of NetBeans (typically as a non-Administrator), it tries to register the pre-configured domain in GlassFish installed in &amp;quot;C:\Program Files&amp;quot;. But the non-Adminstrator user do not have read/write access to &amp;quot;C:\Program Files&amp;quot; and any sub-directories. So NetBeans create a new &amp;quot;personal&amp;quot; domain and assign a random port available at that moment for telnet. It shows all the ports assigned during the domain creation as shown below:&lt;/p&gt;
&lt;p&gt;&lt;img height="253" border="1" style="margin: 5px" width="568" alt="" src="http://blogs.sun.com/arungupta/resource/totd119-netbeans68-personal-domain-created-results.png" /&gt;&lt;/p&gt;
&lt;p&gt;The image shows the port number &amp;quot;22007&amp;quot; for OSGI_SHELL.&lt;/p&gt;
&lt;p&gt;How do you find that port later ? - Go to &amp;quot;Services&amp;quot; tab, expand &amp;quot;Servers&amp;quot;, right-click on &amp;quot;Personal GlassFish v3 Domain&amp;quot;, select &amp;quot;Properties&amp;quot; from the popup menu to see the following window:&lt;/p&gt;
&lt;p&gt;&lt;img height="264" border="1" style="margin: 5px" width="476" alt="" src="http://blogs.sun.com/arungupta/resource/totd119-netbeans68-personal-glassfish-domain.png" /&gt;&lt;/p&gt;
&lt;p&gt;The &amp;quot;Domains folder&amp;quot; shows the directory location of newly created domain and &amp;quot;Domain Name&amp;quot; has the domain name. The exact assigned port can be found by looking at &amp;quot;Domains folder&amp;quot;\&amp;quot;Domain Name&amp;quot;\config\domain.xml. On my Windows7, it showed the following line:&lt;/p&gt;
&lt;pre&gt;
&amp;lt;jvm-options&amp;gt;-Dosgi.shell.&lt;span class="il"&gt;telnet&lt;/span&gt;.port=22007&amp;lt;/jvm-options&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;&lt;br /&gt;So I tried &amp;quot;telnet localhost 22007&amp;quot; and voila, it worked!
&lt;p&gt;Some other possible solutions that will work:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Delete &amp;quot;.netbeans&amp;quot; directory and restart NetBeans by right-clicking on selecting &amp;quot;Run as administrator&amp;quot;. This will provide the required rights for NetBeans to read/write &amp;quot;C:\Program Files\sges-v3\glassfish\domains\domain1&amp;quot; directory. And so instead of creating a new &amp;quot;personal&amp;quot; domain, it'll register the existing domain in &amp;quot;\Program Files\sges-v3\glassfish&amp;quot;. Then &amp;quot;telnet localhost 6666&amp;quot; will work as expected.&lt;/li&gt;
    &lt;li&gt;During NetBeans installation, specify GlassFish installation directory in a user directory such as:&lt;br /&gt;&lt;br /&gt;&lt;img height="160" border="1" style="margin: 5px" width="599" alt="" src="http://blogs.sun.com/arungupta/resource/totd119-netbeans68-glassfishv3-different-location.png" /&gt;&lt;br /&gt;&lt;br /&gt;This will ensure that NetBeans will have required privileges to read/write the &amp;quot;domains\domain1&amp;quot; directory.&lt;/li&gt;
    &lt;li&gt;Delete the &amp;quot;Personal GlassFish v3 Domain&amp;quot; and register a new instance that is already installed in a user directory.&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.howtogeek.com/howto/windows-vista/disable-user-account-control-uac-the-easy-way-on-windows-vista/"&gt;Disable UAC&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A complete archive of all the TOTDs is &lt;a href="http://blogs.sun.com/arungupta/tags/totd"&gt;available here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/totd"&gt;totd&lt;/a&gt; &lt;a href="http://technorati.com/tags/netbeans"&gt;netbeans&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/v3"&gt;v3&lt;/a&gt; &lt;a href="http://technorati.com/tags/felix"&gt;felix&lt;/a&gt; &lt;a href="http://technorati.com/tags/osgi"&gt;osgi&lt;/a&gt; &lt;a href="http://technorati.com/tags/telnet"&gt;telnet&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pc-Ld8ljrY1oeih4K1B2rlrJNjI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pc-Ld8ljrY1oeih4K1B2rlrJNjI/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/pc-Ld8ljrY1oeih4K1B2rlrJNjI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pc-Ld8ljrY1oeih4K1B2rlrJNjI/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/r7dHEeZfsUE" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/totd_119_telnet_to_glassfish</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/sun_microsystems_1982_2010_farewell</id>
        <title type="html">"Sun Microsystems, 1982 - 2010" - Farewell by James Gosling</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/NfHMfYhufEM/sun_microsystems_1982_2010_farewell" />
        <published>2010-01-21T14:46:59-08:00</published>
        <updated>2010-01-21T14:48:06-08:00</updated> 
        <category term="/General" label="General" />
        <content type="html">&lt;p&gt;James Gosling is &lt;a href="http://blogs.sun.com/jag/entry/so_long_old_friend"&gt;bidding farewell&lt;/a&gt; to Sun Microsystems because of the &lt;a href="http://europa.eu/rapid/pressReleasesAction.do?reference=IP/10/40&amp;amp;format=HTML&amp;amp;aged=0&amp;amp;language=EN&amp;amp;guiLanguage=en"&gt;unconditional approval of Oracle's acquisition&lt;/a&gt; by European Commission. Here is fitting artwork from his blog:&lt;/p&gt;
&lt;p&gt;&lt;img style="margin: 5px" alt="" src="http://blogs.sun.com/jag/resource/SunRIPsmall.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;After spending close to 11 years at Sun, it's pretty emotional to read through the entire set of &lt;a href="http://blogs.sun.com/jag/entry/so_long_old_friend#comments"&gt;comments on his blog&lt;/a&gt;. Consider &lt;a href="http://www.cafepress.com/SunRIP"&gt;buying a mug, tee-shirt, cap, tile coaster or mousepad&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But there are many more &lt;a href="http://blogs.sun.com/arungupta/"&gt;miles to go&lt;/a&gt; ...&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/sun"&gt;sun&lt;/a&gt; &lt;a href="http://technorati.com/tags/oracle"&gt;oracle&lt;/a&gt; &lt;a href="http://technorati.com/tags/rip"&gt;rip&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gfoYX0hNrtZLuap2KPKmm64dJCQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gfoYX0hNrtZLuap2KPKmm64dJCQ/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/gfoYX0hNrtZLuap2KPKmm64dJCQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gfoYX0hNrtZLuap2KPKmm64dJCQ/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/NfHMfYhufEM" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/sun_microsystems_1982_2010_farewell</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/totd_118_managing_osgi_bundles</id>
        <title type="html">TOTD #118: Managing OSGi bundles in GlassFish v3 - asadmin, filesystem, telnet console, web browser, REST, osgish</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/q6om9yZznBc/totd_118_managing_osgi_bundles" />
        <published>2010-01-21T04:00:35-08:00</published>
        <updated>2010-03-07T11:01:30-08:00</updated> 
        <category term="/General" label="General" />
        <category term="apache" scheme="http://roller.apache.org/ns/tags/" />
        <category term="bundles" scheme="http://roller.apache.org/ns/tags/" />
        <category term="felix" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="maven" scheme="http://roller.apache.org/ns/tags/" />
        <category term="osgi" scheme="http://roller.apache.org/ns/tags/" />
        <category term="totd" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;GlassFish v3 and OSGi integration is now known for almost &lt;a href="http://blogs.sun.com/dochez/entry/glassfish_v3_runs_on_osgi"&gt;two years&lt;/a&gt;. Several blogs have been published on this topic and g&lt;a href="http://www.google.com/search?q=glassfish+osgi&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=org.mozilla:en-US:official&amp;amp;client=firefox-a"&gt;oogling on &amp;quot;glassfish osgi&amp;quot;&lt;/a&gt; shows 817,000 results. This blog has published &lt;a href="http://blogs.sun.com/arungupta/tags/osgi"&gt;four entries&lt;/a&gt; on the topic so far.&lt;/p&gt;
&lt;p&gt;This &lt;strong&gt;T&lt;/strong&gt;ip &lt;strong&gt;O&lt;/strong&gt;f &lt;strong&gt;T&lt;/strong&gt;he &lt;strong&gt;D&lt;/strong&gt;ay (TOTD) will show the different ways you can manage OSGi bundles in GlassFish v3.&lt;/p&gt;
&lt;p&gt;The first part is to create a trivial OSGi bundle as explained in &lt;a href="http://blogs.sun.com/arungupta/entry/totd_36_deploy_osgi_bundles"&gt;TOTD #36&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;
Create a simple Maven project using the command as shown below:&lt;br /&gt;
        &lt;pre&gt;
~/samples/v3/osgi &amp;gt;mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=org.glassfish.samples.osgi.helloworld -DartifactId=helloworld
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [archetype:create] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] Setting property: classpath.resource.loader.class =&amp;gt; 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on =&amp;gt; 'false'.
[INFO] Setting property: resource.loader =&amp;gt; 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound =&amp;gt; 'false'.
[INFO] [archetype:create]
[WARNING] This goal is deprecated. Please use mvn archetype:generate instead
[INFO] Defaulting package to group ID: org.glassfish.samples.osgi.helloworld
[INFO] artifact org.apache.maven.archetypes:maven-archetype-quickstart: checking for updates from central
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating OldArchetype: maven-archetype-quickstart:RELEASE
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: org.glassfish.samples.osgi.helloworld
[INFO] Parameter: packageName, Value: org.glassfish.samples.osgi.helloworld
[INFO] Parameter: package, Value: org.glassfish.samples.osgi.helloworld
[INFO] Parameter: artifactId, Value: helloworld
[INFO] Parameter: basedir, Value: /Users/arungupta/samples/v3/osgi
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] ********************* End of debug info from resources from generated POM ***********************
[INFO] OldArchetype created in dir: /Users/arungupta/samples/v3/osgi/helloworld
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11 seconds
[INFO] Finished at: Wed Jan 20 14:12:41 PST 2010
[INFO] Final Memory: 12M/80M
[INFO] ------------------------------------------------------------------------
&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;
Change the generated App class in &amp;quot;src/main/java/org/glassfish/samples/osgi/helloworld&amp;quot; folder so that it looks like:&lt;br /&gt;
        &lt;pre&gt;
package org.glassfish.samples.osgi.helloworld;

&lt;strong&gt;import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;&lt;/strong&gt;

/**
 * Hello world!
 *
 */
public class App &lt;strong&gt;implements BundleActivator {
    public void start(BundleContext context) throws Exception {
        System.out.println("Hey!");
    }
    public void stop(BundleContext context) throws Exception {
        System.out.println("Bye!");
    }&lt;/strong&gt;
}

&lt;/pre&gt;
This is a trivial Activator class but sitll shows the key methods. The changes are highlighted in &lt;span style="font-weight: bold;"&gt;bold&lt;/span&gt;.    &lt;/li&gt;
    &lt;li&gt;
Update &amp;quot;pom.xml&amp;quot; with the following changes:
        &lt;ol&gt;
            &lt;li&gt;Change &amp;lt;packaging&amp;gt; to &amp;quot;bundle&amp;quot; from the default value of &amp;quot;jar&amp;quot;.&lt;/li&gt;
            &lt;li&gt;Add &amp;lt;dependency&amp;gt; on &amp;quot;org.osgi.core&amp;quot;.&lt;/li&gt;
            &lt;li&gt;
Add the &amp;lt;plugin&amp;gt; maven-bundle-plugin and provide &amp;lt;instructions&amp;gt; to generate the appropriate MANIFEST.MF.&lt;br /&gt;
                &lt;pre&gt;
&amp;lt;project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
                  http://maven.apache.org/maven-v4_0_0.xsd"&amp;gt;
 &amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt;
 &amp;lt;groupId&amp;gt;org.glassfish.samples.osgi.helloworld&amp;lt;/groupId&amp;gt;
 &amp;lt;artifactId&amp;gt;helloworld&amp;lt;/artifactId&amp;gt;
 &amp;lt;packaging&amp;gt;bundle&amp;lt;/packaging&amp;gt;
 &amp;lt;version&amp;gt;1.0-SNAPSHOT&amp;lt;/version&amp;gt;
 &amp;lt;name&amp;gt;helloworld&amp;lt;/name&amp;gt;
 &amp;lt;url&amp;gt;http://maven.apache.org&amp;lt;/url&amp;gt;
 &amp;lt;dependencies&amp;gt;
   &amp;lt;dependency&amp;gt;
     &amp;lt;groupId&amp;gt;junit&amp;lt;/groupId&amp;gt;
     &amp;lt;artifactId&amp;gt;junit&amp;lt;/artifactId&amp;gt;
     &amp;lt;version&amp;gt;3.8.1&amp;lt;/version&amp;gt;
     &amp;lt;scope&amp;gt;test&amp;lt;/scope&amp;gt;
   &amp;lt;/dependency&amp;gt;
   &lt;strong&gt;&amp;lt;dependency&amp;gt;
     &amp;lt;groupId&amp;gt;org.apache.felix&amp;lt;/groupId&amp;gt;
     &amp;lt;artifactId&amp;gt;org.osgi.core&amp;lt;/artifactId&amp;gt;
     &amp;lt;version&amp;gt;1.0.0&amp;lt;/version&amp;gt;
   &amp;lt;/dependency&amp;gt;&lt;/strong&gt;
 &amp;lt;/dependencies&amp;gt;
 &lt;strong&gt;&amp;lt;build&amp;gt;
   &amp;lt;plugins&amp;gt;
     &amp;lt;plugin&amp;gt;
       &amp;lt;groupId&amp;gt;org.apache.felix&amp;lt;/groupId&amp;gt;
       &amp;lt;artifactId&amp;gt;maven-bundle-plugin&amp;lt;/artifactId&amp;gt;
       &amp;lt;extensions&amp;gt;true&amp;lt;/extensions&amp;gt;
       &amp;lt;configuration&amp;gt;
         &amp;lt;instructions&amp;gt;
           &amp;lt;Export-Package&amp;gt;${pom.groupId}&amp;lt;/Export-Package&amp;gt;
           &amp;lt;Bundle-SymbolicName&amp;gt;${pom.artifactId}&amp;lt;/Bundle-SymbolicName&amp;gt;
           &amp;lt;Bundle-Activator&amp;gt;${pom.groupId}.App&amp;lt;/Bundle-Activator&amp;gt;
         &amp;lt;/instructions&amp;gt;
       &amp;lt;/configuration&amp;gt;
     &amp;lt;/plugin&amp;gt;
   &amp;lt;/plugins&amp;gt;
 &amp;lt;/build&amp;gt;&lt;/strong&gt;
&amp;lt;/project&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;            &lt;/li&gt;
        &lt;/ol&gt;
    &lt;/li&gt;
    &lt;li&gt;
Generate the OSGi bundle as shown below:&lt;br /&gt;
        &lt;pre&gt;
~/samples/v3/osgi/helloworld &amp;gt;mvn install
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building helloworld
[INFO]    task-segment: [install]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Compiling 1 source file to /Users/arungupta/samples/v3/osgi/helloworld/target/classes
[INFO] [resources:testResources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:testCompile]
[INFO] Compiling 1 source file to /Users/arungupta/samples/v3/osgi/helloworld/target/test-classes
[INFO] [surefire:test]
[INFO] Surefire report directory: /Users/arungupta/samples/v3/osgi/helloworld/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.glassfish.samples.osgi.helloworld.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.06 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] [bundle:bundle]
[INFO] [install:install]
[INFO] Installing /Users/arungupta/samples/v3/osgi/helloworld/target/helloworld-1.0-SNAPSHOT.jar to /Users/arungupta/.m2/repository/org/glassfish/samples/osgi/helloworld/helloworld/1.0-SNAPSHOT/helloworld-1.0-SNAPSHOT.jar
[INFO] [bundle:install]
[INFO] Parsing file:/Users/arungupta/.m2/repository/repository.xml
[INFO] Installing org/glassfish/samples/osgi/helloworld/helloworld/1.0-SNAPSHOT/helloworld-1.0-SNAPSHOT.jar
[INFO] Writing OBR metadata
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8 seconds
[INFO] Finished at: Wed Jan 20 14:18:31 PST 2010
[INFO] Final Memory: 20M/80M
[INFO] ------------------------------------------------------------------------

&lt;/pre&gt;
The generated &amp;quot;target/helloworld-1.0-SNAPSHOT.jar&amp;quot; has the following contents:&lt;br /&gt;&lt;br /&gt;
        &lt;pre&gt;
 META-INF/MANIFEST.MF
 META-INF/
 META-INF/maven/
 META-INF/maven/org.glassfish.samples.osgi.helloworld/
 META-INF/maven/org.glassfish.samples.osgi.helloworld/helloworld/
 META-INF/maven/org.glassfish.samples.osgi.helloworld/helloworld/pom.properties
 META-INF/maven/org.glassfish.samples.osgi.helloworld/helloworld/pom.xml
 org/
 org/glassfish/
 org/glassfish/samples/
 org/glassfish/samples/osgi/
 org/glassfish/samples/osgi/helloworld/
 org/glassfish/samples/osgi/helloworld/App.class
&lt;/pre&gt;
&lt;br /&gt;And the generated &amp;quot;MANIFEST.MF&amp;quot; looks like:&lt;br /&gt;
        &lt;pre&gt;
Manifest-Version: 1.0
Export-Package: org.glassfish.samples.osgi.helloworld;uses:="org.osgi.
 framework"
Built-By: arungupta
Tool: Bnd-0.0.357
Bundle-Name: helloworld
Created-By: Apache Maven Bundle Plugin
Bundle-Version: 1.0.0.SNAPSHOT
Build-Jdk: 1.6.0_17
Bnd-LastModified: 1264025910352
Bundle-ManifestVersion: 2
Bundle-Activator: org.glassfish.samples.osgi.helloworld.App
Import-Package: org.glassfish.samples.osgi.helloworld,org.osgi.framewo
 rk;version="1.3"
Bundle-SymbolicName: helloworld
&lt;/pre&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Lets install this newly created OSGi bundle in GlassFish v3. First, fire up GlassFish as:&lt;/p&gt;
&lt;pre&gt;
~/tools/glassfish/v3/74b/glassfishv3/glassfish &amp;gt;./bin/asadmin start-domain -v
Jan 20, 2010 2:30:39 PM com.sun.enterprise.admin.launcher.GFLauncherLogger info
INFO: JVM invocation command line:
/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin/java
-cp
/Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish/modules/glassfish.jar
-XX:+UnlockDiagnosticVMOptions
-XX:MaxPermSize=192m
-XX:NewRatio=2
-XX:+LogVMOutput

. . .

Jan 20, 2010 2:30:40 PM com.sun.enterprise.admin.launcher.GFLauncherLogger info
INFO: Successfully launched in 52 msec.
Jan 20, 2010 2:30:40 PM com.sun.enterprise.glassfish.bootstrap.ASMain main
INFO: Launching GlassFish on Felix platform

Welcome to Felix
================

[#|2010-01-20T14:30:49.437-0800|INFO|glassfishv3.0|com.sun.grizzly.config.GrizzlyServiceListener|_ThreadID=11;_ThreadName=FelixStartLevel;|Perform lazy SSL initialization for the listener 'http-listener-2'|#]

[#|2010-01-20T14:30:49.527-0800|INFO|glassfishv3.0|com.sun.grizzly.config.GrizzlyServiceListener|_ThreadID=12;_ThreadName=Thread-11;|Starting Grizzly Framework 1.9.18-k - Wed Jan 20 14:30:49 PST 2010|#]

. . .

[#|2010-01-20T14:30:58.668-0800|INFO|glassfishv3.0|javax.enterprise.system.std.com.sun.enterprise.v3.services.impl|_ThreadID=21;_ThreadName={felix.fileinstall.poll=5000, felix.fileinstall.bundles.new.start=true, felix.fileinstall.dir=/Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish/modules/autostart/, felix.fileinstall.debug=1};|Started bundle: file:/Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish/modules/autostart/org.apache.felix.scr.jar|#]

[#|2010-01-20T14:30:58.786-0800|INFO|glassfishv3.0|javax.enterprise.system.std.com.sun.enterprise.v3.services.impl|_ThreadID=21;_ThreadName={felix.fileinstall.poll=5000, felix.fileinstall.bundles.new.start=true, felix.fileinstall.dir=/Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish/modules/autostart/, felix.fileinstall.debug=1};|Started bundle: file:/Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish/modules/autostart/osgi-web-container.jar|#]

[#|2010-01-20T14:31:00.436-0800|INFO|glassfishv3.0|null|_ThreadID=23;_ThreadName=ping;|Total number of available updates : 0|#]
&lt;/pre&gt;
&lt;p&gt;There are several ways to manage the OSGi bundles in GlassFish v3:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;The &amp;quot;asadmin&amp;quot; command (explained &lt;a href="http://blogs.sun.com/dochez/entry/glassfish_v3_extensions_part_2"&gt;here&lt;/a&gt;)&lt;/li&gt;
    &lt;li&gt;Filesystem operations using the pre-installed &lt;a href="http://felix.apache.org/site/apache-felix-file-install.html"&gt;Apache Felix File Install&lt;/a&gt; bundle (explained &lt;a href="http://weblogs.java.net/blog/2009/05/03/using-filesystem-operations-manage-osgi-bundles-glassfish"&gt;here&lt;/a&gt;)&lt;/li&gt;
    &lt;li&gt;A Telnet shell using pre-installed &lt;a href="http://felix.apache.org/site/apache-felix-remote-shell.html"&gt;Apache Felix Remote Shell&lt;/a&gt; (explained &lt;a href="http://weblogs.java.net/blog/ss141213/archive/2009/02/telnet_to_glass.html"&gt;here&lt;/a&gt; and &lt;a href="http://blogs.sun.com/arungupta/entry/totd_103_glassfish_v3_with"&gt;TOTD #103&lt;/a&gt;)&lt;/li&gt;
    &lt;li&gt;A Web browser using the &lt;a href="http://felix.apache.org/site/apache-felix-web-console.html"&gt;Apache Felix Web Console&lt;/a&gt; (needs to be installed separately and more details below)&lt;/li&gt;
    &lt;li&gt;A RESTful client by installing the &lt;a href="http://weblogs.java.net/blog/ss141213/archive/2009/09/04/using-rest-console-administer-osgi-runtime-glassfish"&gt;REST console&lt;/a&gt; (need to be installed separately and more details below)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;Lets explore each option in detail now.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Option 1: Manage the OSGi bundle using the &amp;quot;asadmin&amp;quot; command&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;
Deploy the generated OSGi bundle using asadmin command:&lt;br /&gt;
        &lt;pre&gt;
~/samples/v3/osgi/helloworld/target &amp;gt;~/tools/glassfish/v3/74b/glassfishv3/glassfish/bin/asadmin deploy --type osgi helloworld-1.0-SNAPSHOT.jar 
Application deployed successfully with name helloworld-1.0-SNAPSHOT.


Command deploy executed successfully.
&lt;/pre&gt;
The server log shows the following output:&lt;br /&gt;
        &lt;pre&gt;
[#|2010-01-20T16:15:10.553-0800|INFO|glassfishv3.0|javax.enterprise.system.std.com.
sun.enterprise.v3.services.impl|_ThreadID=36;_ThreadName=http-thread-pool-4848-(2);
|Hey!|#]

&lt;/pre&gt;
Notice &amp;quot;Hey!&amp;quot; message in the server log as the bundle gets started.    &lt;/li&gt;
    &lt;li&gt;
Verify the installed bundle as:&lt;br /&gt;
        &lt;pre&gt;
~/samples/v3/osgi/helloworld/target &amp;gt;~/tools/glassfish/v3/74b/glassfishv3/glassfish/bin/asadmin list-applications
helloworld-1.0-SNAPSHOT 

Command list-applications executed successfully.
&lt;/pre&gt;
        &lt;p&gt;Or if there are multiple applications deployed then only the OSGi bundles can be queried as:&lt;/p&gt;
        &lt;pre&gt;
~/samples/v3/osgi/helloworld/target &amp;gt;~/tools/glassfish/v3/74b/glassfishv3/glassfish/bin/asadmin list-applications --type osgi
helloworld-1.0-SNAPSHOT 

Command list-applications executed successfully.
&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;p&gt;The bundle can be undeployed as:&lt;/p&gt;
        &lt;pre&gt;
~/samples/v3/osgi/helloworld/target &amp;gt;~/tools/glassfish/v3/74b/glassfishv3/glassfish/bin/asadmin undeploy helloworld-1.0-SNAPSHOT 

Command undeploy executed successfully.

&lt;/pre&gt;
And then the following message is shown on the console:&lt;br /&gt;
        &lt;pre&gt;
[#|2010-01-20T16:22:19.554-0800|INFO|glassfishv3.0|javax.enterprise.system.std.com.
sun.enterprise.v3.services.impl|_ThreadID=37;_ThreadName=http-thread-pool-4848-(1);
|Bye!|#]

&lt;/pre&gt;
Notice &amp;quot;Bye!&amp;quot; message in second line of the log output indicating the bundle is stopped.    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Option 2: Manage the OSGi bundle using file system operations&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;
Copy the generated jar (target/helloworld-1.0-SNAPSHOT.jar) in &amp;quot;modules/autostart&amp;quot; directory as:&lt;br /&gt;
        &lt;pre&gt;
~/tools/glassfish/v3/74b/glassfishv3/glassfish &amp;gt;cp ~/samples/v3/osgi/helloworld/target/helloworld-1.0-SNAPSHOT.jar modules/autostart/

&lt;/pre&gt;
and that shows the log output as:&lt;br /&gt;
        &lt;pre&gt;
[#|2010-01-20T16:29:04.625-0800|INFO|glassfishv3.0|javax.enterprise.system.std.com.
sun.enterprise.v3.services.impl|_ThreadID=21;_ThreadName={felix.fileinstall.poll=5000, felix.fileinstall.bundles.new.start=true, felix.fileinstall.dir=/Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish
/modules/autostart/, felix.fileinstall.debug=1};|Installed /Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish/modules/autostart/
helloworld-1.0-SNAPSHOT.jar|#]

[#|2010-01-20T16:29:04.635-0800|INFO|glassfishv3.0|javax.enterprise.system.std.com.
sun.enterprise.v3.services.impl|_ThreadID=21;_ThreadName={felix.fileinstall.poll=5000, felix.fileinstall.bundles.new.start=true, felix.fileinstall.dir=/Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish
/modules/autostart/, felix.fileinstall.debug=1};|Hey!|#]

[#|2010-01-20T16:29:04.636-0800|INFO|glassfishv3.0|javax.enterprise.system.std.com.
sun.enterprise.v3.services.impl|_ThreadID=21;_ThreadName={felix.fileinstall.poll=5000, felix.fileinstall.bundles.new.start=true, felix.fileinstall.dir=/Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish
/modules/autostart/, felix.fileinstall.debug=1};|Started bundle: file:/Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish/modules/autostart
/helloworld-1.0-SNAPSHOT.jar|#]

&lt;/pre&gt;
Notice &amp;quot;Hey!&amp;quot; message in the second line of log output as the bundle gets started.    &lt;/li&gt;
    &lt;li&gt;
The bundle can be undeployed by removing the JAR file from &amp;quot;modules/autostart&amp;quot; directory as:&lt;br /&gt;&lt;br /&gt;
        &lt;pre&gt;
~/tools/glassfish/v3/74b/glassfishv3/glassfish &amp;gt;rm modules/autostart/helloworld-1.0-SNAPSHOT.jar

&lt;/pre&gt;
that shows the following output:&lt;br /&gt;
        &lt;pre&gt;
~/tools/glassfish/v3/74b/glassfishv3/glassfish &amp;gt;[#|2010-01-20T16:32:04.677-0800|INFO|glassfishv3.0|javax.enterprise.system.std.com.
sun.enterprise.v3.services.impl|_ThreadID=21;_ThreadName={felix.fileinstall.poll=5000, felix.fileinstall.bundles.new.start=true, felix.fileinstall.dir=/Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish
/modules/autostart/, felix.fileinstall.debug=1};|Uninstalling bundle 224 (helloworld)|#]

[#|2010-01-20T16:32:04.679-0800|INFO|glassfishv3.0|javax.enterprise.system.std.com.
sun.enterprise.v3.services.impl|_ThreadID=21;_ThreadName={felix.fileinstall.poll=5000, felix.fileinstall.bundles.new.start=true, felix.fileinstall.dir=/Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish
/modules/autostart/, felix.fileinstall.debug=1};|Bye!|#]

[#|2010-01-20T16:32:04.682-0800|INFO|glassfishv3.0|javax.enterprise.system.std.com.
sun.enterprise.v3.services.impl|_ThreadID=21;_ThreadName={felix.fileinstall.poll=5000, felix.fileinstall.bundles.new.start=true, felix.fileinstall.dir=/Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish
/modules/autostart/, felix.fileinstall.debug=1};|Uninstalled /Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish/modules/autostart
/helloworld-1.0-SNAPSHOT.jar|#]

&lt;/pre&gt;
Notice &amp;quot;Bye!&amp;quot; message in second line of the log output indicating the bundle is stopped.    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Option 3: Manage the OSGi bundle using a remote Telnet Shell&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;
Connecting to the Felix Remote Shell as:&lt;br /&gt;
        &lt;pre&gt;
~/tools/glassfish/v3/74b/glassfishv3/glassfish &amp;gt;telnet localhost 6666
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Felix Remote Shell Console:
============================

-&amp;gt;
&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;
Install the bundle as:&lt;br /&gt;
        &lt;pre&gt;
-&amp;gt; install file:///Users/arungupta/samples/v3/osgi/helloworld/target/helloworld-1.0-SNAPSHOT.jar
Bundle ID: 225
&lt;/pre&gt;
The command output shows &amp;quot;225&amp;quot; as the bundle id. This id is used to start / stop / uninstall the bundle.&lt;br /&gt;    &lt;/li&gt;
    &lt;li&gt;
Check the bundle status as:&lt;br /&gt;
        &lt;pre&gt;
-&amp;gt; find hello
START LEVEL 1
   ID   State         Level  Name
[ 225] [Installed  ] [    1] helloworld (1.0.0.SNAPSHOT)

&lt;/pre&gt;
and then start, stop, and uninstall the bundle as:&lt;br /&gt;
        &lt;pre&gt;
-&amp;gt; start 225
-&amp;gt; stop 225
-&amp;gt; uninstall 225
-&amp;gt; find hello
No matching bundles found

&lt;/pre&gt;
which shows following output in the logs:&lt;br /&gt;
        &lt;pre&gt;
[#|2010-01-20T16:43:45.399-0800|INFO|glassfishv3.0|javax.enterprise.system.std.com.
sun.enterprise.v3.services.impl|_ThreadID=38;_ThreadName=telnetconsole.shell remote=/127.0.0.1:4894;|Hey!|#]

[#|2010-01-20T16:43:58.516-0800|INFO|glassfishv3.0|javax.enterprise.system.std.com.
sun.enterprise.v3.services.impl|_ThreadID=38;_ThreadName=telnetconsole.shell remote=/127.0.0.1:4894;|Bye!|#]
&lt;/pre&gt;
&lt;br /&gt;Notice &amp;quot;Hey!&amp;quot; and &amp;quot;Bye!&amp;quot; messages in the log output as the bundle is started and stopped.    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt; &lt;strong&gt;Option 4 - Manage the OSGi bundle using a Web browser&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Lets see how the OSGi bundles in GlassFish can be managed using &lt;a href="http://felix.apache.org/site/apache-felix-web-console.html"&gt;Apache Felix Web Console&lt;/a&gt;. This is originally explained in &lt;a href="http://weblogs.java.net/blog/ss141213/archive/2009/05/using_felix_web.html"&gt;Sahoo's blog&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;
        &lt;p&gt;Copy GlassFish &lt;a href="http://www.osgi.org/javadoc/r4v42/org/osgi/service/http/HttpService.html"&gt;OSGi HTTP Service&lt;/a&gt; bundle from &lt;a href="http://download.java.net/maven/glassfish/org/glassfish/web/osgi-http/3.0-b71/osgi-http-3.0-b71.jar"&gt;here&lt;/a&gt; (&lt;a href="http://download.java.net/maven/glassfish/org/glassfish/web/osgi-http/"&gt;latest&lt;/a&gt;) and save it in the &amp;quot;modules/autostart&amp;quot; directory.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;p&gt;Copy Apache Felix Web Console bundle from &lt;a href="http://www.fightrice.com/mirrors/apache/felix/org.apache.felix.webconsole-2.0.4.jar"&gt;here&lt;/a&gt; (&lt;a href="http://felix.apache.org/site/downloads.cgi"&gt;latest&lt;/a&gt;) and save it in the &amp;quot;modules/autostart&amp;quot; directory.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;p&gt;Ignore the &amp;quot;NoClassDefFoundError&amp;quot; in the server log. The key is to look for the following message in server log:&lt;br /&gt;&lt;/p&gt;
        &lt;pre&gt;
Started bundle: file:/Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish/modules/autostart/org.apache.felix.webconsole-2.0.4.jar|#]
&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;p&gt;Open the URL &amp;quot;http://localhost:8080/osgi/system/console/bundles&amp;quot; in a browser and use &amp;quot;admin&amp;quot; as the username and &amp;quot;admin&amp;quot; as the password as shown below:&lt;br /&gt;&lt;br /&gt;&lt;img height="347" border="1" style="margin: 5px" width="700" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/01/totd118-felix-web-console-login.png" /&gt;&lt;br /&gt;&lt;br /&gt;I had to enter the credentials couple of times for the login to work but finally the following window showed up:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.arungupta.me/wp-content/uploads/2010/01/totd118-felix-web-console.png"&gt;&lt;img height="401" border="1" style="margin: 5px" width="700" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/01/totd118-felix-web-console.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It shows a complete summary of all the OSGi bundles available/installed/active etc in GlassFish v3. A new OSGi bundle can be installed by clicking on &amp;quot;Choose File&amp;quot; button. Several administration commands such as Start/Stop, Update, Uninstall, Refresh Import Packages can be issued for each bundle by clicking on associated buttons.&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;p&gt;Install the OSGi bundle by clicking on &amp;quot;Choose File&amp;quot; and selecting &amp;quot;helloworld-1.0.-SNAPSHOT.jar&amp;quot; and then click on &amp;quot;Install or Update&amp;quot; button. The following message is shown in the server log:&lt;br /&gt;&lt;/p&gt;
        &lt;pre&gt;
[#|2010-01-20T17:04:46.654-0800|INFO|glassfishv3.0|javax.enterprise.system.std.com.
sun.enterprise.v3.services.impl|_ThreadID=39;_ThreadName=Background Install /var/folders/+E/+E6YtSvGGEKNwOA77I-9Fk+++TI/-Tmp-/install1657418488877506078.tmp;
|Hey!|#]
&lt;/pre&gt;
        &lt;p&gt;The bundle gets installed and started as identified by &amp;quot;Hey!&amp;quot; message.&lt;br /&gt;The recently installed &amp;quot;HelloWorld&amp;quot; bundle looks like:&lt;br /&gt;&lt;a href="http://blogs.sun.com/arungupta/resource/totd118-felix-web-console-helloworld.png"&gt;&lt;img height="185" border="1" width="700" style="margin: 5px" class="" alt="" src="http://blogs.sun.com/arungupta/resource/totd118-felix-web-console-helloworld.png" title="" /&gt;&lt;/a&gt;&lt;br /&gt;Clicking on &amp;quot;helloworld&amp;quot; shows the complete status about the bundle as shown below:&lt;br /&gt;&lt;a href="http://blogs.sun.com/arungupta/resource/totd118-felix-web-console-helloworld-details.png"&gt;&lt;img height="377" border="1" style="margin: 5px" width="700" alt="" src="http://blogs.sun.com/arungupta/resource/totd118-felix-web-console-helloworld-details.png" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;p&gt;The bundle can be stopped by clicking on the Stopped, Refreshed Package Imports, Updated, and Uninstalled by clicking on the respective buttons in the &amp;quot;Actions&amp;quot; column. Clicking on the Stop button shows the following message:&lt;br /&gt;&lt;/p&gt;
        &lt;pre&gt;
[#|2010-01-20T17:10:56.359-0800|INFO|glassfishv3.0|javax.enterprise.system.std.com
.sun.enterprise.v3.services.impl|_ThreadID=25;_ThreadName=http-thread-pool-8080-(2);
|Bye!|#]

&lt;/pre&gt;
Notice &amp;quot;Bye!&amp;quot; message indicating the bundle has stopped.    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Option 5: Manage the OSGi bundle using a REST console&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;If not done already, copy GlassFish &lt;a href="http://www.osgi.org/javadoc/r4v42/org/osgi/service/http/HttpService.html"&gt;OSGi HTTP Service&lt;/a&gt; bundle from &lt;a href="http://download.java.net/maven/glassfish/org/glassfish/web/osgi-http/3.0-b71/osgi-http-3.0-b71.jar"&gt;here&lt;/a&gt; (&lt;a href="http://download.java.net/maven/glassfish/org/glassfish/web/osgi-http/"&gt;latest&lt;/a&gt;) and save it in the &amp;quot;modules/autostart&amp;quot; directory.&lt;/li&gt;
    &lt;li&gt;Download the &lt;a href="http://cloud.github.com/downloads/fdiotalevi/OSGi-RestConsole/com.knokode.osgi.restconsole.main-1.0-PREVIEW01.jar"&gt;REST console bundle&lt;/a&gt; (&lt;a href="http://github.com/fdiotalevi/OSGi-RestConsole/downloads"&gt;latest&lt;/a&gt;) in &amp;quot;modules/autostart&amp;quot; directory.&lt;/li&gt;
    &lt;li&gt;
The complete list of bundles is available in Text or XML format by accessing the URL &amp;quot;http://localhost:8080/osgi/restconsole/bundles/.txt&amp;quot; or &amp;quot;http://localhost:8080/osgi/restconsole/bundles&amp;quot; respectively. Here is how the text output looks like:&lt;br /&gt;
        &lt;pre&gt;
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16198    0 16198    0     0  1173k      0 --:--:-- --:--:-- --:--:-- 1173kbundles 
     bundle 
          id 
               0 
          symbolic-name 
               org.apache.felix.framework 

. . .

          description 
               Generated using Pax-Construct 
          vendor 
          version 
               1.0.0.SNAPSHOT 
          location 
               file:/Users/arungupta/tools/glassfish/v3/74b/glassfishv3/glassfish/modules/autostart/
com.knokode.osgi.restconsole.main-1.0-PREVIEW01.jar 
          state 
               ACTIVE
&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;
The OSGi bundle should be installed by issuing the following command:&lt;br /&gt;
        &lt;pre&gt;
curl -X PUT file:///Users/arungupta/samples/v3/osgi/helloworld/target/helloworld-1.0-SNAPSHOT.jar http://localhost:8080/osgi/restconsole/bundles
&lt;/pre&gt;
but it's giving a &amp;quot;Segmentation fault&amp;quot;. Am following with &lt;a href="http://twitter.com/arungupta/status/8009295111"&gt;@fdiotalevi&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Anyway, the complete usage information of the REST console is &lt;a href="http://wiki.github.com/fdiotalevi/OSGi-RestConsole/usetherestconsole"&gt;described here&lt;/a&gt;.&lt;br /&gt;    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So how do you manage OSGi bundles in GlassFish v3 - asadmin, file system operations, telnet console, web browser, or REST ?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: &lt;a href="http://freshmeat.net/projects/osgish"&gt;Osgish&lt;/a&gt; is a command-line shell for OSGi and implemented in Perl. See the &lt;a href="http://cpan.uwinnipeg.ca/htdocs/osgish/README.html"&gt;complete installation instructions&lt;/a&gt; and it can be used to manage OSGi runtime in GlassFish as well.&lt;/p&gt;
&lt;p&gt;A complete archive of all the TOTDs is &lt;a href="http://blogs.sun.com/arungupta/tags/totd"&gt;available here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/totd"&gt;totd&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/v3"&gt;v3&lt;/a&gt; &lt;a href="http://technorati.com/tags/osgi"&gt;osgi&lt;/a&gt; &lt;a href="http://technorati.com/tags/apache"&gt;apache&lt;/a&gt; &lt;a href="http://technorati.com/tags/felix"&gt;felix&lt;/a&gt; &lt;a href="http://technorati.com/tags/bundles"&gt;bundles&lt;/a&gt; &lt;a href="http://technorati.com/tags/maven"&gt;maven&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9wJ5s6ryM7zxuCcukH1A-RJVTEE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9wJ5s6ryM7zxuCcukH1A-RJVTEE/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/9wJ5s6ryM7zxuCcukH1A-RJVTEE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9wJ5s6ryM7zxuCcukH1A-RJVTEE/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/q6om9yZznBc" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/totd_118_managing_osgi_bundles</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/how_to_pick_a_headlamp</id>
        <title type="html">How to pick a headlamp for night running ? - Petzl, Fenix, Princeton, Black Diamond, ...</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/fcabfXtf7cA/how_to_pick_a_headlamp" />
        <published>2010-01-20T04:00:09-08:00</published>
        <updated>2010-01-20T07:06:03-08:00</updated> 
        <category term="/Running" label="Running" />
        <category term="fenix" scheme="http://roller.apache.org/ns/tags/" />
        <category term="gear" scheme="http://roller.apache.org/ns/tags/" />
        <category term="headlamp" scheme="http://roller.apache.org/ns/tags/" />
        <category term="night" scheme="http://roller.apache.org/ns/tags/" />
        <category term="petzl" scheme="http://roller.apache.org/ns/tags/" />
        <category term="running" scheme="http://roller.apache.org/ns/tags/" />
        <category term="therelay" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;In order to be prepared for the upcoming &lt;a href="http://blogs.sun.com/arungupta/entry/therelay_2010_rules_simplified_are1" title="TheRelay 2010" id="nv9m"&gt;TheRelay 2010&lt;/a&gt;, I'm planning to start running in the night. This is my first venture into night running and there are several tips to follow (reflective gear, run against traffic, no dark colors, no headphones, etc). One of the most important one is to wear a headlamp that can show the trail sufficiently ahead and keep you aware of any breaks in the sidewalk, a fallen branch, debris or may be even a loose pet.&lt;br /&gt;&lt;br /&gt;As with any product, there are several headlamps available in the market and it's confusing for a first time buyer. There is Moxie, Petzl, Princeton Tec, Petzl, Black Diamond, Fenix and many others. Fortunately &lt;a href="http://www.rei.com/search?search=headlamp&amp;amp;cat=8000&amp;amp;cat=4500596&amp;amp;hist=query%2Cheadlamp%5Ecat%2C4500596%3AHeadlamps" title="REI.com" id="k659"&gt;REI.com&lt;/a&gt; has a good variety of them and the beauty is that you can visit your local store and try them on. And as always, the staff is very knowledgeable about the product line and don't suck you into higher end products which may be an overkill for your adventure. And of course, you can compare the products on Amazon.com, read blog reviews, see product reviews from actual customers, read about them at epinions.com, tweet about it and get suggestions.&lt;br /&gt;&lt;br /&gt;Some of the criteria to keep in mind while making your pick for a headlamp:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Lightweight - It should be lightweight as it'll be strapped to your head all the time you are running. Any extra weight to your head will be a bothering soon.&lt;/li&gt;
    &lt;li&gt;Good grip - The lamp should fit nicely on your head and not bounce up &amp;amp; down otherwise it'll be a pain very soon. Personally, I'd hate to run with holding headlamp in my hands instead.&lt;/li&gt;
    &lt;li&gt;Brightness - 35-50 lumens is bright enough for night running as it gives you 9-19 seconds of visibility depending upon your pace from (7 - 10 min/mile). See a more detailed table below.&lt;/li&gt;
    &lt;li&gt;Cost - The headlamps vary from $10 - $500. As with other products, invest wisely depending upon whether this is a one-time gig or you plan to continue this longer term. There are reasonable ones available close to $50.&lt;/li&gt;
&lt;/ol&gt;
And then there are several other factors like what kind and how many batteries are required (adds up to total weight), how long before it runs out, Halogen / LED, does it support multiple intensities, waterproof, and rechargeable unit.&lt;br /&gt;&lt;br /&gt;Here is a comparison of the short listed headlamps on the features mentioned above:
&lt;table cellpadding="5" cellspacing="5"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;th&gt;Features / Models&lt;/th&gt;
            &lt;th&gt;&lt;a href="http://emergencypowerlight.blogspot.com/2010/01/fenix-7-level-225-lumen-led-headlamp.html"&gt;Fenix 7&lt;/a&gt;&lt;/th&gt;
            &lt;th&gt;&lt;a href="http://www.petzl.com/en/outdoor/headlamps/compact-tikka-2/tikka-xp"&gt;Petzl Tikka XP 2&lt;/a&gt;&lt;/th&gt;
            &lt;th&gt;&lt;a href="http://www.petzl.com/en/outdoor/tikka-zipka-series/tikka-plus"&gt;Petzl Tikka Plus 2&lt;/a&gt;&lt;/th&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Weight (with batteries)&lt;/td&gt;
            &lt;td&gt;??&lt;/td&gt;
            &lt;td&gt;3.1 ounces (88 gms)&lt;/td&gt;
            &lt;td&gt;2.9 oz (82 gms)&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Lumens&lt;/td&gt;
            &lt;td&gt;7 - 225&lt;/td&gt;
            &lt;td&gt;60&lt;/td&gt;
            &lt;td&gt;50&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Batteries&lt;/td&gt;
            &lt;td&gt;4 AA&lt;/td&gt;
            &lt;td&gt;3 AAA&lt;/td&gt;
            &lt;td&gt;3 AAA&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Running time&lt;/td&gt;
            &lt;td&gt;2.5 - 210 hrs&lt;/td&gt;
            &lt;td&gt;80-160 hrs&lt;/td&gt;
            &lt;td&gt;55 - 140 hrs&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Range (meters)&lt;/td&gt;
            &lt;td&gt;120m&lt;/td&gt;
            &lt;td&gt;17-60m&lt;/td&gt;
            &lt;td&gt;35m&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Intensity&lt;/td&gt;
            &lt;td&gt;5 (Strobe, SOS, Warning)&lt;/td&gt;
            &lt;td&gt;2 (Flood/Spot)&lt;/td&gt;
            &lt;td&gt;2 (Flood only)&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Waterproof&lt;/td&gt;
            &lt;td&gt;IPX-8&lt;/td&gt;
            &lt;td&gt;IPX-4&lt;/td&gt;
            &lt;td&gt;IPX-4&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;LED&lt;/td&gt;
            &lt;td&gt;Cree XR-E Q5&lt;/td&gt;
            &lt;td&gt;1 high-output LED / red LED&lt;/td&gt;
            &lt;td&gt;1 high-output LED / red LED&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Cost&lt;/td&gt;
            &lt;td&gt;64.95&lt;/td&gt;
            &lt;td&gt;54.95&lt;/td&gt;
            &lt;td&gt;33.99&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Where to buy ?&lt;/td&gt;
            &lt;td&gt;&lt;a href="http://www.amazon.com/Fenix-Level-225-Lumen-Headlamp/dp/B002RX2QLY"&gt;Amazon&lt;/a&gt;&lt;/td&gt;
            &lt;td&gt;&lt;a href="http://www.amazon.com/Petzl-E99-PG-Headlamp-Graphite/dp/B0027GXC96"&gt;Amazon&lt;/a&gt;&lt;/td&gt;
            &lt;td&gt;&lt;a href="http://www.amazon.com/Petzl-E97-PM-Headlamp-Mystic/dp/B0027H0IME/"&gt;Amazon&lt;/a&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;br /&gt;After reading &lt;a href="http://forum.slowtwitch.com/gforum.cgi?post=2584700" title="forums" id="e8ls"&gt;forums&lt;/a&gt; (&lt;a href="http://community.active.com/message/552477"&gt;here&lt;/a&gt;, &lt;a href="http://community.active.com/message/540511"&gt;here&lt;/a&gt;, &lt;a href="http://community.active.com/message/700901"&gt;here&lt;/a&gt;), product reviews (&lt;a href="http://www.candlepowerforums.com/vb/showthread.php?t=232880" title="1" id="o43g"&gt;1&lt;/a&gt;, &lt;a href="http://www.fitsugar.com/6977456" title="2" id="js44"&gt;2&lt;/a&gt;), &lt;a href="http://www.amazon.com/Petzl-E97-PM-Headlamp-Mystic/product-reviews/B0027H0IME/ref=dp_top_cm_cr_acr_txt?ie=UTF8&amp;amp;showViewpoints=1" title="6 5* reviews @ Amazon" id="wp63"&gt;6 5* reviews @ Amazon&lt;/a&gt;, talking to friends, tweeting (&lt;a href="http://twitter.com/LudoMP/status/7959601237" title="1"&gt;1&lt;/a&gt;, &lt;a href="http://twitter.com/LudoMP/status/7959218729" title="2"&gt;2&lt;/a&gt;, &lt;a href="http://twitter.com/LudoMP/status/7946319212" title="3"&gt;3&lt;/a&gt;, &lt;a href="http://twitter.com/LudoMP/status/7938796136" title="4"&gt;4&lt;/a&gt;) and getting a strong recommendation from the local REI store, I have decided to purchase Petzl Tikka Plus 2.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blackdiamondequipment.com/en-us/shop/mountain/lighting/sprinter" title="Black Diamond Sprinter" id="qp50"&gt;Black Diamond Sprinter&lt;/a&gt; got good reviews on &lt;a href="http://www.runnersworld.com/article/1,7124,s6-238-511--13338-0,00.html" title="runnersworld.com" id="dl1-"&gt;runnersworld.com&lt;/a&gt; but there is no point paying additional $40 for the rechargeable unit. I'd rather buy a recharger separately and use it elsewhere as well. &lt;a href="https://www.fenix-store.com/product_info.php?products_id=1774" title="Fenix HP10"&gt;Fenix HP10&lt;/a&gt; is similar to Fenix 7, slightly more expensive and no noticeable difference. It's not worth paying extra money for the lumens that are not required.&lt;/p&gt;
&lt;p&gt;Read more about &lt;a href="http://en.wikipedia.org/wiki/Ip_rating"&gt;IP waterproof ratings&lt;/a&gt;. Basically, IPX-4 provide protection against splashing water and IPX-8 provide protection against continuous immersion beyond 1m.&lt;/p&gt;
&lt;p&gt;Here is a table that provides the visibility (in seconds) for a 35m or 50m range headlamp:&lt;/p&gt;
&lt;p&gt;&lt;img height="413" border="1" style="margin: 5px" width="514" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/01/night-headlamp-visibility.png" /&gt;&lt;/p&gt;
&lt;p&gt;Now Amazon has &lt;a href="http://www.amazon.com/gp/help/customer/display.html?ie=UTF8&amp;amp;nodeId=518224"&gt;tight restrictions&lt;/a&gt; on the usage of pre-paid credit cards and so the payment cannot be split between two of them. All merchants allow such arrangement at least in their physical shop but I guess this is one disadvantage of online shopping.&lt;/p&gt;
&lt;p&gt;What headlamp do you use for night running ?&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/running"&gt;running&lt;/a&gt; &lt;a href="http://technorati.com/tags/night"&gt;night&lt;/a&gt; &lt;a href="http://technorati.com/tags/headlamp"&gt;headlamp&lt;/a&gt; &lt;a href="http://technorati.com/tags/petzl"&gt;petzl&lt;/a&gt; &lt;a href="http://technorati.com/tags/fenix"&gt;fenix&lt;/a&gt; &lt;a href="http://technorati.com/tags/therelay"&gt;therelay&lt;/a&gt; &lt;a href="http://technorati.com/tags/gear"&gt;gear&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/O96SSI_KzrE0g5T3D57032ZtYj4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O96SSI_KzrE0g5T3D57032ZtYj4/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/O96SSI_KzrE0g5T3D57032ZtYj4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O96SSI_KzrE0g5T3D57032ZtYj4/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/fcabfXtf7cA" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/how_to_pick_a_headlamp</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/totd_117_invoke_a_jax</id>
        <title type="html">TOTD #117: Invoke a JAX-WS Web service from a Rails app deployed in GlassFish</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/b5ysMUzWH68/totd_117_invoke_a_jax" />
        <published>2010-01-12T23:24:28-08:00</published>
        <updated>2010-02-23T17:07:19-08:00</updated> 
        <category term="/webservices" label="webservices" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jax-ws" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jruby" scheme="http://roller.apache.org/ns/tags/" />
        <category term="metro" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rails" scheme="http://roller.apache.org/ns/tags/" />
        <category term="totd" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webservices" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;A user on &lt;a href="http://forums.java.net/jive/thread.jspa?threadID=71952&amp;amp;tstart=0"&gt;GlassFish Forum&lt;/a&gt; tried invoking a JAX-WS Web service from a Rails application and faced some issues. This &lt;strong&gt;T&lt;/strong&gt;ip &lt;strong&gt;O&lt;/strong&gt;f &lt;strong&gt;T&lt;/strong&gt;he &lt;strong&gt;D&lt;/strong&gt;ay (TTOD) will discuss the different approaches and shows their current status.&lt;/p&gt;
&lt;p&gt;A Rails app can be deployed on GlassFish in 3 different ways:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Directory Deployment in GlassFish v3 Server - &lt;a href="http://blogs.sun.com/arungupta/entry/totd_72_jruby_and_glassfish"&gt;TOTD #72&lt;/a&gt; explains how to deploy a trivial Rails application (with just a scaffold) on GlassFish v3 server. Even though the blog uses a Rails application, any Rack-based application can be deployed on the server. This server is also the Reference Implementation for Java EE 6 and can also run &lt;a href="http://blogs.sun.com/arungupta/tags/grails"&gt;Grails&lt;/a&gt; and &lt;a href="http://blogs.sun.com/arungupta/entry/totd_85_getting_started_with"&gt;Django&lt;/a&gt; applications.&lt;/li&gt;
    &lt;li&gt;Directory Deployment using light-weight GlassFish Gem - GlassFish Gem is a light-weight version of the full-blown server and is stripped to run, just like the server, any Rack-based application such as Merb, Rails, and Sinatra. &lt;a href="http://blogs.sun.com/arungupta/entry/totd_70_jruby_and_glassfish"&gt;TOTD #70&lt;/a&gt; shows how to deploy the same application using GlassFish Gem.&lt;/li&gt;
    &lt;li&gt;WAR file in GlassFish v2.x or v3 - &lt;a href="http://blogs.sun.com/arungupta/entry/totd_73_jruby_and_glassfish"&gt;TOTD #73&lt;/a&gt; explains how to deploy a Rails application as WAR file on GlassFish v2. The JNDI connection pooling part of the blog may be skipped to simplify the steps but the concepts are still valid. &lt;a href="http://blogs.sun.com/arungupta/entry/totd_44_jdbc_connection_pooling"&gt;TOTD #44&lt;/a&gt; shows how to do JNDI connection pooling for GlassFish v3. As GlassFish v2 has in-built support for session replication, &lt;a href="http://blogs.sun.com/arungupta/entry/totd_92_session_failover_for"&gt;TOTD #92&lt;/a&gt; demonstrate how Rails application can leverage that functionality.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now lets get to the issue reported by the user using these 3 deployment models.&lt;/p&gt;
&lt;p&gt;First, lets deploy a simple Web service endpoint and generate a JAR file of the client-side artifacts:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;
This blog will use a simple Web service as defined in &lt;a href="http://blogs.sun.com/arungupta/entry/screncast_ws7_secure_and_reliable"&gt;screencast #ws7&lt;/a&gt;. The Web service endpoint looks like:&lt;br /&gt;
        &lt;pre&gt;
package server;

import javax.jws.WebService;

/**
 * @author arungupta
 */
@WebService()
public class HelloService {
 public String sayHello(String name) {
 return "Hello " + name;
 }
}
&lt;/pre&gt;
&lt;br /&gt;    &lt;/li&gt;
    &lt;li&gt;
Generate Web service client-side artifacts as:&lt;br /&gt;
        &lt;pre&gt;
~/samples/v3/rails/webservice/tmp &amp;gt;wsimport -keep http://localhost:8080/HelloWebService/HelloServiceService?wsdl
parsing WSDL...


generating code...


compiling code...
&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;
Create a Web service client jar file as:&lt;br /&gt;
        &lt;pre&gt;
jar cvf wsclient.jar ./server
&lt;/pre&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now lets write a Rails application and invoke this Web service:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;
Create a simple Rails application as:
        &lt;pre&gt;
jruby -S rails webservice
&lt;/pre&gt;
&lt;br /&gt;Optionally you may specify &amp;quot;-d mysql&amp;quot; to use MySQL database. Or better un-comment the following line:&lt;br /&gt;
        &lt;pre&gt;
# config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
&lt;/pre&gt;
&lt;br /&gt;in &amp;quot;config/environment.rb&amp;quot; as no database interaction is required.    &lt;/li&gt;
    &lt;li&gt;
Create a controller and view as:&lt;br /&gt;
        &lt;pre&gt;
jruby script/generate controller home index
&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;
Update the Controller in &amp;quot;app/controllers/home_controller.rb&amp;quot; as:&lt;br /&gt;
        &lt;pre&gt;
include Java

class HomeController &amp;lt; ApplicationController
 def index
 service = Java::server.HelloServiceService.new
 port = service.getHelloServicePort

 @result = port.sayHello("Duke")
 end

end
&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;
Change the View in &amp;quot;app/views/home/index.html.erb&amp;quot; as:&lt;br /&gt;
        &lt;pre&gt;
&amp;lt;h1&amp;gt;Home#index&amp;lt;/h1%gt;
&amp;lt;p&amp;gt;Find me in app/views/home/index.html.erb&amp;lt;/p&amp;gt;

&amp;lt;%= @result %&amp;gt;
&lt;/pre&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now lets deploy this Web service using the 3 different deployment models mentioned above.&lt;/p&gt;
&lt;p&gt;GlassFish v3 allows a directory-based deployment of Rails applications. This application needs to locate the Web service client classes. The &amp;quot;wsclient.jar&amp;quot; can be copied to the &amp;quot;lib&amp;quot; directory of Rails application (&amp;quot;webservice/lib&amp;quot; in our case), &amp;quot;domains/domain1/lib/ext&amp;quot; or &amp;quot;JRUBY_HOME/lib&amp;quot;. The library can also be passed during deployment using &amp;quot;--libraries&amp;quot; switch. None of this approach seem to work correctly as explained in &lt;a href="https://glassfish.dev.java.net/issues/show_bug.cgi?id=11408"&gt;issue# 11408&lt;/a&gt;. So for now, invoking a JAX-WS Web service from a Rails application deployed directly on GlassFish v3 is not possible, at least until the bug is fixed.&lt;/p&gt;
&lt;p&gt;In order to deploy the same application using GlassFish Gem, you can copy &amp;quot;wsclient.jar&amp;quot; to the &amp;quot;lib&amp;quot; directory of your Rails application. And also add the following line to &amp;quot;app/controllers/home_controller.rb&amp;quot;:&lt;/p&gt;
&lt;pre&gt;
require 'lib/wsclient.jar'
&lt;/pre&gt;
&lt;p&gt;Alternatively you can copy it to &amp;quot;JRUBY_HOME/lib&amp;quot; directory if this Web service client is accessed my multiple applications. In this case there is no need to add any &amp;quot;require&amp;quot; statement to your Controller. Anyway, running the application as:&lt;/p&gt;
&lt;pre&gt;
jruby -S glassfish
&lt;/pre&gt;
&lt;p&gt;and accessing &amp;quot;http://localhost:3000/home/index&amp;quot; shows the following output:&lt;/p&gt;
&lt;p&gt;&lt;img height="198" border="1" style="margin: 5px" width="404" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/01/totd117-gem-output.png" /&gt;&lt;/p&gt;
&lt;p&gt;And finally as explained in &lt;a href="http://blogs.sun.com/arungupta/entry/totd_73_jruby_and_glassfish"&gt;TOTD #73&lt;/a&gt;, bundle up your original Rails application as WAR and then deploy on GlassFish v3 as:&lt;/p&gt;
&lt;pre&gt;
asadmin deploy webservice.war
&lt;/pre&gt;
&lt;p&gt;Make sure to copy &amp;quot;wsclient.jar&amp;quot; to the &amp;quot;lib&amp;quot; directory of your Rails application and then Warbler will copy it to &amp;quot;WEB-INF/lib&amp;quot; of the generated WAR file. The output is shown as below:&lt;/p&gt;
&lt;p&gt;&lt;img height="201" border="1" style="margin: 5px" width="480" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/01/totd117-v3-output.png" /&gt;&lt;/p&gt;
&lt;p&gt;So if you want to invoke a Metro/JAX-WS Web service from a Rails application, then run your Rails application using GlassFish Gem or deploying as a WAR file. It'll work on GlassFish v3 server when &lt;a href="https://glassfish.dev.java.net/issues/show_bug.cgi?id=11408"&gt;issue# 11408&lt;/a&gt; is fixed.&lt;/p&gt;
&lt;p&gt;Here are some additional links:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/popular_ruby_on_rails_applications"&gt;TOTD #104&lt;/a&gt; also shows how popular Rails applications such as Redmine, Typo, and Substruct can be easily deployed on GlassFish.&lt;/li&gt;
    &lt;li&gt;Rails applications can be easily clustered using &lt;a href="http://blogs.sun.com/arungupta/entry/totd_84_using_apache_mod"&gt;Apache + mod_proxy&lt;/a&gt; or  &lt;a href="http://blogs.sun.com/arungupta/entry/totd_81_how_to_use"&gt;nginx&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A complete archive of all the TOTDs is &lt;a href="http://blogs.sun.com/arungupta/tags/totd"&gt;available here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/totd"&gt;totd&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/v3"&gt;v3&lt;/a&gt; &lt;a href="http://technorati.com/tags/jruby"&gt;jruby&lt;/a&gt; &lt;a href="http://technorati.com/tags/rails"&gt;rails&lt;/a&gt; &lt;a href="http://technorati.com/tags/webservice"&gt;webservice&lt;/a&gt; &lt;a href="http://technorati.com/tags/jax-ws"&gt;jax-ws&lt;/a&gt; &lt;a href="http://technorati.com/tags/metro"&gt;metro&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TuW_gfXONXvnBFHH-MARU-0LhOs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TuW_gfXONXvnBFHH-MARU-0LhOs/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/TuW_gfXONXvnBFHH-MARU-0LhOs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TuW_gfXONXvnBFHH-MARU-0LhOs/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/b5ysMUzWH68" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/totd_117_invoke_a_jax</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/2009_running_summary_1286_miles</id>
        <title type="html">2009 Running Summary - 1286 miles, 71% of running days </title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/kortI3RNo4o/2009_running_summary_1286_miles" />
        <published>2010-01-05T04:31:33-08:00</published>
        <updated>2010-01-05T04:32:00-08:00</updated> 
        <category term="/General" label="General" />
        <category term="2009" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="logs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="running" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Here is a summary of my running logs in 2009:&lt;/p&gt;
&lt;p&gt;&lt;img height="103" border="1" width="300" style="margin: 5px" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/01/running-summary-2009.png" /&gt;&lt;/p&gt;
&lt;p&gt;And a bar chart that shows mileage for each day:&lt;/p&gt;
&lt;p&gt;&lt;img height="709" border="1" style="margin: 5px" width="804" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/01/running-summary-2009-dailylogs.png" /&gt;&lt;/p&gt;
&lt;p&gt;And finally a summary for each quarter:&lt;/p&gt;
&lt;table border="0" cellspacing="5"&gt;
    &lt;tr&gt;
        &lt;th&gt;Quarter&lt;/th&gt;
        &lt;th&gt;Summary&lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;Jan 1 - Mar 31, 2009&lt;/td&gt;
        &lt;td&gt;&lt;img height="103" border="1" style="margin: 5px" width="291" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/01/running-summary-2009-q1.png" /&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;Apr 1 - Jun 30, 2009&lt;/td&gt;
        &lt;td&gt;&lt;img height="106" border="1" style="margin: 5px" width="284" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/01/running-summary-2009-q2.png" /&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;Jul 1 - Sep 30, 2009&lt;/td&gt;
        &lt;td&gt;&lt;img height="106" border="1" width="280" style="margin: 5px" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/01/running-summary-2009-q3.png" /&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;Oct 1 - Dec 31, 2009&lt;/td&gt;
        &lt;td&gt;&lt;img height="103" border="1" style="margin: 5px" width="282" alt="" src="http://blog.arungupta.me/wp-content/uploads/2010/01/running-summary-2009-q4.png" /&gt;&lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&lt;br /&gt;The last quarter was just terrible in terms of number of running days and pace but was a good recovery period as well. However I can certainly feel it in terms of the overall reduced pace. The biggest reasons for missed out running in 2009 were falling sick or traveling with no gym facility in the hotel.&lt;/p&gt;
&lt;p&gt;Two goals for 2010:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Reduce the number of missed days of running - With no upcoming travel plans, this might be a good time to catch up on this goal.&lt;/li&gt;
    &lt;li&gt;Increase the overall mileage - This will require more than a few long distance runs and so will try to get them early on.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The charts shown above can be easily generated using using a &lt;a href="http://blog.arungupta.me/2009/07/track-your-running-miles-using-jruby-ruby-on-rails-glassfish-netbeans-mysql-and-yui-charts/"&gt;Rails application&lt;/a&gt; or a &lt;a href="http://blog.arungupta.me/2009/09/track-your-running-miles-using-apache-wicket-glassfish-netbeans-mysql-and-yui-charts/"&gt;Wicket application&lt;/a&gt; on &lt;a href="http://glassfish.org"&gt;GlassFish&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/running"&gt;running&lt;/a&gt; &lt;a href="http://technorati.com/tags/logs"&gt;logs&lt;/a&gt; &lt;a href="http://technorati.com/tags/2009"&gt;2009&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/K-98aAQV4K4g97Yr67CkKYs0uQE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/K-98aAQV4K4g97Yr67CkKYs0uQE/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/K-98aAQV4K4g97Yr67CkKYs0uQE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/K-98aAQV4K4g97Yr67CkKYs0uQE/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/kortI3RNo4o" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/2009_running_summary_1286_miles</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/free_java_ee_6_1</id>
        <title type="html">FREE Java EE 6 1-week online Codecamp - Jan 12th, 2010</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/N7gRBEWD0zQ/free_java_ee_6_1" />
        <published>2010-01-04T11:20:41-08:00</published>
        <updated>2010-01-04T11:21:00-08: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="handson" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="lab" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Happy New Year!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/java_ee_6_is_now"&gt;Java EE 6&lt;/a&gt;, &lt;a href="http://glassfish.org"&gt;GlassFish v3&lt;/a&gt;, and &lt;a href="http://netbeans.org/"&gt;NetBeans 6.8&lt;/a&gt; were released last month. Are you interested in learning how this awesome combination of technologies and products make your life simpler ? Do you want to brush up your skill set and learn to write Java EE 6 code using NetBeans 6.8 and GlassFish v3 ? Would you like to learn  tips &amp;amp; techniques from the experts in GlassFish community ? Do you want to start 2010 with a complete immersion in Java EE 6 &amp;amp; GlassFish v3 ?&lt;/p&gt;
&lt;p&gt;If answer to any of the above questions is &amp;quot;yes&amp;quot;, then you should consider attending the upcoming free &lt;a href="http://www.javapassion.com/courses/javaee6codecamp.html"&gt;Java EE 6 online code camp&lt;/a&gt;. You are certainly welcome to attend the sessions otherwise as well :-)&lt;/p&gt;
&lt;p&gt;The goal of this code camp is &lt;em&gt;to let you write code, lots of code, exercising key Java EE 6 technologies&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The sessions are distributed over multiple days (schedule subject to change) as shown below:&lt;/p&gt;
&lt;table border="0" width="70%" cellpadding="5" cellspacing="5"&gt;
    &lt;tr&gt;
        &lt;th&gt;Topics&lt;/th&gt;
        &lt;th&gt;Date/Day&lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;Getting Java EE 6 sample codes&lt;/td&gt;
        &lt;td&gt;Jan 12th, 2010 (Tuesday)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;Servlet 3.0&lt;/td&gt;
        &lt;td&gt;Jan 12th, 2010 (Tuesday)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;Context and Dependency Injection (JSR 299)&lt;/td&gt;
        &lt;td&gt;Jan 13th, 2010 (Wednesday)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;JPA 2.0&lt;/td&gt;
        &lt;td&gt;Jan 14th, 2010 (Thursday)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;EJB 3.1&lt;/td&gt;
        &lt;td&gt;Jan 15th, 2010 (Friday)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;JSF 2.0&lt;/td&gt;
        &lt;td&gt;Jan 18th, 2010 (Monday)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;Java EE 6 End-to-end Examples&lt;/td&gt;
        &lt;td&gt;Jan 19th, 2010 (Tuesday)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt;GlassFish v3&lt;/td&gt;
        &lt;td&gt;Jan 20th, 2010 (Wednesday)&lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&lt;br /&gt;Here is what you need to do before attending the hands-on lab session:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Watch the corresponding video-taped sessions from &lt;a href="http://www.sun.com/events/javaee6glassfishv3/virtualconference/"&gt;Java EE 6 &amp;amp; GlassFish v3 Virtual Conference&lt;/a&gt;.&lt;/li&gt;
    &lt;li&gt;Send an email to &lt;a href="mailto:javaee6-codecamp+subscribe@googlegroups.com"&gt;javaee6-codecamp+subscribe@googlegroups.com&lt;/a&gt; to register for the course. All discussions can be seen from the &lt;a href="http://groups.google.com/group/javaee6-codecamp"&gt;web-based forum&lt;/a&gt;.&lt;/li&gt;
    &lt;li&gt;Download &amp;amp; Install JDK 6.0. (&lt;a href="http://java.sun.com/javase/downloads/index.jsp"&gt;1.6.0_017+ for Operating Systems other than MacOS&lt;/a&gt;, &lt;a href="http://developer.apple.com/"&gt;1.6.0_015+ for MacOS&lt;/a&gt;)&lt;/li&gt;
    &lt;li&gt;Download &amp;amp; Install &lt;a href="http://netbeans.org/downloads/index.html"&gt;NetBeans 6.8 with GlassFish v3&lt;/a&gt; (&amp;quot;Java&amp;quot; or &amp;quot;All&amp;quot; bundle)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you finish the homework from each lab, yeah there is optional homework ;-), then you'll also be awarded a certificate of completion.&lt;/p&gt;
&lt;p&gt;So strap your seat belts and get ready for the Java EE 6 hands-on journey next week!&lt;/p&gt;
&lt;p&gt;Always check &lt;a href="http://www.javapassion.com/courses/javaee6codecamp.html"&gt;Java EE 6 Online Codecamp&lt;/a&gt; for latest updates.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/conf"&gt;conf&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/v3"&gt;v3&lt;/a&gt; &lt;a href="http://technorati.com/tags/javaee"&gt;javaee&lt;/a&gt; &lt;a href="http://technorati.com/tags/handson"&gt;handson&lt;/a&gt; &lt;a href="http://technorati.com/tags/lab"&gt;lab&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pJ3LZzmTwpPSRe4uZkqLdJvD7DY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pJ3LZzmTwpPSRe4uZkqLdJvD7DY/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/pJ3LZzmTwpPSRe4uZkqLdJvD7DY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pJ3LZzmTwpPSRe4uZkqLdJvD7DY/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/N7gRBEWD0zQ" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/free_java_ee_6_1</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/java_ee_6_glassfish_v32</id>
        <title type="html">Java EE 6 &amp; GlassFish v3 Deep Dive</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/U3rQHLE9sNo/java_ee_6_glassfish_v32" />
        <published>2009-12-25T14:00:09-08:00</published>
        <updated>2009-12-25T14:01:00-08:00</updated> 
        <category term="/General" label="General" />
        <category term="deepdive" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="interview" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Merry Christmas!&lt;/p&gt;
&lt;p&gt;Get a quick overview of Java EE 6 &amp;amp; GlassFish v3 in &lt;a href="http://java.sun.com/developer/media/deepdivejavaee6glassfishv3.jsp"&gt;this 2-part Deep Dive video&lt;/a&gt; (running time of 19:17 mins) with &lt;a href="http://weblogs.java.net/blog/edort/"&gt;Ed Ort&lt;/a&gt; from &lt;a href="http://developers.sun.com/"&gt;Sun Developer Network&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://java.sun.com/developer/media/deepdivejavaee6glassfishv3.jsp"&gt;&lt;img height="496" border="1" style="margin: 5px" width="642" alt="" src="http://blog.arungupta.me/wp-content/uploads/2009/12/javaee6-glassfishv3-deepdive-dec2009.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here are some other relevant links:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview.html"&gt;Introducing the Java EE 6 Platform&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://java.sun.com/javaee/index.jsp"&gt;Java EE at a Glance&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://java.sun.com/javaee/community/glassfish/index.jsp"&gt;GlassFish Community&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.sun.com/software/products/glassfish_portfolio/"&gt;Sun GlassFish Portfolio&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://java.sun.com/javaee/support/training/"&gt;Java EE Training &amp;amp; Certification&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/javaee"&gt;javaee&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/v3"&gt;v3&lt;/a&gt; &lt;a href="http://technorati.com/tags/deepdive"&gt;deepdive&lt;/a&gt; &lt;a href="http://technorati.com/tags/interview"&gt;interview&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/K9MF82GMvcdVXjsRej2JtyO-0qk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/K9MF82GMvcdVXjsRej2JtyO-0qk/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/K9MF82GMvcdVXjsRej2JtyO-0qk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/K9MF82GMvcdVXjsRej2JtyO-0qk/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/U3rQHLE9sNo" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/java_ee_6_glassfish_v32</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/indicthreads_conference_2009_trip_report</id>
        <title type="html">IndicThreads Conference 2009 - Trip Report</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/c3iqg2qSIgU/indicthreads_conference_2009_trip_report" />
        <published>2009-12-17T23:30:39-08:00</published>
        <updated>2009-12-17T23:30:39-08:00</updated> 
        <category term="/General" label="General" />
        <category term="conf" scheme="http://roller.apache.org/ns/tags/" />
        <category term="eclipse" 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="indicthreads" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" 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="pune" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;I attended my 
&lt;a href="http://blogs.sun.com/arungupta/entry/java_ee_6_glassfish_swimming"&gt;first IndicThreads conference&lt;/a&gt;, fourth otherwise, 
in Pune last week.&lt;/p&gt;
&lt;p&gt;This local conference fits very well with &amp;quot;Think Globally, Act 
Locally&amp;quot; theme. The topics were quite varied ranging from Scala, 
Lift, Google App Engine, Android, GWT, Distributed Scrum, and of course Java EE 
6 &amp;amp; GlassFish v3. All the speakers were well versed with the content and the 
audience was pretty interactive. Keeping global warming into consideration, the 
conference adopted the theme of&amp;nbsp;
&lt;a href="http://j09.indicthreads.com/indicthreads-go-green/"&gt;Go Green&lt;/a&gt;. The 
conference setup provided a great opportunity for social networking.&lt;/p&gt;
&lt;p&gt;Here are some of the reasons to attend / sponsor IndicThreads:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;The conference is the oldest independent event in India focused on Java 
	technology.&lt;/li&gt;
	&lt;li&gt;Pune contributed Rs 25,000 crore ($5.3 billion) in 2008-09 in IT exports 
	with an
	&lt;a href="http://economictimes.indiatimes.com/News/Economy/Foreign-Trade/After-a-dismal-FY09-state-IT-exports-off-to-a-solid-start/articleshow/4875513.cms"&gt;
	impressive growth of 24%&lt;/a&gt;.&lt;/li&gt;
	&lt;li&gt;There are several major companies like Wipro, Infosys, Cognizant, 
	Accenture, Sybase, Tech Mahindra, WebEx based in Pune.&lt;/li&gt;
	&lt;li&gt;October to March is the best time to visit Pune.&lt;/li&gt;
	&lt;li&gt;The city of Pune certainly offers a really fine cuisine, as evident in 
	the images below.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I presented on:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
	&lt;a href="http://j09.indicthreads.com/579/java-ee-6-paving-the-path-for-the-future/"&gt;Java EE 6 
	&amp;amp; GlassFish v3: Paving path for the future&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;
	&lt;a href="http://j09.indicthreads.com/580/dynamic-languages-web-frameworks-in-glassfish/"&gt;
	Dynamic Languages &amp;amp; Web Frameworks in GlassFish v3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;and the slides are available. Unfortunately the graphics card of my MacBook 
failed the evening before the conference. So I had to rush to Apple Care center 
and retrieve my presentations from the hard disk. Fortunately that worked and 
the slides could be used. There are several blog pointers through out the 
presentation for the demos shown during the talk:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;NetBeans and Eclipse tooling for Java EE 6 using GlassFish v3&lt;/li&gt;
	&lt;li&gt;GlassFish v3 Administration and REST interface&lt;/li&gt;
	&lt;li&gt;Ruby on Rails, Groovy and Grails, Python and Django deployment on 
	GlassFish v3&lt;/li&gt;
	&lt;li&gt;Develop / Deploy / Debug Rails application using NetBeans and GlassFish 
	v3&lt;/li&gt;
	&lt;li&gt;GlassFish Gem for Rails / Merb / Sinatra / Rack&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="width:425px;text-align:left" id="__ss_2739938"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/arungupta1/java-ee-6-glassfish-v3-paving-path-for-the-future" title="Java EE 6 &amp;amp; GlassFish v3: Paving path for the future"&gt;Java EE 6 &amp;amp; GlassFish v3: Paving path for the future&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=javaee6-glassfishv3-indicthreads-2009-091217163902-phpapp02&amp;stripped_title=java-ee-6-glassfish-v3-paving-path-for-the-future" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=javaee6-glassfishv3-indicthreads-2009-091217163902-phpapp02&amp;stripped_title=java-ee-6-glassfish-v3-paving-path-for-the-future" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;br/&gt;
&lt;div style="width:425px;text-align:left" id="__ss_2739945"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/arungupta1/dynamic-languages-web-frameworks-indicthreads-2009-2" title="Dynamic Languages Web Frameworks Indicthreads 2009"&gt;Dynamic Languages Web Frameworks Indicthreads 2009&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=dynamic-languages-web-frameworks-indicthreads-20092-091217164021-phpapp02&amp;stripped_title=dynamic-languages-web-frameworks-indicthreads-2009-2" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=dynamic-languages-web-frameworks-indicthreads-20092-091217164021-phpapp02&amp;stripped_title=dynamic-languages-web-frameworks-indicthreads-2009-2" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
Get the complete set of presentations at the conference from this playlist:
&lt;p&gt;&lt;/p&gt;
&lt;div style="width:577px;margin:auto;"&gt;&lt;object style="margin:0px" width="575" height="410"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/multiwidget.swf"/&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/multiwidget.swf" flashVars="feedurl=user/indicthreads/tag/indicj09&amp;widgettitle=Slideshows for Tag: indicj09 by indicthreads" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="575" height="410"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;text-align:left;"&gt;&lt;a href="http://www.slideshare.net/?src=multiwidget"&gt;&lt;img src="http://static.slidesharecdn.com/swf/logo_embd.png" style="border:0px none;margin-bottom:-5px" alt="SlideShare"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Sun Microsystems raffled a &lt;a href="http://www.sunspotworld.com/"&gt;Sunspot&lt;/a&gt; 
to the winner of &amp;quot;Java and Green&amp;quot; quiz. Here are the questions:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;
	&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
	&lt;span lang="EN-GB"&gt;When was the GlassFish community started ? Tick the right 
	answer.&lt;/span&gt;&lt;ol&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;2004&lt;/li&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;2005&lt;/li&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;2006&lt;/li&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;2007&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
	&lt;span lang="EN-GB"&gt;Which framework is not supported natively by GlassFish ?&lt;/span&gt;&lt;ol&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="en-gb"&gt;Ruby on Rails&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="en-gb"&gt;Django&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="en-gb"&gt;Groovy and Grails&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="en-gb"&gt;Java EE&lt;/span&gt;&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
	&lt;span lang="EN-GB"&gt;Which specifications is not new or did not get a major 
	update in Java EE 6.&lt;/span&gt;&lt;ol&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="EN-GB"&gt;Context &amp;amp; Dependency Injection&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="EN-GB"&gt;Managed Beans&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="EN-GB"&gt;Servlet 3.0&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="EN-GB"&gt;JAX-WS&lt;/span&gt;&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
	&lt;span lang="EN-GB"&gt;What 3 IDEs have support for Java EE 6 ?&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
	&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
	&lt;span lang="EN-GB"&gt;
	&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7.0pt; font-family: Times New Roman"&gt;&amp;nbsp;&lt;/span&gt;Name 
	4 HTTP methods that let you perform RESTful Web services.&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
	&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
	&lt;span lang="EN-GB"&gt;Sun Microsystems is now a division of Oracle.&lt;/span&gt;&lt;ol&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="en-gb"&gt;True&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="en-gb"&gt;False&lt;/span&gt;&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
	&lt;span lang="EN-GB"&gt;Name 3 “green” initiatives at IndicThreads Conference 09.&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;
	&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
	&lt;span lang="EN-GB"&gt;When was IndicThreads.com created?&lt;/span&gt;&lt;ol&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="EN-GB"&gt;2004&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="EN-GB"&gt;2005&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="EN-GB"&gt;2006&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="EN-GB"&gt;2007&lt;/span&gt;&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
	&lt;li&gt;
	&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
	&lt;span lang="EN-GB"&gt;The United Nations Climate Change Conference is happening 
	in:&lt;/span&gt;&lt;ol&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="EN-GB"&gt;Copenhagen&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="EN-GB"&gt;Belgium&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
		&lt;p class="MsoNormal" style="text-indent: -.25in; margin-left: .5in"&gt;
		&lt;span lang="EN-GB"&gt;Geneva&lt;/span&gt;&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Lets see how many can you answer :-) Thanks 
&lt;a href="http://www.java.net/author/aaron-houston"&gt;Aaron Houston&lt;/a&gt; for sponsoring the Sunspot.&lt;/p&gt;
&lt;p&gt;Watch &lt;a href="http://www.harshadoak.com/"&gt;Harshad Oak&lt;/a&gt;,
&lt;a href="http://omitsoft.blogspot.com/2008/03/harshad-oak-first-java-champion-in.html"&gt;
first Java champion in India&lt;/a&gt; and founder of the conference, talks about how 
the conference, intended audience, message to sponsors, and other messages in this short video:&lt;/p&gt;
&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/_bPs3flA1c0&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/_bPs3flA1c0&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;p&gt;Here are some photographs from the conference:&lt;/p&gt;
&lt;table border="0" cellspacing="5" cellpadding="5"&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh5.ggpht.com/_wIoV5EX5M-0/SyrQqRdJrAI/AAAAAAAAXUM/eltXHXeP0FI/s288/IMG_6946.JPG" width="288" height="216"&gt;&lt;/td&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh4.ggpht.com/_wIoV5EX5M-0/SyrQolhveKI/AAAAAAAAXT8/tMffXXCJk80/s288/IMG_6950.JPG" width="288" height="216"&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh3.ggpht.com/_wIoV5EX5M-0/SyrQmrUa2nI/AAAAAAAAXTo/CXFBMDLaLns/s288/IMG_6954.JPG" width="288" height="216"&gt;&lt;/td&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh4.ggpht.com/_wIoV5EX5M-0/SyrQkk_LlMI/AAAAAAAAXTU/rt9sFEquI2E/s288/IMG_6959.JPG" width="288" height="216"&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;p align="center"&gt;
		&lt;img border="0" src="http://lh5.ggpht.com/_EU9rTBThNVU/SyYm3bMdFqI/AAAAAAAAAgk/iPdZtQBCp98/s288/DSC_0125.JPG" width="193" height="288"&gt;&lt;/td&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh5.ggpht.com/_wIoV5EX5M-0/SyrQirwYYRI/AAAAAAAAXTE/pW3IFWWD9T4/s288/IMG_6965.JPG" width="288" height="216"&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh5.ggpht.com/_wIoV5EX5M-0/SyrQhcNFYNI/AAAAAAAAXS8/_6G-SQftjxE/s288/IMG_6969.JPG" width="288" height="216"&gt;&lt;/td&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh3.ggpht.com/_EU9rTBThNVU/SyYosCCI63I/AAAAAAAAAkc/xqAgK3FCAY0/s288/DSC_2849.JPG" width="288" height="193"&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh3.ggpht.com/_wIoV5EX5M-0/SyrQgNsEnsI/AAAAAAAAXSw/v5Sc-8fOQdo/s288/IMG_6972.JPG" width="288" height="216"&gt;&lt;/td&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh3.ggpht.com/_wIoV5EX5M-0/SyrQfNhsxxI/AAAAAAAAXSo/Ua-Vh743_os/s288/IMG_6975.JPG" width="288" height="216"&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh4.ggpht.com/_EU9rTBThNVU/SyYqtfaY_sI/AAAAAAAAAoY/FGaQ2Siq6NU/s288/DSC_2945.JPG" width="288" height="193"&gt;&lt;/td&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh4.ggpht.com/_EU9rTBThNVU/SyYqvAJNS9I/AAAAAAAAAoc/mhTGJ7Y-Tr4/s288/DSC_2947.JPG" width="288" height="193"&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh3.ggpht.com/_wIoV5EX5M-0/SyrQeSUjNxI/AAAAAAAAXSg/3pQff7BD6mw/s288/IMG_6976.JPG" width="288" height="216"&gt;&lt;/td&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh4.ggpht.com/_wIoV5EX5M-0/SyrQdyxydCI/AAAAAAAAXSc/fNbkTOoau2U/s288/IMG_6977.JPG" width="288" height="216"&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;And here is the complete set of pictures captured by me:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" width="288" height="192" flashvars="host=picasaweb.google.com&amp;hl=en_US&amp;feat=flashalbum&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Farun.gupta%2Falbumid%2F5416370654761562529%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;And here is the complete album captured by the conference:&lt;/p&gt;
&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" width="288" height="192" flashvars="host=picasaweb.google.com&amp;captions=1&amp;hl=en_US&amp;feat=flashalbum&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Findicthreads%2Falbumid%2F5415055371406380865%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt; 
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
Here are couple of additional reviews of the conference:&lt;ul&gt;
	&lt;li&gt;
	&lt;a href="http://blog.dhananjaynene.com/2009/12/post-conference-recap-the-4th-indicthreads.com-conference-on-java-technology/"&gt;
	Post conference recap: The 4th Indicthreads.com conference on Java 
	Technology&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;
	&lt;a href="http://javachamp.blogspot.com/2009/12/indicthreads-java-conference-what.html"&gt;
	IndicThreads Java Conference - What a Experience&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Looking forward to participate in this conference next year!
&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/conf"&gt;conf&lt;/a&gt;
&lt;a href="http://technorati.com/tags/indicthreads"&gt;indicthreads&lt;/a&gt;
&lt;a href="http://technorati.com/tags/pune"&gt;pune&lt;/a&gt;
&lt;a href="http://technorati.com/tags/india"&gt;india&lt;/a&gt;
&lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt;
&lt;a href="http://technorati.com/tags/javaee"&gt;javaee&lt;/a&gt;
&lt;a href="http://technorati.com/tags/netbeans"&gt;netbeans&lt;/a&gt;
&lt;a href="http://technorati.com/tags/eclipse"&gt;eclipse&lt;/a&gt;
&lt;a href="http://technorati.com/tags/java"&gt;java&lt;/a&gt;&lt;/small&gt;&lt;a href="http://technorati.com/tags/java"&gt;&lt;/font&gt;&lt;/a&gt;	
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/llja0gsiXA03D1D4qNQj55azUYY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/llja0gsiXA03D1D4qNQj55azUYY/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/llja0gsiXA03D1D4qNQj55azUYY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/llja0gsiXA03D1D4qNQj55azUYY/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/c3iqg2qSIgU" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/indicthreads_conference_2009_trip_report</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/pictures_from_glassfish_v3_launch</id>
        <title type="html">Pictures from GlassFish v3 Launch Party @ Santa Clara, California - Dec 16, 2009</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/fh1QRC02GBE/pictures_from_glassfish_v3_launch" />
        <published>2009-12-16T21:34:22-08:00</published>
        <updated>2009-12-16T21:34:22-08:00</updated> 
        <category term="/General" label="General" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="party" scheme="http://roller.apache.org/ns/tags/" />
        <category term="santaclara" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&lt;img border="0" src="http://lh4.ggpht.com/_wIoV5EX5M-0/Sym_wi9IvMI/AAAAAAAAXNw/G1CU0h_6_ss/s640/Fullscreen%20capture%2012162009%20111906%20PM.jpg" width="640" height="221"&gt;&lt;/p&gt;
&lt;p align="left"&gt;The GlassFish team
&lt;a href="http://blogs.sun.com/theaquarium/entry/glassfish_v3_in_bangalore_burlington"&gt;
celebrated the release of GlassFish v3&lt;/a&gt; at Santa Clara earlier today. There 
was food, cake, beer, wine, tequila, tee-shirts, quiz contest, iPod shuffle 
raffles and above all the usual GlassFish spirit which made it extremely fun. 
See some of the pictures inlined:&lt;/p&gt;

&lt;table border="0" cellspacing="5" cellpadding="5"&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh3.ggpht.com/_wIoV5EX5M-0/Sym2jWiUP1I/AAAAAAAAXIs/v8-gqRYolDU/s288/DSC_19780.JPG" width="288" height="193"&gt;&lt;/td&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh5.ggpht.com/_wIoV5EX5M-0/Sym2kJ_nBrI/AAAAAAAAXI8/zC_--qlEo7c/s288/DSC_19784.JPG" width="288" height="193"&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh3.ggpht.com/_wIoV5EX5M-0/Sym2kZ_AArI/AAAAAAAAXJA/uURlSofetB8/s288/DSC_19785.JPG" width="288" height="193"&gt;&lt;/td&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh6.ggpht.com/_wIoV5EX5M-0/Sym2lqga-aI/AAAAAAAAXJc/xB9bmDBXOAk/s288/DSC_19792.JPG" width="288" height="193"&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh3.ggpht.com/_wIoV5EX5M-0/Sym2mPA9g-I/AAAAAAAAXJg/9mvSMfQCtiw/s288/DSC_19793.JPG" width="288" height="193"&gt;&lt;/td&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh3.ggpht.com/_wIoV5EX5M-0/Sym2maVQckI/AAAAAAAAXJk/V2ZCjTOcjFY/s288/DSC_19794.JPG" width="288" height="193"&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh6.ggpht.com/_wIoV5EX5M-0/Sym2mp8W16I/AAAAAAAAXJs/UUSg0Ia90D0/s288/DSC_19797.JPG" width="288" height="193"&gt;&lt;/td&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh6.ggpht.com/_wIoV5EX5M-0/Sym2nCSktaI/AAAAAAAAXJ4/2vkCGx2C6QQ/s288/DSC_19801.JPG" width="288" height="193"&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh3.ggpht.com/_wIoV5EX5M-0/Sym2os5bi3I/AAAAAAAAXKc/Ogi6amCk_Hc/s288/DSC_19811.JPG" width="288" height="193"&gt;&lt;/td&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh6.ggpht.com/_wIoV5EX5M-0/Sym2o_gha2I/AAAAAAAAXKo/X7AGwjou0vE/s288/DSC_19815.JPG" width="288" height="193"&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh5.ggpht.com/_wIoV5EX5M-0/Sym2pbzqPTI/AAAAAAAAXKw/doBs4jw5hvw/s288/DSC_19817.JPG" width="288" height="193"&gt;&lt;/td&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh6.ggpht.com/_wIoV5EX5M-0/Sym2qa-3R5I/AAAAAAAAXLA/cvboBHxmoAo/s288/DSC_19821.JPG" width="288" height="193"&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh3.ggpht.com/_wIoV5EX5M-0/Sym2r5puGdI/AAAAAAAAXLg/muJ8il7J5j8/s288/DSC_19829.JPG" width="288" height="193"&gt;&lt;/td&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh6.ggpht.com/_wIoV5EX5M-0/Sym2sRyf3KI/AAAAAAAAXLw/-6BEuKrD9Sw/s288/DSC_19835.JPG" width="288" height="193"&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh3.ggpht.com/_wIoV5EX5M-0/Sym2s4q-UFI/AAAAAAAAXL0/pHHKnGdIu5U/s288/DSC_19838.JPG" width="288" height="193"&gt;&lt;/td&gt;
		&lt;td&gt;
		&lt;img border="0" src="http://lh6.ggpht.com/_wIoV5EX5M-0/Sym2rdlfqLI/AAAAAAAAXLU/wIf3J_BleRU/s288/DSC_19826.JPG" width="288" height="193"&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;And the complete album at:&lt;/p&gt;
&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" width="288" height="192" flashvars="host=picasaweb.google.com&amp;hl=en_US&amp;feat=flashalbum&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Farun.gupta%2Falbumid%2F5416060741616165457%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;

&lt;p&gt;See the complete set of
&lt;a href="http://wikis.sun.com/display/GlassFishConferences/GlassFish+v3+FCS+Launch"&gt;
GlassFish v3 Launch activities&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Did you conduct GlassFish launch party in your geo ? Please feel free to 
share pictures.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;small&gt;Technorati:
&lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt;
&lt;a href="http://technorati.com/tags/v3"&gt;v3&lt;/a&gt;
&lt;a href="http://technorati.com/tags/party"&gt;party&lt;/a&gt;
&lt;a href="http://technorati.com/tags/santaclara"&gt;santaclara&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/171BAAs-I81I8QlhGfONgVSgcgw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/171BAAs-I81I8QlhGfONgVSgcgw/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/171BAAs-I81I8QlhGfONgVSgcgw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/171BAAs-I81I8QlhGfONgVSgcgw/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/fh1QRC02GBE" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/pictures_from_glassfish_v3_launch</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/totd_116_glassfish_v3_administration</id>
        <title type="html">TOTD #116: GlassFish v3 Administration using JavaFX front-end - JNLP available</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/bkC0HSh4_KY/totd_116_glassfish_v3_administration" />
        <published>2009-12-08T04:00:55-08:00</published>
        <updated>2009-12-08T04:01:00-08:00</updated> 
        <category term="/General" label="General" />
        <category term="administration" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javafx" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jruby" scheme="http://roller.apache.org/ns/tags/" />
        <category term="management" scheme="http://roller.apache.org/ns/tags/" />
        <category term="monitoring" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rest" scheme="http://roller.apache.org/ns/tags/" />
        <category term="rubyonrails" scheme="http://roller.apache.org/ns/tags/" />
        <category term="totd" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <category term="web" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;As mentioned in &lt;a href="http://blogs.sun.com/arungupta/entry/totd_113_javafx_front_end"&gt;TOTD #113&lt;/a&gt;, this &lt;strong&gt;T&lt;/strong&gt;ip &lt;strong&gt;O&lt;/strong&gt;f &lt;strong&gt;T&lt;/strong&gt;he &lt;strong&gt;D&lt;/strong&gt;ay (TOTD) provides a working version of the JavaFX front-end for GlassFish v3 administration.&lt;/p&gt;
&lt;p&gt;Please &lt;a href="http://blogs.sun.com/arungupta/resource/glassfish-javafx/GlassFishMonitoring.jnlp"&gt;click here&lt;/a&gt; to launch the JNLP or &lt;a href="http://blogs.sun.com/arungupta/resource/glassfish-javafx/index.html"&gt;click here&lt;/a&gt; to a page that provides some introduction along with the link to JNLP. You may like to enable Java Console as explained in &lt;a href="http://blogs.sun.com/arungupta/entry/totd_114_how_to_enable"&gt;TOTD #114&lt;/a&gt; for any log messages.&lt;/p&gt;
&lt;p&gt;See a video of the tool in action:&lt;/p&gt;
&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/mNLvvon8GpU&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="allowscriptaccess" value="always" /&gt;
&lt;embed src="http://www.youtube.com/v/mNLvvon8GpU&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" width="425" height="344" /&gt;&lt;/object&gt;
&lt;p&gt;Many thanks to &lt;a href="http://blogs.sun.com/aquatic"&gt;Rajeshwar&lt;/a&gt; for providing feedback and helping me understand the RESTful interface better. &lt;a href="http://blogs.sun.com/arungupta/entry/totd_96_glassfish_v3_rest"&gt;TOTD #96&lt;/a&gt; explains how the REST interface can be used.&lt;/p&gt;
&lt;p&gt;Here is a TODO list in no particular order:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Show a splash screen after the startup to indicate server status&lt;/li&gt;
    &lt;li&gt;Allow the administration host/port to be changed&lt;/li&gt;
    &lt;li&gt;Tie the &amp;quot;server stats&amp;quot; with the server uptime instead of fetching once and then binding it locally&lt;/li&gt;
    &lt;li&gt;Provide dynamic updates of the monitoring data, currently its a snapshot&lt;/li&gt;
    &lt;li&gt;Convert the monitoring levels text boxes to radio buttons&lt;/li&gt;
    &lt;li&gt;Provide complete hints on setting monitoring level based upon the engines&lt;/li&gt;
    &lt;li&gt;Enable/Disable the buttons based upon the status of server running (or not)&lt;/li&gt;
    &lt;li&gt;Introduce charts to track dynamic shrink/expand of threads/pools/etc.&lt;/li&gt;
    &lt;li&gt;Probably something else that I'm forgetting :-)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;How are you using JavaFX with GlassFish ?&lt;/p&gt;
&lt;p&gt;How will you use GlassFish v3 REST interface in your tools ?&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati:&lt;a href="http://technorati.com/tags/totd"&gt; totd&lt;/a&gt; &lt;a href="http://technorati.com/tags/javafx"&gt;javafx&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/v3"&gt;v3&lt;/a&gt; &lt;a href="http://technorati.com/tags/rest"&gt;rest&lt;/a&gt; &lt;a href="http://technorati.com/tags/web"&gt;web&lt;/a&gt; &lt;a href="http://technorati.com/tags/jruby"&gt;jruby&lt;/a&gt; &lt;a href="http://technorati.com/tags/rubyonrails"&gt;rubyonrails&lt;/a&gt; &lt;a href="http://technorati.com/tags/rest"&gt;rest&lt;/a&gt; &lt;a href="http://technorati.com/tags/administration"&gt;administration&lt;/a&gt; &lt;a href="http://technorati.com/tags/monitoring"&gt;monitoring&lt;/a&gt; &lt;a href="http://technorati.com/tags/management"&gt;management&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Kir581FIwdqKSH2VlNAT3JuzIsg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Kir581FIwdqKSH2VlNAT3JuzIsg/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/Kir581FIwdqKSH2VlNAT3JuzIsg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Kir581FIwdqKSH2VlNAT3JuzIsg/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/bkC0HSh4_KY" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/totd_116_glassfish_v3_administration</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/java_ee_6_training_certifications</id>
        <title type="html">Java EE 6 Training &amp; Certifications - Register Early!</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/U2Oao41IZLg/java_ee_6_training_certifications" />
        <published>2009-12-07T04:00:23-08:00</published>
        <updated>2009-12-07T04:01:00-08:00</updated> 
        <category term="/General" label="General" />
        <category term="certification" 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="training" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Java EE 6 is now an &lt;a href="http://blogs.sun.com/arungupta/entry/java_ee_6_is_now"&gt;approved specification&lt;/a&gt;, the Reference Implementation (&lt;a href="http://glassfish.org/v3"&gt;GlassFish v3&lt;/a&gt;) and TCK will be released soon!&lt;/p&gt;
&lt;p&gt;The associated training curriculum and certifications are being worked upon by &lt;a href="http://www.sun.com/training/"&gt;Sun Learning Services&lt;/a&gt;. The curriculum has gone through a complete overhaul for Java EE 6 &amp;amp; GlassFish v3 and will be available in Q1 2010. If you are interested in getting notified when these new courses are released and also receive special introductory promotions, then please register &lt;a href="https://dct.sun.com/dct/forms/reg_us_1611_480_0.jsp"&gt;here&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;a href="https://dct.sun.com/dct/forms/reg_us_1611_480_0.jsp"&gt;&lt;img height="163" border="1" style="margin: 5px" width="458" alt="" src="http://blog.arungupta.me/wp-content/uploads/2009/12/javaee6-training-certification-taco.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are technology specific &amp;quot;deep-dive&amp;quot; training courses and tied to new technology specific certifications. You just need to specify your interest in the particular technology and will be contacted once the courses &amp;amp; certifications are available.&lt;/p&gt;
&lt;p&gt;In the meanwhile, you can follow any of the &lt;a href="http://www.sun.com/training/catalog/paths.html"&gt;existing Learning Paths&lt;/a&gt; to brush up your skills.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/javaee"&gt;javaee&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/v 3"&gt;v3&lt;/a&gt; &lt;a href="http://technorati.com/tags/training"&gt;training&lt;/a&gt; &lt;a href="http://technorati.com/tags/certification"&gt;certification&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bnIfvQ-zrshPW4rHq8WoQAr4xyM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bnIfvQ-zrshPW4rHq8WoQAr4xyM/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/bnIfvQ-zrshPW4rHq8WoQAr4xyM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bnIfvQ-zrshPW4rHq8WoQAr4xyM/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/U2Oao41IZLg" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/java_ee_6_training_certifications</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/totd_115_glassfish_in_eclipse</id>
        <title type="html">TOTD #115: GlassFish in Eclipse - Integrated Bundle, Install Stand-alone or Update Existing plugin</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/GPrE4gMYngQ/totd_115_glassfish_in_eclipse" />
        <published>2009-12-04T04:00:37-08:00</published>
        <updated>2009-12-04T14:26:37-08:00</updated> 
        <category term="/General" label="General" />
        <category term="eclipse" 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="totd" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;There are three options for Eclipse users interested in exploring GlassFish. They can either use an integrated bundle, install the GlassFish plug-in in an existing Eclipse version, or update an older GlassFish plugin in a stand-alone Eclipse to the latest version. These options are explained below.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/totd_82_eclipse_tools_bundle"&gt;GlassFish Tools Bundle for Eclipse&lt;/a&gt; 1.1 is an integrated bundle based on Eclipse 3.4.2 and includes &lt;a href="http://glassfish.org"&gt;GlassFish&lt;/a&gt; v2 and v3 Prelude pre-registered and configured and optionally JDK 1.6 U12. The work towards version 1.2 can be tracked by following the 1.1.x releases (&lt;a href="http://download.java.net/glassfish/eclipse/1.1.7/"&gt;1.1.7&lt;/a&gt; is the &lt;a href="https://glassfishplugins.dev.java.net/servlets/ReadMsg?list=users&amp;amp;msgNo=362"&gt;latest&lt;/a&gt;). This new version is based on Eclipse 3.5.1, includes GlassFish v3 &lt;a href="http://download.java.net/glassfish/v3/promoted/glassfish-v3-b74.zip"&gt;build 74&lt;/a&gt; pre-registered and configured, several plugins (JSF Facelets, JAX-WS, Maven m2) and several Java EE 6 wizards to provide a seamless development and deployment experience with Java EE 6 &amp;amp; GlassFish v3. There are several other niceties in the newer release like pre-registered MySQL JDBC driver, updated Java EE 5 and Java EE 6 javadoc and code completion.&lt;/p&gt;
&lt;p&gt;&lt;img height="328" border="1" style="margin: 5px" width="565" alt="" src="http://blogs.sun.com/arungupta/resource/gftbe-1.1.png" /&gt;&lt;/p&gt;
&lt;p&gt;However what to do if you are already using an Eclipse version in your environment ?&lt;/p&gt;
&lt;p&gt;The basic requirement is Eclipse 3.4+. A &lt;a href="http://glassfishplugins.dev.java.net/"&gt;GlassFish plugin&lt;/a&gt; can be easily installed in any Eclipse 3.4+ and provides all the GlassFish-related functionality. The &lt;a href="http://blogs.sun.com/arungupta/entry/screencast_28_simple_web_application"&gt;screencast #28&lt;/a&gt; shows how to get started with Eclipse 3.4.2 and configure GlassFish as a standard server adapter.&lt;/p&gt;
&lt;p&gt;If you are using Eclipse 3.5.0, then the standard technique described in the above screencast will not work because of the &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=280365"&gt;issue #280365&lt;/a&gt;. Fortunately, the bug report also has a &lt;a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=280365#c9"&gt;workaround&lt;/a&gt;. Instead of using the &amp;quot;Download additional server adapter&amp;quot;, install using the &amp;quot;Help&amp;quot;, &amp;quot;Install New Software ...&amp;quot; and explicitly adding the GlassFish plugins update site. A screen snapshot looks like:&lt;/p&gt;
&lt;p&gt;&lt;img height="387" border="1" style="margin: 5px" width="693" alt="" src="http://blog.arungupta.me/wp-content/uploads/2009/12/eclips-3.5.0-glassfish-plugin-1.0.42.png" /&gt;&lt;/p&gt;
&lt;p&gt;If you are using Eclipse 3.5.1, then the standard technique of &amp;quot;Download additional server adapter&amp;quot; works as described in the &lt;a href="http://blogs.sun.com/arungupta/entry/screencast_28_simple_web_application"&gt;screencast #28&lt;/a&gt;. A screen snapshot looks like:&lt;/p&gt;
&lt;p&gt;&lt;img height="411" border="1" style="margin: 5px" width="539" alt="" src="http://blog.arungupta.me/wp-content/uploads/2009/12/eclipse-3.5.1-glassfish-plugin-1.0.42.png" /&gt;&lt;/p&gt;
&lt;p&gt;If you already have an existing version of GlassFish plugin installed, then it can be updated as described in &lt;a href="http://blogs.sun.com/arungupta/entry/totd_66_glassfish_eclipse_plugin"&gt;TOTD #66&lt;/a&gt;. The process is much more simplified now and menu items have changed little bit in Eclipse 3.5.x - &amp;quot;Check for Updates&amp;quot; instead of &amp;quot;Software Updates ...&amp;quot;. The screen snapshot looks like:&lt;/p&gt;
&lt;p&gt;&lt;img height="277" border="1" style="margin: 5px" width="525" alt="" src="http://blog.arungupta.me/wp-content/uploads/2009/12/eclipse-3.5.1-glassfish-plugin-update-to-1.0.42.png" /&gt;&lt;/p&gt;
&lt;p&gt;Now you can start developing your applications using Eclipse. Several blog entries have already been published:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/totd_102_java_ee_6"&gt;TOTD #102&lt;/a&gt; explains how to use Servlet 3.0 and EJB 3.1 wizards in Eclipse.&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/totd_99_creating_a_java"&gt;TOTD #99&lt;/a&gt; explains how to create a JPA 2.0 compliant application.&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/totd_98_create_a_metro"&gt;TOTD #98&lt;/a&gt; explains how to create a Metro JAX-WS Web service.&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://blogs.sun.com/arungupta/entry/totd_54_java_server_faces"&gt;TOTD #54&lt;/a&gt; shows how to create a JavaServer Faces application with Eclipse.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Future blogs will provide more details on the new features added recently. Until then, the &lt;a href="https://ajax.dev.java.net/eclipse/releasenotes.html"&gt;GlassFish Plugin Release Notes&lt;/a&gt; provide a summary.&lt;/p&gt;
&lt;p&gt;On a slightly different note, you can even run GlassFish with &lt;a href="http://www.eclipse.org/equinox/"&gt;Eclipse Equinox&lt;/a&gt; OSGi runtime as explained in &lt;a href="http://blogs.sun.com/arungupta/entry/totd_103_glassfish_v3_with"&gt;TOTD #103&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/totd"&gt;totd&lt;/a&gt; &lt;a href="http://technorati.com/tags/eclipse"&gt;eclipse&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/v3"&gt;v3&lt;/a&gt; &lt;a href="http://technorati.com/tags/javaee"&gt;javaee&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UHjtL9Pl5Il4pxKx5nzdgnJ1_Jg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UHjtL9Pl5Il4pxKx5nzdgnJ1_Jg/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/UHjtL9Pl5Il4pxKx5nzdgnJ1_Jg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UHjtL9Pl5Il4pxKx5nzdgnJ1_Jg/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/GPrE4gMYngQ" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/totd_115_glassfish_in_eclipse</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/java_ee_6_glassfish_v31</id>
        <title type="html">Java EE 6 &amp; GlassFish v3 All Day Virtual Conference - Dec 15, 2009</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/6n0gAVfLPpk/java_ee_6_glassfish_v31" />
        <published>2009-12-03T13:56:25-08:00</published>
        <updated>2009-12-03T13:58:50-08: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="v3" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webinar" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;&lt;a href="https://dct.sun.com/dct/forms/reg_us_2011_956_0.jsp"&gt;&lt;img height="166" border="0" width="700" style="margin: 5px" class="" alt="" src="http://blog.arungupta.me/wp-content/uploads/2009/12/glassfishv3-javaee6-virtual-con-dec15-2009-banner1.png" title="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Java EE 6 specifications are &lt;a href="http://blogs.sun.com/arungupta/entry/java_ee_6_is_now"&gt;already approved&lt;/a&gt;! The Reference Implementation in &lt;a href="http://glassfish.org/v3"&gt;GlassFish v3&lt;/a&gt; and TCK will be released next week. An all-day virtual conference is planned on Dec 15, 2009 to provide all the details about the platform and the associated RI. The event will allow you to hear from the Java EE 6 specification leads, product leads and the engineering team.&lt;/p&gt;
&lt;p&gt;Mark your calendars and get ready to drink from the firehose!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://dct.sun.com/dct/forms/reg_us_2011_956_0.jsp"&gt;&lt;img height="715" border="1" width="609" alt="" src="http://blog.arungupta.me/wp-content/uploads/2009/12/glassfishv3-javaee6-virtual-con-dec15-2009.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The complete event details with abstracts, speaker bios and more is &lt;a href="http://www.sun.com/software/products/glassfishv3/GlassFish_Conference_Flyer.pdf"&gt;available here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/javaee"&gt;javaee&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/v3"&gt;v3&lt;/a&gt; &lt;a href="http://technorati.com/tags/conf"&gt;conf&lt;/a&gt; &lt;a href="http://technorati.com/tags/webinar"&gt;webinar&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qJI7ECfQdlyIPsE2MJsS1vRm180/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qJI7ECfQdlyIPsE2MJsS1vRm180/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/qJI7ECfQdlyIPsE2MJsS1vRm180/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qJI7ECfQdlyIPsE2MJsS1vRm180/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/6n0gAVfLPpk" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/java_ee_6_glassfish_v31</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/totd_114_how_to_enable</id>
        <title type="html">TOTD #114: How to enable Java Console in Mac OS X, Windows, ... ?</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/5hmO-TvPYD4/totd_114_how_to_enable" />
        <published>2009-12-03T03:00:30-08:00</published>
        <updated>2009-12-03T03:01:00-08:00</updated> 
        <category term="/General" label="General" />
        <category term="console" scheme="http://roller.apache.org/ns/tags/" />
        <category term="debugging" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jnlp" scheme="http://roller.apache.org/ns/tags/" />
        <category term="osxtips" scheme="http://roller.apache.org/ns/tags/" />
        <category term="totd" scheme="http://roller.apache.org/ns/tags/" />
        <category term="windows" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Debugging an applet running with Java plug-in or JNLP application running with Java Web Start in the browser requires the &amp;quot;Java Console&amp;quot; so that debugging messages printed using &lt;em&gt;System.out&lt;/em&gt; and &lt;em&gt;System.err&lt;/em&gt; can be seen. In Windows, there is a &amp;quot;Show Java Console&amp;quot; menu item in Firefox but clicking it still does not show the console. And this happens because the console window is &lt;a href="http://java.sun.com/javase/6/docs/technotes/guides/plugin/developer_guide/debugger.html#jpic"&gt;disabled by default&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;However the setting can be easily altered as explained below.&lt;/p&gt;
&lt;p&gt;On Mac OS, open &amp;quot;Applications&amp;quot; -&amp;gt; &amp;quot;Utilities&amp;quot; -&amp;gt; &amp;quot;Java Preferences&amp;quot;&lt;br /&gt;On Windows, open &amp;quot;Control Panel&amp;quot; -&amp;gt; &amp;quot;Java&amp;quot;&lt;br /&gt;On any platform, type &amp;quot;javaws -viewer&amp;quot;&lt;/p&gt;
&lt;p&gt;Click on the &amp;quot;Advanced&amp;quot; tab to see a window similar to the following on Mac OS X:&lt;/p&gt;
&lt;p&gt;&lt;img height="409" border="1" style="margin: 5px" width="526" alt="" src="http://blog.arungupta.me/wp-content/uploads/2009/12/osxtips-enable-java-console.png" /&gt;&lt;/p&gt;
&lt;p&gt;And the following on Windows:&lt;/p&gt;
&lt;p&gt;&lt;img height="291" border="1" style="margin: 5px" width="440" alt="" src="http://blog.arungupta.me/wp-content/uploads/2009/12/windows-enable-java-console.png" /&gt;&lt;/p&gt;
&lt;p&gt;Change the &amp;quot;Java Console&amp;quot; setting from &amp;quot;Hide console&amp;quot; to &amp;quot;Show console&amp;quot;. Launching your JNLP from the browser next time now will also open the &amp;quot;Java Console&amp;quot; as shown below:&lt;/p&gt;
&lt;p&gt;&lt;img height="238" border="1" style="margin: 5px" width="507" alt="" src="http://blog.arungupta.me/wp-content/uploads/2009/12/osxtips-java-console.png" /&gt;&lt;/p&gt;
&lt;p&gt;and debugging messages will be nicely printed in the console. Read more about the options displayed in the console &lt;a href="http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/console.html"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/osxtips"&gt;osxtips&lt;/a&gt; &lt;a href="http://technorati.com/tags/windows"&gt;windows&lt;/a&gt; &lt;a href="http://technorati.com/tags/java"&gt;java&lt;/a&gt; &lt;a href="http://technorati.com/tags/console"&gt;console&lt;/a&gt; &lt;a href="http://technorati.com/tags/jnlp"&gt;jnlp&lt;/a&gt; &lt;a href="http://technorati.com/tags/debugging"&gt;debugging&lt;/a&gt; &lt;a href="http://technorati.com/tags/totd"&gt;totd&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hX4h-rTNcOM713-urytygk3UDqA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hX4h-rTNcOM713-urytygk3UDqA/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/hX4h-rTNcOM713-urytygk3UDqA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hX4h-rTNcOM713-urytygk3UDqA/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/5hmO-TvPYD4" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/totd_114_how_to_enable</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/arungupta/entry/java_ee_6_glassfish_swimming</id>
        <title type="html">Java EE 6 &amp; GlassFish swimming to IndicThreads, Pune, India</title>
        <author><name>arungupta</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MilesToGo/~3/SSzIR7LWC5M/java_ee_6_glassfish_swimming" />
        <published>2009-12-02T06:00:00-08:00</published>
        <updated>2009-12-03T10:34:01-08: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="indicthreads" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="pune" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;table border="0"&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://j09.indicthreads.com/"&gt;&lt;img height="105" border="0" style="margin: 5px" width="366" alt="" src="http://blog.arungupta.me/wp-content/uploads/2009/12/indicthreads-2009-logo.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://jcp.org/en/jsr/detail?id=316"&gt;Java EE 6&lt;/a&gt; is now a &lt;a href="http://blogs.sun.com/arungupta/entry/java_ee_6_is_now"&gt;JCP approved specification&lt;/a&gt;. The Reference Implementation in &lt;a href="http://glassfish.org/v3"&gt;GlassFish v3&lt;/a&gt; is getting a final dressing and will be released soon, along with the TCK. Along with traditional Java EE applications, GlassFish v3 also allows to deploy dynamic languages &amp; associated Web frameworks like Ruby-on-Rails, Groovy and Grails, Python and Django to be easily deployed. I'll be explaining these technologies and much more at &lt;a href="http://j09.indicthreads.com/"&gt;Indic Threads 2009&lt;/a&gt;.
&lt;/td&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;What sessions ?&lt;/strong&gt; &lt;a href="http://j09.indicthreads.com/579/java-ee-6-paving-the-path-for-the-future/"&gt;Java EE 6: Paving The Path for The Future&lt;/a&gt; (9:40am) and &lt;a href="http://j09.indicthreads.com/580/dynamic-languages-web-frameworks-in-glassfish/"&gt;Dynamic Languages &amp;amp; Web Frameworks in GlassFish&lt;/a&gt; (3:40pm)
&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;When ?&lt;/strong&gt; Dec 11 &amp;amp; 12, 2009
&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Where ?&lt;/strong&gt; &lt;a href="http://j09.indicthreads.com/location/"&gt;Hotel Orbett, Pune, India&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://indicthreads-java-09.eventbrite.com/"&gt;Register Now&lt;/a&gt;! The complete &lt;a href="http://j09.indicthreads.com/sessions/"&gt;agenda is available&lt;/a&gt; and you can follow &lt;a href="http://twitter.com/indicj"&gt;@indicj&lt;/a&gt; for the latest updates. Also learn how Indic Threads is &lt;a href="http://j09.indicthreads.com/indicthreads-go-green/"&gt;going green&lt;/a&gt;!&lt;/p&gt;
&lt;table border="0"&gt;
    &lt;tr&gt;
        &lt;td&gt;&lt;a href="http://www.amazon.com/Beginning-Java-trade-Platform-GlassFish/dp/1430219548"&gt;&lt;img height="133" border="" width="100" style="margin: 5px" alt="" src="http://blog.arungupta.me/wp-content/uploads/2009/12/beginning-javaee6-with-glassfishv3-book.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;
If you are attending the conference, you can win a copy of the &amp;quot;Beginning Java EE 6 Platform with GlassFish v3&amp;quot; book by entering the &lt;a href="http://j09.indicthreads.com/1055/win-a-copy-of-beginning-javaee-6-with-glassfish/"&gt;quiz here&lt;/a&gt;.
            &lt;p&gt;This book is authored by &lt;a href="http://antoniogoncalves.org/"&gt;Antonio Goncalves&lt;/a&gt;, a Java Champion, &lt;a href="http://www.parisjug.org/"&gt;Paris JUG&lt;/a&gt; leader, a profound Open Source Evangelist and a senior software architect living in Paris. This is the first book on Java EE 6 &amp;amp; GlassFish v3 and a provides a good insight in the platform and it's associated implementation.&lt;/p&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
And unfortunately the &lt;a href="http://www.puneinternationalmarathon.com/"&gt;Pune International Marathon&lt;/a&gt; is on the weekend before the conference. A little bit of heads up would've allowed me to reach the city little earlier and run at least the 1/2 marathon. Even the conference hotel does not seem to have a fitness center :( Guess, I'll try to run by &lt;a href="http://en.wikipedia.org/wiki/Mutha_River"&gt;Mutha River&lt;/a&gt;. Any other suggestions ? 
&lt;p&gt;Would you like to run together ? 
&lt;p&gt;What are the local delicacies that I must not miss ?
&lt;p&gt;&lt;p&gt;Anyway, check out the complete GlassFish Events Calendar:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;iframe src="http://www.google.com/calendar/embed?mode=AGENDA&amp;amp;height=300&amp;amp;wkst=1&amp;amp;bgcolor=%23ccccff&amp;amp;src=3722ulvfgor2qabrut1mkia5m0%40group.calendar.google.com&amp;amp;color=%23AB8B00&amp;amp;ctz=America%2FLos_Angeles" style=" border-width:0 " width="300" height="300" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;
&lt;p&gt;The calendar feeds are available in &lt;a href="http://www.google.com/calendar/feeds/3722ulvfgor2qabrut1mkia5m0%40group.calendar.google.com/public/basic"&gt;&lt;img height="14" border="0" width="36" style="margin: 5px" alt="" src="http://www.google.com/calendar/images/xml.gif" /&gt;&lt;/a&gt; &lt;a href="http://www.google.com/calendar/ical/3722ulvfgor2qabrut1mkia5m0%40group.calendar.google.com/public/basic.ics"&gt;&lt;img height="14" border="0" width="36" style="margin: 5px" alt="" src="http://www.google.com/calendar/images/ical.gif" /&gt;&lt;/a&gt; &lt;a href="http://www.google.com/calendar/embed?src=3722ulvfgor2qabrut1mkia5m0%40group.calendar.google.com&amp;amp;ctz=America/Los_Angeles"&gt;&lt;img height="14" border="0" width="36" style="margin: 5px" alt="" src="http://www.google.com/calendar/images/html.gif" /&gt;&lt;/a&gt; formats.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;Technorati: &lt;a href="http://technorati.com/tags/conf"&gt;conf&lt;/a&gt; &lt;a href="http://technorati.com/tags/javaee"&gt;javaee&lt;/a&gt; &lt;a href="http://technorati.com/tags/glassfish"&gt;glassfish&lt;/a&gt; &lt;a href="http://technorati.com/tags/india"&gt;india&lt;/a&gt; &lt;a href="http://technorati.com/tags/pune"&gt;pune&lt;/a&gt; &lt;a href="http://technorati.com/tags/indicthreads"&gt;indicthreads&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PSnnJ79F80y5Wcqz2D-RfZWk56I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PSnnJ79F80y5Wcqz2D-RfZWk56I/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/PSnnJ79F80y5Wcqz2D-RfZWk56I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PSnnJ79F80y5Wcqz2D-RfZWk56I/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/SSzIR7LWC5M" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/arungupta/entry/java_ee_6_glassfish_swimming</feedburner:origLink></entry>
</feed>
