Oracle Glassfish Now Supports Jython and DJango

Oracle -- as you know -- plans on purchasing Sun and all their Java-licious technology. This includes the open source Glassfish application server, which is a free competitor to Weblogic, which Oracle obtained in the Sun BEA acquisition... and they both competed with OC4J, which was Oracle's application server prior to 2008.

I -- along with everybody else -- am very curious to see how all this plays out... It certainly appears that OC4J has lost favor, and Weblogic stole the show... but now Oracle "owns" an open-source alternative to Weblogic as well. So which one should you choose? Naturally, this depends a lot on what out-of-the-box features and integrations you need... But if I were a developer creating a new application from scratch, I'd probably go with Glassfish. Besides being open source, they will soon have built-in support for JRuby/Rails and Jython/DJango web frameworks. To me, that says the people behind Glassfish really "get it" when it comes to delivering web frameworks that make developers more productive...

According to Vivek Pandey's blog, the latest preview release of Glassfish v3:

  1. Provides GlassFish v3 connector and deployer as OSGi module. Which means that deployment of a Python application will trigger Jython Container code.
  2. Wire up the HTTP request and response at very low level by implementing a GrizzlyAdapter, hence resulting in better runtime performance and scalability using grizzly scalable NIO framework.
  3. WSGI (Web Services Gateway Interface) is a Python standard to wire a Web Server to Python web frameworks such as Django or TurboGears etc. Jython Container implements WSGI interface and so it would be pretty easy to add support for various Python web frameworks. Currently, we have Django and we will have others such as TuroboGears, Pylons etc.
  4. Currently Jython Container is available thru GlassFish v3 Update Tool. In the future it may appear with GlassFish v3 core distribution.

His blog also has step-by-step instructions about how to enable Jython and DJango... with luck, this will be rolled into the final release, so these steps will be easier.

I'm also curious to see what Jake and the AppsLabs boys might think about Glassfish... those guys are building some of Oracle's most "social" applications, and they are big JRuby/Rails fans. I'm more of a Python/DJango guy myself. I've said many times that if I were to rewrite the Oracle Content Server from scratch, I'd probably have picked DJango as the core framework... But DJango in a Java container??? That's even better! Quick coding, easy modifications, plus the reliability of Java.

But that's just for my needs... others may prefer the "Weblogic way" for different reasons.

Who's on the hook?

If something goes wrong inside Glassfish who's on the hook for getting it corrected if it's "Open Source"? Is Oracle a "champion" for it, but not necessarily on the spot for making it fit for my enterprise deployment? I would need to be very understanding of who is going to stand up when the call goes out and the expected turn times, etc., prior to making this choice.

That all would be one of my concerns aside from the ease of development perspectice that you've already covered here.

that's the difference between development and consulting

Firstly, Sun offers 3 kinds of enterprise Glassfish support, and I'd wager Oracle would continue this:

But... that's not the point of my post. I'm talking about developing software, not assembling a custom solution. Totally different business models...

If I were to make a shrink-wrapped server product, I'd pick Jython/DJango. Its the best web framework available, and you could run it locally in a Glassfish server, or entirely in the Google cloud.

The future

In the end, the future of Glassfish, and MySQL, and Java will be determined for business reasons, not technological reasons. At least at the marketing level, Oracle positioned the new version of WebLogic as combining the best features of the old WebLogic and the old Oracle Application Server. So if for business reasons Oracle decides to kill Glassfish, they may take some of the features and incorporate them into WebLogic. Needless to say, they won't kill WebLogic, even if Glassfish has technical superiority.

"Killing" GlassFish would be tough...

GlassFish was released open source, and it's GPL:

Legally, Oracle can't "kill" it. The worst that Oracle can do is stop paying people to maintain it, and drop support for it. They might do the former, but I doubt they will do the latter... since Oracle almost never drops support for software.

If they cease to maintain it, then a forked version could become an Apache project under a new name.

InformationWeek on GlassFish

Just ran across this in the June 8 print version of InformationWeek (this exact text isn't in the online version) in a Charles Babcock article:

"Then there are pieces like Sun's GlassFish application server. Oracle doesn't sponsor open source code that competes with its commercial products, and GlassFish does that, even though it's the reference implementation of a Java Enterprise Edition app server. What will Oracle do with the GlassFish project, which has been winning adherents over Oracle's WebLogic and Oracle Application servers?"

Babcock ended his thoughts there, and didn't speculate on Oracle's alternatives as you did.

The online version of the article simply states:

"Oracle is in a contest for market share with SAP and looking to use its application's Java underpinnings for competitive advantage. Its commitment to Sun's open source code products, such as the MySQL database and GlassFish Application Server, isn't clear at this point. Neither company can comment on product plans until the acquisition is complete, company officials said."

Recent comments