Monday Aug 10, 2009

First Steps to Develop Ruby on Rails Applications on GlassFish

We have just published a White Paper that outlines the steps required to build Ruby on Rails Apps on GlassFish using JRuby. This would be the quickest way to start off with developing RoR applications on GlassFish. The paper outlines the steps through Netbeans and the command line.

Download the paper now.

Monday May 18, 2009

New White Paper: Getting ahead of the trend in the Mobility Market

The mobility market in the past few years has seen a ramp-up of
activities, from the introduction of new smartphones with advanced
capabilities, to open-source mobile operating systems, to the thousands
of mobile applications that are available via app stores today. If you
are planning your corporate mobility strategy, designing next
generation mobile application architecture, or just developing
device-agnostic mobile applications, this white paper is for you.

Getting ahead of the trend in the mobility market white paper explains
how you can take advantage of Java technologies that are already in 2.6
billion mobile devices to develop reliable mobile applications that
target multiple mobile operating systems in a cost-effective way.

Download the White Paper!

Thursday May 07, 2009

New GlassFish Web Casts and White Papers

Writing Java Applications Using Jersey to Interoperate with RESTful Web Services

The Jersey Client API is a high-level, Java technology-based API for interoperating with RESTful web services. This paper describes the client API and shows how to to concisely and efficiently implement a reusable client-side solution and talk to RESTful Services. Jersey is the open-source, production-quality reference implementation of JAX-RS, the Java API for RESTful web services. Jersey is shipped with GlassFish and is available from the GlassFish version 2 and version 3 Update Centers.

Guide to Migrating to GlassFish

Considering migrating to GlassFish and would like to know about migration issues and resources?
This web-cast explains the various source of migration issues like non-portable applications (for truly portable applications, migration may be seamless) and more. It points out verification tools to help you identify issues and makes recommendations towards using one. It outlines the process for migration and lists various resources that you can use to ease your migration to GlassFish.

Overview of High Availability with GlassFish
This web-cast describes how high availability can be achieved in GlassFish Enterprise Server. It describes the architecture of the high availability pieces and demonstrates setting this up from the administration UI. This web-cast is the ideal overview to understand how your business services can be made highly available.

Dynamic Languages on GlassFish
Interest in dynamic languages like Ruby, Groovy, Python has sky-rocketed. Developers find that their productivity increases many-fold with dynamic languages. GlassFish provides developers a platform to use dynamic languages as well as leverage Java EE features. Developers using dynamic languages like Ruby on Rails, Grails, Jython, Django can now leverage full fledged Java EE application server and run their applications on it.
This web-cast shows viewers how to build Ruby on Rails, Grails and Jython applications through Netbeans and run them on GlassFish. View this web-cast to see how GlassFish: A dynamic Application Server can simplify and speed up your development process.

GlassFish Management and Monitoring

Sun GlassFish Enterprise Server comes with powerful monitoring and management features. This web-cast explains the architecture, features of the administration infrastructure. The web-cast also demos the command line administration and the much acclaimed management GUI. You can view features like deploying applications, viewing log statistics, configuring and viewing runtime monitoring statistics, web services monitoring and finally hear about extensibility features.
If you are using GlassFish or considering to use GlassFish - this web-cast is the fastest way to start off with and understand the administration and monitoring features offered by GlassFish.

Thursday Apr 30, 2009

GlassFish on CMT Systems

An excellent paper on improving performance of GlassFish using Enterprise Manager on CMT systems has been published. The paper outlines various CMT systems and benefits of using CMT systems for Web 2.0 technologies. It follows up by taking a out-of-box GlassFish and using the Enterprise Manager to tune the performance. In a few clicks, where you enter information on the number of cores that GlassFish is running on, the Enterprise Manager tunes the system to deliver 8x (yes!) improvements.

The paper is titled  Optimizing Sun GlassFish Enterprise for Sun Open Network Systems. To learn more about GlassFish and GlassFish Portfolio:

Check out the paper - very useful information! 

Tuesday Apr 14, 2009

Carrier Grade Converged Services with SailFin and MySQL Cluster

Convergence of communications network onto IP based networks, provides an opportunity to Communications Service Providers (CSPs) to reach new markets. To implement solutions for these markets, require the solutions to be highly available, have high throughput and scalability and minimal latency.

The recently published Carrier Grade Service Execution Environment paper outlines an Event Driven Architecture solution using open source components. Sun GlassFish Communications Server (SailFin) and MySQL offer means to achieve high scalability, throughput for Communications Service Providers. 

Although the paper outlines solutions for Communications Service Providers, it is an interesting read from an application server (hint GlassFish). A typical Application Server administrator can glean interesting information on scaling their appserver as well. 

Tuesday Feb 10, 2009

GlassFish v2.1: A Complete Picture

