The Source for Java Technology Collaboration
User: Password:



Masoud Kalali's Blog

Community: Java Tools Archives


GlassFish refcard is available for download for free

Posted by kalali on July 14, 2008 at 12:28 AM | Permalink | Comments (1)

GlassFish Application Server

In case that you are a glassfish administrator or a developer who uses glassfish in day to day development tasks then you will find GlassFish Reference Card a valuable source of information to keep you away from searching the web or administration references.

The reference card contains most important administration commands, security tips, performance tuning tips, clustering and monitoring instructions along with explanation around troube shooting and GlassFish directory structure.

Just navigate to http://refcardz.dzone.com/announcements/glassfish and download the reference card.

You can find many other refcardz in variety of topics at http://refcardz.dzone.com/





Four open source Java application servers compared

Posted by kalali on December 11, 2007 at 01:11 PM | Permalink | Comments (7)

I was looking at feeds that my email client fetched during the day and I find am interesting one which lead me to an article written by Jonathan Campbell. Article can be found at http://www.javaworld.com/javaworld/jw-12-2007/jw-12-appservers.html

Jonathan compared 3 different application server/ servlet container by thier support of Java EE 5 and some other factors. article explained about each feature that he compared application servers based on it. Jonathan did not included GlassFish in his review of "open source Java application servers" and only included 3 application servers/ Servlet containers including Tomcat, Jboss and Geronimo. :-), So I thought I should include some facts here in order to make the comparison fair to all parties.

Including Glassfish into Jonathan matrix will give us the following table: *Notice*

Feature JBoss 4.2 Geronimo 2 Tomcat 6 GlassFish 2
Java EE 5 compliance Partial Yes No Yes
EJB 3.0 capable Yes Yes Available Yes
JSP 2.1 and 2.5 capable Yes Yes Yes Yes
JavaServer Faces 1.2 support Yes Yes Available Yes
Custom plug-in support Yes Yes No ?
Business-rules engine support Available Available Available Available
Hibernate 3.x support Yes Available Available Yes, based on below description
JBoss Seam support Yes Yes Available Yes
Clustering support Yes Yes Partial Yes
Eclipse IDE connector support Yes Yes Yes Yes

Following descriptions further explain some of what Glassfish can provides in relation of the above table

  • GlassFish fully support Java EE 5 with all its related JSRs like JSP 2.1 (JSR 245), Servlet 2.5(154), EJB 3.0(JSR 245), etc.
  • GlassFish support clustering and cluster management out of the box, a cluster can be configured from both CLI and Administration console.
  • GlassFish administration console allows you to configure your load balancer :-), for example you can configure a Sun Java Web Server which works as load balancer to add or add/ remove an instance from its list of servers, either manually or automatically if a new node joined the cluster or removed from the cluster
  • GlassFish allows you to manage resources for entire cluster at once instead of applying them for each instance, for example you can deploy a web application into a cluster of 10 instances instead of deploying it seperately for each instance.
  • GlassFish has a very wide array documentation both from Sun Microsystems (for free) and from GlassFish community.
  • GlassFish installation is as easy as executing 2 commands.
  • Deploying applications into GlassFish or even an entire cluster of glassfish instances is just 2 clicks away.
  • Quality of GlassFish components is out of any question, Metro is well known for supporting new WS-* standards, EJB support uses Toplink Essentials, MQ server is Sun open sourced MQ, etc.
  • GlassFish has very good interoperability with some other open source projects like, OpenESB and OpenSSO which allows you to have what you need to kick start your J2EE application without looking at any additional configuration.
  • Certainly performance is something which everyone should have in mind before considering other feaures, take a look at http://www.spec.org/jAppServer2004/results/res2007q3/jAppServer2004-20070703-00073.html and http://weblogs.java.net/blog/sdo/archive/2007/07/sjsas_91_glassf.html to find out more about how much capable GlassFish is.
  • GlassFish has connectors for both Eclipse and Netbeans, although other mentioned servers have a connector in Netbeans and Eclipse.
  • Seam support is available from GlassFish 1 upward.
  • Business rule engine support is available from OpenESB project integration.
  • About hibernate support, I cannot understand whether Jonathan means to use Hibernate as a persistence provider or plainly as an ORM, by the way both of this ?features? are available for GlassFish users.
  • GlassFish has an Update center, which allows you to update your application server from a remote repository.
  • GlassFish runs on all mentioned platforms, from Windows to AIX (Glasdfish 2 update 1 runs on AIX) and there is no restriction for you to run it on your platform of choice.

