Main | Next page »

20090826 Wednesday August 26, 2009

Developing a Web Application Using Java EE 6

Today, Harpreet and I delivered a webinar on "What's new with Java EE 6", and also covered a bit about GlassFish v3 as the reference implementation.  Wow, what a turnout.  In fact, the turnout was so large that we ran into some unfortunate issues that we'll definitely learn from.

First, we needed more panel members to answer Q&A (chat window), which was coming faster than we could answer.  In fact, I had problems with the highlighted question constantly losing focus, so I ended up answering the wrong chat question a couple of times. Apologies to attendees for not getting to more questions. 

Second, WebEx barfed on me when trying to share my desktop to thousands of attendees while trying to run a demo on writing a Java EE 6 version of the obligatory "Hello World" app with Servlet 3.0 and EJB 3.1.  The good news is that I whipped up a quick screencast of how to do this. Bear in mind it was done rather quickly, and if I had my druthers, I'd try to get it down a bit better.   However, you know people want to see a demo ASAP when they use the CAPS LOCK to say "CAN WE SEE THE DEMO?"   Without furthur ado, here goes the youtube (HD version here):


(2009-08-26 18:49:30.0) Permalink Comments [1]

20090817 Monday August 17, 2009

GlassFish Tools Bundle For Eclipse 1.1 Released

It's official! GlassFish Tools Bundle For Eclipse 1.1 has been released and the bits are posted. Some highlighted features include:

Note that Developer Expert Assistance is available.


(2009-08-17 12:24:15.0) Permalink

20090723 Thursday July 23, 2009

Take the GlassFish Survey If you have a few cycles to spare to help out the community, please take a GlassFish Survey to help the us all to better understand GlassFish adoption. It should take 5-10 minutes. (2009-07-23 16:05:13.0) Permalink

Centrally managing GlassFish Load Balancer configurations

Yesterday we delivered a webinar on setting up load balancing for GlassFish clusters: Make Applications Highly Available: Load Balancing GlassFish Clusters. I'll post a link to the replay when available.  The registration and attendance numbers were  pretty amazing, which tells me a couple of things:

  1. The community is either already using GlassFish Enterprise Server in production, or are considering to place it in production.
  2. The community would like to learn more about approaches to load balancing GlassFish deployments.