As the Engineering Tech Lead for GlassFish v2.1 and the person who mid-wifed GlassFish v2.1 - I am extremely happy to see the release of GlassFish v2.1. A lot of new ground has been covered for this dot release.

  • GlassFish v2.1 is the first application server in the just debuted  GlassFish Portfolio

  • GlassFish v2.1 is the underlier for the first release of Sun GlassFish Communications Server 1.5 which is built on top of SailFin 1.0 in the SailFin community.  

  • GlassFish v2.1 is the underlier for first release of server add-ons - specifically the GlassFish Enterprise Manager The GlassFish Enterprise Manager works on top of GlassFish v2.1 and provides useful information/tuning/advise in a production environment.

  • GlassFish v2.1 is the first release of the application server on the v2 train that has been rebranded from earlier Sun Java System Application Server to Sun GlassFish Enterprise Server.

GlassFish v2.1 is the next in V2 family after v2 UR2 release in April 08. This had a slightly longer gestation period. Dates for v2.1 were driven by SailFin dates since SailFin was one of the primary release drivers for this 2.1 release. SailFin is the GlassFish Application Server for Telco Domain.

The common question one might have is, so what is new in GlassFish v2.1. So, here is the answer:


  • Enabler for SailFin

  • Addresses several important bugs

  • Newer integrations of MQ, Metro, Shoal etc

  • Hooks for Enterprise Manager

Enabler for SailFin:

SailFin has been implemented on top of GlassFish v2.1. We did not want to maintain a separate code base of GlassFish for SailFin. Design goal was to define SPIs between SailFin and GlassFish so that these SPIs enable for layering SailFin on top of GlassFish V2.1. Here are some changes done to GlassFish for SailFin:

  • SPIs for container integration. (Deployment, Annotation processing, Web Container etc) These SPIs were exposed to SaiFin.

  • Pluggability SPIs for CLI, GUI, and Event framework. Again, these are exposed only to SailFin.

  • Improvements to Shoal/GMS and In Memory Session Replication. Since HA requirements for Telco profiles are lot higher, enhancements were done to Session Replication code to improver scalability.

 Bug Fixes:

Apart for being an enabler for SailFin, there were improvements - primarily bug fixes done all around in GlassFish v2.1. 

  • More than 300 reported bugs were resolved from GlassFish v2UR2 time frame and around 600 since GlassFish v2 - so there has been a significant amount of work to make GlassFish more stable. Here is a partial list of issues that were addressed in v2.1. 

  • Customer Escalations fixes were folded into GlassFish v2.1. Since GlassFish v2ur2 - there have been 5 patches that have been released with close to 100 fixes. These fixes have been included in GlassFish v2.1. GlassFish v2.1 is now patch #6 on GlassFish v2ur2 and customers should be able to seamlessly upgrade from the earlier patches.

  • In addition to these fixes were underlying fixes in the High Availability area and other areas that were required as part of SailFin 1.0.

Module leads for individual GlassFish modules looked at all the open issues and identified the ones with maximum impact and resolved those issues. The product has gone through solid functional, system and perf. testing like any other previous GlassFish releases. Testing has also been done with components of GlassFish Portfolio (like the Sun GlassFish Stack, Sun GlassFish Web Space Server) and Access Manager.


This release also has newer versions of Sun MQ, JSF, Metro. Here are some of the newer versions that have been integrated into GlassFish v2.1:

  •     MQ 4.3

  •     Metro 1.1.5

  •     GenericJMSRA 2.0

  •     Shoal (latest version 1.1_12142008)

  •     JBI 080602_1

  •     JSF v1.2_05

  •     Update Center 1.0_01-b09

MQ 4.3 has a new web-based admin console for MQ and it ships with a new lockhart based admin console. Also, Wildcard destinations, a new feature that enables applications to subscribe to multiple topics using the new wildcard syntax has been introduced. GenericJMSRA 2.0, introduces the synchronous receive model. This would be useful to work with MoM providers like BEA and Oracle AQ. Newer version of Shoal addresses issues that were fixed as part of overall HA improvements.

Enterprise Manager:

Finally, this release has also been the vehicle to introduce several new hooks for GlassFish Enterprise Manager. GlassFish Enterprise Manager is the new Value Adds module that provides terrific features like SNMP monitoring, Perf. Advisor, and Perf. Monitoring for GlassFish customers with certain degree of support levels. Addtional resources and links.

Download and Try

 Additional Resources: 

Monday Apr 21, 2008

GlassFish v2.1 moves to Fall

It has been a while since my last blog post. Since then I have moved to the role of Tech Lead for GlassFish v2.1.

GlassFish v2.1 release is being driven by SailFin requirements. The current release schedule is posted here.

The last few days have been hectic as things have changed on the SailFin end. A detailed blog around the changes is posted by Prasad (SailFin Tech Lead).
To sum up: the release has moved with a beta planned in summer.

Due to this change, we will have to move the release of GlassFish v2.1 to be in lock step with SailFin release.
The final release date for SailFin is yet to be determined. Once we have those dates, we will publish the corresponding dates for GlassFish v2.1.

We will keep the community posted (with another blog and updated schedule on the release page) as things become clearer. 


Tuesday Apr 24, 2007

GlassFish on Ubuntu with JDK 6

Couple of folks have asked us the reason GlassFish requires JDK 5 on Ubuntu - inspite of the fact that we bundle JDK 6 in Ubuntu. In this short blog, I will answer this question and list the steps to run GlassFish with JDK 6.

