Java Products BUT PHP based website ?

I am starting to run a website which features java and j2ee products. That site would be more of ecosystem containing forums, blogs, demos for webapps etc. I am java developer, good in web development using j2ee technologies in JSP, JScripts, HTML. Ofcourse if I want to build a website, first thing I think is JSP and which container. (Container is pretty much standard, Tomcat for webapps). Hence quest for nice CMS application or portal application begins. So instead of researching and spending time what container and framework would be fine, I decide to look at major java sites infrastructure. I was pretty sure, for starters like me, it’s easier to replicate their website technologies than build myself. So here what I find.

  • http://www.springframework.org – Running in drupal (PHP based content management site)
  • I recently read blog about “Java Parallel Processing Framework”. When I visited their site, again it was PHP.
  • And many many others.

It has definitely ticked me off, what’s so wrong with j2ee technologies, to run a even simple website. Everyone knows that JSP is far superior technology than PHP. So why j2ee evangelist, who live, eat, blog, earn using jsp, BUT not build their product site using JSP? For simple static site, just HTML is good. No doubt about it. But we try to wrap it up with some dynamic UI page, just in case. Ok so lets wrap that HTML page in JSP. but why PHP? Number of reasons, I think, might be?

  1. There is no simple content management system (CMS) in JSP world
  2. There are not enough JSP/Tomcat hosting available.
  3. We are using 3rd party hosting team, which prefers to use PHP
  4. There are many tools available in PHP, hence running whole website makes more sense.

Lets try to dissect each one by one.

There is no simple content management system in JSP world Yes there are.

  • OpenEdit
  • dotCMS
  • LifeRay
  • Clearspace

Most of them are available as FREE and almost all are free to open source projects. This also brings us to interesting point, do we really need CMS application, for my website? In most of cases, I don’t think. If you are only person to change content and you change content lets say every week, then it is lighter to run simple JSP pages. How many times, you update documentation of product? (Please be not confused with need to source control. I personally prefer everything should be in source control)

There are not enough JSP/Tomcat hosting available.

Over the period of time, with reduce cost of hardware processing and RAM, many good hosting companies are providing tomcat and even jboss hosting. I don’t this as show stopper now, if you want to host site running on tomcat. Here is list of companies, I researched 2 years back. Of course over the period, ,more companies has added.. and their plan prices has dropped.

  • http://www.eapps.com/ManagedHosting/TomcatJSP.jsp
  • http://rimuhosting.com/javahosting.jsp
  • http://www.hostjava.net
  • http://www.DailyRazor.com
  • http://www.lunarpages.com
  • http://www.javaservlethosting.com/index.php
  • http://www.oxxus.net/java-hosting/features.htm
  • http://neospire.net/products.services/j2ee.application.hosting/tomcat.php
  • http://www.westhost.com/jsp-hosting.html
  • http://www.smedia.info/hosting-j2ee-jsp.asp
  • https://www.assortedinternet.com/hosting/jsp-servlet-hosting/
  • http://www.capital-internet.net/hosting_shared.jsp
  • http://www.hub.org/hosting.php
  • http://www.kattare.com/java-servlet-hosting.kvws
  • http://www.metawerx.net/
  • http://www.mmaweb.net
  • http://www.visionwebhosting.net/index.html
  • http://jsp-servlet.net/Gold.jsp
  • http://www.jwebhosting.net/service.jsp
  • https://www.visionwebhosting.net/services.html
  • http://www.blacksun.ca/hosting.html
  • http://www.echomountain.com/ApplicationInfrastructures.html
  • http://www.svwh.net/dedicated_hosting.php
  • http://www.kgbinternet.com/index.jsp

We are using 3rd party hosting team, which prefers to use PHP

Well, you spending time coding on Tomcat or any other server, how big is deal for you to code JSP or convert html to JSP and throw it in Tomcat. If you are open source project, then you got volunteers. If you are commercial product provider, it makes more sense to use j2ee platform. To me, it puts bad impression if you using PHP and selling j2ee based CMS product. 🙂 To me, springframework is getting more interesting, but it’s running on Drupal? Their MVC or webflow APIs are not mature enough for this simple site?

There are many tools available in PHP, hence running whole website makes more sense.
This is one of most important factor, which deciding between JSP and PHP based hosting. I did some research, I found tools which are not great as PHP counterpart, but they solve the purpose. For Forums

  • jforum.net
  • javabb.org
  • http://www.jivesoftware.com/products/jive-forums

For wikis

  • xwiki.org
  • JSPWiki
  • SnipSnap

For Blogs

  • Apache Roller
  • Peeble

Issue Tracking

  • JIRA
  • TrackPlus (I just read their announcement on theserverside.com)

Continous Integration Tools

  • Cruise Control
  • Continuum
  • Luntbuild
  • Hudson

Wishlist:

Most common wish is, ‘Single Sign On (SSO)’ for all tools. If it is public website, then I want users to log on once for forums and able to comment to blogs using same profile. Right now, every product is using some kind of security, like j2ee form based security or Spring security or home grown security code. They also document, how to do SSO capabilities, but at this point, it seems more of hassle. Anyways, in case of PHP, I don’t think, people think about luxuries like SSO. Above wish, mentioned ‘user profile’. I am not able to find mature product, whose whole purpose is to manage user profile. Thinking aloud, brings us to point, user profile is essentailly feature of CMS application. So if I need user profile kinda feature on my public site, I can use CMS application. But can we use same user profile application to manage profiles to all other modules like forums or blog or customer service?

Should we always use J2EE for hosting if we are in business of J2EE/Java?
Now, I try to look at whole website hosting task at 35,000 feet. Basically, you want to spend minimal resources to get maximum UI experience. So if using vBulletin or phpBB makes my life easier then why I should stick to idealism of using j2ee? I can try to answer this by using these criteria

Q: I am selling/open sourcing j2ee product which is related to web-app development?
A: You should use JSP based hosting. It definitely puts good impression. Even better use your product in that webapp if possible.

Q: I am open source evangelist for java and j2ee but I still want PHP site?
A: Again, you should use JSP. If you can code in PHP, then you can code same functionality in JSP (assuming you are JSP developer)

Q: I need to use a tool which is perfect in PHP or Python (example Trac or vBulletin)
A: In this situation, using tool like Trac or anything else, shouldn’t matter. Basically, productivity matters. I would suggest to use hybrid solution. (Ofcourse SSO is nearly impossible)


References:

  • http://www.javaworld.com/javaworld/jw-11-2006/jw-1101-ci.html
  • http://www.javaworld.com/javaworld/jw-03-2007/jw-03-bugs.html?page=2
  • http://java.dzone.com/news/open-source-web-applications-p
  • http://java.dzone.com/news/open-source-web-applications-p-0
  • http://raibledesigns.com/rd/entry/building_a_website_with_an

Note:
I just read few more user comments. Almost every other user is recommending Drupal for CMS/Portal website. I wish, if something like that comes up in JSP world. If that is made on Spring, it’s even better.