Miles to go …

February 24, 2009

GlassFish setup for 120 programmers in University of Copenhagen

Filed under: General — arungupta @ 11:45 pm

Sidsel Jensen is a Sun Campus Ambassador at University of Copenhagen, Denmark. She configured GlassFish in her department to be used by 120 freshman programmers. Starting with a standard HP DL360 G5 rack server, installing Gentoo Linux, NetBeans for deployment of web apps to a remote GlassFish, creating multiple domains and even performance tuning the Application Server.

Read all the details in Gone Fishing for GlassFish.

Thank you Sidsel for using GlassFish and sharing the steps with rest of the community!

If you are interested in learning/talking about GlassFish at your university, spotlight.dev.java.net/start provides a comprehensive set of slides (with speaker notes), demos, screencasts, training materials and other resources to get you started!

Technorati: glassfish students campusambassador denmark copenhagen spotlight

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

February 22, 2009

Sun Tech Days 2009, Hyderabad – Technology meets fashion and entertainment

Filed under: General — arungupta @ 6:00 am

A fashion show was organized for Sun Tech Days Hyderabad attendees. Check out some of the videos:


And some dance performances as well ..


And some more …


And you can of course see the Tech Days team on the ramp …

Technorati: sun suntechdays india hyderabad 2009 fashionshow dance

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

February 18, 2009

Sun Tech Days Hyderabad 2009

Filed under: General — arungupta @ 11:00 am

India has always had the largest number of attendees of all the Tech Days, and this time is certainly no exception. 10,000+ attendees, the passion for technology, the eagerness to share their work, and everything else makes it certainly one of the most exciting venues for Tech Days.

The Hyderabad International Airport is certainly very impressive – big, clean, and very 21st centurisque with a 8-lane freeway connecting to the main city.

See a short video as the attendees were allowed to enter the Hyderabad International Convention Center (the venue for Tech Days):


I got a chance to talk to the General Manager of the convention center and very happy to know that similar convention centers are planned for Pune (1/2 the size of existing one), Mumbai (4x), and Bangalore (2x) in the near future.

As part of the opening, there was an excellent performance by an 11-year old percussionist, enjoy the video here:


Absolutely stunning performance!

It was funny, I was standing right next to the boy’s parents while recording the video. Apparently the boy was allotted 10 minutes and the parents were trying their best to distract the boy right at the beginning of 11th minute :)

I presented on:

  • WSIT: Security, Reliability, Transactional, and .NET-interoperable Web services (slides). The screencast #ws7 is the demo shown during the talk.
  • GlassFish & Future of Java EE (slides)

There were 1000+ attendees in both the sessions and had some very interactive discussions post session. It was a great opportunity to meet lots of local Campus Ambassadors, students using GlassFish for their projects, engineers using GlassFish for their development/deployment, Sun colleagues and lots of other folks!

Here are some of the pictures:

And finally the evolving album:

Technorati: conf suntechdays glassfish metro wsit hyderabad

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

Bangalore Traffic

Filed under: photography — arungupta @ 5:30 am

Enjoy a glimpse of Bangalore traffic during peak time!


Technorati: traveltips india bangalore india traffic

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

February 15, 2009

Dilli Haat – An Exotic Arts & Craft Bazaar

Filed under: photography — arungupta @ 6:00 am

“Haat” is a Hindi word that means a weekly marketplace where the producer sells the product themselves. As a result, the buyer can find out interesting details about the product which are typically not available when sold through retailer. This is equivalent to Farmers Market where the Farmers are replaced by local artisans.

Dilli Haat is one such place set up by Government of India in New Delhi. It has traditional clothes and jewelry, handicrafts, music performances, paintings, foods from different Indian states, and a lot more. It’s a great way to spend a weekend!

Explore the location by clicking on the map below:

Here are some pictures:

Here is a performance of snake charmers:


And another local band playing:


And the evolving album at:

Technorati: traveltips india delhi delhihaat

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

February 13, 2009

Little India, Singapore in Pictures

Filed under: photography — arungupta @ 8:15 pm


Little India in Singapore is a great glimpse of Indian culture in Singapore. It has access to everything Indian in a matter of few streets: grocery, clothes, restaurants, music collections, temple, jewelry, and anything else you can think.