While GlassFish supports multiple load balancing approaches (hardware load balancers, mod_jk, and the GlassFish. We have been adding both marketing and engineering content in this area due to the amount of interest we are seeing (example).

One of the more interesting features of the GlassFish is the ability to automatically push out the load balancer configuration from the GlassFish Domain Administraton Console (DAS) to the GlassFish Load Balancer Plugin running in one or more remote web servers. Vivek demonstrated this feature during the webinar.  Because of time, we did not have to to demonstrate cluster setup/configuration or how to set up the secure communication channel between the plugin and the DAS.

First, you can set up a GlassFish high availability cluster, from download to validating the configuration, in under 10 minutes.  Of course, it takes a bit longer if you want to install a cluster across multiple hosts, but that's just boilerplate (s)ftp and time consuming.

To address the second point, setting up a secure communication channel, I thought I would double-click on that a bit and show you how to set it up. Again, this will be done on a single host, removing the boilerplate of FTPing the installer around.  The first step is to download the GlassFish Enterprise Server bits that include HADB (download url). This bundle also includes the load balancer plugin. Download the Sun GlassFish Enterprise Server v2.1 with HADB. I used the file-based installer during the demo instead of the package-based installer.

Side note - apologies for the webinar demo demons hitting the load balancer installation demo. For some reason the network was slow (GUI was updating too slowly), and the terminal was not refreshing properly, so I lost context of what screen I was on. Yes, I ran through the demo beforehand in the exact same way it was demo'd, 4 times without issues. Sigh.

Below is a script that will set up the secure connection between the DAS and the Sun Web Server to enable automated updates of the load balancer configuration. I've added documentation for each step.


#!/usr/bin/bash

#################################################################
# This script will set up the secure communication channel between
# the Sun Web Server and DAS for automated load balancer updates. It
# assumes that both the web server and DAS exist on the same
# box (hey, it's a DEMO ;-) )
#################################################################

#
# Top-level "HOME_DIRECTORY" variables. Examples are shown,
# replace variables with data that reflect your environment.
# Error checking of commands not shown :-/. Also note that
# in my demo, I put all bits under /var/tmp/demo directory.
#

WS_HOME=/var/tmp/demo/webserver7
JAVA_HOME=/usr/jdk/latest
DAS_DOMAIN=/var/tmp/demo/glassfish/domains/domain1

#
# Variables related to the web server configuration
#

WS_INSTANCE=https-my_webserver_instance.sun.com
SECURE_DAS_COMM_PORT=4443
LISTENER_NAME=http-listener-2

#
# Variables related to certificates. Because this is a demo, we will
# create a self-signed certificate.
#

CERT_NAME=ServerCert
CERT_ALIAS=s1as
CERT_EXPORT_FILE=/var/tmp/demo/etc/${CERT_ALIAS}.rfc

#
# Push any existing webserver configuration modifications, in case
# the load balancer was just installed in the webserver, for example
#

${WS_HOME}/bin/wadm \
        deploy-config \
        --user=admin \
        --force ${WS_INSTANCE}

#
# Create a new HTTP listener to communicate with the GlassFish Domain
# Administration Server. This is the connection where the loadbalancer
# configuration changes will be pushed.
#

${WS_HOME}/bin/wadm \
        create-http-listener \
        --user=admin \
        --server-name=${WS_INSTANCE} \
        --default-virtual-server-name=${WS_INSTANCE} \
        --listener-port=${SECURE_DAS_COMM_PORT} \
        --config=${WS_INSTANCE} ${LISTENER_NAME}

#
# Create a self-signed certificate for demo or educational purposes. Typically
# a signed certificate will be installed for maximum security in production
#

${WS_HOME}/bin/wadm \
        create-selfsigned-cert \
        --user=admin \
        --nickname=${CERT_NAME} \
        --server-name=${WS_INSTANCE} \
        --token=internal \
        --config=${WS_INSTANCE}

#
# Set SSL property on the http listener used for DAS communication, using
# the certificate just defined
#
 
${WS_HOME}/bin/wadm \
        set-ssl-prop \
        --user=admin \
        --http-listener=${LISTENER_NAME} \
        --config=${WS_INSTANCE} \
        enabled=true \
        server-cert-nickname=${CERT_NAME}

#
# Export the DAS public key certificate stored in the Java keystore. Note that
# the Enterprise Profile (default for GlassFish w/HADB bundle) utilizes the
# NSS keystore, so this would be replaced with the equivalent certutil command.
#

${JAVA_HOME}/bin/keytool \
        -export \
        -rfc \
        -alias ${CERT_ALIAS} \
        -keystore ${DAS_DOMAIN}/config/keystore.jks \
        -file ${CERT_EXPORT_FILE}

#
# Import the DAS public key certificate into the the certificate database,
# enabling a secure, trusted communication channel between the DAS and
# the web server.
#

${WS_HOME}/bin/certutil \
        -A \
        -a \
        -n ${CERT_ALIAS} \
        -t "TC" \
        -i ${CERT_EXPORT_FILE} \
        -d  ${WS_HOME}/admin-server/config-store/${WS_INSTANCE}/config/ 

#
# List the certificates in the web server certificate database
#

${WS_HOME}/bin/certutil \
        -L \
        -d ${WS_HOME}/admin-server/config-store/${WS_INSTANCE}/config 

#
# Push webserver configuration modifications to the instance
#

${WS_HOME}/bin/wadm \
        deploy-config \
        --user=admin \
        --force ${WS_INSTANCE}



(2009-07-23 12:58:03.0) Permalink

20090603 Wednesday June 03, 2009

GlassFish leads among Open Source adoption
We have been using multiple metrics, such as downloads and registrations, to measure GlassFish adoption, all of which you can check out at The Aquarium.  For example, GlassFish has been the most downloaded application server for quite some time, and is a leading indicator of what can happen further down the road.

Down that road, another metric is to measure the adoption of an open source project by other open source projects.  Because "open source" projects have source code publicly available, it is possible to automate the gathering of data/metadata for open source projects, which offers non-subjective evidence of adoption.  Ohloh (recently acquired by SourceForge) has been doing just that, by crawling 38,000 projects across 3,500 source forges. With the support of Ohloh, we have been able to measure the adoption of GlassFish within open source communities.

The results are in with this report, and GlassFish adoption has shown continued within open source communities.  In fact, the first graph shows that GlassFish is now the most targeted application server among open source projects, with over 50% of those projects supporting GlassFish.  The second graph (below) shows that new projects target GlassFish a stunning 73% of the time, far surpassing any other application server. Note that in both cases, projects can support more than one application server, hence the results total more than 100%.

The results of GlassFish adoption is apparent when you consider the growth in monetization of GlassFish. While Sun does not break out GlassFish Enterprise Server in our earnings reports, GlassFish is contributing to the growth of software infrastructure at Sun, and is a leading indicator that shows that the future opportunity looks bright for GlassFish Enterprise Server. 

 

(2009-06-03 09:22:00.0) Permalink Comments [2]

20090324 Tuesday March 24, 2009

Introducing the GlassFish Tools Bundle for Eclipse

For me, it's Ground Zero for EclipseCon, 2009.  I wanted to get an early start to post about the GlassFish Tools Bundle for Eclipse, but it looks like Ludo beat me to the punch.  I was slowed down a bit by the fact that I forgot to pack toothpaste, which does not exactly mash well with booth duty. No worries, the hotel lobby personnel had my back, so my breath is minty fresh :-)

Sooooo, Sun is announcing the GlassFish Tools Bundle for Eclipse, which bundles community editions of GlassFish v2.1 and GlassFish v3 Prelude, Eclipse 3.4 (with Web Tools Platform), GlassFish Eclipse plugin and optionally JDK 1.6.  In addition, we've included the Java EE Javadocs, so you get Java EE API auto-completion.

Here are some notes about the bundle I think are worthwhile to mention:

I'd say that's a good first-take introduction to the bundle. Time to head off to the booth!
(2009-03-24 08:43:45.0) Permalink

20090210 Tuesday February 10, 2009

GlassFish Production Deployments & Enterprise Manager

Busy, busy day. Lots of news regarding Sun GlassFish Portfolio in general, and  Enterprise Manager in particular. I will in no way try to keep up with Nazrul on Enterprise Manager blogging :-)