Mentioned items are in relation to what orginal article tried to compare. GlassFish can be used by a ROR developer by its integration with first class ROR IDE (Netbeans 6), It can serve you VOIP and SIP requirement by means of sailfin,etc. Any user with any kind of requirement will find GlassFish a suitable application server.

Although Jonathan did not mentioned GlassFish directly, but he gives his opinion by writing:In my experience commercial application servers have more bugs than the open source servers compared in this article, and they are more difficult to install. Deployment can also be an issue -- at least with the recent version of Sun's Java Application Server. The article could be more complete if Jonathan included GlassFish in his comparsion chart and at then end he could write that GlassFish has problematic deployment procedure

An statement which looks odd to me is: In my experience commercial application servers have more bugs than the open source servers compared in this article, and they are more difficult to install., Althogh it will be a complex procedure to setup a Cluser of Websphere (as a commercial application servers ) using websphere XD, Object Grid, and other available packages that faciliate enterprise scale deployment of Websphere, but WebSphere has a decent performance and reliability which is very hard to deny.

Notice: Some parts of this table taken from Jonathan Campbell article published by javaworld and is available at http://www.javaworld.com/javaworld/jw-12-2007/jw-12-appservers.html






Testing some FrameWorks and applications on Glassfish build 40+ part IV

Posted by kalali on March 31, 2006 at 03:00 PM | Permalink | Comments (2)

This time i want to setup and test a utility that i am using with my Application server to mange them and monitor them.
Utility that i will use is Mc4j A very powerful and flexible jmx console built on top of Netbeans Platform .
so to follow this blog entry you will need GlassFish build 40+ , although i am testing it on buid 42 .Also you will need to have Mc4j version 1.2 beta 9 or newer.
first lets see what is JMX in very brief JMX like other java Stuff is an standard with some JSR related to it that handle requirement to manage java based applications in an standard and unified way it will allows to create powerful distributed management and monitoring system across different servers and aplications.
if you use jmx rule to build your configuration system then your application could be managed via any standard JMX console and any other application can interact with your application management system in an standard way.
How this become possible ? indeed you provide some java classes which are named managed beans or simply MBeans that provide access to other obects (mainly exposed or configurable objects) or your system. each MBean then register in another Object which is named MBean server.
? An MBean server with some services to handle MBeans compose a JMX Agent.this JMX agent provide facilities that remote application could communicate and manage your application.
but why we use JMXTechnology . i think some of reasons for using jmx is :
  • It provice an standard way to manage applications.
  • the architecture is well though and easily extendable.
  • You can integrate it with other management system because of its non intrusive nature.
For me , it is really suite that i use one application as a management console to manage my servers and applications that are running on them.
Lets see how we can use Mc4j to manage GlassFish. If you run mc4j you will see that it provide opens up and bring a friendly environment like netbeans. something like :



To access Glassfish management trough JMX you need to register the GlassFish as a server in mc4j , so in management menu choose create server connection. a dialog will opens let it be there. now go to your GlassFish installation \bin directory. execute asadmin start-domain in case that you have one domain in your application server then that domain will start and a page like the following will shown up.



as you see in the image and in your own console window it shows up something related to jmx in your console , a url that you will use to access the JMX agent of glassFish trough mc4J copy that url and goto mc4j wizard window.
configure the MC4J wizard window like the following image by selecting the SJSAS as server type and pasring that url in server url, now you will need just to enteruser name and password which by default are admin/adminadmin. now you shoule be able to see a window much like the following one , as you can see , in left panel there come a glassFish node which is lighted with green. it means that mc4j is connected to this server and you can monitor / manage this server using mc4j.



Extend the GlassFish Node and you will see manything there.You can view the server JVM status , and also you can view the server resources itself. to view the server resources you will need to extpand the MBeans / amx node which is main node for GlassFish management.
Happy exploration
some images from my own explorations ;-)

What you can do when you are netbeans based..dynamic Pool size chart
Dynamic Pool usage ChartLook which action we have over OSWorkFlow web application in this MBean





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds