Miles to go …

June 25, 2009

Running inside Parque Moinhos de Vento, Porto Alegre

Filed under: Running — arungupta @ 6:48 am

I ran 10 laps in Parque Moinhos de Vento and it felt good :)

After strength training for past 2 days at the hotel, felt nice to run outside.

Anybody interested in running together until Sunday ?

Technorati: conf fisl running portoalegre

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

Porto Alegre – I shoot you, you shoot me

Filed under: photography — arungupta @ 5:24 am

The picture was taken at FISL 10, Porto Alegre, Brazil.

Any guess who’s behind the camera ?

Similar blog entries are here.

Technorati: photos brazil portoalegre shootme

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

June 24, 2009

FISL 2009 Day 1 Report

Filed under: General — arungupta @ 8:55 pm

I presented on “Creating powerful web applications using GlassFish, MySQL and NetBeans/Eclipse” as the first talk of FISL 10 yesterday. The room was only partial full being the first talk of FISL but got packed towards the middle so that was exciting. The slides are available here.

The key message is that NetBeans and Eclipse provide a seamless development/deployment environment for GlassFish.

The several demos shown in the talk are explained at:

And you can find a lot more information on the Portuguese TheAquarium.

The soccer balls at the Sun booth in the pavilion were quite a hit as evident by the video below:


Come by again at Sun booth until the end of conference to get one for yourself :)

There were booths from Debian, Gnome, Firefox, Fedora and a host of other open source projects. There were community booths from local Java User Groups, Linux User Group, Open Solaris User Group and similar efforts. Some government and financial companies that heavily use/promote open source products were also present. And then there were other commercial vendors as well!

Some attendees were playing musical instruments to the local tunes which added to the festive atmosphere in the exhibitor floor. Enjoy the video below:


The day ended with great food at Na Brasa Churrascaria, love the caipirinhas!

Here are some pictures from Day 1:

This is the 10th anniversary of FISL and so here is the timline over the past years as shown in the exhibitor pavilion:

rc="http://lh3.ggpht.com/_wIoV5EX5M-0/SkJz6vfCl_I/AAAAAAAASwU/K5oZB9o0ec8/s72/IMG_5752.JPG">

And the evolving album:

See you in few hours at the FISL.

Technorati: conf brazil fisl glassfish mysql netbeans eclipse

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

June 23, 2009

Javali 2009 Trip Report

Filed under: General — arungupta @ 6:45 pm


I, along with several other speakers, presented at Javali (an ancillary event of FISL) earlier today. The event was sponsored by Sun Microsystems. Many thanks to Sou Java and RS JUG for organizing the event and thanks to Serpro for hosting the event.

There were several speakers from different companies making the event a good mix.

I presented on Java EE 6, showed GlassFish Tools Bundle for Eclipse and gave a brief overview of some of the enterprise features of GlassFish.

The Java EE 6 focuses on making the platform more powerful and adding more flexibility. The power is added by revamping several existing specifications such as Servlet 3.0 and Java Server Faces 2.0. The flexibility is incoporated by several mechanisms. The first is the ability to define a profile targeted at a particular bundle of technologies, such as Web profile defined by the JSR 316 EG (more details). Secondly, some of the existing specifications that are not widely used, such as JAX-RPC or JAXR, now can be pruned from the platform. And lastly third-party libraries can be easily registered using “web-fragment.xml” (more details). All these together make the entire platform really powerful and flexible.

The GlassFish Tools Bundle for Eclipse provide an integrated bundle based on Eclipse Ganymede 3.4.2 with GlassFish v2.1 and v3 integrated and pre-configured. These bits can also be installed on Eclipse Galileo (to be released soon) as a separate plugin. The features like Deploy-on-save and Session-preservation boosts the productivity tremendously allowing the developer to focus on business logic. Screencast #28 shows more details how to easily get started.

The enterprise features of GlassFish covered were:

There were approximately 50 attendees physically present in the room but many others in the mutliple video conference rooms and on the Internet. Bruno told me that there were 92 viewers on the public Internet and 132 within Serpro after my talk, so that’s cool :) The slides presented are available here (Java EE 6) and here (Enterprise Features).

