Bloggers using Java

Some popular services that bloggers use, use Java. Two of them are Blogger and FeedBurner.

This may not be big news to some, but it's not something that has been publicized much. There's a lot of buzz on other web programming languages such as PHP, Ruby on Rails, Python, Perl, etc. So I thought I'd take the time to highlight these sites and others that use Java.

You'd think that anything related to Web 2.0 would be about RoR, LAMP, etc. Not Java, which has been around since mid 90's and has been used on many popular sites.

What is Java

Java is a programming language developed by James Gosling while at Sun Microsystems in 1991. It was originally intended to be used for embedded devices but has grown to much more than that. Today you can build everything using Java. Including mobile phone applications, desktop applications and web sites.

Before Java became popular for building websites, I used languages such as C, C++, perl and even simple bash scripts to develop components for websites. When Java came along, it was like a godsend. Developing web applications with Java was so much easier than any other language.

As new languages came along (PHP, RoR, etc), I've tried many and built or modified sites using them, but I never found them as good. Some people knock Java as slow, but on the web, it's fast. Especially if you set up your application properly. At one point I set up a test, to determine if I should focus more on other languages. I built two websites. One using Tomcat to run the Java application, and the other using PHP. Both were running on Apache's web server. The site running java was able to handle more traffic and serve it faster.

I spent time tuning both applications as much as I could. I use my own web framework for building Java websites, so that's what I used for the Java site. It actually did more work behind the scenes but still performed much better.

This wasn't a thorough competitive benchmark, but it provided me with enough information that Java wasn't slow and still a good solution for website programming. Some sites may work better in different languages but that may have more to do with who is doing the programming and how they design the application.

Download NetBeans! My first Java programs were written using simple text editors such as vi and even Notepad.exe when I was working at a Windows based company. But since then, many great tools have been released to help develop Java based applications. NetBeans is my current favorite tool for building web sites. One download is all you need and you can start building your first web application in minutes. It's also the best tool I've used for building Java Desktop Applications. It's also a great IDE for PHP, C/C++ and Ruby.

Blogger.com Uses Java

Based on Alexa's ranking, Blogger.com seems to be the most popular free blog service. It's even getting more reach than MySpace lately. While many people use WordPress powered blogs, which is programmed in PHP, on their own sites, not many people are using the WordPress blog hosting system. The same is true for other services such as Typepad, LiveJournal, etc. but I could only get three on the Alexa chart. They were all similar to WordPress.

At least parts of it that I can figure out do, and it has for some time. I don't use blogger.com much so I never really paid attention, I usually run blogs on my own sites and servers so I can have more control. But for this site, I decided to host it on Blogger.com. What I noticed from editing the blog, a lot of the URL's look like Blogger.com is using the Struts MVC Framewor and I wouldn't be surprised if they were also using Google Guice since Google bought Blogger.

The whole site may not be in Java, but a lot of it appears to be. Even the new Layout based templates Blogger uses look like they're using taglibs. So I wouldn't be surprised if all of Blogger.com ran on Java. Especially since Google uses Java for a lot of their applications. In this presentation, Bob Lee, Guice's developer mentions AdWords uses Java. I use AdSense as well and it looks that at least parts of AdSense is written in Java.

FeedBurner uses Java

FeeBurner is a popular service used by many bloggers to help promote their sites by making it easier for visitors to subscribe to feeds. There are also some other tools to give them better statistics and to montetize their feeds.

It's very simple and easy to use. It doesn't matter what your site was written in, if it conforms to the Atom and/or RSS specifications, you can use it.

As I was setting up some feeds, I noticed that ;jsessionid was appearing in some of the URL's. This is something that may happen with websites that run Java. So it seems that even FeedBurner uses Java. At least partly.

Open Source Bloggers Written In Java

In addition, there are many open source blog applications you can use. Roller is the most popular and has many great features and use by some big sites. You can find more at java-source.net.

If you don't want to install a blog application, you can use Thingamablog to create your blog content and have it uploaded to your webserver as static files.

Sites that use Java are Hard to Spot

It's usually hard to spot sites that are built with Java. Most people don't serve JSP (Java Server Pages) directly, so you won't always see .jsp in the URL, like you would with many PHP sites. Instead they use a web framework that uses Servlets to load the pages. There is no requirement for Servlets to use any particular naming convention or extension. Many times there is no extension at all and it looks like a directory. With some frameworks you can tell. Many URL's on sites that are built using the Struts framework have an extension of .do

Other Sites that use Java

Many sites uses Java, it's the favorite among big business and financial institutions because of how well it can integrate with back-end legacy systems that power their core business. Many government websites use java it seems. And so do a number of other sites. Doing a search for inurl:jsessionid brings up over 200 million results. But many sites disable the session id from showing in URLs.

Below are some other big sites that are powered by Java.

Those are just a few that I can think about. Leave a comment if you know of any other notable sites that use Java.
Did you like this article?
If so please take a moment to share it by clicking on a service button bellow.

2 comments:

Anonymous said...

Thanks for the post, finally some good publicity for Java with some proof that Java is used by the big boys (some obviously speculated, but I know for a fact eBay uses Java on Websphere). I don't have any "notable sites" for you but I have a speculation. Some websites that actually use Java may be utilizing Java servlets only. My speculation comes from my own experience after 5 months of research of best way of optimizatizing my own site.

My site uses the fast web server nginx (blows apache out of the water) which serves static HTML that uses Javascript for AJAX remote calls.

The remote calls end up calling Java servlets that spits out XML/JSON. I don't want to use JSP or struts, etc. so no burden on the J2EE app server for rendering UI to the browser. Java servlets goes to the database, and spits out XML/JSON, that is all. I don't use Java sessions since that's a performance hit, I utilize URL rewritting or cookies for session persistence.

I like my solution (a lot of things left out obviously). If you read my source code, you will not know that I'm using Java on Sun's Glassfish J2EE server. All you know is...I am making remote calls to some URL (that happens to be Java servlets).

Anonymous said...

I don't use Struts much either. I developed my own framework that I use.

eBay was big news when they did they redid it a few years ago. Both Sun and IBM worked on the project and it was in the press a lot. Some people get confused because the url contains .dll in it, but that's apparently just their load balancing front end.

A lot of the Fortune 500 companies use Java for their applications. But it's not as obvious because most of them use servlets, like you do, and you can't really tell what they're running. It's not like you always see a .php or .apsx extension in the files.

A good design for a Java application is to have the Servlets handle the requests and get data from files, databases, or other resources, then use JSP to handle the presentation. The user doesn't necessarily call the JSP page directly.

Even just one Servlet, or one JSP page is a J2EE application. I think that confuses some people. You don't need the heavyweight components like EJB's for it to be considered a J2EE application.

Most sites don't even need things like EJBs.

The XML and JSON libraries available for Java are easy to use. I use them on a couple of my sites.

Post a Comment