I have spoken with countless customers about GlassFish Enterprise Server over the last 18 months (such as T-Mobile and TravelMuse), and it's no surprise common threads appear, such as cost reduction, avoiding vendor lock-in, and support for the latest standards (sooner). The concerns customers have with products based on open source center primarily around support and the ability to troubleshoot production issues.

Regarding support, GlassFish Enterprise Server subscribers have access to 24x7 support with live call transfer for high priority ("production down") issues. In addition, Platinum support offers a Customer Advocate who understands customer deployments, resulting in faster problem resolution and escalation management. However, a Customer Advocate also acts in a proactive manner via regular meetings to keep up with customer environments and issues, and can work with customers on practices to avoid downtime.

To address concerns with visibility into production deployments from a product perspective, Sun is  introducing Enterprise Manager with GlassFish Enterprise Server v2.1 (and GlassFish Portfolio). I'll reiterate Nazrul's coverage of Enterprise Manager, which is a good one-stop shop that covers the improved manageability and observability features.  Of particular importance is the ability to avoid downtime in the first place with various alerts and log file management.  We expect many enterprise customers will have enterprise management tools in place. For these customers, SNMP monitoring support is key. A really helpful feature that is generally JDBC pool management.  JDBC pool management is essentially "auto pilot" for JDBC connection pool optimization. Turn it on and, odds are, you will get better performance with less overhead.

If you get a chance, check out Nazrul's Enterprise Manager post and feel free to give us feedback. We look forward to it!


(2009-02-10 14:09:55.0) Permalink

20090113 Tuesday January 13, 2009

GlassFish High Availability Recap

Two recent high availability mediacasts, the GlassFish Clustering screencast and the recent GlassFish High Availability webinar (and companion whitepaper), have done well (IMHO).   To quickly summarize, the screencast covered download, setup, and validation of a GlassFish cluster. The webinar covered architectural approaches to deploying GlassFish clusters in a virtualized environment.

The screencast hit > 1,500 views in total (YouTube + Sun Learning Exchange). Time well spent on my part, I think. Hopefully it was time well spent on the viewers part as well.

As for the webinar, over 1,000 registered to attend the webinar, hundreds attended, and hundreds are viewing the replay. Lots of questions occurred during the chat, and some business relationships were formed in the process.

Me-thinks we've addressed a bit of pent-up demand on GlassFish High Availability.

(2009-01-13 10:33:55.0) Permalink

20081224 Wednesday December 24, 2008

Reflecting on GlassFish in 2008