GlassFish is used to build the Java EE Reference Implementation. Java EE moves lockstep with JDK versions, for e.g: Java EE 5 with JDK 5, J2EE 1.4 with JDK 1.4 and so on. This was one of the biggest reason for us to require JDK 5. Having said that, the GlassFish works with JDK 6 as well.

Another reason, was that JDK 6 and GlassFish integrations were happening in parallel. Leaving us little time to effectively test with JDK 6. GlassFish with JDK 5 has gone through the entire SQE tests (about 15000 tests) and the Java EE Compatibility tests (some 17000 of those) - we just did not have the cycles to do that level of testing for JDK 6 before the release on Ubuntu.

Steps to run GlassFish on  JDK 6

The easiest way to change from JDK 5 to JDK 6 is to go to /usr/share/sunappserver/config/asenv.conf and change the AS_JAVA variable to point to JDK 6. This will change the JDK for all domains installed - which is the right way to do it IMO.

Another way to do this, is to run the following command:

sudo /usr/share/sunappserver/bin/asadmin set "".

This changes the JDK per domain basis.

Upgrading from JDK 5 to JDK 6 should work seamlessly. There is a caveat while moving back from JDK 6 to JDK 5. If any code is generated with JDK 6 - you may run into compilation issues with JDK 5.  


Monday Apr 16, 2007

GlassFish Talk to Silicon Valley Web Jug and Silicon Valley JUG


There is a GlassFish talk on Apr 17th at GooglePlex in Mountain View. Myself, Ludovic Champenois, Arun GuptaShreedhar Ganapathy and Kedar Mhaswade from the GlassFish team will be presenting and demoing GlassFish v2 features. Hopefully, this is a small step towards a GlassFish Users group :-).

You can find more the details about the talk at the respective JUG pages.


Hope to see you there! Oh did I mention the event is free with free food.

You can also register for GlassFish day at JavaOne on May 7th. Learn and interact with GlassFish engineers at this event. Oh, did I mention that this event is free too.

Disclaimer: You can register for the event at the links below. You dont need to show up for the talk :-)


Talk Location

Google, Inc. (GooglePlex Map)

Tunis Conference Room, (Bldg. 43)

1600 Amphitheatre Parkway

Mountain View, CA 94043

Please enter from the north side of the building, in the middle of
the Google campus. Also, parking will be much easier to find in the
lots south of Bldg. 44 across the street from the main complex


Monday Nov 06, 2006

Enter the Java EE Contest to get a chance to win iPod Nano!

I am back with another one of those Java EE Contests. This time it is the iPod Nano. So what does one have to do to "get a chance to win an iPod Nano" as legal has repeatedly asked me to put it.

You need to fill in a survey that helps us identify your needs better. Fill in your rants, bugs, complaints and hopefully(!) some compliments and you will be entered to win the iPod Nano. Head over to the campaign home for more details.

You will also need the Java EE SDK, or an earlier J2EE SDK to participate.

The campaign was kicked off last week in conjunction with the new Java EE SDK . I have already seen some interesting comments. Sorry cannot release those :-) .

For those of you who might have wondered - I am not in marketing but am an engineer. I seem to have developed a reputation of being a "hobbyist marketeer" which leaves me amused. AFAIK, this gives me a license to come up with atrocious campaigns .


Friday Nov 03, 2006

GlassFish jumps from the Aquarium and swims in the Ubuntu pool!

I have been an Ubuntu fan (see earlier post) and am pleased to state that GlassFish swims in Ubuntu :-). Rich Sharples has a blog with screen shots that describe how to install GlassFish on Ubuntu. (This seems to be old news :-))


We wanted to try out the latest release GlassFish V1 UR1 in Ubuntu. We picked up the latest promoted build (build 14) and installed it in Ubuntu. Our SQE team (specifically Jagadesh ) ran our entire set Basic Acceptance Tests (BAT) of SQE tests and came back with a report that 98.92% of the SQE tests have run without any issues. There are some workarounds needed to make it work though.

Here are the steps as outlined by Jagadesh. Give it a spin...


  1. Download GlassFish V1 UR1.
  2.  Follow steps oulined in the download page. Captured here for convenience:
    1. GlasssFish installation requires JDK 5.
      java -Xmx256m -jar filename.jar
      cd glassfish
      ant -f setup.xml
  3. $glassfish_home/bin/asadmin start-domain domain1. Thats it you are done.


    Known Issues:

    • OutOfMemory Exception : PermGen Space during the application runtime at server side. The exception will be in the server.log.
      • Solution: Set the following JVM option in the domain.xml and restart the server.
        • <jvm-options>-XX:MaxPermSize=128m</jvm-options>
        • Alternatively, you can set it through the Admin GUI 
          • Login to admin console .  And follow the steps:
            • Click Application Server (left frame) --> Click on JVM Settings Tab --> Click on JVM Options Tab --> Add JVM Option --> Cut and paste "-XX:MaxPermSize=128m"  --> Save

    • Passwords are echoed on the screen during the application server domain creation.
      • Currently there is no workaround for it.


    If you like to try out the Java EE SDK for a different platform you can find it here.





« July 2016