Click on the map below to explore the exact location:

I spent my yesterday evening strolling through the streets of Little India and took some pictures:

And the complete album at:

I think it’s worth an experience :)

Technorati: traveltips singapore india littleindia

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

February 12, 2009

TOTD #69: GlassFish High Availability/Clustering using Sun Web Server + Load Balancer Plugin on Windows Vista

Filed under: General — arungupta @ 12:15 am

TOTD #67 shows how to configure GlassFish High Availability using Apache httpd + mod_jk on Mac OS X. Even though that’s a standard and supported configuration, there are several advantages for replacing Apache httpd with Sun Web Server and mod_jk with Load Balancer plugin that comes with GlassFish.

This Tip Of The Day (TOTD) shows how to configure Clustering and Load Balancing using GlassFish v2.1, Sun Web Server, Load Balancer plugin on Windows Vista. This blog is using JDK 6 U7, GlassFish v2.1 (cluster profile), Sun Web Server 7 U4, and Load Balancer plug-in with Sun GlassFish Enterprise Server 2.1 Enterprise Profile (with HADB link).

Lets get started!

  1. Install the required software
    1. Download JDK (if not already installed).
    2. Download and Install GlassFish v2.1. Make sure to configure using “ant -f setup-cluster.xml”. This will ensure that the created domain is capable of creating clusters and can perform in-memory session replication for applications deployed on the cluster.
    3. Download and Install Sun Web Server. The process is very simple by unzipping the downloaded bundle, clicking on “setup.exe” and taking all the defaults.
    4. Download GlassFish Enterprise Profile for Load Balancer plugin bits. Start the install by clicking on the downloaded file and select the options as shown below:

    5. Copy the following “loadbalancer.xml” in “https-<host>” (replace <host> with the host name of your machine) directory of Sun Web Server installation directory:
      <?xml version=”1.0″ encoding=”UTF-8″?>
      <!DOCTYPE loadbalancer PUBLIC “-//Sun Microsystems Inc.//DTD Sun Java
      System Application Server 9.1//EN”
      “file:///C:/Sun/WebServer7/https-LH-KRKZDW6CJE1V/config/sun-loadbalancer_1_2.dtd
      “>

      <loadbalancer>
       <cluster name=”cluster1″ policy=”round-robin” policy-module=”">
        <instance name=”instance1″ enabled=”true”
      disable-timeout-in-minutes=”60″ listeners=”http://localhost:38080” weight=”100″/>
        <instance name=”instance2″ enabled=”true”
      disable-timeout-in-minutes=”60″ listeners=”http://localhost:38081” weight=”100″/>
        <web-module context-root=”/clusterjsp
      disable-timeout-in-minutes=”30″ enabled=”true” error-url=”"/>
        <health-checker interval-in-seconds=”7″ timeout-in-seconds=”5″ url=”/”/>
       </cluster>
       <property name=”response-timeout-in-seconds” value=”120″/>
       <property name=”reload-poll-interval-in-seconds” value=”7″/>
       <property name=”https-routing” value=”false”/>
       <property name=”require-monitor-data” value=”false”/>
       <property name=”active-healthcheck-enabled” value=”false”/>
       <property name=”number-healthcheck-retries” value=”3″/>
       <property name=”rewrite-location” value=”true”/>
      </loadbalancer>

      The parameters to be changed are highlighted in bold and explained below:

      1. Sun Web Server installation directory
      2. HTTP port of instances created in the cluster. The ports specified are the default ones and can be found by clicking on the instance as shown below:

      3. Context root of the application that will be deployed in the cluster. The Domain Administration Server (DAS) can be configured to populate this file whenever any application is deployed to the cluster.
  2. Create the cluster as explained in TOTD #67. The admin console shows the following screenshot after the cluster is created and all instances are created/started:

     

    and the following for 2 instances:

  3. Deploy “clusterjsp” as explained in TOTD #67. The admin console shows the following screenshot after “clusterjsp” is deployed:

  4. Start Sun Web Server using “startserv.bat” in “https-<host>” directory.

This concludes the installation and configuration steps, now show time!

Accessing “http://localhost/clusterjsp” shows:

The Sun Web Server is running on port 80 and uses “loadbalancer.xml” to serve the request from the configured instances in <loadbalancer> fragment. This particular page is served by “instance1″ as indicated in the image. Lets add session data with property name “aaa” and value “111″. The value is shown as:

The instance serving the data, “instance1″ in this case, and the session data are highlighted.

Now lets stop “instance1″ using the admin console and it looks like:

Click on “RELOAD PAGE” and it looks like:

Exactly same session data is served, this time by “instance2″.

The sequence above proves that the session data created by the user is preserved even if the instance serving the data goes down. This is possible because of GlassFish High Availability. The session data is served by the ”replica partner” where its already copied using in-memory session replication.

The following articles are also useful:

  • Load balancing for Glassfish V2 deployments using BIG-IP System
  • Configure the Cluster/Load Balancer with GlassFish v2

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

Technorati: totd glassfish highavailability clustering loadbalancing lbplugin sunwebserver windows vista

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

February 10, 2009

TOTD #68: Installing Zones in Open Solaris 2008/11 on Virtual Box

Filed under: General — arungupta @ 5:00 am

The TOTD #64 describes how to install Open Solaris 2008/11 using Virtual Box. This Tip Of The Day (TOTD) is going to explain how to install non-global zones (aka Solaris Containers) on this Open Solaris image. Containers provide an operating-system level virtualization technology.

Thanks for the extensive discussion at zones-discuss forums, Bill Walker for lots of off-line support, and last but not the least Marcelo Arbore‘s nice blog showing how to install GlassFish in an Open Solaris zone.

This blog is going to focus on installing couple of non-global containers/zones in the Virtual Box image with all gory details. A later blog will show how to leverage these zones to demonstrate GlassFish High Availability.

Lets get started!

To begin with, there is one global zone always installed as shown below (user inputs highligted in bold):

arun@opensolaris:~# zoneadm list -vi
  ID NAME             STATUS     PATH                           BRAND    IP
   0 global           running    /                              native   shared

Lets install the zone. The IP address is specified in 192.168.0.XXX range …

arun@opensolaris:~# zonecfg -z zone1
zone1: No such zone configured
Use ‘create’ to begin configuring a new zone.
zonecfg:zone1> create
zonecfg:zone1> set zonepath=/export/home/zone1
zonecfg:zone1> set autoboot=true
zonecfg:zone1> add net
zonecfg:zone1:net> set address=192.168.0.99/24
zonecfg:zone1:net> set physical=e1000g0
zonecfg:zone1:net> end
zonecfg:zone1> commit
zonecfg:zone1> exit
arun@opensolaris:~# zoneadm -z zone1 install
A ZFS file system has been created for this zone.
  Authority: Using http://pkg.opensolaris.org/release/.
      Image: Preparing at /export/home/zone1/root … done.
      Cache: Using /var/pkg/download.
 Installing: (output follows)
DOWNLOAD                                    PKGS       FILES     XFER (MB)
Completed                                  52/52   7862/7862   72.41/72.41

PHASE                                        ACTIONS
Install Phase                            12939/12939
PHASE                                          ITEMS
Reading Existing Index                           9/9
Indexing Packages                              52/52

       Note: Man pages can be obtained by installing SUNWman
Postinstall: Copying SMF seed repository … done.
Postinstall: Working around http://defect.opensolaris.org/bz/show_bug.cgi?id=741
       Done: Installation completed in 165.652 seconds.

 Next Steps: Boot the zone, then log into the zone console
             (zlogin -C) to complete the configuration process
arun@opensolaris:~# zoneadm -z zone1 boot
arun@opensolaris:~# zlogin -C zone1
[Connected to zone 'zone1' console]
68/68
Reading ZFS config: done.
Mounting ZFS filesystems: (6/6)

Specify the type of terminal …

What type of terminal are you using?
 1) ANSI Standard CRT
 2) DEC VT100
 3) PC Console
 4) Sun Command Tool
 5) Sun Workstation
 6) X Terminal Emulator (xterms)
 7) Other
Type the number of your choice and press Return: 1
Creating new rsa public/private host key pair
Creating new dsa public/private host key pair
Configuring network interface addresses: e1000g0.