Brian Leonard‘s talk on “Developing beyond localhost” showed practical strategies of taking an application developed on the localhost and ensuring it works in the deployed environment. The basic strategy was WOTE (Write Once Test Everywhere) for any application developed within an IDE. He showed how to create a JNLP of a web application and deploy on GlassFish Web Stack. Some of the common mistakes like local filesystem URLs and database URLs can be easily diagnosed by testing the application using multiple Virtual Box images.

Roger Brinkley‘s talk on Mobile and Embedded is always fun. He basically talked about updates happened within that community in past one year. I caught up only during the last part where he showed a demo of Sensor Motor Gloves created by the community, the video is available below:

Fabiane‘s talk on Continuous Integration with Hudson showed how to setup and configure Hudson. The cool part was the sunspot integration where a build failure lights up the LEDs on a sunspot device.

Pat Patterson‘s talk on “Securing RESTful Web services using Open SSO” gave an overview of the Open SSO community. He then explained the purpose of OAuth and how it’s integrated in OpenSSO using Jersey extensions.

Met Campus Ambassadors from Porto Alegre and Sao Paolo which is always refreshing.

Talked to Vinicius Senger who is a Java EE architect and runs supercrud.com. This website allows you to create an online application domain model and then generate templates for different technologies such as Java Server Faces, JPA, Spring/Hibernate, and others. The website is running on GlassFish and more details on why he picked GlassFish instead of JBoss will be available in a formal GlassFish story, thanks Vinicius! I recorded a short interview that will be published this week as well.

There were other Portuguese speakers who were able to connect with the audience much better ;-)

Bruno and Mauricio played an excellent role of translating from English -> Portuguese for the local audience, thanks!

The day ended with a great pizza party with interesting toppings like corn/onion, banana, chocolate and others too :)

Here are some pictures from the past couple of days:

And the evolving album:

See you tomorrow morning at 9am/40T in “Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse” talk at FISL.

Technorati: conf brazil fisl javali glassfish

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

June 20, 2009

ClustrMaps Archive – Jun 20, 2009

Filed under: General — arungupta @ 6:23 am

The clustrmaps on this blog are scheduled to be archived sometime around today. And so here is a snapshot of visitors to this blog from Jun 20, 2008.

The legend is:

And here is the same map with smaller clusters:

The entries tagged milestogo show other similar statistics.

Technorati: blogs bsc milestogo clustrmaps

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

June 19, 2009

GlassFish Fans in Minnesota

Filed under: General — arungupta @ 12:44 pm

I received the following photographs from a GlassFish Fan (aka Ben Leadholm) in Minnesota.

And here is a picture of his daughter, Rachel, sporting the fancy GlassFish tattoo:

Thanks Ben and Rachel for promoting/using GlassFish and sharing the pictures!

Do you have any similar pictures ? Send me an email arun dot gupta at sun dot com and will be happy to share them with others.

The GlassFish number plates and Tattoos (and much more) were distributed at the recently concluded JavaOne 2009.

Technorati: conf javaone glassfish minnesota

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

June 18, 2009

TOTD #85: Getting Started with Django Applications on GlassFish v3

Filed under: web2.0 — arungupta @ 4:00 am

GlassFish v3 is an extensible App server. Basically the core App server functionality can be easily extended using add-ons such as an OSGi module. This allows to keep the core light-weight and install the required features on demand. The add-ons can be easily installed using the Update Center. The what/why/how about extensibility is described in the GlassFish v3 Extensibility One-pager.

GlassFish v3 provides support for Dynamic Languages and Web Frameworks such as Ruby-on-Rails, Groovy/Grails, and Python/Django using this extensibility. This blog has published multiple tips on using Ruby-on-Rails at rubyonrails+totd and a few tips on Groovy/Grails at grails+totd. This blog will explain how to get started with deploying Python/Django applications on GlassFish v3 Preview. The blog will use Jython interpreter which is the Java implemention of Python.

