Showing posts with label glassfish. Show all posts
Showing posts with label glassfish. Show all posts

Friday, October 5, 2007

Tip to improving glassfish performance

Today I was reading an entry (Customizing Glassfish v2 with 23 unpublished properties) from the Gestalt Shared Feed about hidden properties in glassfish v2. One very interesting tip to improve performance for glassfish would be to set the enableSnoop to false. Basically setting this property to false stops grizzly from logging the requests/responses to the log file. See the rest of the article on how to actually set the property in glassfish.

Wednesday, September 26, 2007

Glassfish v3 and JavaEE 6

More than likely most haven't gotten the chance to use JavaEE 5.0 yet, but I think it's important to look ahead at what is coming down the road. I believe, container-wise, JavaEE 6 is going down an excellent path of easier development by making their container as small as possible (15k) and startup time super fast (less than 2 seconds). How did they achieve that? Modularity.

For some reason I just realized that the Reference Implementation (RI) for JavaEE 6.0 is Glassfish v3. Skim this presentation about the goals of JavaEE 6.0 (roughly about 15 quick slides). Also, here is a walk-through on how to use Glassfish v3 (install jruby container, web container, etc).

Just for the record, also keep in mind that JavaEE 5.0 is implemented by Glassfish v2.

Wednesday, September 19, 2007

JBI Deployment Options

Recently, I have had multiple discussions with different individuals concerning possible JBI deployment options for their projects. Is Glassfish required? Do I need a JavaEE container? Do I need Netbeans? Is it packaged as a WAR? How big is the runtime footprint? If I am already using JBoss, how can I take advantage of JBI? Why is the OpenESB installer so large? Even with every project having its own specific needs, JBI has an array of potential solutions for each one. So if you are new to JBI or just curious how to use it, please contiue to read while I describe the various options.

First, I have fortunately had the pleasure of extensively using two of the most popular JBI containers currently available: Apache ServiceMix and Sun's OpenESB. The following is the landscape as I see it based off my experience.

Apache ServiceMix Options

  • Can run as a standard J2SE application. To use this version download the container from here: http://incubator.apache.org/servicemix/download.html
  • Bundled as a WAR, making it deployable to your existing JavaEE container. The WAR is also available for download from the same address above.
Sun's OpenESB Options
  • Can run as a standard J2SE application. Although it's a little more untested than it's other options. Go here for a How-To Guide on where to download the container and run it.
  • Comes bundled in an All-In-One install that includes the latest Glassfish, OpenESB, and Netbeans 6.0 for tooling support. Go here to download this version. Before you flip out on the download size (300+MB), let me provide an explanation as to the size because this seems to be the version receiving the most attention by Sun; and it's actually the version my team uses. Along with the items mentioned above, this bundle also includes all the Sun components and the latest Community Partner components. I believe the main benefit to having an All-In-One install is previously we had to download each project individually and usually the different versions where incompatible (the BPEL tooling support in Netbeans didn't match the BPEL Service Engine capabilities downloaded with OpenESB). It's important to note that with this option Netbeans is only required to compose Composite Applications and not to run OpenESB. Finally, the Glassfish and OpenESB combo is a little deceiving in that it's not like starting two applications. OpenESB is basically exploded out in one of the Glassfish domains, much like a WAR would be. So when you start a Glassfish domain, it handles starting OpenESB.
  • There exists a WAR file for IBM Websphere located here and work has been done to integrate with JBoss (read here for more information).
Which one is right for you?

Most projects fall into two categories: one that already has a JavaEE container and ones that don't. If you already have a JavaEE container, then you can use the ServiceMix WAR or run the J2SE standalone version of OpenESB. If you don't have one, then obviously you can choose among all the options. If I was forced to give a personal recommendation, I would recommend when possible using the Glassfish/OpenESB package. This gives you complete capability of building Composite Applications consisting of Web Services running in Glassfish and orchestrating them using OpenESB and the BPEL Service Engine and then integrating with other protocols such as RSS, SIP, UDDI, and XMPP. And the tooling support in Netbeans is well worth it.

For further questions please visit the FAQ on http://www.jbizint.org or feel free to drop me a comment. You can also subscribe to my shared JBI RSS Feed.