Sssooo many things have happened with GlassFish in 2008, I was a bit hesitant to write this blog in fear of missing something.  Then again, I'm not known for being a shy blogger. These are not in an order of importance or priority, just rolling off the top of my head in my "brevity is not an option" blogging style.

  1. Adoption. GlassFish adoption is through the roof. Were still counting, but somewhere near 9 million downloads and 300,000 product registrations. Exceeded my expectations. That's more than one download for every Java developer!? Me-thinks that developers are trying to stay current with latest versions.  Feel free to track GlassFish adoption using the GeoMap or on The Aquarium.

  2. JRuby on GlassFish. Quite popular thanks to the work by Jacob, Arun, Vivek, Charles, Thomas, and others. No doubt this is contributing to GlassFish adoption. GlassFish in the twittesphere and the blogosphere quite active.

  3. Customers.  Quite a bit of commercial interest in open source in general and GlassFish in particular.  Customers like the innovation and transparency, not to mention the flexibility of "paying at the point of value" that open source enables. Follow our growing list of customers here and here.

  4. GlassFish Performance. It's an understatement to say that GlassFish performs well. It is hands-down the fastest open source application server. I've seen many customer benchmarks comparing GlassFish to closed source application servers, and GlassFish has either met or exceeded the competition. When price is thrown into the equation, customers begin to ask themselves "Why am I currently paying up to $50K/CPU for my closed source application server?"

  5. FishCat launched. Proof that open source innovation does not have to be limited to lines of code. Check out the contributor list that are constantly improving GlassFish quality.

  6. GlassFish v3 Prelude.  For early adopters, this is a fully QA'd and supported release of GlassFish layered on an OSGi mickrokernel, with some nifty developer productivity features. While this release has a slightly different feature set than GlassFish v2, it'll eventually be a superset of Glassfish v2.

  7. GlassFish on UStream. Eduardo launched an ongoing series of interactive community sessions on various topics, by both Sun and non-Sun community members. Active Q&A.

  8. GlassFish Updates. While originally targeted for January 2008, GlassFish v2 UR1 was actually released *early* and pulled in to December 2007. Mid-2008 we released GlassFish v2 UR2 with bug fixes and performance enhancements. GlassFish v2.1 isn't far around the corner with additional bug fixes and performance improvements.

  9. OpenMQ Updates. OpenMQ has been cruising along with it's latest 4.3 update. Highly peformant. Scalable (*really* scalable). Highly available. Bundled with GlassFish.

  10. GlassFish ESB released. GlassFish ESB is Open ESB in commercial form. Supported. Feature rich. Java Business Integration support at its core.  Layers right on top of GlassFish. NetBeans Integration. Learn More.
I'll cap it off at 10 for now. Feel free to add to this list.
(2008-12-24 09:52:16.0) Permalink

20081223 Tuesday December 23, 2008

Spiffing up the GlassFish Admin Console

Jason has posted a couple of blog entries (here and here) on spiffing up the GlassFish admin console. We do get a *LOT* of positive feedback on the GlassFish administration console, both in feature-richness and ease-of-use. Jason and team are off to make a good thing even better, so feel free to provide feedback or ideas of your own to the team.

You'll see on these threads that I'm a bit of a party pooper. Jason and team have delivered a great console that a lot of folks like, and I worry that making too much of an improvement may interrupt those who feel comfortable with the existing console.  Please provide feedback to Jason and team. The more the merrier.

(2008-12-23 14:29:27.0) Permalink

20081222 Monday December 22, 2008

GlassFish Enterprise Server: Outstanding Price/Performance

After taking a look at Tom Daly's post on compelling price/performance, I thought I would take a slightly different approach. Tom's post covers the details of the recent 100% open source software result of 1197.1 JOPS@Standard using GlassFish, OpenSolaris and MySQL running on a Sun X4150 Server. The competitive results are also on quad-core X64 servers.

The data shown here includes 3 years of 24x7 phone support for each operating system, database, and application server.  This provides a more appropriate scenario for those deploying in a production environment. While Tom's post has the raw data, I'm just showing the updated $/JOP.

 Application Server
$/JOP

GlassFish Enterprise Server $33.90/JOP
Oracle WebLogic Server Standard Edition 10.3 $232.68/JOP
Oracle Application Server 10g Release 10.1.3.3 $193.71/JOP


Required disclosure : SPEC and SPECjAppServer are registered trademarks of Standard Performance Evaluation Corporation. Results from www.spec.org as of 11/05/2008. 2xSun Fire X4150 (8 cores, 2chips) and 1xSun Fire X4150 (4 cores, 1 chip) 1197.10 SPECjAppServer2004 JOPS@Standard; Best result with 8 cores in application-tier of the benchmark: 1xHP BL460c (8 cores,2chips) and 1xHP BL480c (8 cores,2 chips) 2056.27 SPECjAppServer2004 JOPS@Standard; Best result with 2 systems in application-tier of the benchmark: 2xDell PowerEdge 2950 (8 cores, 2 chips) and 1xDell PowerEdge R900 (4 chips, 24 cores) 4,794.33 SPECjAppServer2004 JOPS@Standard.

MySQL Pricing: https://shop.mysql.com/enterprise/
Oracle Price Book: http://www.oracle.com/corporate/pricing/eplext.pdf
Red Hat Server pricing: https://www.redhat.com/apps/store/server/
Sun OpenSolaris, GlassFish Enterprise Server pricing: http://tinyurl.com/SunSoftwareVolume


(2008-12-22 14:47:07.0) Permalink

20081206 Saturday December 06, 2008

GlassFish Clustering in Under 10 Minutes

As we add features to GlassFish over time, one characteristic we do not want to compromise is ease-of-use. With this screencast I wanted to show how easy it is to set up a GlassFish high availability cluster.  While other clustering screencasts exist, I wanted to take a different approach. How long would it take, from download to deploying an app, to get a GlassFish high availability cluster up and running? This screencast does just that. While I could have gone faster - faster connection, eliminate narration, etc - I wanted to make it more typical and meaningful for viewers. Here's a summary of the timing:

Note, the embedded video is via the Sun Learning Exchange. This video is also posted to YouTube.

Update: You can play these video's in full screen. On YouTube there is a "Watch in High Quality" link just under the video (to the right) as well.



(2008-12-06 13:45:48.0) Permalink Comments [3]

20080808 Friday August 08, 2008

GlassFish at Americas Sales Meeting

I've been in the Washington D.C. area the past few days extolling the virtues of GlassFish to the America's sales force. The good news is that the GlassFish session, an 8:00am affair, was packed. I must say that I was pretty darn surprised. Sales reps have *dozens* of products they can focus on, yet GlassFish drove a full house (60-70). Here's why:

(2008-08-08 07:30:31.0) Permalink Comments [7]

20080726 Saturday July 26, 2008

Has Open Source killed the RFP?

When I was in sales, I participated in numerous Request for Proposal (RFP) efforts. To put it in perspective, I spent most of my sales career selling hardware to the government vertical (albeit as a software specialist). Governments are big on RFPs (impartiality). I also helped the commercial sales teams with RFPs upon occasion, so my peers suffered the same fate.

Product managers are not immune from RFPs. We tend to be back line support for those questions that need a bit more insight into the product (ex: roadmaps). Since being in product management I've noticed I'm involved in fewer RFPs. I can say with authority it's not because of a lack of commercial interest. GlassFish is doing quite well in that regard.

Customers are leveraging open source to reduce cost and eliminate vendor lock-in (among other things). Before the move, customers are still comparing, in the middleware space for example, GlassFish, JBoss, Geronimo, and Tomcat. I occasionally get comparison spreadsheets from potential customers. However, the process of the formal RFP seems to be pushed aside. Here are some of my thoughts as to why:

The blog title truly is a question, not a statement. I've thrown out some supporting thoughts, but I don't want to claim an authoritative statement. Regardless, I know it is not an absolute truth. So the question remains, has open source generally killed the RFP?

(2008-07-26 15:40:28.0) Permalink

20080627 Friday June 27, 2008

Save big bucks with GlassFish & MySQL Unlimited

While other vendors are raising their prices, Sun decided to do just the opposite. We decided to save the customer money. In fact, not only can customers save money now, going forward they can scale their business without having to scale their budget. Introducing GlassFish & MySQL Unlimited, an offering that combines two fast, reliable, and very popular products, based on open source, into a single subcription offering.

Starting at $65,000, a customer can deploy as much GlassFish Enterprise Server and MySQL Enterprise Server as needed to meet business requirements. No counting CPUs. No counting cores. No audits or true-ups. No counting servers. And you don't have to "go back to the well" and ask for more money.

Do the Oracle math. Don't forget to double the price-per-socket for quad-core x86 servers and for 8-core Niagara servers. And add support.

Do the Sun math. For organizations up to 1,000 employees, it's a $65,000/year for unlimited use. If you want 24x7x365 support for GlassFish Enterprise Server (for a more fair comparison), it's $80,000/year. No worries, the MySQL component already includes 24x7x365 support among other things. The offering extends beyond 1,000 employees, but you get the point.

Do the math using your budget. Just think of what you can do with what you save! If you can't think of what you can do with the savings, rumor has it that Java CAPS 6 is a great deal :-)

Note: Mark has some math as well.

(2008-06-27 08:04:19.0) Permalink