Vivek already blogged about the detailed instructions and this blog shows how to run the pre-bundled samples.

  1. Download GlassFish v3 Preview.
  2. Install Jython 2.5
    1. Download Jython 2.5 from here
    2. Install as:
      java -jar ~/Downloads/jython_installer-2.5.0.jar

      Choose the default options (pick your directory) as shown below:

      and click on “Next” to start the installation process.

    3. As mentioned in Django on Jython wiki, create the following aliases:
      alias jython25=~/tools/jython2.5.0/bin/jython
      alias django-admin-jy=”jython25 ~/tools/jython2.5.0/bin/django-admin.py”

    4. Invoking the command “jython25″ from the installation directory shows the Jython interpreter as:
      ~/tools/jython/jython2.5rc4 >jython25
      Jython 2.5rc4 (Release_2_5rc4:6470, Jun 8 2009, 13:23:16)
      [Java HotSpot(TM) 64-Bit Server VM (Apple Inc.)] on java1.6.0_13
      Type “help”, “copyright”, “credits” or “license” for more information.
      >>>

  3. Install Django
    1. Download Django 1.0.2 from here.
    2. Install Django 1.0.2 as:
      ~/tools >tar xzvf ~/Downloads/Django-1.0.2-final.tar.gz
      Django-1.0.2-final/
      Django-1.0.2-final/AUTHORS
      Django-1.0.2-final/django/
      . . .
      Django-1.0.2-final/scripts/rpm-install.sh
      Django-1.0.2-final/setup.cfg
      Django-1.0.2-final/setup.py
      ~/tools/Django-1.0.2-final >jython25 setup.py install
      running install
      running build
      running build_py
      . . .
      running install_egg_info
      Writing /Users/arungupta/tools/jython/jython2.5.0/Lib/site-packages/Django-1.0.2_final-py2.5.egg-info

  4. Install Jython container for GlassFish
    1. Start GlassFish v3 Preview Update Center using the following command:

      ~/tools/glassfish/v3/preview/glassfishv3/bin >./updatetool 

      to see the screen as:

    2. Select “GlassFish v3 Jython Container” and click on “Install”, “Accept” the license and complete the installation. Close the Update Center window. This installs Jython Container OSGi module and Grizzly Adapter JARs in the “glassfish/modules” directory.
  5. Start and configure GlassFish
    1. Start GlassFish as:

      ~/tools/glassfish/v3/preview/glassfishv3/glassfish >./bin/asadmin start-domain

    2. Configure Jython in GlassFish as:
      ~/tools/glassfish/v3/preview/glassfishv3/glassfish >./bin/asadmin create-jvm-options -Djython.home=/Users/arungupta/tools/jython2.5.0
      created 1 option(s)

      Command create-jvm-options executed successfully.

      Make sure to specify the directory where Jython is installed.

  6. Deploy the samples bundled with the Django installation as:
    ~/tools/Django-1.0.2-final/examples >~/tools/glassfish/v3/preview/glassfishv3/glassfish/bin/asadmin deploy .

    Command deploy executed successfully.

    and now they are accessible at “http://localhost:8080/examples/” and shown as:

    Make sure to specify the end “/” otherwise the context root is not resolved correctly and none of the links will work.

    Click on “Hello World (HTML)” to see the output as:

    And click on “Displaying request metadata” to see output as:

    The same sample can, of course, run using the built-in development server as:

    ~/tools/Django-1.0.2-final/examples >jython25 manage.py runserver
    Validating models…
    0 errors found

    Django version 1.0.2 final, using settings ‘examples.settings’
    Development server is running at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.

    and then accessible at “http://localhost:8000″ as:

More details are available in Django Tutorial. The subsequent blogs will provide more detailed samples.

If you are using GlassFish v2 then Django applications can be deployed as a WAR file as explained here.

Please leave suggestions on other TOTD (Tip Of The Day) that you’d like to see. A complete archive of all the tips is available here.

Technorati: totd glassfish v3 django python

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

June 17, 2009

GlassFish swimming to FISL, Brazil

Filed under: General — arungupta @ 4:00 am

FISL stands for “Forum Internacional Software Livre” in the Portuguese language and means “International Free Software Forum” in the English language. The punch line is “A technologia que liberta” and means “The technology that liberates”.

This is the biggest event about free software in America and was attended by 7417 participants in 2008.

Just like “Freedom of Speech” is a basic human right, “Freedom of Software” is a basic right for the technology evolution. GlassFish gives you the freedom:

  • To Pick your own framework: Java EE, Ruby-on-Rails, Python/Django, Groovy/Grails, or any other
  • Choose your IDE: NetBeans, Eclipse, IntelliJ and others.
  • Over properietary Application Servers by providing highly reliable and production quality features like
    • Clustering/Load balancing
    • Secure, Reliable, and Transactional, and .NET-interoperable Web services stack (Metro)
    • Easy-to-use web-based administration console along with a powerful CLI

    in an open source world.

  • Offers dual open-source license (CDDL or GPL v2 w/ CPE)

Similarly NetBeans allows you to create Java, Ruby, Python, Groovy, PHP, C/C++, JavaScript, Java EE, Mobile, REST/SOAP, and a variety of applications. Eclipse also provides an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle. MySQL is the world’s most popular open source database.

Together, GlassFish, NetBeans/Eclipse, and MySQL liberates you from the vendor lock-in by offering you a compelling choice.

At FISL 10, learn how GlassFish, NetBeans/Eclipse, and MySQL provide a powerful feature-rich yet easy to use platform for developing/deploying your web applications. The complete details about the session are available here. I plan to show multiple demos during the talk that you may find useful in your regular work.

Where ? Porto Alegre, Brazil
When ? Jun 24-27, 2009

Click on the map below for coordinates of the venue:

Join the Facebook Group or follow on Twitter @fisl10.

Close to 6000 attendees have registered for FISL so far and am definitely looking forward to feel/enjoy the Brazilian spirit.

To Brazil, Capirinhas, Guaranas, Churascarias, Beaches … La La La La La La La La La La La La La La La La La La La La La La La La

Drop a comment if you are interested in a meal or run together :)

Technorati: conf glassfish netbeans eclipse mysql fisl brazil

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

June 16, 2009

TOTD #84: Using Apache + mod_proxy_balancer to load balance Ruby-on-Rails running on GlassFish

Filed under: web2.0 — arungupta @ 11:00 pm

TOTD #81 explained how to install/configure nginx for load-balancing/front-ending a cluster of Rails application running on GlassFish Gem. Another popular approach in the Rails community is to use Apache HTTPDmod_proxy_balancer. A user asked the exact details of this setup on the GlassFish Gem Forum. This Tip Of The Day (TOTD) will clearly explain the steps.

  1. Create a simple Rails scaffold and run this application using GlassFish Gem on 3 separate ports as explained in TOTD #81.
  2. Setup and configure HTTPD and mod_proxy_balancer
    1. Setup and install Apache HTTPD as explained here. I believe mod_proxy_balancer and other related modules comes pre-bundled with HTTPD, at least that’s what I observed with Mac OS X 10.5.7. Make sure that the “mod_proxy_balancer” module is enabled by verifying the following line is uncommented in “/etc/apache2/httpd.conf”:

      LoadModule proxy_balancer_module libexec/apache2/mod_proxy_balancer.so

      Please note another similar file exists in “/etc/httpd/httpd.conf” but ignore that one.

    2. Setup a mod_proxy_balancer cluster by adding the following fragment in “httpd.conf” as:
      <Proxy balancer://glassfishgem>
      BalancerMember http://localhost:3000
      BalancerMember http://localhost:3001
      BalancerMember http://localhost:3002
      </Proxy>

      The port numbers must exactly match with those used in the first step.

    3. Specify the ProxyPass directives to map the cluster to a local path as:
      ProxyPass / balancer://glassfishgem/
      CustomLog /var/log/glassfishgem.log/apache_access_log combined

      The “/” at the end of “balancer://glassfishgem” is very important to ensure that all the files are resolved correctly.

    4. Optionally, the following directive can be added to view the access log:
      CustomLog /var/log/glassfishgem.log/apache_access_log combined

      Make sure to create the directory specified in “CustomLog” directive.

  3. Now the application is accessible at “http://localhost/runlogs”. If a new GlassFish instance is started then update the <Proxy> directive and restart your HTTPD as “sudo httpd -k restart”. Dynamic update of BalancerMembers can be configured as explained here.

TOTD #81 started the Rails application in root context. You can alternatively start the application in a non-root context as:

~/tools/jruby/rails/runner >../../bin/jruby -S glassfish -e production -c myapp
Starting GlassFish server at: 10.0.177.178:3000 in production environment…
Writing log messages to: /Users/arungupta/tools/jruby-1.3.0/rails/runner/log/production.log.
Press Ctrl+C to stop.
. . .
~/tools/jruby/rails/runner >../../bin/jruby -S glassfish -e production -c myapp -p 3001
Starting GlassFish server at: 10.0.177.178:3001 in production environment…
Writing log messages to: /Users/arungupta/tools/jruby-1.3.0/rails/runner/log/production.log.
Press Ctrl+C to stop.
. . .
~/tools/jruby/rails/runner >../../bin/jruby -S glassfish -e production -c myapp -p 3002
Starting GlassFish server at: 10.0.177.178:3002 in production environment…
Writing log messages to: /Users/arungupta/tools/jruby-1.3.0/rails/runner/log/production.log.
Press Ctrl+C to stop.

and then the ProxyPass directive will change to:

ProxyPass /myapp/ balancer://glassfishgem/myapp/

The changes are highlighted in bold. And the application is now accessible at “http://localhost/myapp/runlogs”.

After discussing on Apache HTTP Server forum, the BalancerMember host/port can be printd in the log file using a custom log format. So add the following log format to “/etc/apache2/httpd.conf”:

LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-agent}i\” \”%{BALANCER_WORKER_NAME}e\”" custom

And change the format from the default “combined” to the newly defined “custom” format as:

CustomLog /var/log/glassfishgem.com/apache_access_log custom

Three subsequent invocations of “http://localhost/runlogs” then prints the following log entries:

::1 – - [17/Jun/2009:10:53:53 -0700] “GET /runlogs HTTP/1.1″ 304 – “-” “Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.11) Gecko/2009060214 Firefox/3.0.11″ “http://localhost:3002″
::1 – - [17/Jun/2009:10:54:04 -0700] “GET /runlogs HTTP/1.1″ 200 621 “-” “Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.11) Gecko/2009060214 Firefox/3.0.11″ “http://localhost:3000″
::1 – - [17/Jun/2009:10:54:05 -0700] “GET /runlogs HTTP/1.1″ 304 – “-” “Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.11) Gecko/2009060214 Firefox/3.0.11″ “http://localhost:3001″

As evident from the last fragment of each log line, the load is distributed amongst three GlassFish Gem instances. More details on load balancer algorithm are available here.

Feel free to d
rop a comment on this blog if you are using GlassFish in production for your Rails applications. Several stories are already available at rubyonrails+glassfish+stories.

Technorati: glassfish rubyonrails apache httpd mod_proxy_balancer loadbalancing clustering

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

GlassFish at Eclipse Demo Camps Galileo 2009 – Jun 17th

Filed under: General — arungupta @ 4:00 am


What is an Eclipse Demo Camp ?

The Eclipse DemoCamps are an opportunity to showcase all of the cool interesting technology being built by the Eclipse community. They are also an opportunity for you to meet Eclipse enthusiasts in your city.

The GlassFish team will showcase the seamless integration with Eclipse. Several blog entries are already available at glassfish+eclipse.

Do you know:

  • GlassFish Tools Bundle for Eclipse provide Eclipse 3.4.2 with Java EE support, GlassFish v 2.1 + GlassFish v3 pre-registered/configured, with commercial support
  • GlassFish v3 Preview can be added
  • Screencast #28 shows how develop/debug a web application using Eclipse and GlassFish
  • TOTD #66 shows how to install GlassFish plugin in an existing Eclipse install
  • Eclipse Galileo can be used for GlassFish development/deployment, use “http://ajax.dev.java.net/eclipse” as the udpate site.

Meet us in person and hear the glory:

When ? Jun 17th, 7:30pm – 9:30pm
Where ? Oracle Headquarters, Redwood Shores

Complete details here.

Technorati: conf glassfish eclipse democamp

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot
« Newer PostsOlder Posts »

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
Powered by WordPress