Masoud Kalali's Blog

My thoughts on software engineering and beyond…

By

WSJ says: “IBM in Talks to Buy Sun”. But Why would IBM buy Sun Microsystems?

The Wall Street Journal Published an article which discuss possibility of IBM buying Sun Microsystems, but why on earth should IBM take over Sun Microsystems when every product which Sun offer has a counterpart in IBM arsenal.

In software range Sun offers Operating System, Database, Application server family of products, identity management family of product, Integration series of products either developed by Sun or acquired from other companies, Software development tools including NetBeans and its related add-ons. All of these products has a counterpart in IBM series of products.

In hardware range Sun offers Storages, X86 and Sparc servers, and networking solutions. All of these products have their counterpart in IBM arsenal and having them add no exceptional value to IBM set of available products which make IBM take over Sun Microsystems.

But Why would IBM think about buying Sun Microsystems and what Sun own that IBM does not?

  • First Sun owns Java and all rights over its patents and source codes
  • Sun owns some products which I am not aware of any counterpart in IBM offering, these products includes: VirtualBox and X86 virtualization, and Sun xVM Ops for data centre management
  • It is told that IBM has the largest patents arsenal but Sun owns enough patents which IBM might be interested to own them
  • Although IBM has AIX and there are some undergo efforts to port Solaris to Z architecture but maybe IBM has some more plans with Solaris

A list of Sun software with their counterpart in IBM arsenal:

Sun Product

IBM counterpart

Sun JDK*

IBM JDK, although I think IBM licensed Some part of Sun JDK to avoid developing them again (class path?)

NetBeans and Sun Studio series of products (For Java, C++ and so on)*

Eclipse and Rational line of products(For Java, C++ and so on)

Sun middle-ware product line including but not limited to: GlassFish, Portal, Sun Identity management, JCAPS and OpenESB, and so on.*

IBM Websphere product line including but not limited to: Application server, Portal, Tivoli Identity management, ESB, and so on.

Sun Solaris*

IBM AIX, Z/OS, Z/VM and whatever Z starting word that you can write here

MySQL as a product which Sun owns, Java DB and PostGreSQL support*

DB2, DB2 express edition, DB2 community edition, Informix dynamic server(is it still alive?)

JavaFX

Nothing that I am aware of

X86 virtualization*

Nothing that I am aware of

Data Centre management(Sun xVM Ops center)

Nothing that I am aware of

*All of these products except JCAPS and Sun xVM Ops are open source. And all of them are high quality with a well established community of user and third party companies which are involved in their development.

Now, Why could be possible reason that we hear "IBM in Talks to Buy Sun"? The reason can be:

  • Patents and rights that Sun is holding over Java, Sparc and Solaris
  • The Open Source model which Sun introduced and looks to be successful
  • Open Source products that Sun is developing and have gained enough attraction from the community which result in "IBM in Talks to Buy Sun" once more.
  • Brilliant architects, engineers, and evangelists which are working for Sun Microsytems
  • Some software and functionalities which IBM does not own
  • Customers and community to gain more market share, specially in middle range market
  • Maybe IBM is interested in un-released Sun Cloud Computing… Sun is known to either does not enter an area or if entered provides a very good product or service in that area, technically speaking.

What can happen if IBM take over Sun Microsytems? The answer is: no one knows expect those IBM super managers which are possibly thinking about this take over. But some predictions:

  • Java will evolve much faster as IBM has more man power to assign to it
  • OpenSolaris will get more attention and possibly replace AIX in long term
  • MySQL and Sun middle-ware products will form a big bundle of highly integrated, high quality Open Source products and bring more revenue to IBM
  • IBM will lay off some Sun employees, specially in sales and marketing section because they have many sales and marketing employees
  • NetBeans and Eclipse? I can not comment with more than 20 percent of certainty, but I think either IBM kill all middle-ware or work on NetBeans development for as long as they provide all NetBeans functionalities that support Sun middle-ware development in Eclipse
  • JavaFX will see a boost in development as IBM can afford more man power
  • Swing and SWT story? I think IBM will keep Swing as a part of JRE but hey will push SWT as a part of the JRE to ensure it will get enough chance of growing in the market
  • Responsibilities for providing support for Java, JCP, TCK and… will be given to a foundation organized by IBM, Oracle, RedHat, …

I may have missed some items due to short term forgetfulness or being completely unaware of their presence. If you happen to know them, let me know and I will include it in this blog.

 

By

Four open source Java application servers compared

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 co
uld 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