Configure NIC …

- Host Name for e1000g0:1 ——————————————————
  Enter the host name which identifies this system on the network.  The name
  must be unique within your domain; creating a duplicate host name will cause
  problems on the network after you install Solaris.

  A host name must have at least one character; it can contain letters,
  digits, and minus signs (-).

    Host name for e1000g0:1 zone1


- Confirm Information for e1000g0:1 ——————————————–
  > Confirm the following information.  If it is correct, press F2;
    to change any information, press F4.

    Host name: zone1

No Kerberos …

- Configure Security Policy: —————————————————
  Specify Yes if the system will use the Kerberos security mechanism.

  Specify No if this system will use standard UNIX security.

      Configure Kerberos Security
      —————————
      [ ] Yes
      [X] No


– Confirm Information ———————————————————-
  > Confirm the following information.  If it is correct, press F2;
    to change any information, press F4.

    Configure Kerberos Security: No

Specify the name service, domain, and domain resolver …

- Name Service —————————————————————–
  On this screen you must provide name service information.  Select the name
  service that will be used by this system, or None if your system will either
  not use a name service at all, or if it will use a name service not listed
  here.

  > To make a selection, use the arrow keys to highlight the option
    and press Return to mark it [X].

      Name service
      ————
      [ ] NIS+
      [ ] NIS
      [X] DNS
      [ ] LDAP
      [ ] None


– Domain Name ——————————————————————
  On this screen you must specify the domain where this system resides.  Make
  sure you enter the name correctly including capitalization and punctuation.

    Domain name: sfbay.sun.com


– DNS Server Addresses ———————————————————
  On this screen you must enter the IP address of your DNS server(s).  You
  must enter at least one address.  IP addresses must contain four sets of
  numbers separated by periods (for example 129.200.9.1).

    Server’s IP address: 10.0.2.3
    Server’s IP address:
    Server’s IP address:

The value of IP address for your DNS server is copied from “/etc/resolv.conf” in the global zone. Specify DNS search list and confirm the information …

- DNS Search List ————————————————————–
  On this screen you can enter a list of domains that will be searched when a
  DNS query is made.  If you do not enter any domains, DNS will only search
  the DNS domain chosen for this system.  The domains entered, when
  concatenated, may not be longer than 250 characters.

    Search domain:
    Search domain:
    Search domain:
    Search domain:
    Search domain:
    Search domain:


– Confirm Information ———————————————————-
  > Confirm the following information.  If it is correct, press F2;
    to change any information, press F4.

          Name service: DNS
           Domain name: sfbay.sun.com
    Server address(es): 10.0.2.3

No need to create an address entry for the zone …

- Name Service Error ———————————————————–
  Unable to find an address entry for zone1 with the specified DNS
  configuration.

      Enter new name service information?
      ———————————–
      [ ] Yes
      [X] No

Specify and confirm NFSv4 domain name …

- NFSv4 Domain Name ————————————————————
  NFS version 4 uses a domain name that is automatically derived from the
  system’s naming services. The derived domain name is sufficient for most
  configurations. In a few cases, mounts that cross domain boundaries might
  cause files to appear to be owned by “nobody” due to the lack of a common
  domain name.

  The current NFSv4 default domain is: “sfbay.sun.com”

      NFSv4 Domain Configuration
      ———————————————-
      [X] Use the NFSv4 domain derived by the system
      [ ] Specify a different NFSv4 domain



– Confirm Information for NFSv4 Domain —————————————–
  > Confirm the following information.  If it is correct, press F2;
    to change any information, press F4.

    NFSv4 Domain Name:  << Value to be derived dynamically >>

Timezone …

- Confirm Information ———————————————————-
  > Confirm the following information.  If it is correct, press F2;
    to change any information, press F4.

    Time zone: Pacific Time
               (US/Pacific)

Specify the root password and then see the comment as:


System identification is completed.

This comment indicates successful creation of the zone.

Login to “zone1″ as:

zone1 console login: root
Password:
Feb  8 16:12:10 zone1 login: ROOT LOGIN /dev/console
Sun Microsystems Inc.   SunOS 5.11      snv_101b        November 2008

Check the network configuration …

