Drupal is one of the best open source content management systems currently available. One of Drupal’s strengths is its module development architecture. It allows developers to extend Drupal’s core features in a non-invasive and elegant manner. My only problem with Drupal is that it is written in …. PHP.
I am not a PHP expert, but I am an experienced Java Developer. I have written and deployed many Java enterprise applications in production. I am very familiar with a number of Java frameworks and technologies such as Spring, Struts, JSF, Wicket, JPA, JMS, Web Services, etc. I am also proficient on several Java development/testing tools. However, I do not know of any Java open source projects that can provide all of Drupal’s features out-of-the-box.
Luckily, I found a way to integrate Drupal/PHP and Java using the Quercus PHP engine. Because Quercus can run PHP scripts and expose Java methods in PHP, I was able to write Drupal modules by calling Java methods inside PHP functions. I can write most of the business logic in Java and only use PHP to write the Drupal “hooks”!.
I was also able to integrate other Java frameworks such as Spring, Vaadin and Wicket. I used SiteMesh to decorate the Wicket/Vaadin pages using the same Drupal theme.
Check out my POC web application here!