root@zone1:~# ifconfig -a
lo0:1: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL>
mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
e1000g0:1: flags=201000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,CoS>
mtu 1500 index 2
        inet 192.168.0.99 netmask ffffff00 broadcast 192.168.0.255
root@zone1:~#

After “zone1″ is completely installed, then it can be viewed as:

arun@opensolaris:~$ zoneadm list -vi
  ID NAME             STATUS     PATH                           BRAND    IP
   0 global           running    /                              native   shared
   1 zone1            running    /export/home/zone1             ipkg     shared

And then install “zone2″ using the steps described above and check it’s network configuration as:

root@zone2:~# ifconfig -a
lo0:2: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL>
mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
e1000g0:2: flags=201000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,CoS>
mtu 1500 index 2
        inet 192.168.0.98 netmask ffffff00 broadcast 192.168.0.255
root@zone2:~#

And it’s shown in the list of zones as:

arun@opensolaris:~# zoneadm list -vi
  ID NAME             STATUS     PATH                           BRAND    IP
   0 global           running    /                              native   shared
   1 zone1            running    /export/home/zone1             ipkg     shared
   2 zone2            running    /export/home/zone2             ipkg     shared

OK, so we installed 2 non-global zones in an Open Solaris image running as guest in Virtual Box.

Typing “~.” takes you back to the global zone.

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

Technorati: totd opensolaris zones containers solaris virtualbox glassfish

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

February 9, 2009

LOTD #17: Sun GlassFish Enterprise Server Administration and Deployment Course – SAS 4455

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


Interested in learning how to configure, administer, and deploy web applications, EJB applications, and Web services on GlassFish ?

This 4-day instructor-led workshop (with numerous hands-on labs) introduces you to various Sun GlassFish Enterprise Server (GlassFish) concepts and functions ranging from introductory to advanced and provides you with hands-on experience via remote labs. You also learn to enable various advanced GlassFish features, such as in-memory replication, high availability database (HADB), load balancing, monitoring and logging, clustering, and security.

Upon completion of this course, students should be able to:

  • Install, upgrade, migrate, and uninstall GlassFish
  • Configure GlassFish
  • Create a clustered GlassFish environment
  • Deploy applications in GlassFish
  • Perform logging and monitoring in GlassFish
  • Install and configure the load balancer plug-in
  • Configure and use in-memory replication
  • Configure and use HADB for high availability
  • Configure advanced features of GlassFish
  • Configure the security features of GlassFish
  • Configure and work with databases
  • Work with Sun Java System Message Queue (Message Queue) Clustered Application Server

The class is offered in different cities across the United States. You can even request a dedicated class for your organization.

Register today!

If the timings/location don’t work out, you can even take an online version of this course from SAS-1600: GlassFish Application Server: Administration Bundle.

All previous links in this series are archived at LOTD.

Technorati: lotd glassfish administration deployment training course

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

February 6, 2009

GlassFish swimming to Singapore, Delhi, Bangalore, and Hyderabad – Feb 2009

Filed under: General — arungupta @ 5:00 am

I’ll be traveling (again) and this time to Singapore, Delhi, Bangalore, and Hyderabad over the next couple of weeks. A few meetings are already planned but there is buffer for squeezing any last-minute JUG visits, Rails Meetup or meeting Campus Ambassadors.

Here is my schedule:

Singapore: Feb 12 & 13
Delhi: Feb 14, 20, & 21
Bangalore: Feb 15, 16, & 17
Hyderabad: Feb 18 & 19


And I’ll be there at Sun Tech Days in Hyderabad. Ask me anything about GlassFish :)

Did you know James Gosling is going to be there ? Check out agenda, details and register today!

One of the good things about traveling internationally is an opportunity to taste the local cuisines. Here are a few local delicacies that I don’t intend to miss:

  • Singapore Sling (Raffles) – Not a big crab fan ;-)
  • Delhi Chaat (multiple venues)
  • Bangalore Dosa (multiple venues)
  • Hyderabadi Biryani (Paradise, Cafe Bahar)

Any particular recommendations for restaurants or delicacies that are missing ?

Anybody intersted in meeting or running together ?

You can always follow along at twitter.com/arungupta.

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

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